Customize service cluster

What this PR does / why we need it:
add a flag to override "istio-proxy" as service cluster
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Exposes Envoy service-cluster and binarypath options to the proxy agent, allowing customizations.

/approve
/lgtm

/release-note-none
On Mon, Aug 28, 2017 at 8:01 PM istio-merge-robot<EMAIL_ADDRESS>wrote:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rshriram
https://github.com/istio/pilot/pull/1123#issuecomment-325515843
The full list of commands accepted by this bot can be found here
https://github.com/kubernetes/test-infra/blob/master/commands.md.
Needs approval from an approver in each of these OWNERS Files:

OWNERS https://github.com/istio/pilot/blob/master/OWNERS [rshriram]

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1123#issuecomment-325515949, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qdxo3HLVcB4OFNy1AtP4tCxvBH-OQks5sc1T1gaJpZM4PFNcT
.

--
~shriram

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
dcf9d48711bf781120b052445b361c04fc971287
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
dcf9d48711bf781120b052445b361c04fc971287
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm cancel
For now, lgtm will be the only gate. To prevent accident merge, remove it for now.

/retest

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
dcf9d48711bf781120b052445b361c04fc971287
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

can we have release notes for this ?

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
8f37e8f689eaced3daa228298991baa70377c7c7
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

For kube, these are just flags in the injected container. We should add opaque flags to kube-inject, to avoid duplicating all those flags there.

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

Only took 7 more runs on @douglas-reid 's personal cluster to verify this!
But it passed finally!

@kyessenov: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-e2e-smoketest

prow/pilot-presubmit.sh
b2b2dbf14061bdd54b6b257ee9678012fd441fd1
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


⚠ SceneTime has degraded performance

In dd752cd, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2603 ms

Resolved: SceneTime performance has improved in 5d576bb after 36 minutes.


notebook 03 references AKS even when selecting IOTEdge scenario

last cell in 03_DevelopScoringScript: Next, we move on to [creating the docker image and deploying on AKS](04_CreateImage.ipynb).

@jiata good catch will modify


Improve sitemap.xml

Feature Request
About SEO optimization, tag, category, scripts folders and more, must be removed to improve optimization.
I try to create a new robots.txt and remove them like as  Disallow but sitemap don't.
My example:
Directories
Disallow: /tags/
Disallow: /tag/
Disallow: /categories/
Disallow: /category/
Disallow: /scripts/
Disallow: /script/
Disallow: /themes?/
Files
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /LICENSE.txt
Disallow: /README.md
Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/
Disallow: /search/
But Search Console, the robots.txt skip these lines, but on sitemap.xml are still there, and I cannot to interact it.
Any suggestion to improve it?

The above is specific to your site and your customisations - it's not the standard output of Academic's sitemap. For support, see https://github.com/gcushen/hugo-academic/blob/master/.github/support.md


Drawer very slow on large trees

If you use the drawer on e.g. the Linux kernel source tree, performance gets painfully slow. You are probably aware of this, but is there no way to improve the performance?

I'm sorry but I don't have enough information to say something.

I have cloned https://github.com/torvalds/linux and opened with fern but I feel it's fast enough.
https://github.com/user-attachments/assets/b1f55199-1a20-4f64-90f2-5e08f114e19a

I just did some research and it seems this is caused by https://github.com/lambdalisue/vim-fern-git-status
After adding the suggested settings for improving performance, the problem disappeared
" Disable listing ignored files/directories
let g:fern_git_status#disable_ignored = 1

" Disable listing untracked files
let g:fern_git_status#disable_untracked = 1

" Disable listing status of submodules
let g:fern_git_status#disable_submodules = 1

" Disable listing status of directories
let g:fern_git_status#disable_directories = 1


HN Design for tab navigation

Fixes #82

Not perfect, but it's a start.

@wokalski I think the back button would be perfect on the toolbar.


Add some omitted dependencies to "full" and "doc" variants

A few dependencies were only included in test_extra, but they should also be included in full (e.g., pybv). This now adds duplication – should we add a "private" variant to avoid this?
Another doc dep was needed for running mne/report/js_and_css/bootstrap-icons/gen_css_for_mne.py

Another doc dep was needed for running mne/report/js_and_css/bootstrap-icons/gen_css_for_mne.py

I wouldn't consider this a doc dependency really because it's something that only maintainers should need to run. Thus it would fit better under a dev or something similar. And it's not used for building doc so much as generating stuff for mne.Report anyway, at least that should be the case based on where the script lives.

This now adds duplication – should we add a "private" variant to avoid this?

I think the duplication is okay

@larsoner I've moved rcssmin to the dev deps like you proposed

Thanks @hoechenberger !


Azure storage file share Sample code is wrong

1
Section :
Link
Link1
Link2
Link3
Link4
Link5

Suggestion:

2
Section :
Link
Link1
Link2

Suggestion:

3
Section :
Link

Suggestion:

4
Section :
Link

Reason:

Suggestion:

5
Section :
Link

Suggestion:

@jongio please review this issue.

PR merged.


feat: refresh card based on IDLE or STREAMING state changes

There are some cameras out there which are only streaming intermittently, rather than continuously so WebRTC custom card waits for next reconnect (0 to 30 seconds).
With this PR, webrtc will be forced to refresh itself if the underlying camera entity's state changes into IDLE or STREAMING.
IDLE and STREAMING are defined in home assistant camera entity.
https://github.com/home-assistant/core/blob/dev/homeassistant/components/camera/__init__.py#L96
Looking forward to hearing your feedback.

I get the idea what you want to fix. But I don't like the solution. It can have a lot of side effects.

Maybe easiest way to change reconnect timeout via config for this cameras. Such a thing is not difficult to implement
https://github.com/AlexxIT/WebRTC/blob/f5c0c80acbb9275d89a6c5ecc21171183de15156/custom_components/webrtc/www/video-rtc.js#L22

Works for me, but would it go back to rendering the poster when the stream stops?


RM - Unread Messages [6h]

Issue
In the unread messages section, only messages that have not been read will appear in this category. Watch the video overview to see how this looks and functions.

Messages appear in a red color until the have been read by a user.

User will tap on a message to expand it and see the full message.

User will tap again to collapse a message - this will make a message "read." The message will then move to it's appropriate catefgory

If a user swipes left on a message, options to mark unread, mark as a favorite, or set a reminder will appear. (There will be issues got each of these scenarios created)

Video overview here.

@jeanette-pelizzon

If a user swipes left on a message, options to mark unread, mark as a favorite, or set a reminder will appear. (There will be issues got each of these scenarios created)

This implies using gestures, which is something completly new to the APP.
I suggest we remain with existing method, which are buttons.
The reasons are that introduction of gestures at this stage is not intuitive, which may cause users not to use the features. Also, it's implementation is a considerable extra effort.
I propose moving the date to the left, and at right part of message header placing a button that will open popup with options.

The 'options' button icon can be something like:

@jeanette-pelizzon here's a demo for the popup:

@jeanette-pelizzon do we have the option icon yet?

@anvmn This approach is fine... @jeanette-pelizzon can we get an icon with three dots to indicate the menu?

https://www.figma.com/file/4Rbvi4x1Cxmwzq73Kwsqxk/Components?node-id=1204%3A789&t=3EhEGzPAjrc0b5mv-0

@adamhstewart @anvmn

nutrition env
tablet

Questions/Found Issues:

The message disappears on the second tap on the message (the first tap expands), even if that tap happened while trying to scroll down, instead of collapsing the message and marking it as read. The same thing happens when you click on the "Read" menu item.
|
---|---

Checked and Approved:

The unread messages are red

Tapping on the unread message expands it

The menu for each unread message is there


Update README.md

Update Mod Description.

Very good description, thank you!
Maybe includes that the mod works by comparing releases versions on a public github repository.


Lets tweak the files: match for data plane jobs install_yamls gate

This tweaks files to make it more specific for the adoption jobs. For example we don't need all files under scripts but specifically the ones related for the standalone deploy.

/approve


make sure pidfiles correspond to running version of bws

I had this problem this morning early! Thanks!


Add difference between using inheritance or using LSP17 Extension

If you dont want to run here is. apreview:

+1 for enabling mermaid :)) 🫶


Wrong preview image generated when playing an edited scene

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Godot 3.0 master https://github.com/godotengine/godot/commit/9a78efc7c270211e49fd7b2f071b61c706febffc
Issue description:

Steps to reproduce:

Open two different scenes
Change to the script tab
Move to another scene and hit Play the edited scene (F6)
The wrong preview image will be generated for that scene (it will be the last scene opened)

I think it's caused by taking the viewport texture as a preview when saving before run but the viewport does not seem to be refreshed when switching a scene with script opened.

i think the problem is that the 2D viewport (and 3D) is not updated when switching scene, maybe forcing it to update at least once when switching would be a proper fix

@reduz I've extracted the code that draws a selected viewport from VisualServerViewport::draw_viewports and added a force flag so the viewport update_mode and hide_canvas can be ignored then I'm calling it it _save_scene_with_preview. Do you think that's acceptable? The fix is available here:
https://github.com/dragmz/godot/commit/cb5e7f864adae1032c6145e2092e2fcf670e4780

@dragmz would you make PR for that to make dev not to forget to review it?

Is this still a problem? I think this was changed or fixed recently

This is indeed fixed in the master branch.


Changing layout should also change function button text

If we change the keyboard layout to Spanish for example, shouldn't backspace change text to retroceso?  The same applies for all of the other keys.
I can accomplish this myself using the display option:
    display: {
        "{bksp}": this.spanishSelected ? "retroceso" : "backspace",
    },

Hey @xinthose,
You're right, "backspace" should be translated as well. I initially intended translations to be directly added to the layout (as they are now), but this doesn't cover "function buttons" like {bksp}.
I thought of adding the display option to language layouts as you have done, but there's the concern of an existing option being overwritten. That might still be the best way however.
I will flag this as an enhancement as see if I can pick it up sometime soon.
Regards,
Francisco Hodge

Setting this back as proposal since it's going to take some refactoring to get this done. Thank you


Controlled mode is broken

Describe the bug
when I want to control selection, I add external state for selectedIds and pass them to the tree.
this is working, when I apply ids for the first time, like in uncontrolled mode.
When I'm trying to apply ids, based on onSelect event, then it behaves incorrect and weird
Code That Causes The Issue
function App(){
  const [sel, setSel] = useState<NodeId[]>([]);
  return (
    <TreeView
          data={nodes} // any hierarchical nodes (at least 1 level with branches and leaves)
          multiSelect
          propagateSelect
          propagateSelectUpwards
          togglableSelect
          selectedIds={sel}
          onSelect={({ element, treeState, ...state }) => {
            // following only to show the problem
            if (!props.isBranch) setSel([element.id]);
          }}
   />
  )
}

To Reproduce
Steps to reproduce the behavior:

Add the code to any tree example
Click on any leaf node
Then click on any other leaf node
! See endless switching between that nodes
to make problem even more visual, wrap setSel call with setTimeout
select some leafs/branches one by one
! see flickering among all the selections

Note: I also tried to use following setSel([...treeState.selectedIds]), but it also makes flickering, when I select last leaf in branch, when other leaves already selected
Expected behavior
if selectedIds prop is not undefined (controlled mode), then component must show passed selection, instead of internal state, even if user doesn't changes selection. Only after change events (onSelect, onNodeSelect) are treated and selectedIds updated, tree should represent new state, based only on values in the prop
Screen capture
https://github.com/user-attachments/assets/5f4d0651-7844-493a-bfa7-4933793a041e
Desktop (please complete the following information):

OS: [Windows 10]
Browser [chrome]
Version [126]

@dgreene1
onSelect is called on all 4 cases

user selected node
related nodes (parent/children) are selected as result of user action (# 1)
node is selected, because selectedIds prop is changed
related nodes (parent/children) are selected as result of selectedIds change (# 3)

only first 2 events should cause onSelect, otherwise you have endless loop.
to be backward compatible, you can add some flag, that tells, if this event caused by user action (## 1,2) or controlled state update (## 3,4)

same issue is for the expandedIds/onExpand

Hi, @urrri-redis is there a reason why your not just using the defaultSelectId with the uncontrolled version?
OnSelect and OnSelectNode are applied only after the selection. Would it make more sense to have an onToggle callback for what you're looking for? This would be called before the actual selection had happened. You will need to manage the selectId, included when user deselected.


Portages?

Looking at the canoe map I wonder if it might be useful to include portages, these are short trails that connect two navigable waterways, where you have to carry your canoe, like this. They are mapped with canoe=portage (in addition to a highway). As far as I know the waterways connected like this would usually be considered part of the same network for canoeing purposes. There are route planners like this that allow you to plot a route and show how much of it is canoeing and how much of it is portaging, etc. Such a view could be useful to spot portages missing in OSM data.

https://www.openstreetmap.org/way/292380499
I should add, I don't canoe regularly, and it might be worth asking some people who know more about canoeing than me (e.g. reddit.com/r/canoecamping). Who knows, maybe this could even be an opportunity to get new contributors for OSM, if people find this tool useful and see how easy it is to correct and add any missing data :-)

Fixed!


"Exposure Submission QR Code Info" screen is shown twice when registering test

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug is specific for iOS only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[X] Bug is not already reported in another issue

Technical details

Device name: iPhone XR
iOS version: 14.7.1
App version: 2.8.1

Describe the bug
When a rapid antigen test is registered via a link or when the user scans the QR code with the native iOS camera, the Exposure Submission QR Code Info screen is pushed twice.
Steps to reproduce the issue

Make an appointment for a rapid antigen test
Scan the QR code with the native iOS camera or click on the link to register the test in the Corona-Warn-App
See that the Exposure Submission QR Code Info screen is pushed twice

Expected behaviour
Exposure Submission QR Code Info screen should only be pushed once.
Screenrecordings
Click on link:
https://user-images.githubusercontent.com/67682506/132257322-adb57984-112e-4347-8649-4ef6e0003c1c.MP4
Scan QR code via iOS camera app:
https://user-images.githubusercontent.com/67682506/132257329-e6ef77fa-4d95-4351-bf0b-6d3da72d22d2.MP4

Internal Tracking-ID: EXPOSUREAPP-9770

It seems like this was fixed in the meantime. I can't reproduce it anymore.

@Ein-Tim Thanks for your feedback, forwarded to internal ticket.


js not loading correctly

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ x] Bug report  <!-- Please search GitHub for a similar issue or PR before submitting -->
[ ] Feature request
[ ] Documentation issue or request
[ ] Other: <!-- Please describe: -->

Current behavior

Expected behavior

Environment
Browser:

- [ x] Chrome (desktop) version XX
- [x ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] IE version XX
- [x ] Edge version XX

For Tooling issues:

- Live Server: <!-- 5.6.1 -->
- Platform:  <!-- Windows -->
- Visual Studio Code: <!-- 1.48.0 -->

Others

Never mind, it's not a problem with the live server. Sorry


Blur structure in the "Preview" tab when structure is saved in the PNG Image format

Steps to Reproduce:

Launch the Ketcher
Create structure
Open the "Save Structure" dialog by clicking on the "Save As" icon on the top menu
Select the PNG Image format in the "File format" drop down

Expected behavior:
When selecting the PNG format the preview of the picture saved should be displayed without blur.

Actual behavior:
The preview of the saving picture is displayed with blur

Note: the issue is not reproducible in the Remote mode
OS: [Microsoft Windows]
Browsers: Google Chrome: Version 100.0.4896.88/FireFox: Version 99.0.1 (64-bit)
Ketcher v2.4.2-197-gf82f9a99

blur caused by external issues: for small structures we get bigger images from indigo

Verified as fixed on Release 2.5.0.


Click sound when using the scanner

When I'm scanning a click sounds appears. And stops when I cancel the scanner.
Device: Microsoft Lumia 640. On test-app

I have resolved the issue by using GetPreviewFrameAsync instead of CapturePhotoToStreamAsync. CapturePhotoToStreamAsync causes a shutter sound on Windows 10. I will make a combined PR which fixes this and other issues.


Video on the asset store is set to private

This is minor, but since I am already reporting bugs:

Thanks, I fixed it :)


stepDefinitions [filepath] doesn't escape special characters

Current behavior
I have the following directory structure in a NextJS app:
pages/organizations/[id].ts
features/organizations/[id]/steps.ts
cypress/support/step_definitions/steps.ts

My configuration uses the default for stepDefinitions which includes "features/[filepath]/**/*.{js,ts}"
However, because the filepath (organizations/[id] ) includes special characters [] the call to glob to find matching files does not find the matching steps.ts and I get the following error when running tests:
We tried searching for files containing step definitions using the following search pattern templates:

- features/[filepath]/*/.{js,ts}
- features/[filepath].{js,ts}
- cypress/support/step_definitions/*/.{js,ts}

These templates resolved to the following search patterns:

- features/organizations/[id]/*/.{js,ts}
- features/organizations/[id].{js,ts}
- cypress/support/step_definitions/*/.{js,ts}

These patterns matched the following files:

- cypress/support/step_definitions/steps.ts

Desired behavior
Desired Behavior is for [filepath] to escape any special characters such that they properly match paths on the filesystem. In this case the resulting substitution should be organizations/\\[id\\]
Or if you choose not to implement this, perhaps adding a Caveat https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/docs/step-definitions.md#caveats
Test code to reproduce
 Working on this.
Versions

Cypress version: 12.x
Preprocessor version: 14.0.0
Node version: 16.x

Checklist

[x] I've read the FAQ.
[x] I've read Instructions for logging issues.
[x] I'm not using<EMAIL_ADDRESS>(package name has changed and it is no longer the most recent version, see #689).

Does escaping as described here work for you? https://github.com/isaacs/node-glob/issues/153

yes the escaping does work as expected

For the time being, I've resorted to a yarn patch to achieve the proper escaping. It's not possible to do so in user-land as the [filepath] substitution is performed in the library
diff --git a/lib/step-definitions.js b/lib/step-definitions.js
index f36ac987e755593e39f5633f57969afcb0e5b81c..0bbbc389b38c22c9dd4ecdedb3ff883aaab271f9 100644
--- a/lib/step-definitions.js
+++ b/lib/step-definitions.js
@@ -42,7 +42,7 @@ function getStepDefinitionPatternsPost10(configuration, filepath) {
     if (!(0, is_path_inside_1.default)(filepath, projectRoot)) {
         throw new Error(`${filepath} is not inside ${projectRoot}`);
     }
-    const filepathReplacement = trimFeatureExtension(path_1.default.relative(configuration.preprocessor.implicitIntegrationFolder, filepath));
+    const filepathReplacement = trimFeatureExtension(path_1.default.relative(configuration.preprocessor.implicitIntegrationFolder, filepath)).replaceAll('[', '\\[').replaceAll(']', '\\]');
     (0, debug_1.default)(`replacing [filepath] with ${util_1.default.inspect(filepathReplacement)}`);
     const parts = pathParts(filepathReplacement);
     (0, debug_1.default)(`replacing [filepart] with ${util_1.default.inspect(parts)}`);

Why do you not escape your configuration values as described in the above-mentioned issue?

My configuration value is "features/[filepath]/**/*.{js,ts}". The issue isn't the brackets surrounding [filepath]. Rather, the issue is the string that is expanded from [filepath], namely, organizations/[id]. Unfortunately I cannot escape [id] as \\[id\\] in my configuration as it's dynamically inserted via the substitution

Aha, now I understand. I'll see if I can get around to this soon.

I'm releasing v15.1.5 now, hits npm in a couple of minutes.

Thanks @badeball ! Confirming 15.1.5 fixes my issue


[pixi.js] fix PIXI.js unable to fallback to Canvas

This PR fixes the issue of PIXI.js unable to fallback to Canvas if WebGL is not supported.

(Haven't tested on machines that doesn't have any WebGL support, I don't have one in handy)

Running chrome with google-chrome --disable-3d-apis gives the following warning (and draws nothing on the canvas):

Is the intended behavior to only warn user in the console if WebGL is not supported, instead of automatically falling back to canvas2d?

Running chrome with google-chrome --disable-3d-apis gives the following warning (and draws nothing on the canvas):

Is the intended behavior to only warn user in the console if WebGL is not supported, instead of automatically falling back to canvas2d?

Great. I will try cavans2d. Might be more efficient than WebGL Canvas on some machine.

Hi @ctan-g , could you try latest PR with google-chrome --disable-3d-apis again? It should be working now. Thanks.

@simonlingoogle , is this still work-in-progress?

@simonlingoogle , is this still work-in-progress?

No, it's not . Thanks.


Drop unnecessary URI encoding of websocket url in listener

This seems like an old remnant that is now completely unnecessary.

test-exempt: code refactor with no semantic change
(Although per Discord discussion, only sort-of-by-accident since the un-encoded version shouldn't have any characters that change by being decoded, thus #138235)


Add some greek letters

I missed them... some letters like "Ν" the Nu(letter) look like N in latin but they are not...

Just an FYI these are Cyrillic letters not Greek


D3D12Device::CheckFeatureSupport returns E_INVALIDARG

Description
Based on the documentation for CheckFeatureSupport (https://docs.microsoft.com/en-us/windows/desktop/api/d3d12/nf-d3d12-id3d12device-checkfeaturesupport), the device is expected to fill out the highest shader model it supports (up to the one passed in). If I call this with D3D_SHADER_MODEL_6_0 or higher, RenderDoc returns E_INVALIDARG, but returns S_OK if I pass D3D_SHADER_MODEL_5_1.
If RenderDoc doesn't support Shader Model 6.0 and above, it should be setting the highest shader model to 5.1 instead of hard failing on this function.
With RenderDoc failing on this function, I have to setup special case failure checks just for RenderDoc to handle its failure as the drivers will return S_OK with a lower shader model.
Repro steps
Call ID3D12::CheckFeatureSupport with Feature set to D3D12_FEATURE_SHADER_MODEL and the D3D12_FEATURE_DATA_SHADER_MODEL struct filled out with D3D_SHADER_MODEL_6_0.
When running without RenderDoc, the function returns S_OK and the struct is updated with the highest shader model the driver supports up to 6.0. Running with RenderDoc, the function returns E_INVALIDARG.
Environment
RenderDoc 1.1
Windows 10, 1803
DirectX 12

That's my mistake, I misunderstood how the query was supposed to function.
Indeed SM6 is not supported, and I've updated the code to clamp the shader version instead of returning E_INVALIDARG.


Bug: the 0.7.16 version auto open empty tab

the 0.7.16 auto open empty tab on startup，and even create three or four empty tabs

Same issue here. It happens when clicking a pinned tab

I have the same issue, and I was just going to report it too. Happens when only clicking on pinned tabs.

Patched in new release, thanks for reporting this!


cross compiling nixos -> darwin gives infinite recursion error

Describe the bug
When cross-compiling on nixos (build system) for darwin (host system), I get an infinite recursion error.
To Reproduce
Steps to reproduce the behavior:
nix-build '<nixpkgs>' --arg crossSystem '{ config = "x86_64-darwin"; }' -A <package>
where <package> can be hello or stdenv or pretty much anything I suspect.
Expected behavior
A package would be compiled that would run when transfered to a mac os x computer.
Additional context
When run with --show-trace, I get the following output:
error: while evaluating the attribute 'defaultNativeBuildInputs' of the derivation 'stdenv-linux' at /nix/store/763lmlm4i9n77kzlb8ihjkz8dkhypj22-nixos-21.03pre257780.e9158eca70a/nixos/pkgs/stdenv/generic/default.nix:88:14:
while evaluating the attribute 'depsTargetTargetPropagated' of the derivation 'x86_64-darwin-clang-wrapper-7.1.0' at /nix/store/763lmlm4i9n77kzlb8ihjkz8dkhypj22-nixos-21.03pre257780.e9158eca70a/nixos/pkgs/stdenv/generic/make-derivation.nix:192:11:
while evaluating the attribute 'buildInputs' of the derivation 'compiler-rt-7.1.0-x86_64-darwin' at /nix/store/763lmlm4i9n77kzlb8ihjkz8dkhypj22-nixos-21.03pre257780.e9158eca70a/nixos/pkgs/stdenv/generic/make-derivation.nix:198:11:
while evaluating the attribute 'stdenv' of the derivation 'libc++abi-7.1.0-x86_64-darwin' at /nix/store/763lmlm4i9n77kzlb8ihjkz8dkhypj22-nixos-21.03pre257780.e9158eca70a/nixos/pkgs/stdenv/generic/make-derivation.nix:198:11:
infinite recursion encountered, at undefined position

Notify maintainers
This isn't about any particular packages, it's about the cross-compilation system I suspect.
Metadata

system: "x86_64-linux"
host os: Linux 5.4.77, NixOS, 21.03pre252388.069f183f16c (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.8
channels(root): "nixos-21.03pre257780.e9158eca70a, nixos-hardware"
channels(qolen): "home-manager"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: crossSystem
# a list of nixos modules affected by the problem
module:

Git bisect tells me 0de6275003170cb82e5f9a3bdfb649ff22b8b12a is the first bad commit. I'll try to find a fix.
CC @pikajude

https://github.com/f4814/nixpkgs/commit/1024e0c4db9bdccf4ca7c4a8afe18449cd164e9a seems to fix the infinite recursion problem. However with this cross compiling fails while building x86_64-apple-darwin-binutils.

My knowledge of the bootstrapping process is definitely limited, but isn't this line kind of intrinsically problematic?
https://github.com/NixOS/nixpkgs/blob/0656d546fb96e234d40136bfe9a229428ad78363/pkgs/development/compilers/llvm/7/default.nix#L5
Depending on things from the next stage is bound to result in loops, no?

Oh never mind, I think I understand how using wrapCC, things are made to not depend on exactly the things that would cause infinite loops. That still leaves the question of why is there an infinite loop in this case, though

Am I reading the trace correctly that stdenv-linux (presumably some stage of the bootstrap process, though buildPackages.stdenv, which is also called stdenv-linux, builds fine) is depending, via defaultNativeBuildInputs, on x86_64-darwin-clang-wrapper-7.1.0? I would assume the darwin clang wrapper would only be needed by the darwin stdenv.
Also, why are things that are building for darwin using stdenv-linux for their stdenv?

(if this stuff is tedious / difficult to explain but not actually relevant or helpful, feel free to ignore me)

I noticed that buildPackages.llvmPackages.stdenv.cc does compile, which seems to also just be clang. I put that in instead of buildPackages.llvmPackages.clang, and it fixed the infinite recursion but started breaking all of the compilation (command line options not recognized, for instance), which leads me to believe it's the wrong version of clang, probably from earlier in the bootstrapping process.

@vlstill you're listed as maintainer of llvm/7/libc++abi.nix. From searching online it seems like it should be possible to build it without compiler-rt (using libunwind?) Do you know anything about this? Or generally why we're seeing this infinite recursion.

After talking with @tomberek we've discovered that cross compilation with darwin as a target seems to just not be supported in nix (see https://github.com/NixOS/nixpkgs/pull/86223/files#r422573401). So I guess I'll close this.


proper workflow for handling tasks?

first, thanks for the plugin - it's very useful already.
I was wondering if you had a suggested workflow. I was expecting that I'd be able to bind a trello card to a task in obsidian, but i think the model here is more one trello card <=> one obsidian page?
Ideally I'd like to be able to keep track of native tasks in obsidian and have it sync to trello , including archiving when the task is marked as finished. It's entirely possible my mental model is just wrong and I'm fighting the framework a bit.

I really don't have a recommended workflow - I don't actually use the plugin myself anymore. Or Trello. 😅
My workflow at the time was that I had one Trello board for all my projects, with each card being a single project. So it was definitely made with that in mind.
At some point I assume this plugin will stop working when Trello changes their API or Obsidian releases an incompatible version, and I don't really have plans to maintain it.

fair enough!


Initial HTTP/2 support for Client and Server

This starts to add HTTP/2 support to hyper in 0.11, by putting it behind a feature flag, http2. This is required because of needing a newer version of the compiler due to associated constant usage than what 0.11 has required so far.
So far, this only adds support for prior knowledge HTTP/2. ALPN and HTTP/1 upgrades would be later additions.
Client
The Client pool has been modified to try to only use a single connection when connecting over HTTP/2. However, it's farther hacky, and in general, the pool module could be tossed out and tried again at some later date.
In this PR, the Client determines whether to use HTTP/1 or HTTP/2 based setting Config::http2_only().
Server
The server cannot so far try to detect if incoming requests are HTTP/1 or HTTP/2, and instead requires that to be set via Http::http2().
In order for the hyper::server::Connection to hold h2 pieces, it needs to add a 'static bound for the body stream. This is not present in 0.11, and is only set on the impl Future part of Connection. So, that would mean a breaking change for anyone that had a type holding a Connection and didn't have a 'static bounds on their type.
To prevent this breaking change, several of the types in hyper::server could be deprecated and gain new versions (Connection2, Serve2, etc) that have the 'static bound added, and require that some new methods be used to get http2 support. It feels gross, and the breakage is dumb, but breakage is breakage. Perhaps to ease the pain, the deprecations can be set only if http2 is enabled, so that people who don't care yet about HTTP/2 don't have to get a bunch of warnings.

If you're showing up wanting to try this out, you need this in your Cargo.toml:
[dependencies.hyper]
git = "https://github.com/hyperium/hyper"
branch = "h2"
features = ["http2"]

And then, if using the client:
let client = Client::configure()
    .http2_only()
    .build(&handle);

If using the server:
let mut http = Http::new();
http.http2();

Before merging, this PR still needs:

[x] Tests! It'd be fantastic to get some sort of tests/integration.rs that tests a bunch of configurations, requests and responses, using both Client and Server, and that do the same tests in HTTP/1 and HTTP/2.
[x] Client configuration to use HTTP/2
[x] Server types deprecated and v2 versions added so as to not be breaking changes.
[x] Document new *2 methods and types in server module.

cc #304

I think this is rather usable. There's some "integration" tests that use the full stack, client and server, and some basic cases are passing.
I still don't feel the most confident about the client pool changes, but this could probably be merge this week.

Is this supposed to work together with the latest version of hyper_tls? When I simply replace the latest released version of hyper with this git branch, I'm getting this error message:
error[E0599]: no method named `build` found for type `hyper::client::Config<hyper_tls::HttpsConnector<hyper::client::connect::HttpConnector>, hyper::Body>` in the current scope
   --> src/push/gcm.rs:109:10
    |
109 |         .build(&handle);
    |          ^^^^^
    |
    = note: the method `build` exists but the following trait bounds were not satisfied:
            `hyper_tls::HttpsConnector<hyper::client::connect::HttpConnector> : hyper::client::Connect`

This is the (HTTP 1 only) code:
    // Create async HTTP client instance
    let https_connector = match HttpsConnector::new(4, &handle) {
        Ok(conn) => conn,
        Err(e) => return boxed!(future::err(
            PushError::Other(format!("Could not create HttpsConnector: {}", e))
        ))
    };
    let client = Client::configure()
        .connector(https_connector)
        .build(&handle);

Or is this simply a version mismatch that could be resolved with a [patch] section in Cargo.toml?

@dbrgn that's because hyper-tls is depending on the crates.io version. You'll need to put [patch] in.

Been running this on production for a couple of weeks with pretty big loads. Fast and works nicely, but some bugs might be worth to acknowledge if anybody else is testing... There is something fishy how hyper manages dead connections. It the remote end drops the connection, hyper gives a connection error and after that just silently sucks every request into the limbo. In other cases the connection just doesn't answer at all, but at least we can trigger a timeout and restart the connection.
P.S. if anybody wants to debug the h2/hyper with Apple pushes, all help is appreciated! https://github.com/pimeys/apns2

@dbrgn that's because hyper-tls is depending on the crates.io version. You'll need to put [patch] in.

Thanks! I had to do this:
# Cargo.toml
[patch.crates-io]
hyper = { version = "0.11.18", git = "https://github.com/hyperium/hyper", branch = "h2", features = ["http2"] }

And then:
cargo update -p "hyper:0.11.21" --precise 0.11.18

I believe this is a problem with hyper and not with apns2: https://github.com/pimeys/apns2/issues/6
The application in question is a HTTP1 server with async Hyper, that uses a HTTP2 client to connect to APNS.
Simplified code:
impl Service for PushHandler {
    // Boilerplate for hooking up hyper's server types
    type Request = Request;
    type Response = Response;
    type Error = HyperError;

    // The future representing the eventual response
    type Future = BoxedFuture<Self::Response, Self::Error>;

    fn call(&self, req: Request) -> Self::Future {
        // ...
        let apns_future = apns::send_push(...);
        boxed!(apns_future)
    }
}

For some reason the h2 connection to the server is immediately closed. In the log I can find this line:

TRACE 2018-04-03T10:12:27Z: hyper::proto::h2::client: client tx dropped

This is the full log:
DEBUG 2018-04-03T10:12:27Z: rustls::client::hs: Server DNS name is DNSName("api.development.push.apple.com")
TRACE 2018-04-03T10:12:27Z: rustls::client::hs: Not sending CertificateVerify, no key
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: flushed State { reading: KeepAlive, writing: Init, keep_alive: Busy, error: None, read_task: Some(Task) }
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::dispatch: Dispatcher::poll
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: Conn::read_keep_alive
DEBUG 2018-04-03T10:12:27Z: rustls::client::hs: Session not saved
TRACE 2018-04-03T10:12:27Z: hyper::client::pool: Pool::put ("https://api.development.push.apple.com", Http2)
TRACE 2018-04-03T10:12:27Z: hyper::client::pool: Pool::put removing canceled parked ("https://api.development.push.apple.com", Http2)
DEBUG 2018-04-03T10:12:27Z: hyper::client::pool: pooling idle connection for ("https://api.development.push.apple.com", Http2)
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: flushed State { reading: KeepAlive, writing: Init, keep_alive: Busy, error: None, read_task: Some(Task) }
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::dispatch: Dispatcher::poll
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: Conn::read_keep_alive
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: flushed State { reading: KeepAlive, writing: Init, keep_alive: Busy, error: None, read_task: Some(Task) }
TRACE 2018-04-03T10:12:27Z: hyper::proto::h2::client: client tx dropped
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::dispatch: Dispatcher::poll
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: Conn::read_keep_alive
TRACE 2018-04-03T10:12:27Z: apns2::client: Request error: an operation was canceled internally before starting
 WARN 2018-04-03T10:12:27Z: push_relay::server: Error: Push message could not be processed: Push was unsuccessful: Error connecting to APNs
TRACE 2018-04-03T10:12:27Z: hyper::proto: should_keep_alive(version=Http11, header=None) = true
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::role: ServerTransaction::encode has_body=true, method=Some(Post)
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::encode: sized write, len = 19
DEBUG 2018-04-03T10:12:27Z: hyper::proto::h1::io: flushed 155 bytes
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: maybe_notify; read_from_io blocked
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None, read_task: Some(Task) }
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::dispatch: Dispatcher::poll
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: Conn::read_head
DEBUG 2018-04-03T10:12:27Z: hyper::proto::h1::io: read 0 bytes
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::io: parse eof
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: State::close_read()
DEBUG 2018-04-03T10:12:27Z: hyper::proto::h1::conn: read eof
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: Conn::read_keep_alive
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: parking current task
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: maybe_notify; notifying task
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: flushed State { reading: Closed, writing: Init, keep_alive: Disabled, error: None, read_task: Some(Task) }
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::conn: shut down IO
TRACE 2018-04-03T10:12:27Z: hyper::proto::h1::dispatch: Dispatch::poll done

Could this be a bad interaction between h1 server and h2 client?


add section about future plans for next months

Looks great!
Maybe a bit of expanding in the README on the data columns (brief description) could be useful as well?

Maybe a bit of expanding in the README on the data columns (brief description) could be useful as well?

Added :)


RFC: usb: hid: Export only defines if  USB device driver disabled.

Allow re-use of HID definitions for BLE HID over GATTP even if
USB device driver is disabled.

Another take on #25044, with feedback on the approach to use.

The only concern I see with splitting out the device stuff into include/usb/class/usb_hid_device.h is the lack of backward compatibility.... This removes defines and requires existing consumes to include a new file or it breaks their build.
I'm relatively new to the project, so I'm not sure what API guarantees Zephyr makes, but that seems like a concern with that approach. If backwards compat is required, it seems that including usb/class/usb_hid.h needs to still end up w/ the function + type definitions included.

The only concern I see with splitting out the device stuff into include/usb/class/usb_hid_device.h is the lack of backward compatibility.... This removes defines and requires existing consumes to include a new file or it breaks their build.

As long as usb_hid.h would include usb_hid_device.h this should be fine.

@joerchan That only solves the original "Able to include this even with CONFIG_USB=n" part of this if there is still an if defined conditional in that new file though. Is that the idea?

@petejohanson I assumed that all the defines that you needed was in the new file, so you would only include that one.

Added to API project, let's discuss this in the API meeting once 2.3.0 is out.

API 2020-07-07 Leaving in triage.  @petejohanson Please rebase this if it is still of interest to you.  We can then discuss it at the next API telecon.

@joerchan So... I'm feeling like I've gotten turned around. So.... I'm going to attempt to summarize your suggested approach, then discuss that:
Context

All of the current HID items are found in one file, include/usb/class/usb_hid.h, which includes a set of useful macros, various structs/enums that work with those defines, and the declarations of various functions that are only present when CONFIG_USB_DEVICE_HID is enabled.
For backwards compatibility for existing applications, any change should make existing applications able to only #include <usb/class/usb_hid.h> and get the macros, structs/enums and the function definitions.
For use with the HID over GATT functionality, there is a desire to have the macros and structs/enums able to be included, but not the function declarations that correspond to the actual USB HID functionality.

Proposal from Carle

Place the function definitions in include/usb/class/usb_hid_device.h
Place the macros and structs/enums in include/usb/class/usb_hid.h.
Add #include <usb/class/usb_hid_device.h> to include/usb/class/usb_hid.h for backward compatibility.

Feedback
The only thing that the proposal doesn't seem to solve is the initial reason I created the PR. I still don't have a single file I can include for a HOG application that doesn't also drag in the functions for the CONFIG_USB_DEVICE_HID
Satisfying that need seems to require that the macros and structs/enums go into some new file, in order for HOG consumers to use it, and then making the original include/usb/class/usb_hid.h include that new file, for backward compatibility. I don't really have a strong preference of what we call that new file, but it seems to be required to keep both major constraints.

@petejohanson I agree with you, that would not work. That was not what I was suggesting.
Both me and Carles agree that the preferred approach is to move the macros and enums out to a new file, include/input/hid.h.
The existing header include/usb/class/usb_hid.h includes this new file, this maintains backwards compatibility.
You can now include include/input/hid.h in hog.c to get the definitions that are needed.

Would you be more comfortable to split include/usb/usb_hid.h in include/usb/class/usb_hid.h and include/usb/class/usb_hid_device.h

I don't know how @jfischer-phytec-iot meant the split should be, but as you rightly point out splitting the functions out into a new header does not solve the problem. It has to be the macros and enums that are split out.

@petejohanson I agree with you, that would not work. That was not what I was suggesting.
Both me and Carles agree that the preferred approach is to move the macros and enums out to a new file, include/input/hid.h.
The existing header include/usb/class/usb_hid.h includes this new file, this maintains backwards compatibility.
You can now include include/input/hid.h in hog.c to get the definitions that are needed.

Would you be more comfortable to split include/usb/usb_hid.h in include/usb/class/usb_hid.h and include/usb/class/usb_hid_device.h

I don't know how @jfischer-phytec-iot meant the split should be, but as you rightly point out splitting the functions out into a new header does not solve the problem. It has to be the macros and enums that are split out.

I guess we are suggesting similar approach with the deference that I insist to have defines and structs from USB HID specification in include/usb/class/usb_hid.h, everything else can be moved to include/usb/class/usb_hid_device.h

@jfischer-phytec-iot Can you help me see how we can do that, and actually achieve the intended goal of splitting it? In order to maintain backward compatibility w/ existing sources, someone who only does "#include <include/usb/class/usb_hid.h>` should get both the defines + structs, and the device functions. So we haven't created a file that someone can include that gets them only the defines and structs, just moved the device functions somewhere else.

@jfischer-phytec-iot Ok, so defines and structs from USB HID specification in include/usb/class/usb_hid.h, everything else moved to include/usb/class/usb_hid_device.h
Then the question of backwards compatibility remains, or are you fine with breaking it here?
Otherwise I think it will have to be:
#if defined(CONFIG_USB_DEVICE_HID)
#include <usb/class/usb_hid_device.h>
#endif

@jfischer-phytec-iot @petejohanson @joerchan I agree that the better solution here is to do what was suggested here, assuming @jfischer-phytec-iot agrees.

@jfischer-phytec-iot Ok, so defines and structs from USB HID specification in include/usb/class/usb_hid.h, everything else moved to include/usb/class/usb_hid_device.h
Then the question of backwards compatibility remains, or are you fine with breaking it here?

We could address it as part of USB device stack rework, which breaks API anyway. I am afraid everything else is just confusing and like include/input/hid.h is is not intuitive from the USB developer perspective. What about include/usb/class/hid.h and include/usb/class/usb_hid.h?

We could address it as part of USB device stack rework, which breaks API anyway. I am afraid everything else is just confusing and like include/input/hid.h is is not intuitive from the USB developer perspective. What about include/usb/class/hid.h and include/usb/class/usb_hid.h?

I'm happy with this proposal:

include/usb/class/hid.h would contain everything that is not USB-specific
include/usb/class/usb_hid.h would contain everything that is only useful in the context of HID over USB

@petejohanson if you are not in a hurry then could you please post this Pull Request against the topic-usb branch instead of master? We are reworking the USB stack there.

@petejohanson If you agree with the proposal above, please base your work on  #27045, thank you.

@petejohanson Did you abandon this one?

Closing this for inactivity, please reopen if you disagree.


Use a system default font on flutter

Use case
Flutter apps need to use a system font for displaying a plain text. I guess I can use FontLoader to use a default system font on Android with a plugin but it would be really great to have this feature supported by engine.
Samsung, LG or other vendors using Android has a feature that users can change a system font in settings but this default font setting is ignored in flutter apps because it uses a built-in font provided by flutter engine. Users using a different font as their default font feel awkward as their setting isn't applied on their Android devices.

Even using FontLoader, how to achieve this?

@pxc0215 I thought Android provide an API to fetch a current selected system font but I couldn't find any document. I saw a few posts regarding this issue but the best way to achieve this is that you provide a list of fonts and let users choose what they want for this app. If you have any better idea, please let me know!

As of Flutter v1.12, add-to-app is supported. I have an existing app which uses Android system font. But I have to change my entire app's font to 'Roboto', because the added Flutter view can't use user's default font.

Any Solutions ?

I have the same situation where the font doesn't match the device

Still no solution?

Any solution here?

Any solution here?

Is there a solution for this now?

cc @xster

For those that have one of these devices running Android S, is there still an option to change the default system font?
Android removed this feature in S, see https://issuetracker.google.com/issues/193775634#comment8

For those that have one of these devices running Android S, is there still an option to change the default system font? Android removed this feature in S, see https://issuetracker.google.com/issues/193775634#comment8

We can't find devices that upgraded to S (with MIUI or EMUI). AFAIK the MIUI (OS for Xiaomi) and the EMUI (OS for Huawei) might implement their font features based on a customized framework other than a regular OS. Even if the original feature is removed from the native Android, they will continue to support it.

There isn't an Android API to get the default system font unfortunately, but maybe it can be added.

This affects all Flutter versions from the very beginning. Raising to P3.

I have been following this issue for half a year, and there is no solution yet?

Hopefully it can be resolved

Is there any work around on this issue yet?

Any update?

We don't have any short-term plans to address this although pull requests would be welcome. It's a difficult change to make, because the Material and Cupertino component layouts are sensitive to their default font metrics, and it's a difficult change to test.  I'm going to return the priority to P4.

This is going to be an overall bad user experience for users of flutter mobile application. Flutter dev should do better.

Flutter might get this feature when this skia bug is resolved.

Flutter might get this feature when this skia bug is resolved.

Probably in version 4.0

Flutter might get this feature when this skia bug is resolved.

Since flutter is dropping Skia for Impeller, is it likely to get this issue resolved?

Could anyone provide an update or roadmap for this issue?

Could anyone provide an update or roadmap for this issue? We have plans to convert many existing apps to Flutter, but this is the biggest issue preventing us.

Any update?

Apologies if this question is orthogonal to this issue, but it seems related to me.
I haven't been able to find any documentation explaining how or which system fonts Flutter is able to access. Is the answer that Flutter cannot access any fonts which are not either bundled by the framework or bundled by the developer? That seems... odd. Surely there are a number of system fonts available on iOS and Android devices, and it seems like Flutter should be able to access them, even if it can't determine the current system default font.
We can see for example here that the default Material styles are referring to MacOS fonts, so Flutter must have some way to access them unless they're actually being bundled into the application when it's compiled. There's similar code for iOS and Android as well.
Can someone knowledgeable about how Flutter handles fonts please comment on this? As a follow on, is there a way to determine which fonts are available on different platforms, either programmatically or via documentation?
This question is motivated by an issue we're having where certain emojis are not rendered correctly on Android unless a custom emoji font is loaded / bundled with the application.

https://github.com/Fintasys/emoji_picker_flutter/issues/171

Guys...
https://github.com/re7gog/android_system_font
(Properly works only on Android 14+, by using latest API)

Any update?


ModuleNotFoundError: No module named 'py7zr' yet pip list shows it is...

When I execute ./DarwinFetch.ss, I get the following output:
RGX Python Project Bootstrapper Version: 0.1.2
Running on Debian-based Linux...
Python 3 detected. Version: 3.12.3
ensurepip is installed.
Virtual environment '.DFetchVEnv' already exists.
Activated virtual environment: .DFetchVEnv
Checks passed...
Running DarwinFetch using python3
Traceback (most recent call last):
  File "/opt/virtualenv/DarwinFetch/src/main.py", line 12, in <module>
    import py7zr
ModuleNotFoundError: No module named 'py7zr'

Yet,
$ > python
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import py7zr
>>>

Help...

Should have included pip list:
$ > pip list
Package            Version
------------------ ---------
Brotli             1.1.0
certifi            2024.8.30
charset-normalizer 3.3.2
click              8.1.7
idna               3.10
inflate64          1.0.0
multivolumefile    0.2.3
pip                24.0
psutil             6.0.0
py7zr              0.22.0
pybcj              1.0.2
pycryptodomex      3.20.0
pyppmd             1.1.0
pyzstd             0.16.1
requests           2.32.3
texttable          1.7.0
tqdm               4.66.5
urllib3            2.2.3

what distribution is this

I'm on Ubuntu 24.04.  But I've just discovered what needs to be done.  I was already using my own virtual environment so maybe that confused it all.
I've since resolved.  After looking at the script is when I noticed that it is using its own virtualenv.  So deleted mine, and tried to run ./DarwinFetch.sh but it still gave the same error.
In summary, the steps to run this on Ubuntu 24.04.1 after cloning the repo is:
. .DFetchVEnv/bin/activate
pip install -r requirements.txt
./DarwinFetch.sh

On my merry way now and thanks for looking into this so quickly.

you're not supposed to do anything at all, you simply run ./DarwinFetch.sh and it will genuinely do everything for you, please refrain from ever specifically defining the venv and let DarwinFetch do what it needs to do.

Nope.
I've just tried this in a brand spanking new LXC container and it failed with the same error:
Running DarwinFetch using python3
Traceback (most recent call last):
  File "/home/ubuntu/DarwinFetch/src/main.py", line 12, in <module>
    import py7zr
ModuleNotFoundError: No module named 'py7zr'

i've tested the bootstrapper shell script in the supported list of distros in said script, I, have not had an issue simply git cloning, and running ./DarwinFetch.sh, thats kinda the entire point and reason why it exists

moreover, the latest #d122ef6543ca4882fe15c2d0a6b0cc738b422858 commit, made 0 changes that could affect this

I can record a video if you like!

rm -rf .DFetchVenv
./DarwinFetch.sh
Make sure this is in a new terminal, where you run no previous commands

In the README, it says to:
pip install -r requirements.txt
./DarwinFetch.sh

Should I do this as well?  If yes, then this might be the problem.  I never install stuff I'm testing into my main system!  I always use a virtualenv.

Without the pip install..., it fails with the error I posted above...

the README is out of date, it no longer requires a user to manually install requirements, because the script itself does it... I have no idea how your setup is, but even on a fresh Ubuntu install, this should work OOB

One sec - let me capture a screenshot showing the command I'm running...

Here you go.
In the output, search for root@puma to see all the commands I ran.
[Sat Sep 21 17:24:16 - 6.8.0-45-lowlatency - /dev/pts/2]
[1 ✗ (135ms) akk@akstpx1g5 <IP_ADDRESS>: ~ ]
$ > lxc launch ubuntu:noble puma
Creating puma
Starting puma
[Sat Sep 21 17:24:24 - 6.8.0-45-lowlatency - /dev/pts/2]
[0 ✓ (2.050s) akk@akstpx1g5 <IP_ADDRESS>: ~ ]
$ > lxc exec puma bash
root@puma:~# git clone https://github.com/royalgraphx/DarwinFetch.git
Cloning into 'DarwinFetch'...
remote: Enumerating objects: 75, done.
remote: Counting objects: 100% (75/75), done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 75 (delta 35), reused 53 (delta 19), pack-reused 0 (from 0)
Receiving objects: 100% (75/75), 38.45 KiB | 1.83 MiB/s, done.
Resolving deltas: 100% (35/35), done.
root@puma:~# cd DarwinFetch/
root@puma:~/DarwinFetch# egrep clear DarwinFetch.sh
clear
root@puma:~/DarwinFetch# sed -i '/clear/d' DarwinFetch.sh
root@puma:~/DarwinFetch# egrep clear DarwinFetch.sh
root@puma:~/DarwinFetch# ./DarwinFetch.sh
RGX Python Project Bootstrapper Version: 0.1.2
Running on Debian-based Linux...
Python 3 detected. Version: 3.12.3
ensurepip is not installed: /usr/lib/python3.12/ensurepip/__init__.py is missing.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package python3-venv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python3-venv' has no installation candidate
Failed to install python3-venv
root@puma:~/DarwinFetch# apt update &>/dev/null
root@puma:~/DarwinFetch# ./DarwinFetch.sh
RGX Python Project Bootstrapper Version: 0.1.2
Running on Debian-based Linux...
Python 3 detected. Version: 3.12.3
ensurepip is not installed: /usr/lib/python3.12/ensurepip/__init__.py is missing.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libpython3.12-minimal libpython3.12-stdlib libpython3.12t64 python3-pip-whl python3-pkg-resources python3-setuptools
  python3-setuptools-whl python3.12 python3.12-minimal python3.12-venv
Suggested packages:
  python-setuptools-doc python3.12-doc binutils binfmt-support
The following NEW packages will be installed:
  python3-pip-whl python3-setuptools-whl python3-venv python3.12-venv
The following packages will be upgraded:
  libpython3.12-minimal libpython3.12-stdlib libpython3.12t64 python3-pkg-resources python3-setuptools python3.12
  python3.12-minimal
7 upgraded, 4 newly installed, 0 to remove and 12 not upgraded.
Need to get 11.2 MB of archives.
After this operation, 2784 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libpython3.12t64 amd64 3.12.3-1ubuntu0.2 [2339 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 python3.12 amd64 3.12.3-1ubuntu0.2 [651 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libpython3.12-stdlib amd64 3.12.3-1ubuntu0.2 [2069 kB]
Get:4 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 python3.12-minimal amd64 3.12.3-1ubuntu0.2 [2343 kB]
Get:5 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libpython3.12-minimal amd64 3.12.3-1ubuntu0.2 [834 kB]
Get:6 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 python3-setuptools all 68.1.2-2ubuntu1.1 [396 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 python3-pkg-resources all 68.1.2-2ubuntu1.1 [168 kB]
Get:8 http://archive.ubuntu.com/ubuntu noble/universe amd64 python3-pip-whl all 24.0+dfsg-1ubuntu1 [1702 kB]
Get:9 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 python3-setuptools-whl all 68.1.2-2ubuntu1.1 [716 kB]
Get:10 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 python3.12-venv amd64 3.12.3-1ubuntu0.2 [5678 B]
Get:11 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 python3-venv amd64 3.12.3-0ubuntu2 [1034 B]
Fetched 11.2 MB in 4s (2771 kB/s)
(Reading database ... 34473 files and directories currently installed.)
Preparing to unpack .../00-libpython3.12t64_3.12.3-1ubuntu0.2_amd64.deb ...
Unpacking libpython3.12t64:amd64 (3.12.3-1ubuntu0.2) over (3.12.3-1ubuntu0.1) ...
Preparing to unpack .../01-python3.12_3.12.3-1ubuntu0.2_amd64.deb ...
Unpacking python3.12 (3.12.3-1ubuntu0.2) over (3.12.3-1ubuntu0.1) ...
Preparing to unpack .../02-libpython3.12-stdlib_3.12.3-1ubuntu0.2_amd64.deb ...
Unpacking libpython3.12-stdlib:amd64 (3.12.3-1ubuntu0.2) over (3.12.3-1ubuntu0.1) ...
Preparing to unpack .../03-python3.12-minimal_3.12.3-1ubuntu0.2_amd64.deb ...
Unpacking python3.12-minimal (3.12.3-1ubuntu0.2) over (3.12.3-1ubuntu0.1) ...
Preparing to unpack .../04-libpython3.12-minimal_3.12.3-1ubuntu0.2_amd64.deb ...
Unpacking libpython3.12-minimal:amd64 (3.12.3-1ubuntu0.2) over (3.12.3-1ubuntu0.1) ...
Preparing to unpack .../05-python3-setuptools_68.1.2-2ubuntu1.1_all.deb ...
Unpacking python3-setuptools (68.1.2-2ubuntu1.1) over (68.1.2-2ubuntu1) ...
Preparing to unpack .../06-python3-pkg-resources_68.1.2-2ubuntu1.1_all.deb ...
Unpacking python3-pkg-resources (68.1.2-2ubuntu1.1) over (68.1.2-2ubuntu1) ...
Selecting previously unselected package python3-pip-whl.
Preparing to unpack .../07-python3-pip-whl_24.0+dfsg-1ubuntu1_all.deb ...
Unpacking python3-pip-whl (24.0+dfsg-1ubuntu1) ...
Selecting previously unselected package python3-setuptools-whl.
Preparing to unpack .../08-python3-setuptools-whl_68.1.2-2ubuntu1.1_all.deb ...
Unpacking python3-setuptools-whl (68.1.2-2ubuntu1.1) ...
Selecting previously unselected package python3.12-venv.
Preparing to unpack .../09-python3.12-venv_3.12.3-1ubuntu0.2_amd64.deb ...
Unpacking python3.12-venv (3.12.3-1ubuntu0.2) ...
Selecting previously unselected package python3-venv.
Preparing to unpack .../10-python3-venv_3.12.3-0ubuntu2_amd64.deb ...
Unpacking python3-venv (3.12.3-0ubuntu2) ...
Setting up python3-pkg-resources (68.1.2-2ubuntu1.1) ...
Setting up python3-setuptools-whl (68.1.2-2ubuntu1.1) ...
Setting up python3-setuptools (68.1.2-2ubuntu1.1) ...
Setting up python3-pip-whl (24.0+dfsg-1ubuntu1) ...
Setting up libpython3.12-minimal:amd64 (3.12.3-1ubuntu0.2) ...
Setting up python3.12-minimal (3.12.3-1ubuntu0.2) ...
Setting up libpython3.12-stdlib:amd64 (3.12.3-1ubuntu0.2) ...
Setting up python3.12 (3.12.3-1ubuntu0.2) ...
Setting up libpython3.12t64:amd64 (3.12.3-1ubuntu0.2) ...
Setting up python3.12-venv (3.12.3-1ubuntu0.2) ...
Setting up python3-venv (3.12.3-0ubuntu2) ...
Processing triggers for systemd (255.4-1ubuntu8.4) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.3) ...
Scanning processes...
Scanning candidates...

Restarting services...

Service restarts being deferred:
 systemctl restart unattended-upgrades.service

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
Creating virtual environment '.DFetchVEnv'.
Virtual environment '.DFetchVEnv' created successfully.
Activated virtual environment: .DFetchVEnv
Checks passed...
Running DarwinFetch using python3
Traceback (most recent call last):
  File "/root/DarwinFetch/src/main.py", line 12, in <module>
    import py7zr
ModuleNotFoundError: No module named 'py7zr'
root@puma:~/DarwinFetch#

I removed a clear command in the script using sed so I could capture everything...

I'll come back to this when I'm to install something other than Puma.  Right now though, I'm going to have to go hunt elsewhere as your script doesn't support downloading Puma install media, unless I missed something somewhere.

Nevermind - I just noticed I need to enable some disabled sources...

https://github.com/royalgraphx/DarwinFetch/blob/main/DarwinFetch.sh#L232-L257
Debian based installations had the following snippet removed:
# Check if all modules can be imported and handle failure if necessary
        check_pip
        check_requirements_import
        if [ $? -ne 0 ]; then
            install_requirements_pip
        fi

This was the reason, it was not ensuring modules can be loaded or was installing them, this was an oversight because DKVM does not inherently support Fedora or Debian, the distribution of choice is Arch Linux.

Cool.  I was able to get around it by sourcing activate and running pip install... and now I'm downloading Puma.  Off to the races I go.

Thanks for your efforts.
Config loaded successfully.
Available PowerPC Sources:
2. Mac OS X Leopard 10.5.6
11. Mac OS X Tiger 10.4.8
17. Mac OS X Panther 10.3.0
19. Mac OS X Jaguar 10.2.0
21. Mac OS X Puma 10.1.0
28. Mac OS X Cheetah 10.0.3
Enter the number of the source to download (or 'c' to cancel): 21

Selected Source: Mac OS X Puma 10.1.0 (5G640) - 000-000000

Initializing download of Apple Mac OS X 10.1 Puma.7z
100%|███████████████████████████████████████████████████████████████████████████████████| 486M/486M [00:46<00:00, 10.5MiB/s]

Download completed. File saved to: downloads/10.1.0_5G640/Apple Mac OS X 10.1 (10.1.5J34).7z
Unpacking files downloaded from sources...
Successfully unpacked: Apple Mac OS X 10.1 (10.1.5J34).7z
Press any key to continue...

this has now been fixed via the recent commit a7c7f63fe7656ca3499be3501fb74ce38dd557f6
Thank you for bringing this to my attention, not many use Debian for this, this would have flown under my radar for months


vivint integration issues with 2022.4

I have just upgraded my HA run on ubuntu to 20.04.4 and when i try and add the latest version of the vivint integration everything runs smoothly until i try and install the repo, then it just disappears. please advise?
System Health

version
core-2022.4.2

installation_type
Home Assistant Supervised

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.9.9

os_name
Linux

os_version
5.13.0-39-generic

arch
x86_64

timezone
America/Chicago

Home Assistant Community Store

GitHub API
ok

Github API Calls Remaining
4668

Installed Version
1.15.2

Stage
running

Available Repositories
1027

Installed Repositories
11

Home Assistant Cloud

logged_in
true

subscription_expiration
April 27, 2022, 7:00 PM

relayer_connected
true

remote_enabled
true

remote_connected
true

alexa_enabled
true

google_enabled
true

remote_server
us-east-1-1.ui.nabu.casa

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Ubuntu 20.04.4 LTS

update_channel
stable

supervisor_version
supervisor-2022.04.0

docker_version
20.10.14

disk_total
233.2 GB

disk_used
24.7 GB

healthy
true

supported
failed to load: Unsupported

supervisor_api
ok

version_api
ok

installed_addons
Terminal & SSH (9.3.0), File editor (5.3.3), Google Assistant SDK (2.5.0)

Dashboards

dashboards
1

resources
3

views
6

mode
storage

What do you mean by disappears? Does your system become unstable? Or you just can't find the Vivint integration?


Error: spawn compass ENOENT

Hello, I'm looking for a lightweight DASH library for my app and want to try this one. I roughly did
$ sudo apt install npm
$ npm install
$ node bower install
$ sudo npm install --global gulp-cli (as specified here https://gulpjs.com/docs/en/getting-started/quick-start/ , since the gulp command was not installed by the previous step for some reason even though gulp was listed in npm list)
$ gulp serve
[20:40:00] Using gulpfile ~/Downloads/live-dash-mse-player-master/gulpfile.js
[20:40:00] Starting 'dev:js'...
[20:40:00] Starting 'dev:styles'...
[20:40:00] Finished 'dev:styles' after 19 ms
[20:40:00] Starting 'watch'...
[20:40:00] Finished 'watch' after 61 ms
[20:40:00] Starting 'browser-sync'...
[20:40:00] Finished 'browser-sync' after 48 ms
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: spawn compass ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)

npm list shows that gulp-compass is installed.
System:
Debian GNU/Linux 10
npm 6.14.10 (upgraded manually from the distribution version which was incompatible with the node version)
node v10.21.0

Is there any way to bypass gulp? I also tried concating both the src and dist files but either case resulted in errors on including the script. I'm new to Javascript development and tooling so apologies.

Okay I figured it out. compass is not included with gulp-compass. gulp-compass appears to just be a wrapper. Compass seems to be a ruby program and so requires these commands to install (debian):
sudo apt install ruby-full
sudo gem install compass


Show addresses that are experiencing high transaction volume as suggested subscriptions

One of the biggest problems with the subscription model is that, if the user does not know addresses to subscribe to, they have an empty stream.
A really good idea that one of our early users had was to show addresses that were experiencing very high transaction volume within the last x hours.
This could be its own subscription - ethereum_trending. Our subscription model might have to change slightly, as this subscription would not take an address, but it would have a color and a label.
This is a fantastic idea and is a good way to implement an always on default stream when a user signs up. High priority to add this.

Related to setting this up as a default subscription: https://github.com/bugout-dev/brood/issues/12

Statistics
Most active addresses by:

Value out.
Value in.
Transactions out.
Transactions in.

We will return the top 10 most active addresses by each of these criteria.
We will calculate these statistics over the last 24 hours.
Architecture
We will create a worker in mooncrawl under the ethcrawl subcommand.
The worker will be invoked as:
python -m mooncrawl.cli ethcrawl trending \
    --start-time <time at which window starts> \
    --include-start # whether or not start time is included in the window (default: False) \
    --end-time <time at which window ends> \
    --include-end # whether or not start time is included in the window (default: False) \
    --humbug <humbug token; optional - if provided, writes statistics to Humbug journal>

We will run the following command on an hourly timer:
python -m mooncrawl.cli ethcrawl trending \
    --start-time $(date --date '-24 hours' +%s) \
    --end-time $(date +%s) \
    --humbug <Humbug token that writes to Moonstream journal>

This command will run on the same machine that is synchronizing ethereum blocks.

Our queries take a long time to run over 24 hours. Better to do over 1 hour.

Better invocation of ethcrawler trending command:
time mooncrawl ethcrawler trending \
    -s $(date -u -d '-2 hours' +%Y%m%d-%H%MT%z) \
    -e $(date -u +%Y%m%d-%H%MT%z) \
    --humbug "$MOONSTREAM_HUMBUG_TOKEN" \
    | jq .


[WIP] POC: add reference sub-task to suggest tables which can be used as Vitess reference tables

Description
TL;DR: Add a new sub-task reference  to suggest tables which can be used as Vitess reference tables. Builds on top of keys and another new sub-command schema (which gets table row count estimates from the db or a specified file).
Background
Vitess allows users to specify reference tables (https://vitess.io/docs/22.0/reference/vreplication/reference_tables/)
in a sharded keyspace which are defined in aVSchema. Lookup tables which are used commonly in joins and which are
small enough to be cached in all shards are candidates for it. Ideally these should also not be updated often.
vt already has support for ingesting query logs and extracting various useful information using keys and
trace.
For identifying candidates for reference tables we would like these criteria to be met:

Are relatively small compared to the operational tables, i.e. have fewer rows.
Have low write QPS: they don't get updated as often. This is important since there could be a lag in the reference
table materialization
Are part of a lot of joins: setting them up as reference tables means fewer cross-shard joins

Miscellaneous

To be able to denote that a query has been called n times without needing it to be present those many times in
the query log, I added the ability to give this number using a sql query comment like /*vt+  VT_USAGE_COUNT=3413 */.

Method

Use keys to get all tables involved, including write and read qps on those tables and number of queries they
participate in.
Use schema to get number of rows currently in the tables
Use thresholds to determine conditions defined above: (thresholds hard coded for poc)

table row count < 1000
writes to table < 1% of total writes (probably should be smaller?)
joins to table for reads > 5% of total reads

Notes

If the target is already sharded in production, we can use the cross-shard queries to advice us
Can we simulate the suggestions to see if cost will be reduced and by how much, if reference tables are used

schema command
vt schema [flags]
Flags are vtParams fields required to connect to database. It currently generates a json with just table names and
row counts. We may want to get foreign key constraints to get additional info on which tables are expected to be in
joins.
vt reference
It first calls the keys internal function and then the schema one and uses simple logic based on thresholds to
generate json output with recommended tables like
{
  "Tables": [
    {
      "Name": "city",
      "NumWrites": 45,
      "NumReads": 7844,
      "JoinCount": 15688,
      "Rows": 600
    },
    {
      "Name": "address",
      "NumWrites": 1,
      "NumReads": 7845,
      "JoinCount": 15689,
      "Rows": 603
    },
    {
      "Name": "country",
      "NumWrites": 47,
      "NumReads": 7845,
      "JoinCount": 7844,
      "Rows": 109
    },
    {
      "Name": "language",
      "NumWrites": 9,
      "NumReads": 5314,
      "JoinCount": 5313,
      "Rows": 6
    }
  ]
}

sakila
Added the sakila schema for making it easier to test and generate queries for reference
Refactoring

keys refactored so that it can be called internally. Maybe we can think of a GRPC based server similar to
vtctld so that external tools can call them directly. Can then serve as a good interface for sub-commands that
use other sub-commands
keys input format error messages updated

For now we delay the suggestions and just add the table rows metric via https://github.com/vitessio/vt/pull/64


Add UI for drain

Drain action already shows up in UI, just need to set the input.

to call drain from API, the input would look like -

curl -u $token --insecure -H 'Content-Type: application/json' https://localhost:8443/v3/nodes/local:machine-k6ct9?action=drain-X POST -d '{"deleteLocalData":"true","force":"false","gracePeriod":"-1","ignoreDaemonSets":"true","timeout":"20"

when draining is ongoing, it can be stopped using stopDrain action

Information about the params and default values -

type NodeDrainInput struct {
	// Drain node even if there are pods not managed by a ReplicationController, Job, or DaemonSet
	// Drain will not proceed without Force set to true if there are such pods
	Force bool `json:"force,omitempty"`
	// If there are DaemonSet-managed pods, drain will not proceed without IgnoreDaemonSets set to true
	// (even when set to true, kubectl won't delete pods - so setting default to true)
	IgnoreDaemonSets bool `json:"ignoreDaemonSets,omitempty" norman:"default=true"`
	// Continue even if there are pods using emptyDir
	DeleteLocalData bool `json:"deleteLocalData,omitempty"`
	//Period of time in seconds given to each pod to terminate gracefully.
	// If negative, the default value specified in the pod will be used
	GracePeriod int `json:"gracePeriod,omitempty" norman:"default=-1"`
	// Time to wait (in seconds) before giving up for one try
	Timeout int `json:"timeout" norman:"min=1,max=10800,default=60"`
}

https://github.com/rancher/rancher/issues/14265

Hi @kinarashah Please let me know once backend is ready

@loganhz  backend should now be available in master

@kinarashah Created a PR for adding drain and stop drain action in UI
But it looks like stopDrain doesn't show in API for a draining node.

Thanks @loganhz, I'll look into it

@kinarashah  StopDrain is already in the rancher/rancher:master. But it becomes Cordoned after StopDrain.

Yeah, @loganhz this is expected, since drain also cordons the node. I'd add it to our docs

@loganhz @kinarashah - Once I Stop Drain, it is still Cordoned.  Shouldn't it also be Uncordoned when I stop the drain so it reverts to being just "Active"?

@tfiduccia  it is k8s behavior that when you stop an ongoing drain process, the node still remains into cordoned state. I agree this can be new to someone who isn't acquainted to k8s, but we'll need to document it

Version - 2.1 master 8/30
Verified fixed


[Bug report] iOS Failed to save image

Version
3.0.9
Platforms
iOS
Device Model
iPhone 12Mini (iOS 17.6.1)
flutter info
[✓] Flutter (Channel stable, 3.24.3, on macOS 14.2.1 23C71 darwin-arm64
    (Rosetta), locale zh-Hans-US)
    • Flutter version 3.24.3 on channel stable at /Users/baiyi/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (6 周前), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/baiyi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15F31d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.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
      17.0.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.90.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (5 available)
    • Dangbei的iPhone (mobile)         • 00008101-001E58DE0A60001E • ios
      • iOS 17.6.1 21G93
    • 测试机 (mobile)                    • 00008030-0006558E369B402E • ios
      • iOS 17.5.1 21F90
    • macOS (desktop)                 • macos                     • darwin-arm64
      • macOS 14.2.1 23C71 darwin-arm64 (Rosetta)
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin
      • macOS 14.2.1 23C71 darwin-arm64 (Rosetta)
    • Chrome (web)                    • chrome                    •
      web-javascript • Google Chrome 129.0.6668.101
    ! Error: Browsing on the local area network for iPhone. Ensure the device is
      unlocked and attached with a cable or associated with the same local area
      network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code
      -27)
    ! Error: Browsing on the local area network for 时光机的iPhone15. Ensure the
      device is unlocked and attached with a cable or associated with the same
      local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code
      -27)

[!] Network resources
    ✗ An HTTP error occurred while checking "https://github.com/": Connection
      closed before full header was received

How to reproduce?
Store any JPG image
Logs
errorMessage: flutter: type 'String' is not a subtype of type 'Map<dynamic, dynamic>?' in type cast

Example code (optional)
No response
Contact
No response

没有复现,不过倒是修复了ios 保存file失败的问题

问题已经修复，感谢


Benchmark / Performance test

There are a couple concerns I have:

Given a really large # of Changelog entries (imagine it's years from now and a large team has been using this on a project for that time), does the tool still work in a sufficiently short amount of time. This is a concern because I create a different yaml file for every entry, so because it regenerates the whole Changelog entry every time, it has to read all of those. I think this should still be pretty okay, I did a quick benchmark before with 50,000 entries and optimized that by reading and parsing files concurrently. I could potentially make that even faster, but want to know if it's worth it or if I need to make adjustments to how the files are stored and read.
Want to know how much disk space is taken up by these entries.
Want to validate too much memory isn't taken up by reading all of these into memory (Idk what my goal for this should be)

Want to do another test right before 1.0 release, but a checkin:
Testing with 500 releases and 100 entries in each release (totaling 50,000 Changelog entries which seems ridiculously high), regenerating the Changelog on my 2015 MBP:

Time - ~10.2 seconds
Peak Memory - ~43MB
Disk Space: 200MB

The disk space and peak memory usage both have headroom. The time is longer than what I'd want it to take, but this is a stupidly large number of entries I'm testing with.

Just to leave comments for myself when I want to benchmark like this again. I made this command to add a bunch of entries
struct Temporary: ParsableCommand {
  static var configuration = CommandConfiguration(commandName: "temp")

  func run() throws {
    let releasesFolder = try Folder.current.createSubfolderIfNeeded(
      at: ".changelog-manager/releases"
    )
    let encoder = YAMLEncoder()
    for i in 0..<250 {
      let subfolder = try releasesFolder.createSubfolderIfNeeded(at: "1.0.\(i)/entries")
      for j in 0..<20 {
        let entry = ChangelogEntry(
          tags: ["Added", "Removed"],
          description: "This is a description",
          createdAtDate: Date()
        )

        let outputString = try encoder.encode(entry)
        try subfolder.createFile(named: "\(UUID().uuidString).yml").write(outputString)
      }
    }
  }
}

I then did a swift build to make sure that wasn't factored into the run time. And ran with
/usr/bin/time -l swift run changelog regenerate

sigh, i just realized i tested all of these not in release mode

Another potential idea for speeding things up in the future (if need be) is maintaining a cache of previously analyzed releases on that machine and using some way to know when to invalidate parts of it. However, this would be a more complicated approach and I'd want to try the other methods first.

When I get the framework created I shoud add more permanent benchmark scripts using https://github.com/google/swift-benchmark

Alright, real results w/ a release build:
 8.29 real        38.21 user        14.54 sys
  49946624  maximum resident set size
         0  average shared memory size
         0  average unshared data size
         0  average unshared stack size
     42002  page reclaims
        30  page faults
         0  swaps
         0  block input operations
         0  block output operations
         0  messages sent
         0  messages received
         0  signals received
     50177  voluntary context switches
    807249  involuntary context switches

Little faster, little less memory, nothing groundbreakingly different.


How can I create multiple level pie chart

Hi,
I want to create pie chart with more level of information

rformation to show. please find the image

@RajIET  Do you have this same issue like this below?
https://github.com/xyfeng/XYPieChart/issues/80


fix: only use globalPreload for Node v20+

closes https://github.com/esbuild-kit/tsx/issues/311

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


how to use displayProgressActive and  progressBar ?

I'm trying to make a progress bar but displayProgressActive and  progressBar are unset variable
HTML code :
 displayProgressActive : {{displayProgressActive}} ( <<< show nothing )
 progressBar: {{progressBar}} ( <<< show nothing )
 <timer end-time="endtime" finish-callback="finished()">

               {{hours}} heures, {{minutes}} minutes, {{seconds}} secondes.

   </timer>

And my controller :
$scope.minutes = 1 ;
$scope.endtime = Date.now() + ($scope.minutes *60000);

The displayProgressActive and  progressBar are unset variables.
What i'm missing ?
thanks

they don't mention any proper example... !


update to get code coverage working

This project uses semver, please check the scope of this pr:

[ ] #none# - documentation fixes and/or test additions
[X] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

CHANGELOG

Updated the travis.yml and package.json to run code coverage

Visual Acceptance tests:
No changes

Changes Unknown when pulling 6a69321b116d26ac40c095a21fb054047d3e9fc8 on juwara0:fixCoverage into ** on ciena-frost:master**.

👍


Use native String#end_with?, not the ActiveSupport wrapper

What are you trying to accomplish?
I noticed a call to String#ends_with?, which is an ActiveSupport core String extension introduced in 2005.
To reduce dependencies, I suggest using the ruby native String#end_with? (notice the missing "s") method instead. It's been in Ruby at least since 2.7.8.
What approach did you choose and why?
I'm trying to create a gem that has some custom view components. Yet, I found no definite way to define the dependencies for a gem like mine. Some don't require rails at all, some require all of rails (even activejob), some depend only on actionview and actionsupport, the view_component gem itself only requires activesupport and actionview implicitly (I'm not sure why).
Having that in mind, I tried to not depend on the entirety of Rails, and a minimal test setup code like this was sufficient to create a test suite for my components:
# test_helper.rb

# Create a minimal Rails app
require 'view_component/engine'
require 'action_controller'

class MyApplication < Rails::Application; end
Rails.application.routes.draw { resource :home }
class ApplicationController < ActionController::Base; end

# Make the view_component gem boot
require 'view_component/base'
require 'action_controller/test_case'
ViewComponent::Base.config.view_component_path = File.expand_path('../app/components', __dir__)

However, my gem tests didn't pass because of this one call to ends_with? – yet, when I add the following line, all my tests naturally pass:
require 'active_support/core_ext/string/starts_ends_with'

Final thoughts
I know this is just a minimal change and maybe I'm foolish for not requiring all of Rails in my test suite. I'm also fully aware that in the future, I might not be able to use my approach any more, if more dependencies on Rails-internals are implicitly used inside of the view_component gem.
But at the very least, I thought, I'd be able to press the question of a canonical way to create gems that contain view components. If you tell me to load an entire rails dummy app in my test suite instead, then you can disregard this pull request :)
Thank you for your time. It's very exciting to see your gem develop from generation to generation.

👍 If the two methods are totally equivalent, I see no reason to keep relying on ActiveSupport.

Thanks for the very thorough PR description by the way, this is much appreciated and helps a lot when reviewing!


Update actions/checkout action to v2.5.0

This PR contains the following updates:

Package
Type
Update
Change

actions/checkout
action
minor
v2.0.0 -> v2.5.0

Release Notes

actions/checkout
v2.5.0
Compare Source
What's Changed

Update @actions/core to 1.10.0 by @rentziass in https://github.com/actions/checkout/pull/962

Full Changelog: https://github.com/actions/checkout/compare/v2...v2.5.0
v2.4.2
Compare Source
What's Changed

Add set-safe-directory input to allow customers to take control. (#770) by @TingluoHuang in https://github.com/actions/checkout/pull/776
Prepare changelog for v2.4.2. by @TingluoHuang in https://github.com/actions/checkout/pull/778

Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2
v2.4.1
Compare Source

Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

v2.4.0
Compare Source

Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

v2.3.5
Compare Source
Update dependencies
v2.3.4
Compare Source

Add missing awaits
Swap to Environment Files

v2.3.3
Compare Source

Remove Unneeded commit information from build logs
Add Licensed to verify third party dependencies

v2.3.2
Compare Source
Add Third Party License Information to Dist Files
v2.3.1
Compare Source

Fix default branch resolution for .wiki and when using SSH

v2.3.0
Compare Source

Fallback to the default branch

v2.2.0
Compare Source

Fetch all history for all tags and branches when fetch-depth=0

v2.1.1
Compare Source

Changes to support GHES (here and here)

v2.1.0
Compare Source

Group output
Changes to support GHES alpha release
Persist core.sshCommand for submodules
Add support ssh
Convert submodule SSH URL to HTTPS, when not using SSH
Add submodule support
Follow proxy settings
Fix ref for pr closed event when a pr is merged
Fix issue checking detached when git less than 2.22

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Use RAML examples directory

Enable api-schema-lint to avoid these JSON files.

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

@dcrossleyau Why would you want api-schema-lint to avoid these files?

Because these "examples" files are not JSON Schema. That job is trying to ensure that there are "description" attributes for every property in the schema.

Ah, OK: so the linter assumes every .json file in the RAMLs directory is a schema.


Institution of the Sunday of the Word of God

On 30 September 2019, Pope Francis instituted the Third Sunday in Ordinary Time as Sunday of the Word of God.
I think romcal should be updated according to this.

I've added the fix for this to the typescript branch.

@emagnier, just a reminder: this issue should be closed when the TS branch will be merged into master.

Addressed on https://github.com/romcal/romcal/pull/250.