Can't use Docblockr with editors in custom panes

I have a plugin which uses custom atom text editors in a preview pane, but I can't hit enter with this plugin enabled.

Is this still a thing and if so what plugin do you use?

I no longer use Atom, but it was this plugin. It occurs, IIRC, when using custom text editors in a preview pane. This happened because I built an interactive console that acted like a view (imagine the markdown viewer) and it had input fields that used Atom's text editor in mini and full-view modes. I can't remember now which it failed on, but I would think it's the full view - it was crashing when typing in a full-editor view embedded within a custom view.

I am going to close this since I doesn't seem to be an issue for anyone else


Update bracket tag regexp

If I type out a comma-separated list of bracket tags -- [[a]], [[b], [[c] -- Jingo eats the commas between each link. Not really sure what the last match group of the regexp below is supposed to do, but removing it fixed my issue without breaking the other tests.

Good catch!
Thanks :)


Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.

Codacy detected an issue:
Message: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.
Occurred on:

Commit:  31ca5e0fdac835d9b1a028ec98e2118fda550849
File:    release.sh
LineNum: 1
Code:    rm -f split.sh

Currently on:

Commit:  914094d864c21e659302ccd9bfa172ec35961e7d
File:    release.sh
LineNum: 1

Fixed

Fixed


HTTP Route priority example

I've checked the docs and tests but haven't been able to find a simple example of route priority.
With the below example, I would assume that requests to /api would go to the api_service. If that is not available, then it would go to default_service.
routes:
  - match:
      prefix: "/api"
    route:
      cluster: "api_service"
      priority: "high"
  - match:
      prefix: "/api"
    route:
      cluster: "default_service"

However, when I use this, the default cluster is never used. The request just fails to load.
Is there something I'm missing?

I ended just creating a new cluster that would have the priority settings in it.


Added a Docker instance

This is a working docker instance!

Hmm I guess I didn't notice that I was doing it twice. I went through a lot
of iterations ha, but yeah ALL does what the ines above do :/.
On Wed, Mar 29, 2017 at 8:10 PM Jake Harding<EMAIL_ADDRESS>wrote:

@jakeharding commented on this pull request.
In docker/database/create_db.sql
https://github.com/jakeharding/repo-health/pull/38#discussion_r108822763
:

@@ -0,0 +1,9 @@
+create database msr14;

+GRANT SELECT, INSERT, DELETE, UPDATE ON msr14.* TO 'msr14'@'%';
+GRANT SELECT, INSERT, DELETE, UPDATE ON msr14.* TO 'msr14'@'localhost';
+
+GRANT ALL ON . to msr14@localhost IDENTIFIED BY 'msr14';
+GRANT ALL ON . to msr14@'%' IDENTIFIED BY 'msr14';
Why do we need to grant permissions for select, insert, delete and update,
and then grant the user all?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jakeharding/repo-health/pull/38#pullrequestreview-29881072,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIGXq9p8WrY6UF76G45t48sq4y6Vk-dYks5rqwD5gaJpZM4MskBH
.

It works! I think it was user error.  I ran a rebase on my local quick and it works as expected. I would still like to add a bit more documentation. Excellent work! 😁  👍

For sure, I'll add that to the documentation. I won't be by my computer
until 11ish though.
On Wed, Mar 29, 2017 at 8:53 PM Jake Harding<EMAIL_ADDRESS>wrote:

It works! I think it was user error. I ran a rebase on my local quick and
it works as expected. I would still like to add a bit more documentation.
Excellent work! 😁 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jakeharding/repo-health/pull/38#issuecomment-290278775,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIGXq0qqz7iJ1shBY8sMr_a4X5L-RNwRks5rqwsigaJpZM4MskBH
.

Oh shoot. I had some more documentations in this :open_mouth:.

Sorry man.  We can still get it in.


Manual tracing

These are events which can be slow, but would be difficult to handle with BCI without access to non SPI types.
Importantly, when a tracer which produces enabled recordings is not enabled, all these trace points are skipped. So if you aren't tracing these things explicitly, you don't pay any overhead, even when the query tracing flag is set (the built in tracer doesn't record any data but the wall time and the operator name).

Codecov Report

Merging #8485 (e9eda35) into master (6849441) will increase coverage by 34.99%.
The diff coverage is 57.60%.

:exclamation: Current head e9eda35 differs from pull request most recent head 0051b15. Consider uploading reports for the commit 0051b15 to get more accurate results

@@              Coverage Diff              @@
##             master    #8485       +/-   ##
=============================================
+ Coverage     29.15%   64.14%   +34.99%
- Complexity        0     4285     +4285
=============================================
  Files          1660     1627       -33
  Lines         87082    85629     -1453
  Branches      13194    13033      -161
=============================================
+ Hits          25386    54929    +29543
+ Misses        59367    26700    -32667
- Partials       2329     4000     +1671

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
66.97% <57.60%> (?)

unittests2
14.11% <0.00%> (?)

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

Impacted Files
Coverage Δ

...operator/filter/RangeIndexBasedFilterOperator.java
16.66% <0.00%> (-6.42%)
:arrow_down:

...ore/operator/filter/BitmapBasedFilterOperator.java
74.07% <25.00%> (+5.24%)
:arrow_up:

...core/operator/docvalsets/TransformBlockValSet.java
27.50% <39.02%> (+3.97%)
:arrow_up:

...ment/index/readers/text/LuceneTextIndexReader.java
75.36% <42.85%> (+75.36%)
:arrow_up:

...al/segment/index/readers/LuceneFSTIndexReader.java
69.56% <50.00%> (+69.56%)
:arrow_up:

...local/realtime/impl/json/MutableJsonIndexImpl.java
84.84% <57.14%> (+84.84%)
:arrow_up:

...t/index/readers/json/ImmutableJsonIndexReader.java
74.48% <57.14%> (+74.48%)
:arrow_up:

...ore/operator/docvalsets/ProjectionBlockValSet.java
92.45% <90.90%> (-3.01%)
:arrow_down:

...not/core/operator/combine/BaseCombineOperator.java
78.66% <100.00%> (-5.12%)
:arrow_down:

...va/org/apache/pinot/core/routing/RoutingTable.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1380 more

Continue to review full report at Codecov.

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

I’ve measured the overhead of this manual instrumentation and it is within the noise when tracing is disabled.
The will however augment default tracing, adding an entry per transform and projection block evaluated. Is this acceptable? Whenever I have tried to use existing tracing I have encountered ConcurrentModificationExceptions (still broken) as well as NullPointerExceptions (fixed recently) so I assume that nobody actually uses it.

Thanks @richardstartin . Reviewing this today

Importantly, when a tracer which produces enabled recordings is not enabled, all these trace points are skipped. So if you aren't tracing these things explicitly, you don't pay any overhead, even when the query tracing flag is set

I am a bit confused between enabling recording v/s enabling tracing. There is just one coarse flag (at query level) to dictate whether the query will be traced or not. Right ? And if the flag is set, then it will produce detailed invocation recording and if it isn't then our expectation is that it will get optimized away as dead code ?

@siddharthteotia as discussed offline,

tracing enabled means the request is being traced. If the request isn't traced, inert/no-op scopes are produced. These must be effectively free otherwise it causes problems with overhead. With this design, tracing is basically free when inactive.
recording enabled is different: even if a request isn't traced, instrumentation code needs to look the same, but when tracing is enabled, performing expensive work is justified, so isEnabled is a way to ask if the active scope is on or not, to avoid doing expensive work. Even when tracing is enabled, a particular implementation may not be interested in a particular piece of data, so may choose not to enable a scope. Having the checks in the instrumentation code allows disabled scopes to avoid the cost of data collection.

I discussed this with @richardstartin  today. Will do another pass in a bit and then approve/merge. Please hold for a couple of hours.


(Bug) The endless spinner is displayed on the Face Verification screen after tapping the "Ok, verify me" button #1822

Description
See in the task description
About #1822
How Has This Been Tested?
See in the task description
Checklist:

[x] PR title matches follow: (Feature|Bug|Chore) Task Name
[x] My code follows the style guidelines of this project
[x] I have followed all the instructions described in the initial task (check Definitions of Done)
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have added reference to a related issue in the repository
[x] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[ ] I have added screenshots related to my pull request ( for frontend tasks)
[ ] I have pasted a gif showing the feature.
[ ] @mentions of the person or team responsible for reviewing proposed changes

@serdiukov-o-nordwhale
I tried to start the app locally and found that Dashboard cant be loaded it stuck on the splash screen.

@yaroslav-fedyshyn-nordwhale is everything up-to-date (gun, contracts) ? what's a reason (any errors in the console) ?

I've updated Zoom version so we need to re-test
It's phase1 related while we're having phase0 bugs so you should to do it only after phase0 bugs will be done
Most probably at this moment i've already complete this task

@serdiukov-o-nordwhale fix build.
is this ready?

@sirpy have to fix build and test how it works after https://github.com/GoodDollar/GoodDAPP/pull/1837/commits/1a17e6c7af2db822d5c2b2e33b011f18a187c70d changes

@sirpy
Tested were fixed, verification has been checked
Ready for merge once you'll approve

@sirpy We're unloading Zoom if some unrecoverable error happens (e.g. incompatible device or license expired)
Probably it would be good to unload Zoom for free resources once verification was successfull too ?
What you're thinking about this ?

@sirpy And another one thing - Zoom had aligned web & native SDK interfaces, so now web app should call zoom server for generate session ID, then pass it to the ZoomSession (it was 'under cover' before, now i had to add this call to the verification API and to the web implementation)
So, for now it's performed on the dapp side, but we could move it to the goodserver.
This aligns our architecture (no direct interactions with Zoom). Also it allows us do not keep additional env var (for zoom server url) and do not pass it to the IOS/Android native module (just good server url could be passes).
If you think it's important right now, i could create separate task and perform it in a separate PR.
But from my point of view it's  not critical by now. Because we anyway will have our zoom server in the future so everything will be done via GoodServer. And anyway we'll have adjust each client-side implementation (web, IOS, Android)


[Sort] Sort disabled using directive *ngIf in mat-table

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/edit/angular-tqmkv7
Steps to reproduce:

Add a directive *ngIfto the material table.
Click to sort the table.

Expected Behavior
Sorted table
Actual Behavior
Sort not working
Environment

Angular: 8.0.0
CDK/Material: 8.2.3
Browser(s): Opera, Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows

PD: To workaround this issue i've used the property [hidden] instead of *ngIf

You are not connecting the sort directive to the data source. Since the table is not in the view, the view query is not picking up the MatSort, so this this.dataSource.sort = this.sort; does not actually set the sort.


use the aaactl organization id for org filtering

fixes bug in InternetExchange and InternetExchangeMember service-bridge views, where org filter wasn't using the aaactl org id

Codecov Report

Merging #113 (d57be34) into prep-release (bd010f0) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@              Coverage Diff              @@
##           prep-release     #113   +/-   ##
=============================================
  Coverage         75.68%   75.68%
=============================================
  Files                45       45
  Lines              1526     1526
=============================================
  Hits               1155     1155
  Misses              371      371

Impacted Files
Coverage Δ

src/django_ixctl/rest/views/service_bridge.py
56.19% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


HHH-11194

@Naros Is this change appropriate?

@vladmihalcea Looks fine.

So, it's fine if we apply this change to the other classes extending the Dialect where we defined the legacy Dialect behavior, right?

Applied upstream.


[NEW] Breadcrumb / Overflow

Component References
Figma Link
https://www.figma.com/file/R7ymwKrEI3LF6ssrZe5opG/5.-Components?node-id=2544%3A150
Additional Info
Overflow breadcrumb variant. Maximum of 3 breadcrumb items should be in the breadcrumb. Anything else falls inside a popover:

Text using 14 px or body 300
Item in pop over must be a link (blue colors)

cc @treecore @resir014


Naming suggestions for comments in the example editorconfig

https://github.com/dotnet/roslyn/pull/30043 aims at adding functionality in Visual Studio to automatically generate an .editorconfig from the current Visual Studio settings. During the PR, @CyrusNajmabadi had a bunch of feedback about the naming and consistency for the comments. We should try to fix these in the documentation here, and I will submit a follow-up Roslyn change to make similar changes in the generated .editorconfig for the Visual Studio feature mentioned above.

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

ID: 410f3156-99cc-2a5c-2696-9d354c4f34c7
Version Independent ID: fe3c3dfe-251f-2585-fe18-7fae3bcc76d0
Content: .NET coding convention settings For EditorConfig in Visual Studio - Visual Studio
Content Source: docs/ide/editorconfig-code-style-settings-reference.md
Product: visual-studio-dev15
GitHub Login: @kuhlenh
Microsoft Alias: gewarren

Please add a comment to https://github.com/dotnet/roslyn/issues/30083, once this issue has been fixed/resolved. Thanks!

@kendrahavens This needs some PM input as it affects strings in the autogenerated EditorConfig file too. The concerns are:

Should we refer to "C# coding conventions", or "C# code style rules"?
Should we refer to VB or Visual Basic? (The DevDiv style guide says always expand VB to "Visual Basic".)
"Pattern matching preferences" or "pattern-matching preferences"? (The second one is more correct.)

Definitely refer to VB as Visual Basic. I'd go by that style doc as well.
@jinujoseph I don't have a strong opinion on the other two points. Were those the only issues Cyrus brought up?

Yes, that's one of the ones I don't have a strong opinion on. I'm happy if Genevieve goes with what she notes is more correct. :)

lets go with pattern-matching preferences

Thanks all. Last point in question:
Should we refer to "C# coding conventions", or "C# code style rules"?

Thanks, let's go with "C# code style rules". It's what we've been using in talks and a more popular search term: https://trends.google.com/trends/explore?geo=US&q=C%23 code style,C%23 code convention


Button inputs not working

When I try to run a preview of my work it will boot up the start screen but when I press the correct button(s) nothing happens.
I work on a mac so it maybe is a problem with my computer or that I'm using the v2 beta.
anyways hope this helps.

Please use the issue template next time with exact beta version.
Double check you have buttons assigned to your keyboard in the game's settings page, and that you know what they are (z x for a b)


Analyzer: 7% of time in NamespaceBuilder.createImportNamespaceForDirective

On a large app that has 3000 libraries that import mostly with a prefix, 7% of the time is spent in NamespaceBuilder.createImportNamespaceForDirective, most in NamespaceBuilder._applyPrefix.
      definedNames.forEach((String name, Element element) {
        newNames["$prefix.$name"] = element;
      });

@bwilkerson
It seems like there is an opportunity here to represent the Namespace as a more structured map where the prefix string maps to an interior map of the names, so the iteration over the names is deferred.
The same library imported in N places could be represented as a N Prefix nodes rather than N copies of the scope.
I see that SyntheticIdentifiers are used to lookup the 'prefix.name'-style names. This would be a two-stage lookup.
@leafpetersen
--strong makes things worse, NamespaceBuilder.createImportNamespaceForDirective accounting for 13% of run time. Almost twice as many LibraryScope objects are created. It seems that library scopes should reused across tasks or be cached.
without --strong,  ResolutionContextBuilder.contextFor (which eventually calls this code) is called by:
100%   PropagateVariableTypeTask.internalPerform

with --strong,  ResolutionContextBuilder.contextFor is called by:
66.76% InferStaticVariableTypeTask.internalPerform
32.24% PropagateVariableTypeTask.internalPerform

The 2/3 - 1/3 split indicates that InferStaticVariableTypeTask might be doing the work twice.

Both of these tasks visit all of the individual top level variable declarations and static fields one at a time, and each time they presumably build up a name scope.  Presumably all of the name contexts for a given library should be the same for all of the top level variables, but maybe not for the class statics?  We do inference at a library cycle granularity though, so we would at least have to have the name scopes for all of the libraries in the cycle.
I'm not sure why InferStaticVariableTypeTask does it twice as often - worth looking into.

Were these measurements taken before or after https://codereview.chromium.org/1821543002/?

It seems like there is an opportunity here to represent the Namespace as a more structured map where the prefix string maps to an interior map of the names, so the iteration over the names is deferred.

I like the general idea; it's always good to not do unnecessary work. I seem to remember, though, that there was previously a bug because we were not correctly concatenating the names and treating them like a single identifier in lookup. I don't remember the details, but there ought to be a unit test for that case.

Should we also cache import namespaces as we cache export namespaces now?
https://github.com/dart-lang/sdk/commit/97759f471cdb68ce1bb41360c429bc175b099d0b

I tried that (happy to share the code), but didn't see any difference in overall time. Not sure why.

https://codereview.chromium.org/1916223004/


On the fly decoding support

Hi, i'm new here. First thanks to this project. Though early, it looks awesome.
I go through the current recipes and find that they are all based on ctc topology. I wonder if the current version supports on the fly decoding with aed model? Specifically, i mean aed model outputing phoneme based score and wfst based LG model dynamically computing corresponding word based score.

I wonder if the current version supports on the fly decoding with aed model? Specifically, i mean aed model outputing phoneme based score and wfst based LG model dynamically computing corresponding word based score.

We are doing it  in the opposite direction:

(1) The attention encoder output is used in CTC decoding
(2) We extract n-paths from the resulting lattice obtained from CTC decoding
(3) An n-gram LM and the attention decoder are used to rescore those n-paths.


I18n\Formatter vs. logic

Hi.
I've stumbled upon this piece of code
// sizeFormatBase is used here to determine the actual scale of value
list($params, $position) = $this->formatSizeNumber($value, $decimals, $options, $textOptions);
if ($this->sizeFormatBase == 1024) {
    // format as kibibytes
} else {
    // format as kilobytes
}

I see this as an erm something that should have never hit production. It proposes following things:

Set some internal property to get different formatting. Well, if i want another behavior (not state), i should call another method or the same method with other parameters, shouldn't i?
Whenever i'm counting kilobytes (and i mean jargon 1024-based meaning), i'm not counting kilobytes. I'm counting something close to kilobytes. Or not. May be my colleague will set $sizeFormatBase to 2 or -0.15. That would be tremendous joke, i'd say.
If you want to format anything as kibibytes after you've formatted something other as kilobytes, just don't forget to switch $sizeFormatBase back to... I guess, you get the problem, state vs. behavior problem again. And a grand canyon-wide field for bugs and debugging that could be easily avoided.
There's even no space for $formatter->sizeFormatBase = 1024.0; hack. I thought nobody was using soft comparison nowadays.

I wouldn't call it state nor behavior, but configuration. UI must be consistent, so in any app with good UX, sizeFormatBase should be configured at application level and consistently used. Different methods could be useful, but ability to switch from one format to another in one place (e.g. config/main.php) is also important.
@samdark could you consider adding two new methods, but leaving current asSize() as proxy method to one of two new methods, depending of configuration?
P.S. It could be implemented in better way, for example boolean (e.g. useSIforSize).

@mrblc yes. Having two methods is better.

No longer applies to the code in this repository.


Refactor Project Links to Single Source

Original Discussion: https://github.com/freeCodeCamp/freeCodeCamp/issues/41159
Some thoughts discussed on previous PRs and chat:
Validate example links are not submitted

This would mean less maintenance for the project links (we could remove the tests that look for the example)
Prevent Campers from submitting the CodePen boilerplate, and not saving their project code

Store project links within one config file

Could be linked to DRYing out the .md files (related: #40860)

Example config
const frontendLinks = {
  link: 'https://codepen.io/freecodecamp/example',
  name: 'Tribute Page', // Doubles as placeholder if necessary
  id: 1234,
}

This is more just me thinking out-loud.

Here's another example using these challenge

https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/01-responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage.md
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/01-responsive-web-design/responsive-web-design-projects/build-a-product-landing-page.md

{
    'responsive-web-design':  [
        {
            'link': 'https://codepen.io/freeCodeCamp/full/zNBOYG',
            'name': 'build-a-personal-portfolio-webpage',
            'id': 'some-id (Could be challenge-id)'
        },
        {
            'link': 'https://codepen.io/freeCodeCamp/full/RKRbwL',
            'name': 'build-a-product-landing-page',
            'id': 'some-id (Could be challenge-id)'
        }
    ]
}

Then on the .md files we can do something like
Objective: Build a CodePen.io app that is functionally similar to this: {{ example-project }}

This is just an example, anything can be changed around.


How do I change the default encoding for line breaks?

This article is a nice description what to do if you want so save files with different line break encodings.
However, it does not tell me, how to change my personal default value for line encodings.

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

ID: d2642c7f-04bb-56eb-0f26-d867703cf2f4
Version Independent ID: 9c3f65b2-143b-8053-35ad-866152ea905e
Content: Encoding and line break characters - Visual Studio (Windows)
Content Source: docs/ide/encodings-and-line-breaks.md
Service: visual-studio-windows
Sub-service: general-ide
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@spalt-alfred -- Alfred, thank you for your question.  In the lower right corner of the primary Visual Studio window, select your preferred line ending:

I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.

Thank you, @WilliamAntonRohm for your prompt answer!
I already know that you can change your desired line ending on a per project base.
However, if you create a new project, VisualStudio's default setting applies again.
Example:
I'm on a Windows machine. When I create a new Console Project, I can change my desired line encoding for this project by clicking on "LF" in the lower right corner. That works.
However, if I create a new Project, the line endings are again "CRLF", which is the obvious default on a Windows machine.
Obviously, my question was not precise enough.
What I wanted to ask was: How can I permanently change my desired line encoding. For this and all future VisualStudio projects.
As I already googled for some time and did not find an answer to this question, I suspect that there is no "global" setting in VisualStudio. (As there is one in VS Code. There you can define it in the JSON settings file.)

@spalt-alfred -- Alfred, thank you for your follow-up.  My own researches agree with your conclusion.  If you feel this is a product issue, please add it here:

Use the new Suggest a feature for Visual Studio IDE menu item.
Suggest a feature, track product issues, and find answers in the Visual Studio Developer Community.

@WilliamAntonRohm -- William, let me put it this way: a feature like the one we discussed here would be "nice-to-have" for me. Since no one else in the world is missing it - I can perfectly live without it.
Thanks for your help! :-)


A question about demo video

hi! i watched your kitti's demo video in youtube. what does the right window show? 3d display from rgbd?  i have converted rgbd to point cloud, but the display effect is quete different from yours.


This extension causes a lot of slugginess with real time data (a relatively big amount)

I thought we had a memory leak at work but after trying in incognito the problem was gone.
I remembered i installed this extension on saturday and when i got to work today(yes we work sundays) the app felt really sluggish.
When i disabled the extension everything was back to normal.
There were memory spikes e.g from 80mb to 250mb and down again.

Hello,
Do you notice this leak with Recoil apps? Recoil just released v0.0.12 that addresses a potential memory leak. Are you able to reproduce the issue?

Hi,
No, we are not using recoil I am afraid. We used the redux pattern using context.

Hi,
We recently updated Reactime. The main issue with the memory leak was connected with production mode. Now Reactime running only in development mode and it is much faster.


Improve the User Profile page's 'Formatting' Section

Is your feature request related to a problem? Please describe.
This came out of the discussion in https://github.com/rancher/dashboard/issues/6614. I've created a new issue to remove any confusion with the request in it's description.
Describe the solution you'd like

Formatting title --> Display Settings
Add a description underneath the title (styled the same as the You can change... description underneath Login Landing PageChange the way information is displayed in <product name>

Note - product name i think is just {product} in the translation file. It should be clear that this only applies to the UI.
Move the Table Rows per Page onto the same row as Number of clusters to show in side menu

Ticket #6672 - Test Results - ✅
With Docker on a single-node instance:
Verified on rancher v2.6-28a74733d5a7bf24f114b4ad4daf84d663b6a683-head:

Fresh install of rancher v2.6-head
From user avatar in upper-right corner of UI, visit Preferences page
Verified - User Preferences page reflects desired changes
Verified - Date Format, Time Format, Table Rows per Page, and Number of clusters to show in side menu all functional and working as expected

Screenshot:
Step 3


[Accessibility] Ctrl+/ attachment keystroke does not work in Quick Chat

Type: Bug
CC @meganrogge
In July 2024 VSCode update, a new feature allowing users to attach context in Copilot Chat via Ctrl+/ was introduced.
I have tested this key, but it seems to work only for inline Chat.
Repros

Enable screen reader mode

Open Quick Chat (Ctrl+Shift+I)

Press Ctrl+/

Notes: Attachment key does not work in Quick Chat View.

 We currently don't have the Attach Context action in quick chat. @joyceerhl is there a plan to support that?

No work planned here, cc @daviddossett @TylerLeonhardt for input. Main issue is that the Attach Context action is quickpick driven, and quick chat itself is also quickpick-based. Though I'm not sure I understand the scenario, quick chat in my mind is for quick, ephemeral questions, so I wouldn't expect users to be asking questions with custom crafted context there.

It seems like the Quick Chat has been widely adopted among screen reader users and those who are blind as opposed to the workbench.panel.chat.view.copilot.focus because 1) it offers the default keybinding (Ctrl+Shift+I); 2) Ctrl+Shift+I (Quick Chat) is recommended in Alt+F1 Accessible Help for Copilot Chat; and 3) there is no difference from a blind person’s perspective between Quick Chat and workbench panel Chat.
Unless the Attachment feature is supported in the Quick Chat, we may want to discuss how to increase the widespread adoption of the panel Chat for SR users. However, the panel Chat navigation is more cumbersome for blind people because they have to switch focus between side bar and editor areas back and forth whereas the Quick Chat pops up and goes away from within the editor area (the same focus area). It would be more ideal to support all the slash commands across all the Chat views for blind people who cannot visually see the big differences between them.

Since quick chat remembers history, I wouldn't say it's ephemeral.
@TylerLeonhardt is there a way to work around the quick pick reuse issue?

@joyceerhl and I talked more about this offline and the direction we're gonna start with is:

showing the paperclip button
when you click on it, we show the Attachment quick pick (which causes quick chat to hide)
when you select or ESC from that quick pick, it will re-open quick chat (thus closing the attach picker)

@joyceerhl should have a PR for this soon ™

While we have lit up the above proposal, there are 2 follow ups:

https://github.com/microsoft/vscode/issues/225542
https://github.com/microsoft/vscode/issues/225543


Enable Noise Cancellation: Update

The call.create() function throws the following error: "ValueError: 'enable-noise-cancellation' is not a valid OwnCapability"
I checked the Roles&Permissions section on the Getstream console and I saw that there's a new permission added titled "Enable Noise Cancellation". Whether I enable or disable it, the problem in the Python SDK remains consistent.
Python SDK thus neds to be updated to accommodate the new permission without error.

hi @Enisco, this is the SDK for Streams Feeds product. I think you might be referring to the video product?


Should FIM Model Name deepseek-coder:6.7b-instruct-q4_K_S work?

I get no FIM using deepseek-coder:6.7b-instruct-q4_K_S , also not when selecting the deepseek Fim template format.
Do I use the correct model?

Hmm - referting back to codellama:7b-code also doesn't FIM anymore.

Hey, please try a deepseek base model I have been using deepseek-coder:6.7b-base-q5_K_M successfully for FIM.

that base model did work . thanks


Input is required, but stdin is not readable. Failed to display     prompt: Would you like to automatically create an EAS project for....?

Build/Submit details page URL
No response
Summary
I want to build the standalone app for deeplinking purposes but no matter which eas command I type in I get some error message.
it looks something like this:  Input is required, but stdin is not readable. Failed to display
prompt: Would you like to automatically create an EAS project for
@...?
I just only installed the eas cli 2 days ago
Managed or bare?
Managed
Environment
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/expo-dev-info - Not found
npm ERR! 404
npm ERR! 404  'expo-dev-info@latest' is not in this registry.
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR!      C:\Users\Admin\AppData\Local\npm-cache_logs\2023-01-04T16_31_11_998Z-debug-0.log

Finding all copies of expo-modules-autolinking
Finding all copies of @expo/config-plugins
Finding all copies of @expo/prebuild-config
Finding all copies of @unimodules/core
Finding all copies of @unimodules/react-native-adapter
Finding all copies of react-native-unimodules
[17:32:50] 🎉 Didn't find any issues with the project!

Error output
No response
Reproducible demo or steps to reproduce from a blank project

What eas-cli version are you using?
Can you try reinstalling eas-cli and try again? This looks like an issue with yarn/npm installation.

Closing because of the inactivity.

I see lots of talk about the eas-cli version but I saw then when version 2.0 was around people were still having this issue. And I saw one person mention upgrading to 2.1 now works but we are on 12.5... of eas-cli so I am not confident that is still the issue :(


R3nzskin Updated - Legit?

https://www.youtube.com/watch?v=y4tJLbk2_5E
Anyone done this? Check comment section too

Patch 14.2 on the video

DO NOT trust software that is not open source

DO NOT trust software that is not open source

Go take one for the team and test the software, let us know if it works

DO NOT trust software that is not open source

Go take one for the team and test the software, let us know if it works

It not patch 14.2 on the video

Patch 14.2 on the video not patch 14.9

so the video is fake and he wants you to download and use his so-called modskin to place a trojan virus on your computer.

I mean it could be outdated video but the software is updated

Im definitely not trying it though way too suspicious


More information

Maybe add information why this do?
Or add link: http://caniuse.com/#search=keyframes section Known issues

Yes, you are right. I will do

I've added a note to the README


Updated NewsItem.

closes #3294
Why was this change made?
Per @michelleif
How was this change tested?
Which documentation and/or configurations were updated?

@justinlittman feel free to merge when 💚


Set a MX timeout

Instead of using the default resolver to lookup the MX record. I recommend using a custom resolver with a context timeout to prevent long-lived connections.
https://github.com/badoux/checkmail/blob/master/checkmail.go#L49
    const timeout = 10 * time.Millisecond
    ctx, cancel := context.WithTimeout(context.TODO(), timeout)
    defer cancel() // important to avoid a resource leak
    var r net.Resolver
    names, err := r.LookupMX(ctx, "<IP_ADDRESS>")
    if err == nil && len(names) > 0 {
        fmt.Println(names[0]) // "localhost"
    }

https://play.golang.org/p/HTW6-2o0qeT

You might also want to look at caching DNS queries.

What if the lookup function took the context as an argument so users of the library could set their own timeout duration?


Improve handling of rubbish in ghcWithPackages

Issue description
When you pass something bogus into ghcWithPackages, it succeeds instead of failing loudly.
Steps to reproduce
Write
nix-build --expr 'with import ./. {}; with import ./pkgs/development/haskell-modules/lib.nix { inherit pkgs lib; }; haskellPackages.ghcWithPackages (pkgs: with pkgs; [ dontCheck consul-haskell ])'

Debug an hour why it doesn't work (it builds the package with tests, ignoring dontCheck).
Realise that [ dontCheck consul-haskell ] should have been [ (dontCheck consul-haskell) ].

From @cleverca22

i would also expect ghcWithPackages to fail hard, because you gave it a lambda when it was expecting a string/package
so i'm surprised it even tried to build it

[clever@amd-nixos:~/apps/nixpkgs]$ nix-repl .
Welcome to Nix version 1.11.14. Type :? for help.

Loading '.'...
Added 7948 variables.

nix-repl> builtins.unsafeGetAttrPos "dontCheck" haskell.lib
{ column = 3; file = "/home/clever/apps/nixpkgs/pkgs/development/haskell-modules/lib.nix"; line = 24; }

nix-repl> builtins.unsafeGetAttrPos "ghcWithPackages" haskellPackages
{ column = 5; file = "/home/clever/apps/nixpkgs/pkgs/development/haskell-modules/make-package-set.nix"; line = 164; }

pkgs/development/haskell-modules/with-packages-wrapper.nix

paths         = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages);

aha

nix-repl> haskellPackages.consul-haskell.isHaskellLibrary
true

if you give ghcWithPackages anything that lacks a .isHaskellLibrary attribute, it will silently filter it out of the package list

Technical details

Nixpkgs version: dea58ce228e6f9686773745024eb844d8dc39fc3

CC @cleverca22 @peti -- Ideally we could make it fail loudly on such errors.

Yeah, that's a good point. I suppose we could throw an error if any non-Haskell packages are included in the package list.

Filtering non-Haskell packages is a bit too agressive, one might have developer tools installed around.
I suggest we assert on non-derivations to catch errors like this.


[Suggestion] Add a large dictionary data

Detailed description
I would suggest adding a large (300K+ sized) dictionary for better tokenization performance.
Context
I am currently doing text mining of Pantip. Pantip has a lot of new(?) words and proper-nouns that pythainlp.corpus.common.thai_words() couldn't catch.
But when I added new words from

Volubilis Dictionary for new words
Titles of wikipedia-Th articles for proper-nouns

and the performance improved by around 10%. The dictionary became 300K words in total.
I guess that it could be useful if this large dictionary data is easily (just import from pythainlp modules) available for other users too.
Possible implementation
Simply make a dictionary data from the sources above and serve it as pythainlp.corpus.common.thai_words_large() or something (Since dynamically downloading from the sources above could be a burden for the providers)

I agree but Titles of wikipedia-Th articles may does not enough good for word list because Thai wikipedia use long text that can segment and many titles are not named entity. Example: https://th.wikipedia.org/wiki/รายชื่อปฏิบัติการทางทหารระหว่างสงครามโลกครั้งที่สอง/

Hmm, true…
Is there any handful pythainlp functions to detect non named entity?

I guess some categories (like "รายชื่อxxx") should be easy to filter out by just pattern match.

I will check what patterns of the wikipedia titles exists.
Please wait for a while

Found this: https://th.wikipedia.org/wiki/วิกิพีเดีย:ชื่อบทความ
I made a plan to clean the Wikipedia titles data: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/Wikipedia.ipynb
How this seems?

Looks great.
Those titles with parenthesis: XXX (YYY) probably able to split to two entries: XXX, YYY (where XXX and YYY may duplicated with other existing entries; in that case, just keep one).

I tried to cleaned wikipedia data. How this seems?
https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/wikipedia_nlp.txt
This is not 100% perfect but could be worth using
notebook: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/Wikipedia.ipynb

I tried to cleaned wikipedia data. How this seems? https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/wikipedia_nlp.txt
This is not 100% perfect but could be worth using
notebook: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/Wikipedia.ipynb

It look good for me. @bact What do you think?

If seems good, I would make a corpus implementation of these.
How could I handle with the license of the data source?
wikipedia: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/Wikipedia/LISENCE.md
Volubilis: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/main/Volubilis/LISENCE.md_

Great work.
One thing: How we are dealing with digits/numbers at this moment?
I currently see the likes of

๑๖กรกฎาคม
๓๑มีนาคม
๑๘
in the output word list (wikipedia_nlp.txt)

If seems good, I would make a corpus implementation of these.
How could I handle with the license of the data source? wikipedia: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/wiki/Wikipedia/LISENCE.md Volubilis: https://github.com/konbraphat51/Thai_Dictionary_Cleaner/blob/main/Volubilis/LISENCE.md_

I think it can be fair use from USA's law (just use the title that manybe < 1% of all data) for Wikipedia. I think you can change to CC-0 or just CC-BY.
I don't sure about Volubilis.

For the Wikipedia title, I don't think we will have any problem to follow the original license. Text in Wikipedia is CC BY-SA. CC BY-SA is an open license and we can use/distribute it as it is.
Volubilis can be tricky. I'm not sure.

Great work.
One thing: How we are dealing with digits/numbers at this moment?
I currently see the likes of
๑๖กรกฎาคม
๓๑มีนาคม
๑๘
in the output word list (wikipedia_nlp.txt)

Oh I didn't see that. I exclude Thai numbers now.

What is the difference between Wikipedia and Volubilis? I guess they are the same licenseCreative Commons Attribution-ShareAlike 4.0 International License

If Volubilis uses CC BY-SA, we can just use CC BY-SA as well.

Volubilis look doesn't have the license but It say free. https://sourceforge.net/projects/belisan/

I think the code is nice and the output is usable.
After fixing the case of having a one-character word, like:
๋
we can merge this and provide it as an option for user to use.
An information should also be provided to the user about the characteristics of the word list
(this will appear somewhere in the API doc).
For example, for the word list derived from Wikipedia article titles:

By nature of Wikipedia titles, they are mostly nouns and noun phrases.

So, a word from this list can be very long because some of them are noun phrases.
Examples: วิวัฒนาการกระดูกเล็กสำหรับได้ยินของสัตว์เลี้ยงลูกด้วยนม, ประเทศไทยสมัยก่อนประวัติศาสตร์, ภูเขาชิงเฉิงและระบบชลประทานตูเจียงยั่น, การปิดเมืองอู่ฮั่นเนื่องด้วยการระบาดทั่วของโรคโควิด
For the length of the word, this is something the user can deal with it themselves easily.
For noun phrases, depends on the applications, the user has to decide for themselves as well. We just provide the info.

By nature of Wikipedia titles as well, they contain some misspellings.

These misspelling [or alternative spellings] serve as redirection page in Wikipedia, so people who search with a word with typo will be redirected to a page.
Examples: ประเทศเยอรมันนี, การโคลนิ่ง, รายชิ่อสนามกีฬาเรียงตามความจุ*
So the word list may not be suitable for spelling corrections, but may suitable for tokenization in some applications.

--
*Note: for รายชิ่อสนามกีฬาเรียงตามความจุ I think we should just manually remove this one from the final output. I already ask in Thai Wikipedia to remove the article, it shouldn't be there in the first place.

After fixing the case of having a one-character word, like:

OK, I did it.
I will now make a branch to make an optional corpus

Volubilis look doesn't have the license but It say free. https://sourceforge.net/projects/belisan/

@konbraphat51 can you check the license of Volubilis again?
Currently in the recent commit the license file said it use CC BY-SA.
Do you have a link for that?


Getting NullReferenceException on Android specific methods such as IsKeyboardShown(), PressKeyCode(), HideKeyboard() etc. in C# with latest Appium.WebDriver NuGet

Do I have the most recent component updates?

[X] I use the most recent available driver/plugin and server versions

Is the component officially supported by the Appium team?

[X] I have verified the component repository is present under the Appium organization in GitHub

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
We are using C# .NET framework for our automation framework and currently we are upgrading our infrastructure from Appium 1 to 2. As part of that, we have incorporated the latest NuGet package of Appium.WebDriver which is 5.0.0-rc.2 (https://www.nuget.org/packages/Appium.WebDriver/5.0.0-rc.2). Also we have upgraded the Selenium.WebDriver NuGet as well to version 4.15.0 (https://www.nuget.org/packages/Selenium.WebDriver/4.15.0). As of now we are using .NET 6 LTS. Now we se that the AndroidDriver object is working fine with only Selenium specific methods such as Click(), FindElement() etc. But it is throwing NullReferenceException whenever we are trying to perform certain Android specific operation such as HideKeyboard(), IsKeyboardShown() etc. Following code snippet can be referred to as example :-
androidDriver.IsKeyboardShown();
androidDriver.HideKeyboard();
Below stuff gets logged in the Appium server log where it clearly shows that it returns 404 while trying to execute the IsKeyboardShown(0 method :-
2023-11-13 14:06:55:511 [AndroidUiautomator2Driver@adcf (2793a1fb)] Driver proxy active, passing request on via HTTP proxy
2023-11-13 14:06:55:511 [AndroidUiautomator2Driver@adcf (2793a1fb)] Matched '/session/2793a1fb-b584-499f-8726-b73efeae531e/window' to command name 'getWindowHandle'
2023-11-13 14:06:55:512 [AndroidUiautomator2Driver@adcf (2793a1fb)] Did not know how to rewrite the original URL '/session/2793a1fb-b584-499f-8726-b73efeae531e/window' for W3C protocol
2023-11-13 14:06:55:512 [AndroidUiautomator2Driver@adcf (2793a1fb)] Proxying [GET /session/2793a1fb-b584-499f-8726-b73efeae531e/window] to [GET http://<IP_ADDRESS>:8101/session/ed180b72-766c-4252-bac9-6009db5ffa9b/window] with no body
2023-11-13 14:06:55:523 [AndroidUiautomator2Driver@adcf (2793a1fb)] Got response with status 404: {"sessionId":null,"value":{"error":"unknown command","message":"The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource","stacktrace":"io.appium.uiautomator2.common.exceptions.UnknownCommandException: The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource\n\tat io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:84)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandler...
2023-11-13 14:06:55:524 [W3C] Matched W3C error code 'unknown command' to UnknownCommandError
2023-11-13 14:06:55:525 [HTTP] <-- GET /session/2793a1fb-b584-499f-8726-b73efeae531e/window 404 14 ms - 3530
The entire Appium server log is attached herewith for detailed information.
AppiumServerLog.log
Expected Behavior
Expected is to return Boolean (true/false) when androidDriver.IsKeyboardShown() gets invoked. For androidDriver.HideKeyboard(), it should hide the open Android keyboard.
Minimal Reproducible Example
The following code snippet is used for creating the AppiumOptions object :-
var driverOptions = new AppiumOptions()
{
AutomationName = "UiAutomator2",
PlatformName = "Android",
App = "C:/Users/<user_name>/Downloads/<app_android>.apk"
};
driverOptions.AddAdditionalAppiumOption(MobileCapabilityType.Udid, "<UD_ID>");
driverOptions.AddAdditionalAppiumOption("appPackage", "<app.package>");
driverOptions.AddAdditionalAppiumOption("appActivity", "<app.activity>");
driverOptions.AddAdditionalAppiumOption("fullReset", true);
Then the driver is instantiated in the following manner :-
androidDriver = new AndroidDriver(new Uri(appiumServerUrl), driverOptions);
Environment

Operating system: Windows, Mac
Appium server version (output of appium --version): 2.2.1
Appium driver(s) and their version(s): uiautomator2 version : 2.34.0, xcuitest version : 5.8.1
Appium plugin(s) and their version(s):
Node.js version (output of node --version): 20.9.0
npm version (output of npm --version): 10.2.2
Last component(s) version which did not exhibit the problem:
Platform and version under test: .NET 6.0.417
Real device or emulator/simulator: Emulator, Simulator

Link to Appium Logs
https://github.com/appium/appium/files/13416795/AppiumServerLog.log
Further Information
No response

@de2010rht, I ran the hideKeyboard test on my end and all was fine for me.

Can you provide fully reproducible code? The code you shared ends with the Android driver initialize

@Dor-bl Thanks a lot for prompt response. Let me do a quick rectification of the sample code. Actually we are using an internal wrapper on top of the Appium Server URL. That wrapper is basically a child of ICommandExecutor. Therefore, the exact code that we are using in our driver instantiation module is something like this :-
var commandExecutor = new XyzCommandExecutor(new Uri(appiumServerUrl), TimeSpan.FromSeconds(120.00), true);
where XyzCommandExecutor is defined as :-
public class XyzCommandExecutor : ICommandExecutor { ..... }
And in our driver instantiation module, we are creating the AndroidDriver like the following :-
driver = new AndroidDriver(commandExecutor, driverOptions);
This commandExecutor object is used for all other driver creation mechanism (viz. iOS and normal Selenium Web Driver objects for chrome browser etc.) and so far we didn't see any abnormality with it. @Dor-bl Since you confirmed that the previously shared code (i.e. androidDriver = new AndroidDriver(new Uri(appiumServerUrl), driverOptions);) is working, for the time being we are also using the same for AndroidDriver creation. But for all other cases, we are still using that ICommandExecutor argument.
Therefore in a nutshell, the issue seems to be with the following piece of code :-
driver = new AndroidDriver(commandExecutor, driverOptions);

I'll see if I have some time to take a look into it.
Maybe @laolubenson have some intake on this for the time being.

I'll see if I have some time to take a look into it.
Maybe @laolubenson have some intake on this for the time being.

Hello @Dor-bl / @laolubenson, is there any update on this?

Hello @de2010rht .
No updates yet since I didn't had time to take a look.
You were saying it's not working when you wrap the appium driver with command executer?

@de2010rht, I did a small test from my side, and when wrapping the AndroidDriver with AppiumCommandExecutor the _driver.HideKeyboard(); works fine.
keep in mind that AppiumCommandExecutor  is currently internal, so you can't create an instance of such kind for now.
I need to consult with myself if it's a required change or need to implement an interface for that purpose.
in the end, I assume the reason it's not working for you is that you are wrapping your driver with an object that inherits from the selenium ICommandExecutor interface which of course not support _driver.HideKeyboard();
here is my gist:
https://gist.github.com/Dor-bl/236313356202f810fd76a97a73b31b80#file-appiumcommandexecutortest-cs-L20
@KazuCocoa, maybe you have an input on the above.
do you support object creation of AppiumCommandExecutor on Python?

Basically no. In case a user would like to define a method that is not supported by a class, add_command lets the instance call the custom command, which is not available in the instance.
https://github.com/appium/python-client/blob/876233e115ef68839f614e89f3dd7bd523222d36/appium/webdriver/webdriver.py#L66-L148
Java client https://github.com/appium/java-client/blob/master/src/test/java/io/appium/java_client/ios/IOSDriverTest.java#L52C1-L52C1
ruby https://www.rubydoc.info/gems/appium_lib_core/Appium/Core/Base/Driver#add_command-instance_method
I'm not sure if https://github.com/appium/dotnet-client/blob/b8e1aa39a33cfc4f17e041ba1085172f5face4c4/src/Appium.Net/Appium/Service/AppiumCommandExecutor.cs#L203 could do the same thing in C#, but possibly we also could provide similar functionality for this client

Thanks a lot @Dor-bl for your detailed analysis. From the feedback, I have modified my code and no more I am using an object that inherits from ICommandExecutor. Hereby I am not seeing the issue. Closing this now.


pull request for e2e test at 11/07/2016 00:26:07

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Custom HOC breaks auto-static-optimization in build

What version of this package are you using?

2.5.3

What operating system, Node.js, and npm version?

macOs Ventura (13.5.2)
Node: 18.x

What happened?
Using pages
The plugin checks if the app has a HOC. If you add a custom HOC without getInitialProps, the plugin assumes it's a HOC with getInitialProps. This makes you opt out of the https://nextjs.org/docs/messages/opt-out-auto-static-optimization because the logic of the Next.js build checks if there is a getInitialProps or not.
The hasHoc util must check if the app actually has getInitialProps and only return the HOC template if that's the case.
I have this issue with TRPC, you need to have:
export default trpcHoc.withTRPC(App)
When SSR: false, it doesn't do getInitialProps
What did you expect to happen?

the plugin must not return getInitialProps when there isn't one provided in a HOC.

Are you willing to submit a pull request to fix this bug?
No

This behavior is because there are some HOC that internally are overwritting the getInitialProps. This behavior is documented in the README.md that this is in this way just to avoid issues with HOC. If you know that the HOC is fine, you always can do this workaround to force what loader do you want in your page:
export let getStaticProps = undefined

https://github.com/aralroca/next-translate/issues/801#issuecomment-1059800473


ENH: Made ctkFittedTextBrowser collapsible

ctkFittedTextBrowser uses available space efficiently to display text.
The widget can now further optimize use of available space by collapsing text.
If collapsible option is enabled then only a short teaser is shown (e.g., a one-line summary)
and the user has to click on "More..." to see the full text.

Red CI is a false alarm:
Error: ctest failed
Error response from daemon: Cannot destroy container opengl-qt5: Driver btrfs failed to remove root filesystem 90d76726414dd48e7c79b4612a724734a9e7810cd6a5e5c62f7fcb4c899e30ab: Failed to destroy btrfs snapshot: operation not permitted
Error: failed to remove containers: [opengl-qt5]

I will fix it later.

@lassoan Very nice. Looks great :+1:

Thank you.
Can I update the git hash in Slicer?

Can I update the git hash in Slicer?

No problem, Slicer was already using the latest CTK. See https://github.com/Slicer/Slicer/blob/4113009c7814befd4d6d3bc6322f14e9ca942a47/SuperBuild/External_CTK.cmake#L64-L68

👍

Thank you for the review, I'll fix these.


Better error message if a buildInput is not a drv

When I you lorri init and add a packageset to the buildInputs instead of a drv, e.g. pkgs.eclipses, the resulting error message is very bad:
{ pkgs ? import <nixpkgs> {} }:

pkgs.mkShell {
  buildInputs = [
    pkgs.hello
    pkgs.eclipses
  ];
}

=>
…
LogLine("error: cannot coerce a set to a string, at /home/philip/.cache/lorri/cas/3a83fbad2f114b4f4f431db2014c985c:40:7"), LogLine("(use \'--show-trace\' to show detailed location information)")] } })

It comes out of our own nix file, so I’m pretty certain we can add a check that throws a better error message.

You'll want to do this for at least nativeBuildInputs.
buildInputs isn't quite suitable for developer tools, build tools and such. Such a shell will break with strictDeps.


live server is not working

Issue Type: Feature Request
live server is not working
Extension version: 5.7.5
VS Code version: Code 1.69.1 (b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a, 2022-07-12T08:21:24.514Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No

Not working for me neither.
Not reloading pages.


axlsx 2.0.1 depends on rubyzip ~> 1.0.0?

I don't understand why I get this error if the dependency with rubyzip was updated 2 years ago https://github.com/randym/axlsx/commit/9e07402a26f776b6dcdc264a202d804c5d24e8b3.

Because the version 2.0.1 was released Sep 12, 2013.
There's another "alpha/beta" release "2.1.0.pre", you could set that as the gem version in your Gemfile, or a specific commit after c649ee7d5ac699d0fc5a36550f502216f9b7318f

Ops sorry, I guess I got confused with 2.0.1 and 2.1.0.
Any plans to release the 2.1.0 version? I see that it's been published as pre since March 2015.
Thanks!


Feature request: removing owner in fgh ls

Description
When getting a repo's path with fgh ls, you're required to pass in the owner's username if you don't own the repo (e.g. Matt-Gleich/fgh). It would be helpful if fgh could, after determining that the user doesn't own the provided repo name, check for other cloned repos of the same name.
TL;DR: I wish fgh ls blah could find a locally cloned repo called blah/blah, even if my username isn't blah.

Good idea!


Type check options.minify instead of silently failing

Wasn't sure where you check for options type. Please let me know how this should be done according to current project architecture.
I would also suggest using JSON Schema to enforce options.

This should be part of the 'html-minifier' project as we just pass the options:
if (self.options.minify) {
        var minify = require('html-minifier').minify;
        return minify(html, self.options.minify);
      }


Don't show index.html for Lit components

For Lit you show the index.html file for every example. Not only does it show up first, obscuring the actual example, but it makes the Lit examples look more complicated when you don't show index.html with

While refactoring Component Party, I noticed that ! You are totally right !
It's not fair to Lit since the other frameworks does not have any "index.html". It was just interesting how a Lit component is rendered into the html file.
To address this, I just created #139 to show how each framework is rendered into the final "index.html".
I'll remove "index.html" from Lit examples.

Thanks!


PCL - ConfirmConfig - Set Custom Font to Message

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[] Android
[] UWP
[*] PCL

Version of OS(s) listed above with issue
Version of ACR UserDialogs Library
6.3.5
Expected Behaviour
While using ConfirmConfig with PCL ViewModel, How can set Custom Font.
Here is the code sample, I am using in my ViewModel, on a button click:
return new MvxCommand(async
() =>
{
ConfirmConfig cc = new ConfirmConfig();
cc.UseYesNo();
cc.Message = "Are you sure, you want to sign out?";
});
Actual Behavior
If applicable, please include entire exception - type, message, stacktrace
Not found a way to get the style applied in ViewModel
Code of Conduct

No Library Update Requests
No Timeline Requests
Please read through the documentation and FAQs
Please be respectful of my time. I put a lot of effort into my libraries.  I try to support the issue requests within a day.  I'm not psychic, so please take the time to fill out the above form as complete as possible

You can't.  If you're on android, you can look into setting it through styles if you're using appcompat.
I have been investigating ways to do this in future versions, but iOS does not like you changing its UIAlertController


polyfill fetch and promise

Fetch / promise aren't supported in older IE / iOS with decent usage. I'm assuming you'll need to add the polyfill or does v5 drop support for these?

D3 does not include any polyfills, so if you want to support browsers that do not support the Fetch API, you’ll need to include a polyfill before loading D3.


Security vulnerability in xmldom

There is an open security vulnerability:
https://github.com/advisories/GHSA-5fg8-2547-mr8q
Would you update xmldom dependency to the latest version?

https://github.com/yaronn/xml-crypto/pull/235


Simple regexp length error not caught by Gateway

A simple regexp is rejected by Envoy Proxy:
Envoy Proxy is measuring a regexp complexity and compare it with  max_program_size.
According to this, increasing it per entry has been deprecated several years ago
https://github.com/envoyproxy/envoy/blob/main/api/envoy/type/matcher/regex.proto#L41
Using 0.6.0 Gateway, this value is still 100 which is quite low, for example this regexp is valued 118:
^/v4/advisory/[0-9a-z-]{36}/clone$.
Envoy Proxy will reject it at runtime, we found it the hard way, since on a restart it will then refuse to load every route 404ing on everything.
Can we increase the default in Gateway and raise an error earlier in Gateway rather than in Proxy?

will custom bootstrap help this? should EG make runtime_flags configurable?

It seems other gateways are defaulting to 1000.
In the meantime yes I'm trying to change via replacing the bootstrap...
static_layer:
re2.max_program_size.error_level: 1000

thanks for raising this issue, looks like the outcome of this issue is

figure out what the re2.max_program_size.error_level should be for the default case
set it in the bootstrap
add a validation in the gateway-api layer to make sure we reject any regexes, else envoy will NACK and reject all xds

as mentioned by zirain, workaround for now is to use a custom bootstrap
https://gateway.envoyproxy.io/latest/user/customize-envoyproxy/#customize-envoyproxy-bootstrap-config

It seems other gateways are defaulting to 1000.

I did some looking into this. I've seen this in a few places as well as issues opened because 1000 is also not high enough. For example, here are a couple "high cost" expressions:

^/api/v1/object/[^\/]{124}/action$ has program size of 1003
^/static/[a-zA-Z0-9._-]{0,200}/[a-zA-Z0-9._-]{0,200}$ has program size of 2005

Size can increase linearly based on the length of a single match due to how cost is calculated in RE2. For the first example the cost increases by 8 as the length of the match is incremented, or: 11 + 8 * 124 == 1003
Program size of regular expressions can also apparently change between RE2 versions, which happened when the cost of . was reduced in 2019 breaking a test in Envoy (xref9174#issue-530487212)
Kuma raised the error level configured in Envoy to uint32 max value with warn level of 1000 a while back:

xref: https://github.com/kumahq/kuma/issues/2103
xref: https://github.com/kumahq/kuma/pull/2139

Contour did similar and set the warning level to 1000 with an error level of 2 ^ 20 at some point (xref) although it may have changed since then.
As it stands currently this is a serious stability issue, so what I'd like to propose is initially we configure error_level to UINT32_MAX and warn_level to 1000 in the bootstrap template:
re2.max_program_size.error_level:<PHONE_NUMBER>
re2.max_program_size.warn_level: 1000

With this the error should no longer occur as Envoy will effectively not enforce the deprecated max_program_size option, but will continue to warn for higher complexity matches:
[2024-02-07 17:17:51.358][1][warning][misc] [source/common/common/regex.cc:41] regex '^/static/[a-zA-Z0-9._-]{0,200}/[a-zA-Z0-9._-]{0,200}$' RE2 program size of 2005 > max program size of 1000 set for the warn level threshold. Increase configured max program size if necessary.
[2024-02-07 17:17:51.358][1][warning][misc] [source/common/common/regex.cc:41] regex '^/api/v1/object/[^\/]{124}/action$' RE2 program size of 1003 > max program size of 1000 set for the warn level threshold. Increase configured max program size if necessary.

Envoy will also emit a counter re2.exceeded_warn_level, incremented each time the warn level threshold is exceeded providing visibility into how often this is exceeded.
In the future regex validation and optionally configurable program size limits could be implemented to enforce in the gateway controller to prevent publishing invalid or costly regex matches in the XDS. Envoy proxy comments seem to indicate this is the expected path forward:
// This field is deprecated; regexp validation should be performed on the management server
// instead of being done by each individual client.

If this sounds reasonable, I'll open an MR to add the max_program_size settings to the bootstrap template.

thanks for digging deeper into this @davidalger
agree with the approach of setting error_level to UINT32_MAX and warn_level to 1000 for now
either in the same PR or different, lets also highlight this in the control plane as a status
using https://pkg.go.dev/regexp/syntax (len(prog.Inst) is a close approximation)

Submitted a PR to amend the bootstrap config. I'll look into validation and exposing in route status as a followup.


Diaper Drives Can Be Virtual

Summary
Our stakeholders report to the National Diaper Bank Network (Basic Needs) on an annual basis, and with COVID-19 they have been holding both virtual and in person diaper drives. The NDBN wants to be able to record this information.
Part of #2073
Criteria for Completion

[ ] Create a new fields on a diaper drive to denote if it was held virtually.

@designbygia  I'm interested to work on this issue. :) (can't assign myself, sorry)

@designbygia  I'm interested to work on this issue. :) (can't assign myself, sorry)


XML: Door Lock: update xml with missing commands

Door Lock Cluster defines commands necessary to implement if the device support PIN or/and RFID but do not support USR feature. This change add the records to the door-lock-cluster.xml to be able to define zap file with mandatory commands for specific feature-map

Closing, since these commands are not part of Matter.


Add Zerodrop

It didn't fit into any of the existing categories, so I added a new one.

@danoctavian It seems like your own https://github.com/danoctavian/bit-smuggler repo would also belong in this category. Interestingly, I don't see it on the list.


Wont align correctly. always crews up second line:

Wont align correctly. It always screws up second line:
try this raw code:
| attribute_was(attr_name)              | attribute_in_database(attr_name)          | current database value of attribute                       |
| attribute_change(attr_name)           | attribute_change_to_be_saved              | the changed value for attribute                           |
| attribute_changed?(attr_name)         | will_save_change_to_attribute?(attr_name) | was attribute modified since last save                    |
|                                       | attribute_before_last_save(attr_name)     | attribute value from before last save changed             |
| changed                               | changed_attribute_names_to_save           |  name of attributes with changed values since last save   |
| changes                               | changes_to_save                           | => the changes to be saved to DB                          |
| changed?                              | has_changes_to_save?                      | are there any changes to be saved to the DB?              |
| changed_attributes                    | attributes_in_database                    | => Hash of attribute names & new unsaved values           |
| changed?                              | has_changes_to_save?                      | record has unsaved changes                                |
|                                       | saved_changes?                            | did last save change record attributes?                   |
|                                       | saved_changes                             | => Hash of all changes in last save                       |
|                                       | saved_change_to_attribute?(attr_name)     | did attribute change when record last saved?              |
|                                       | saved_change_to_attribute(attr_name)      | => array of original & saved value from last save         |

which results in that:

| attribute_was(attr_name)      | attribute_in_database(attr_name)          | current database value of attribute                    |
| a---------------------------) | a---------------------------------------d | t----------------------------------------------------e |
| attribute_changed?(attr_name) | will_save_change_to_attribute?(attr_name) | was attribute modified since last save                 |
|                               | attribute_before_last_save(attr_name)     | attribute value from before last save changed          |
| changed                       | changed_attribute_names_to_save           | name of attributes with changed values since last save |
| changes                       | changes_to_save                           | => the changes to be saved to DB                       |
| changed?                      | has_changes_to_save?                      | are there any changes to be saved to the DB?           |
| changed_attributes            | attributes_in_database                    | => Hash of attribute names & new unsaved values        |
| changed?                      | has_changes_to_save?                      | record has unsaved changes                             |
|                               | saved_changes?                            | did last save change record attributes?                |
|                               | saved_changes                             | => Hash of all changes in last save                    |
|                               | saved_change_to_attribute?(attr_name)     | did attribute change when record last saved?           |
|                               | saved_change_to_attribute(attr_name)      | => array of original & saved value from last save      |

@exocode
You have to follow the table spec of gfm.
2nd line is delimiter row.
Your grammee is not consisting a table correctly.


Logging gifs is not working

Weights and Biases version: 0.8.12
Python version: 3.6.9
Operating System: Debian 10

Description
I'm using wandb with an existing codebase that uses tensorflow. The code saves gif summaries through a tf.summary.FileWriter. Judging by this line in the wandb code this should be supported by wandb. However, add_summary fails with the following error (if the gif summary has tag some/tag/animation/gif):
wandb: ERROR Unable to log event [Errno 2] No such file or directory: '[...]/wandb/dryrun-20190924_104624-jhkwznfx/media/videos/train/some_tag_animation_gif_0_0.gif'

That works, thanks for the quick fix!


[WIP] ImageNRegressor

This pull request resolves #ISSUE_NUMBER.
The details of the pull request:
I defined a new class ImageNRegressor to essentially support N output nodes. I found that ImageRegressor's output shape (examples, 1) to be too restrictive.
The new class supports output shapes of (examples, N). For example, you could train models to crop images; the output would be (examples, 4) where the 4 scalars represent the top, right, bottom, left crop distances.

Coverage decreased (-0.3%) to 93.445% when pulling fd5b6a2074f45249875a6155489743eedaf22d94 on BDANG:image_n_regressor into 76b07e64cf693cff7531f0bd7b5bca4fc9faf18c on jhfjhfj1:master.


Use event name to break timestamp ties

It is possible for two events to be emitted in the same millisecond. If this happens, the last timestamps can't be used to consistently order the events. However, events emitted by client-go's recorder are suffixed with a hexadecimal nanosecond timestamp, which might be used to order these events.
Refs:

https://github.com/stolostron/backlog/issues/26039

Signed-off-by: Justin Kulikauskas<EMAIL_ADDRESS>

@mprahl iirc you wondered if we could store the more precise timestamp in the policy status, but since it's stored as a metav1.Time, I think that would require a corresponding change in the policy type definition in the propagator repo.

Added the log suggested by @ChunxiAlexLuo. If you're happy with the changes, I think we can approve and un-hold this.

/unhold


[draft] Add a responsive menu

Create a responsive navbar menu.

Implementation notes from a team meeting:

Let's see if we can get something off the shelf, if there's an existing react component that meets our needs
Accessibility will be a primary concern here, along with flexibility going forward.


[Speed up] Skip calling ResultCache.cleanup when files size is 1

Summary
Skip calling ResultCache.cleanup when the inspecting file is only one.
For performance 🚀.

ResultCache.cleanup takes time.

If there are 8000 cache files, it takes about 200ms.

It is meaningful to save as much as 200ms when integrating text editors.
When rubocop called by text editor, this files.size will be always 1.

If this PR is merged, we will lose the opportunity for cleaning when the cache file is increased by 1, but I believe it is not important. :)
Speed difference test
1. Do gem build rubocop.gemspec
2. Do gem i rubocop-0.70.0.gem
3. Create 8000+ cache objects
How?
# First, ensure there is no caches.
$ rm -rf ~/.cache/rubocop_cache

# Then, run rubocop 8 times with different options.
$ rubocop -P --only=Metrics/AbcSize
$ rubocop -P --only=Metrics/BlockLength
$ rubocop -P --only=Metrics/BlockNesting
$ rubocop -P --only=Metrics/ClassLength
$ rubocop -P --only=Metrics/CyclomaticComplexity
$ rubocop -P --only=Metrics/LineLength
$ rubocop -P --only=Metrics/MethodLength

# Now you get 8000+ cache files.
$ tree ~/.cache/rubocop_cache | tail -1
9 directories, 8268 files

4. Do time rubocop -a -d Gemfile 11times(1 rehearsal + 10 attempts)  at top directory of rubocop repository.
result:

time(1)
average
min
max

rubocop 0.70.0 (959f215)
1.4613
1.398
1.529

This PR(4ec7a3ba)
1.2363
1.199
1.309

∴ 220ms faster !! 🚀
tested by:  ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
Is it normal to have 8000+ cache files?
I think, yes. Default limit is 20000.
See also:

https://github.com/rubocop-hq/rubocop/blob/v0.70.0/lib/rubocop/result_cache.rb#L13-L18
https://github.com/rubocop-hq/rubocop/blob/v0.70.0/config/default.yml#L103-L107

Why ResultCache.cleanup is slow?
I think it is because "File.file?" is called many times.
It is a robust implementation, it works well without knowing how deep the directory hierarchy is in advance.
If you prefer a naive implementation, there may be room for even faster.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x]  Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Apart from my small remarks I'm fine with the proposed change.

Thank you for your review! How about this? -- 0388566a4cf74005c0cc35a9cd0bafe1608e0394

Looks good to me! Thanks!

Thanks!


RNIapModule.buyItemByType got 8 arguments, expected 7

Version of react-native-iap
4.6.3
Version of react-native
0.60.3
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
Able to purchase subscription or consumable
Actual behavior
Got the error as shown in image below

Tested environment (Emulator? Real Device?)
Real Device
Steps to reproduce the behavior

Purchase a subscription/consumable.

Posting your issue in several places makes it confusing for you in the first place.
Anyway, the version you are using is pretty old. You need to update to the latest (currently it is 5.0.1) as the fix is present in newer versions.
I actually just tried it on Google Play and Amazon App Store based devices with no issues.

The version I'm using (v4.6.3) is released 18 days ago. There is no error when I switched to v4.6.1

4.6.3 is not the latest version which makes your bug report obsolete.
Not sure why you are going back to 4.6.1 instead of going forward. Please update to the latest one going forward. It has the fix for the issue you described.

It is always recommended to try the latest version. However, it is good to know that there might be a regression issue. There were breaking changes in bumping up a version 4.6.1 to 4.6.3 internally which I've removed some arguments that do not exist anymore in the new android billing sdk which is version 3.
It was my fault for not bumping up the version correctly based on semver. It will not update your dependency correctly not upgrading the first letter 4. You may try to remove node_modules and yarn.lock and re-install them and confirm if 4.6.3 works correctly.
Feel free to come back if you have any progress. Closes for now.


有粘贴API了，本插件即将迎来重大体验提升

https://github.com/siyuan-note/petal/commit/72471fb52cef898c2c87934c2d7c2d30f9fe91c5

Paste is supported now


Show all error messages in a workspace

Lapce currently only shows error messages for Rust files that have been opened (and saved). I often open a codebase that already has errors in it. For example: I update rust a dependency, which breaks things in a number of different crates.
When I open a workspace, I want to see the results of cargo check for the entire workspace. This way, if there are build issues I know immediately where to look. And if there are no issues, I can trust the codebase is in a "good state".
With the current "only check open/saved files" approach, I can't use Lapce to determine the state of a codebase and I need to manually run cargo check from the command line every time i want to see if there are issues "globally".
This is pretty much the last "big" thing keeping me from adopting Lapce full time.

Would it not be good to have this be an "optional" feature? When using VS Code, for example, checking the whole workspace takes longer, and sometimes seeing all of the information is not helpful when attempting to fix things incrementally.

Would it not be good to have this be an "optional" feature? When using VS Code, for example, checking the whole workspace takes longer, and sometimes seeing all of the information is not helpful when attempting to fix things incrementally.

Optional does seem reasonable, but I would personally advocate for "show all workspace errors" as the default. I'm guessing most developers won't want to poke around a workspace (or manually run cargo commands) to find what is broken. I personally wouldn't rely on an error panel that I can't trust to show me all errors in the project I am working on.

I personally wouldn't rely on an error panel that I can't trust to show me all errors in the project I am working on.

Small correction here: I personally wouldn't rely on an error panel that won't show me some error message when there is something broken in my project. It doesn't need to show every error for every file, but it does need to point me to something that is broken, whenever there is something broken. Ex: cargo build for a project doesn't always show every error in a codebase. It will generally show me the first error at the earliest possible point in the dependency tree. Once I fix that, I can run cargo build again, and either new errors show up (indicating that there are still more issues to fix) or nothing shows up (indicating that everything is fine). Imo the lapce error panel should use the same workflow.

Isn't the "Problem Panel" show all the errors and warnings of a workspace for you?

On startup, RA seems to pick up on diagnostics and report them. However, once it starts doing some of the initializing they disappear. So, on startup, you don't see errors in the workspace. However I do see the diagnostics in the workspace after I save a file.
We might need to see whether we're incorrectly clearing out the diagnostics somewhere, or if we need to tell RA that it should check for errors after initialization?

Just had a look at the diagnostics code. They can only be "cleared" if RA sends empty diagnostics for a file.
Also, I've never experienced this issue. The warnings and errors are reported by RA on startup and they don't disappear. Could it be a platform specific issue?

Hm, testing a bit more and it seems to occur most often when I have an error in another file (ex: I tested with let x: u64 = 5u32;) and closed it. Then when I launch Lapce again (so the file isn't open when Lapce is opened), the error appears in the problems listing then disappears after a short period of time. If the file was open in Lapce on startup, it seems to properly display the error.
I'd be surprised if this is a platform specific issue. If you still don't experience it then I'd expect some weirdness with Rust versions, but I also don't expect that to be issue.

Hm, testing a bit more and it seems to occur most often when I have an error in another file (ex: I tested with let x: u64 = 5u32;) and closed the file and then Lapce.

Yup this is how I tested this. I can also reproduce if i introduce an error in a different editor (vscode) and then open the same project in Lapce (and ensure that the file with the error isn't already opened in lapce).


Fixed the implementation of Comparable

Fixed the implementation of < operator in the following steps:

Add and modify tests that should pass but they don't e6d7cca

Fix the implementation 10d7282
Make sure tests no longer fails.

@jrsaruo Thank you for your contribute!
Please check my comments.

@noppefoxwolf
Changed to use XCTExpectFailure. Please re-review :pray:

Failure
Success

@jrsaruo Great work! Thank you so much!


srs:v3.0-r8 does not use https for http_callback but uses http

描述(Description)
srs:v3.0-r8 does not use https for http_callback but uses http instead

SRS版本(Version): v3.0-r8
SRS的日志如下(Log):

[2021-11-02 04:39:23.044][Error][1][115][11] serve error code=4005 : service cycle : rtmp: stream service : check vhost : rtmp: callback on connect : rtmp on_connect https://<my-domain-here>/api/v1/srs/on-connect : http: on_connect failed, client_id=115, url=https://<my-domain-here>/api/v1/srs/on-connect, request={"action":"on_connect","client_id":115,"ip":"<IP_ADDRESS>","vhost":"__defaultVhost__","app":"live","tcUrl":"rtmp://<IP_ADDRESS>:1935/live","pageUrl":""}, response=
<title>301 Moved Permanently</title>

301 Moved Permanently

nginx/1.18.0 (Ubuntu)

SRS的配置如下(Config):

listen              1935;
max_connections     1024;   #1000;
srs_log_tank        console;
daemon              off;
#query_latest_version off;
force_grace_quit on;

http_api {
    enabled         on;
    listen          <IP_ADDRESS>:1985;
}
http_server {
    enabled         on;
    listen          <IP_ADDRESS>:8080;
    dir             ./objs/nginx/html;
}
stats {
    network         0;
    disk            sda sdb xvda xvdb;
}

vhost __defaultVhost__ {
    cluster {
        mode    remote;
        origin  <IP_ADDRESS>:1935 <IP_ADDRESS>:1935 <IP_ADDRESS>:1935 ;
    }
    http_hooks {
        enabled         on;
        on_connect      https://<my-domain-here>/api/v1/srs/on-connect;
        on_close        https://<my-domain-here>/api/v1/srs/on-close;
        on_publish      https://<my-domain-here>/api/v1/srs/on-publish;
        on_unpublish    https://<my-domain-here>/api/v1/srs/on-unpublish;
        on_play         https://<my-domain-here>/api/v1/srs/on-play;
        on_stop         https://<my-domain-here>/api/v1/srs/on-stop;
    }
}

I started tcpdump and found that request goes on http (port 80) but not on https (port 443) and got redirect.
# tcpdump -n -i enp2s0 'host <my-domain-here> and port 80' -s0 -A
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
12:01:59.310579 IP <IP_ADDRESS>.51616 > <my pub ip>.80: Flags [S], seq 353410233, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 6], length 0
E..<..@.?.;...M.T&.....P............e..........
............
12:01:59.409058 IP <my pub ip>.80 > <IP_ADDRESS>.51616: Flags [S.], seq<PHONE_NUMBER>, ack 353410234, win 65160, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,
wscale 7], length 0
E..<..@.:..FT&....M..P...^..........HP.........
..)%........
12:01:59.409383 IP <IP_ADDRESS>.51616 > <my pub ip>.80: Flags [.], ack 1, win 1004, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
E..4..@.?.;...M.T&.....P.....^......e......
...@..)%
12:01:59.409607 IP <IP_ADDRESS>.51616 > <my pub ip>.80: Flags [P.], seq 1:336, ack 1, win 1004, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 335: HTTP: POST /
api/v1/srs/on-connect HTTP/1.1
E.....@.?.:R..M.T&.....P.....^......f......
...@..)%POST /api/v1/srs/on-connect HTTP/1.1
Connection: Keep-Alive
Content-Length: 156
Content-Type: application/json
Host: <my-domain-here>
User-Agent: SRS/3.0.168(OuXuli)

{"action":"on_connect","client_id":118,"ip":"<IP_ADDRESS>","vhost":"__defaultVhost__","app":"live","tcUrl":"rtmp://<IP_ADDRESS>:1935/live","pageUrl":""}
12:01:59.507032 IP <my pub ip>.80 > <IP_ADDRESS>.51616: Flags [.], ack 336, win 507, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
E..4.x@.:...T&....M..P...^..... ....q......
..)....@
12:01:59.507166 IP <my pub ip>.80 > <IP_ADDRESS>.51616: Flags [P.], seq 1:418, ack 336, win 507, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 417: HTTP: HTTP/
1.1 301 Moved Permanently
E....y@.:..4T&....M..P...^..... ....D......
<EMAIL_ADDRESS>301 Moved Permanently
Server: nginx/1.18.0 (Ubuntu)
Date: Tue, 02 Nov 2021 05:01:59 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://<my-domain-here>:443/api/v1/srs/on-connect

<title>301 Moved Permanently</title>

301 Moved Permanently

nginx/1.18.0 (Ubuntu)

重现(Replay)

重现Bug的步骤(How to replay bug?)

run srs v3-r8 with config like above
run tcpdump to see http_hooks
start stream to srs

期望行为(Expect)
Expected that srs has to use https when configured https (and http if configured http)
This config works with v4.0.X but I want to try  "stable" version.

HTTPS is feature for SRS 4.0
I will delete this issue.


Windows Terminal scroll back isn't working in Windows 10

Windows Terminal version
1.11.2921.0
Windows build number
10.0.19044.1348
Other Software
No response
Steps to reproduce

Open a new windows terminal with a shell (powershell, cmd.exe, ubuntu, yori)
fill the terminal window with many more lines than the window can display, (dir or ls of a very large directory)
using the mouse wheel, scroll back (up), or ctrl-shift-home or ctrl-shift-up or ctrl-shift-pgup

Expected Behavior
The terminal should scroll through the earlier lines, display them, and keeping them displayed until there is "typing" at which point the scroll should snap back to the newest command prompt awaiting input
Actual Behavior
I have Windows Terminal running on both Windows 10 and Windows 11, with identical settings.json (modulo any changes I've made this evening as I try to pinpoint this issue)  The behavior I am seeing only occurs on Windows 10, Windows 11 behaves as expected.
Testing with any of the following shells

Powershell Core
CMD.exe
Yori
Ubuntu

When I

fill the terminal window with many more lines than would be visible, (dir or ls of a very large directory)
use the mouse wheel to scroll back (up) through the earlier lines of output

I can see the window scrolling its contents, but as soon as soon as I stop scrolling, the window snaps back to the bottom, the newest lines of output, the line with the newest command prompt.
This is with

scroll to input white typing on
scroll bars visible or hidden
seemingly regardless of history size

This seems similar to #11771

My settings are here: settings.json

I can see the window scrolling its contents, but as soon as soon as I stop scrolling, the window snaps back to the bottom, the newest lines of output, the line with the newest command prompt.

Curious. Sounds like some sort of other dead key is coming through and causing us to snap back down. Throwing "snapOnInput": false in the defaults should fix that, but you've already got that set for the Yori profile...
Can you try reproing this with the debug tap to get a trace of all the input and output. Once the bug starts occurring, send us a screenshot and we might be able to figure out what the Terminal thinks it's getting here.


Consider adding a queue API for successive binds

tl;dr -- Consider adding a Selection.queue() API that would effectively enqueue multiple .bind()-equivalents and guarantee that each .bind()-equivalent is completed before processing the next one.
Background
In LIT, I'm using multiple Selections to act as proxies for layers in the Scene. One of these Selections is always bound to the entire dataset, and the other Selections are bound to com subset of the dataset (not that it matters for this issue, but one Selection can contain [0, N] datums and the other 3 can contain [0, 1] datums). For the Selections containing subsets, I assumed that calling .bind() with an empty array would mark all existing datums (and their associated Sprites) for removal from the Scene, effectively clearing the Selection and allowing me to make a successive call to .bind() with the new contents that would render the data I now cared about in the Scene. Some example code below.
const data = [/* let's assume this is populated */];

const container = document.querySelector('some_query');
const scene = new Scene({container});
const allData = scene.createSelection();
const someData = scene.createSelection();

allData.bind(data);

function update(someSentinel) {
  someData.bind([]);
  const interestingData = data.filter(d => /* some predicate */);
  someData.bind(interestingData);
}

This assumption was incorrect because of how the Selection.bind() uniquely identifies binding tasks. Calls to .bind() are transformed into bindingTasks that are uniquely identified by the Selection on which .bind() is being called. In the example above, the successive calls to .bind() effectively overwrite each other in the scheduler because they process before the next animation frame happens.
Desired Solution
A complement to the .clear() API proposed in #11 that would also address the problem described above would be to add a .queue() API that effectively enqueues a series of .bind()-equivalents for that Selection, and ensures that each .bind()-equivalent completes before processing the next one. This could be useful for processing complex, successive transforms on bound data.
function update(someSentinel) {
  someData.queue([]);    // Enqueues a `.bind()`-equivalent that removes all content from the Selection
  const interestingData = data.filter(d => /* some predicate */);
  someData.queue(interestingData);    // Enqueues a `.bind()`-equivalent that binds interestingData to the Selection
}

Agreed on the utility of a .clear() method. This seems to be a common enough case to make an API for it.
In the meantime, one workaround is to .bind() the empty array, then drop the Selection and make a new one:
const data = [/* let's assume this is populated */];

const container = document.querySelector('some_query');
const scene = new Scene({container});
const allData = scene.createSelection();
let someData = scene.createSelection();  // Changed from const to let.

allData.bind(data);

function update(someSentinel) {
  someData.bind([]);
  someData = scene.createSelection();  // Creating a new Selection here.
  const interestingData = data.filter(d => /* some predicate */);
  someData.bind(interestingData);
}


Unable to create SSL certificate no matter what I try.

I've been trying to setup a reverse proxy so I can safely run nextcloud over the internet, but I keep getting hit by some kind of an error code that prevents me from setting up an SSL certificate.
The domain is a blank .xyz address, with 3 A records on cloudflare, all pointing to my PC's public IPV4 address
However, whenever I try creating a wildcard certificate with a cloudflare DNS challenge, an SSL certificate for just a subdomain, or uploading a custom cloudflare origin certificate, all will lead to an error code (The cloudflare doesn't lead to an error in Nginx, but it isn't secured, and won't connect if I set it to be proxied.)
I have forwarded inbound ports 80 and 443, alongside outbound ports 80 and 443 via TCP, however I have played around with the other options and none work better than another.
This time around, I am stuck finding a good installation guide for nextcloud the way I want to do it, though I will update this as I make progress on that.  I had the same issues I am having now previously, and I wanted to open this issue to share my experiences, and hopefully get my cloud storage working safely and securely.
https://www.reddit.com/r/nginxproxymanager/comments/vvc6rt/issues_setting_up_ssl_certification_on_nginx/
https://www.reddit.com/r/nginxproxymanager/comments/vw1wwp/nginx_has_a_different_time_than_my_raspberry_pi_i/
https://www.reddit.com/r/nginxproxymanager/comments/vwnc9o/still_unable_to_create_ssl_certificates_even/
Here's all of the posts that have the information regarding my issues, along with stuff I have tried (all of the replies to my best ability) to no avail.  I also checked the open/closed issues but no one seems to be having the exact same issue as me as far as I can tell.  I've tried manually installing older versions, reinstalling rasbian, and others, all not fixing the issue.

This time around, I am unable to set the time zone correctly, which I have heard could also cause some issues setting up the SSL certificate.  Last time around it didn't fix it, though i'd like to get to the bottom of why its set to a different time zone too.  The time zone on my pi is America/New_York, and its also set that way in the environment values in portainer for nginx (TZ=America/New_York)

Hopefully someone can help me out here.  I'd be more than happy to make a longer post with all of the error codes experienced not in the form of linked reddit posts if that would also be helpful.

Not sure I can define a real problem point to look at here.
Define what you are trying to do. Have NPM handle letsencrypt and all connections or cloudflare to handle this because at the moment you seem to be trying to get both to do it at the same time.
If you want cloudflare to handle the DNS, proxying and SSL certs, then understand what actually NPM will be handling and if NPM is the solution you are looking for.

Honestly, I just need a way to secure my nextcloud server / protect it.  I only tried setting up an SSL on Cloudflare because NPM kept giving me errors when I tried making an SSL certificate.
Proxying has been off for a while on cloudflare.
Don't really need cloudflare to do much, though having it proxy would be really nice.


Next 13.4.3 onwards issue with swcPlugins

Hello,
as of Next 13.4.3 I'm having issues with this plugin being used in my project. I troubleshooted on a blank Next project and my current work project, with both projects having the same dependency setup.
The second I add this to my next.config:
experimental: {     swcPlugins: [         [ 	    "@lingui/swc-plugin", 	    {} 	]     ] }
My project dies with the following error messages from that issue: https://github.com/vercel/next.js/issues/36078#issuecomment-1569624304
Could this, be in any way, related to the swc Plugin? I've trialed another swc plugin and it didn't cause the issue.
Running the 4.0.0 Plugin due to the swc core issue.

Tracking PR fixing thie issue: https://github.com/vercel/next.js/pull/50651

Tested with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and it works for me.

hey @thekip! It doesn't seem to work with 4.2.1: https://github.com/where-are-the-turtles/js-lingui/tree/main/examples/nextjs-swc.

@where-are-the-turtles  it's not enought information from your comment, what and how exactly not working.

@where-are-the-turtles it's not enought information from your comment, what and how exactly not working.

there are a bunch of errors from the loader:
./node_modules/@lingui/loader/dist/index.cjs!./src/locales/pt.po
Invalid dependencies have been reported by plugins or loaders for this module. All reported dependencies need to be absolute paths.
Invalid dependencies may lead to broken watching and caching.
As best effort we try to convert all invalid values to absolute paths and converting globs into context dependencies, but this is deprecated behavior.
Loaders: Pass absolute paths to this.addDependency (existing files), this.addMissingDependency (not existing files), and this.addContextDependency (directories).
Plugins: Pass absolute paths to fileDependencies (existing files), missingDependencies (not existing files), and contextDependencies (directories).
Globs: They are not supported. Pass absolute path to the directory as context dependencies.
The following invalid values have been reported:
 * "src/locales/en.po"

it's just a warning. Just ignore it for now, it's not related to SWC plugin and already a known issue.


Observable collections

I would like to have observable dicts to notify on item add/remove.  This seems like a pattern that observable might want to provide an implementation for, and/or docs with a recipe for observing core collection types.  If the core types need to be subclassed in order to be observed, a helper/mixin would be useful to make it easy.

Sounds like an interesting idea. I might get to it when I've some time.
I'm always happy to review PRs though, if you are up to it :tada: