Server-Sent Events are broken when enabling the retry option

Hello,
Do you want to request a feature or report a bug?
Bug
What did you do?
We expose Dashing.io behind Traefik.
Dashing.io uses Server-Sent Events.
If we let the default retry configuration (disabled), everything is working well.
If we enable the retry configuration (for example --retry.attempts=2), the event stream content type is replaced by Traefik by text/plain and the Browser throws an exception.
Request example
GET /events HTTP/1.1
Connection: keep-alive
Accept: text/event-stream

What did you expect to see?
Correct Response example without retry
HTTP/1.1 200 OK
Content-Type: text/event-stream;charset=utf-8
Transfer-Encoding: chunked`

What did you see instead?
Incorrect Response example with --retry.attempts=2
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Transfer-Encoding: chunked`

Output of traefik version: (What version of Traefik are you using?)

{
 "GraceTimeOut":<PHONE_NUMBER>0,
 "Debug": false,
 "CheckNewVersion": true,
 "AccessLogsFile": "",
 "TraefikLogsFile": "",
 "LogLevel": "ERROR",
 "EntryPoints": {},
 "Cluster": null,
 "Constraints": [],
 "ACME": null,
 "DefaultEntryPoints": [],
 "ProvidersThrottleDuration":<PHONE_NUMBER>,
 "MaxIdleConnsPerHost": 200,
 "IdleTimeout":<PHONE_NUMBER>00,
 "InsecureSkipVerify": false,
 "Retry": null,
 "HealthCheck": {
  "Interval":<PHONE_NUMBER>0
 },
 "Docker": null,
 "File": null,
 "Web": null,
 "Marathon": null,
 "Consul": null,
 "ConsulCatalog": null,
 "Etcd": null,
 "Zookeeper": null,
 "Boltdb": null,
 "Kubernetes": null,
 "Mesos": null,
 "Eureka": null,
 "ECS": null,
 "Rancher": null,
 "DynamoDB": null,
 "ConfigFile": ""
}

docker-compose example
{
    "version": "3",
    "services": {
        "traefik": {
            "image": "nexus.cegedim-next.net:5001/traefik:1.3.3-alpine",
            "ports": [
                "80:80",
                "8080:8080"
            ],
            "volumes": [
                "/var/run/docker.sock:/var/run/docker.sock"
            ],
            "command": "--docker --docker.swarmmode --docker.watch --web --retry.attempts=2",
            "deploy": {
                "mode": "global"
            }
        },
        "dashing": {
            "image": "johnzan/dashing",
            "deploy": {
                "labels": {
                    "traefik.enable": "true",
                    "traefik.backend": "dashing",
                    "traefik.frontend.rule": "PathPrefixStrip:/dashing",
                    "traefik.port": "3030"
                }
            }
        }
    }
}

Thank you!

@freud-martinou thanks for reporting. Was it working with a previous version of Traefik ?

Hello @emilevauge,
Not to my knowledge.
We have started to use the retry option with Traefik v1.2.3 and we encountered this problem.
So we updated to the latest Traefik release (v1.3.3) to see if this bug was still relevant.

Closed by  #2145


refactoring

📝 Changed routes:

/posts/[id]

(view full size)

Commit 2de17f569bf1c327d3d8ac0e3123cef6872757c0 (https://nagato-o6uue930q-bookman0001.vercel.app).


Fix possible stackoverflow error for regular expressions inside parser.

Regular expressions used by inline parser may fail with Stackoverflow error. I made match method fail safe in this case.
I will appreciate shipping this fix.

Please find remarks fixed.
Regarding methods visibility thought that it will be useful to have a way for further workarounds for parser plugged in current implementation. The way when you need to copy paste whole code from InlineParserImpl is not acceptable.

Hey, thanks for addressing the feedback!
I'll look at this after I get back from leave. In the meantime, can you check if you need to sign the CLA, see here?:
https://github.com/atlassian/commonmark-java/blob/master/CONTRIBUTING.md#cla

Merged, thanks!

Released in 0.13.1: https://github.com/atlassian/commonmark-java/blob/master/CHANGELOG.md#0131---2019-11-25


edupont04 from OPS portal: Merge from master to live

Docs Build status updates of commit 7740624:
:warning: Validation status: warnings

File
Status
Preview URL
Details

dynamics-gp/distribution/Invoicing.md
:warning:Warning
View
Details

dynamics-gp/distribution/invoicing-part-2.md
:warning:Warning
View
Details

dynamics-gp/distribution/invoicing-part-3.md
:warning:Warning
View
Details

dynamics-gp/distribution/invoicing-part-4.md
:warning:Warning
View
Details

dynamics-gp/distribution/invoicing-glossary.md
:bulb:Suggestion
View
Details

dynamics-gp/payroll/PayrollUS.md
:bulb:Suggestion
View
Details

dynamics-gp/TOC.md
:white_check_mark:Succeeded
View

dynamics-gp/index.md
:white_check_mark:Succeeded
View

dynamics-gp/payroll/media/MCADD5.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/Invoicing.md

Line 185, Column 5: [Warning-file-not-found] Invalid file link: 'media/INVSM.jpg'.
Line 200, Column 5: [Warning-file-not-found] Invalid file link: 'media/INVISO.jpg'.
Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8), distribution/invoicing-part-2.md(2,8), distribution/invoicing-part-3.md(2,8), distribution/invoicing-part-4.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/distribution/invoicing-part-2.md

Line 310, Column 1: [Warning-file-not-found] Invalid file link: 'media/INVRQE.jpg'.
Line 497, Column 5: [Warning-file-not-found] Invalid file link: 'media/66dd8e2d7a25c58f2c1efbeb54c24f1b.jpg'.
Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8), distribution/invoicing-part-2.md(2,8), distribution/invoicing-part-3.md(2,8), distribution/invoicing-part-4.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/distribution/invoicing-part-3.md

Line 172, Column 5: [Warning-file-not-found] Invalid file link: 'media/889aa564c305239ce95705b11812c921.jpg'.
Line 300, Column 5: [Warning-file-not-found] Invalid file link: 'media/56c495143606260b358edb18bdab928f.jpg'.
Line 584, Column 5: [Warning-file-not-found] Invalid file link: 'media/5707e44a41ccfca2721eb419bc1db795.jpg'.
Line 620, Column 5: [Warning-file-not-found] Invalid file link: 'media/496f5b7262fb001a23d01d1c21a3fa4d.jpg'.
Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8), distribution/invoicing-part-2.md(2,8), distribution/invoicing-part-3.md(2,8), distribution/invoicing-part-4.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/distribution/invoicing-part-4.md

Line 189, Column 5: [Warning-file-not-found] Invalid file link: 'media/bb3b2302a95a7f4a0903252d1d018f69.jpg'.
Line 242, Column 1: [Warning-file-not-found] Invalid file link: 'media/9e22f7a16c489ea2fec8b5b57f133815.jpg'.
Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8), distribution/invoicing-part-2.md(2,8), distribution/invoicing-part-3.md(2,8), distribution/invoicing-part-4.md(2,8)'. Titles must be unique within a docset.

dynamics-gp/distribution/invoicing-glossary.md

Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Invoicing in Dynamics GP - Dynamics GP' is duplicated in: 'distribution/Invoicing.md(2,8), distribution/invoicing-glossary.md(2,8), distribution/invoicing-part-2.md(2,8), distribution/invoicing-part-3.md(2,8), distribution/invoicing-part-4.md(2,8)'. Titles must be unique within a docset.
Line 18, Column 0: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text. NOTE: This Suggestion will become a Warning in late September, 2020.

dynamics-gp/payroll/PayrollUS.md

Line 4384, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 4395, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 4403, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 4940, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 5957, Column 0: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text. NOTE: This Suggestion will become a Warning in late September, 2020.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Update ArraySwipeAdapter.java

Add generic type to extends ArrayAdapter.
Example:
public static class MyAdapter extend ArraySwipeAdapter{
...
}
private MyAdapter adapter = new MyAdapter(...);
...
old version:
String str = (String)adapter.getItem(0);
New version:
String str = adapter.getItem(0);

This needs to go in. The current implementation of this is breaking my code in pieces and it looks ugly when I need to cast getItem()


Why is android databinding enabled?

Does android-signaturepad need databinding? Because databinding is enabled in gradle file.

I personally have not looked into it, only found repo a few days ago.
But if you want to build with progaurd you will need.
-dontwarn android.databinding.** -keep class android.databinding.** { *; }

Those proguard rules would be fixed by PR #106

Yes it does, if you have a look at package com.github.gcacace.signaturepad.utils.SignaturePadBindingAdapter, it uses various @BindingAdapter annotations. So I guess it is mandatory to include it.
I wonder if the library can run in an alternative way that gets rid of databinding


Codegen not working in V3.9.0

Describe the bug
When adding codegen, it brokes all amplify-meta.json file.
To Reproduce

Just amplify codegen add --apiId XXXX

$ sudo amplify codegen add --apiId XXX
✔ Getting API details
✖ Getting API details
Unexpected token o in JSON at position 1

-> amplify-meta.json in both directory (current & backend) now looks like: [object Object]
Expected behavior
Possibility to add codegen with no error.
Desktop (please complete the following information):
CLI 3.9.0

I'm using a profile with amplify, don't know if this could help debug.
Using the CLI, i'm able to do: aws appsync get-graphql-api --api-id XXX --region eu-west-1

This is a duplicate of #2360. The fix has been merged and released version 3.10.0

Working great again, thanks.


Remove non applicable properties

In the table which describes all properties for each payment type two properties are n.a. for each payment type:

remittanceInformationUnstructuredArray
requestedExecutionTime

Why do we even mention them if they are never used? I suggest, we remove them.
NOTE: There is a corresponding table in periodic payments and bulk payments. Please apply the above corrections to ALL 3 tables and footnotes.

This follows the logic of the Berlin Group, which lists all available elements in each case. I suggest to leave it like this.

After creating the issues #35, #36, #37, etc. I'm still not happy about the outcome of this issue. If the property is mentioned in the description of the model, it is ok. As mentioned by @blehers Berlin Group does it as well.
Where we differ here is that we add the properties in the model even if they are n.a. for all types. Berlin Group DOES NOT offer n.a. properties in their models.
This makes for a clean API. Why should we give the developer the possibility to pass/accept a property which is not used and not validated?
Therefore I suggest we remove them from the model but keep them in the description.

Actually I wanted to reopen this.

Make a comment out of it as Berlin Group does instead of removing in the model completly


2.0.0.alpha1 only uses SRLongPollingTransport

I am looking into using this library for a project, so have pulled down the latest version via CocoaPods (2.0.0.alpha1).  I have it up and running, but it seems to only use SRLongPollingTransport.  When I uncomment SRWebSocketTransport and SRServerSentEventsTransport classes in SRAutoTransport, I see a crash.
This made me think that perhaps I was a little too "bleeding edge" and perhaps I should be using 1.0.RC1 instead, however that version is not compatible with AFNetworking 2.0 which we are using in our project.
Is there any plans to continue development on the 2.0.0 version of this library? Do you have any advice for getting this working with WebSockets and AFNetworking 2.0?
Sincerely,
Ben.

Did you hear any updates on this?

No never heard anything back

was you able to get Web Socket Transport working?

No, I ended up just using Long Polling which worked O.K enough for our needs.

this was resolved as part of the beta1 branch which is now in master

Fantastic, thanks Alex. Would you be able to update the podspec file to point to the new 2.0.0 tag?

we are still working on some unit tests and fixes for some other issues but once those are stable cocoapods will be updated

Awesome news. I'll try out the beta in the meantime. Thanks Alex.


Hi, would you please tell us about the reproduction of MaskCLIP settings?

Hi, I wonder what are the settings of MaskCLIP and its results you posted on the paper.
Actually I am trying to reproduce the results and connot make it, thus a little bit confused.

We used the official code (https://github.com/chongzhou96/MaskCLIP), with our unified evaluation protocol.


Allow loadHTMLString:baseURL: when baseURL is a folder located inside local storage

loadHTMLString:baseURL: works perfectly when your baseURL is a remote address from network. But if you use it for folders in local storage, WKWebView can't read files and doesn't work right ... baseURL in this case after loading goes back to about:blank
To avoid error and use this feature for your runtime html generated (maybe from Mustache), loadHTMLString(html: String, allowingReadAccessToBaseURL baseURL: NSURL?) ups webservice pointing to your folder as baseURL ... and everything will work fine :sunglasses:

Thanks for the PR.
There is only one concern about the copyright and license of the image. If you're not sure, please replace with a small blank image.

Sorry for that.
Now I've created a simple image for tests.

Merged, thanks!


Add jwplayer component

https://github.com/moxienyc/Now-This-web-app/tree/develop/app/components/jwplayer

https://github.com/moxie-leean/ng-patterns/issues/20#issuecomment-210677848


Connection Pool

Improve code from review
Add Hikari connection pool

Codecov Report

Merging #2 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master        #2   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           13        13
  Lines          129       129
  Branches         9         9
=========================================
  Hits           129       129

Flag
Coverage Δ

#react
100.00% <ø> (ø)

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 421d868...6c170fc. Read the comment docs.


Unsafe command in README

In the README, we have the command
tools/cleanup.sh | while read x; do rm -rf $x; done

This seems dangerous in case the user runs it from the wrong location or something. Can we get rid of this?

done


fix it to be 20 seconds instead of 8

8 seconds would only be if you are considering from the end of the proclamation sentence to the beggining of the suspension sentence, it should be from the end of the first one to the end of the second one (being 20 secons), or if you are super strict until the moment he saids suspend it (which woiuld stil be 17s).
Good command anyway : )

First time I've heard about that. That's interesting. I'll research a little bit about the number of seconds.
Anyway, new facts have happened and the command maybe needs new updates


Add builder for data

Allows to write messages into the blockchain

"Messages"? Is this the same as Ordinals?

No, unfortunately not.
This data can be small messages or perhaps shortened URLs.
The limit is 74 bytes.
The data is inserted in the first output (OP_RETURN) of a transaction.


Supplying a value for EmbedRegularFont.FontKey corrupts DOCX output

Describe the bug
I am attempting to embed TTF fonts in a DOCX file.  In order to be compatible with a third-party library that is able to update the Table of Contents page, it appears I must also provide a value for the EmbedRegularFont.FontKey property.  However, supplying a value for the FontKey elicits an error from Microsoft Word and the embedded fonts are no longer presented in the application.  The Open XML SDK Productivity tool also elicits an error.
Am I supplying erroneous values for FontKey?  Where would I find the correct values?
Screenshots
Word error:

Word found unreadable content in "report.docx". Do you want to recover the contents of this document? If you trust the source of this document, click Yes.

Word error, after clicking "Yes":

Word experienced an error trying to open the file. Try these suggestions. * Check the file permissions for the document or drive. * Make sure there is sufficient free memory and disk space. * Open the file with the Text Recovery Converter.

Open XML SDK 2.5 Productivity Tool for Microsoft Office error:

Cannot open the file: Specified part does not exist in the package.

To Reproduce
// Please add a self-contained, minimum viable repro of the issue.
// If you require external resources, please provide a gist or GitHub repro
// An Xunit style test is preferred, but a console application would work too.
Steps to reproduce the behavior:
Un-comment the line (below) to set the FontKey.
private static async Task GenerateFontPartContent(FontPart fontPart, string path)
{
    var fontPath = Path.Join(assemblyLocation, "Assets", "Fonts", path);
    await using FileStream fontData = new FileStream(fontPath, FileMode.Open, FileAccess.Read);
    fontPart.FeedData(fontData);
}

FontTablePart fontTablePart = document.AddNewPart<FontTablePart>("rId10");

FontPart fontPart9 = fontTablePart.AddNewPart<FontPart>("application/vnd.openxmlformats-officedocument.obfuscatedFont", "rId9");

await GenerateFontPartContent(fontPart9, "Manrope-Regular.ttf");

Font font7 = new Font(){ Name = "Manrope" };
FontCharSet fontCharSet7 = new FontCharSet(){ Val = "01" };
FontFamily fontFamily7 = new FontFamily(){ Val = FontFamilyValues.Auto };
Pitch pitch7 = new Pitch(){ Val = FontPitchValues.Variable };
EmbedRegularFont embedRegularFont = new EmbedRegularFont() { Id = "rId9" };
// embedRegularFont.FontKey = "{Manrope}";

fonts1.Append(font7);

fontTablePart.Fonts = fonts1;

Observed behavior
Microsoft Word and the Productivity Tool report they cannot open the DOCX file.
After Microsoft Word recovers the file, embedded fonts are no longer presented in the application.
Expected behavior
Applications should open the file without error.  Embedded fonts should continue to be presented.
Desktop (please complete the following information):

OS: Windows 11
Office version: 16.0.17231.20194
.NET Target: .NET 8.0 ASP.NET
DocumentFormat.OpenXml Version: 3.0.1

I suspect the error messages elicited by Word and the productivity tool are appropriate.  The third-party library I was referring to in the original report claims to have addressed whatever was requiring the FontKey to be provided.  I have not had the time to verify this, yet.


Spike XCode support for Swift executable

A spike was created to integrate Swift executable into XCode IDE. Here's a step back and how the integration is planned to take place:

Introduce specific task for generating the various XCode files for the integration with Gradle. Those tasks use the GeneratorTask infrastructure already in use by other IDE integration plugins.

GenerateXcodeProjectTask takes care of generating the project.pbxproj file containing the files to include, targets (how to build each variant and code completion) and build configuration (Debug, Release, etc.). In general, two targets are generated per variant, one for indexing and one for delegating to Gradle. Given this file is a Property List (plist), a set of new classes needs to be rolled out to add support for this output in GeneratorTask. This include PropertyListGeneratorTask, PropertyListTransformer and PropertyListPersistableConfigurationObject.
GenerateSchemeFileTask takes care of generating the *.xcscheme file controlling what target to run from within XCode. In general, one scheme is generated per variant associating with the target delegating to Gradle.
GenerateWorkspaceSettingsFileTask takes care of generating the WorkspaceSettings.xcsettings file simply to disable the automatic creation of additional schemes based on the targets.

Introduce an extension to configure the XCode project and workspace. We want to be able to configure the location of the XCode package as well as modeling what needs/can be configured for each XCode package. The public API is modeled as needed. It means only what is required by the user will be modeled. Everything else will be modeled as "good enough" in the internal API. The interface XcodeExtension, XcodeProject and XcodeWorkspace are the only classes.
Introduce a plugin to wire everything together and provide a sensible default. The class XcodePlugin use the IdePlugin infrastructure.

Introduce an extension to configure the XCode project and workspace

We don't need anything to be configurable at this point. Nor do we necessarily need a way for the plugin to describe the model of the component to the generation tasks (which is what this model is used for in the IDEA/Eclipse plugins). The generation tasks can make a whole bunch of assumptions about the component at this point and we can make it better later.

Sorry for the confusion. I simply modeled it after Visual Studio integration. There is an extension but no public API is exposed. I simply used it as a way to hold some configuration in the internal API so I can configure Swift executable vs module. It's mainly static with little configurations at this point.


add line Numbers to the editor

https://www.webtips.dev/add-line-numbers-to-html-textarea

Fixed by #17


Thanks for creating this.  Looks Great.  Works in Windows 10 Pro.

Thanks for creating this.  Looks Great.  Works in Windows 10 Pro.
One small issue is blue dot on line 48.  Sometimes the dot floats to different colors if refresh page or close and open file.  Other than that, everything appears to we working fine...
Thanks again, you can close this if you want...

Looks like GutterColor matched the blue part first unfortunately.


Fix interpreter constraint parsing.

Previously a bare specifier assumed CPython; now it does not.
Fixes #1995

@zmanji thanks for finding this. I invited you to the triage role, and would like to add you as a reviewer if possible.

Code looks good.
I couldn't tell by eyeballing 1a1b9aa exactly how this regression was introduced (if it was indeed in that commit). I assume we're certain this fix is not breaking any expected behavior?

The regression is in the introduced InterpreterConstraint type. It has a default interpreter of CPython which is different than the behaviour that was previously there which was not having any interpreter.
You can see this regression in play when looking at the PEX-INFO of the released pex files on GitHub.
For 2.1.109
 PEX_TOOLS=1 python3 ./pex info | jq .interpreter_constraints
[
  "CPython!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.12,>=2.7"
]

For 2.1.108
 PEX_TOOLS=1 python3 ./pex info | jq .interpreter_constraints
[
  ">=2.7,<3.12,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
]

The regression adds a default of CPython when the interpreter is not specified which means the published pex will not work for PyPy.
This code LGTM. The regression test ensures we are good going forward.

AFAICT that default was present previously in the parse_requirement() signature: https://github.com/pantsbuild/pex/commit/1a1b9aa63f2b5464d1b1ce8d2479eafd0006d209#diff-b1297a55702e854b6233796710a712f1f3fd47905ecc1fabd9f03c63ac980b43L335 ?

AFAICT that default was present previously in the parse_requirement() signature: 1a1b9aa#diff-b1297a55702e854b6233796710a712f1f3fd47905ecc1fabd9f03c63ac980b43L335 ?

That code was never used in the pex builder code path.
https://github.com/pantsbuild/pex/commit/1a1b9aa63f2b5464d1b1ce8d2479eafd0006d209#diff-8018b797310f9896a6574a746376acaf0730b409d6fe03ab73887f823240505c

There was both a regression here and a long standing bug. Both are fixed. It used to be the case that a bare IC always assumed CPython. You could be explicit about this or explicit about PyPy, but you could not say you supported both. Now you can in the obvious way, leave off the interpreter name. This is what Pex itself supports, either CPython or PyPy for all the interpreter versions it explicitly supports.
Thinking more, this can present a break for users previously relying on the default of CPython. I need to think more on this aspect. Perhaps a flag is needed in the CLI that defaults to CPython (old behavior) but can be set to default empty. Certainly awkward.

Ok, reading through usages I think the negative fallout is contained to, for example --interpreter-constraint "==3.8.*" now selecting PyPy 3.8 interpreters if installed on your system in addition to CPython 3.8 interpreters. This would mean that a Pex build could fail now that did not before if the dependencies involved were not available for PyPy or compilable for PyPy. The remedy would be adjusting the IC to --interpreter-constraint "CPython==3.8.*". Since there have been 0 reports of issues due to this in Pex 2.1.109 through 2.1.116 save for @zmanji's I think it makes sense to proceed as is - there is a logical corrective for any breaks, be more specific in your IC.

Ok, reading through usages I think the negative fallout is contained to, for example --interpreter-constraint "==3.8.*" now selecting PyPy 3.8 interpreters if installed on your system in addition to CPython 3.8 interpreters. This would mean that a Pex build could fail now that did not before if the dependencies involved were not available for PyPy or compilable for PyPy. The remedy would be adjusting the IC to --interpreter-constraint "CPython==3.8.*". Since there have been 0 reports of issues due to this in Pex 2.1.109 through 2.1.116 save for @zmanji's I think it makes sense to proceed as is - there is a logical corrective for any breaks, be more specific in your IC.

Sounds fine to me. My issue was rooted in having downloading the officially published pex fail to work on PyPy systems. I think this patch corrects that.

Makes sense to me


Added multi-filter support to Classes Search Bar

Multiple filters can be stacked with space-delimited terms. This makes
searching for interesting classes in large applications a lot easier
using  searches like “networking ssl cert”.

Also fixes the typo on lines 81,82 -> "searchPreidcate"

Curious, does this search for classes containing all terms or any terms?

Bump @hiburn8, I'd love to merge this, could you resolve the requested changes?

Closing this for now. Will reopen if @hiburn8 responds.


No support for react-native 0.67 and Gradle 7

React Native 0.67+ uses Gradle 7. Daily won't build with this version of Gradle.
Build file<EMAIL_ADDRESS>line: 23

* What went wrong:
A problem occurred evaluating project ':daily-co_react-native-daily-js'.
> Plugin with id 'maven' not found.

The legacy maven plugin have been removed.
https://docs.gradle.org/7.0/userguide/upgrading_version_6.html#removal_of_the_legacy_maven_plugin
Keeping Gradle in android/gradle/wrapper/gradle-wrapper.properties at eg 6.9.1 works for now.

Thanks @op. We will investigate that.

For anyone running into this, I was able to fix it with patch package.
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index b8560e5..c6411ad 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -20,7 +20,7 @@ def safeExtGet(prop, fallback) {
 }

 apply plugin: 'com.android.library'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'

 buildscript {
     // The Android Gradle plugin is only required when opening the android folder stand-alone.
@@ -39,7 +39,7 @@ buildscript {
 }

 apply plugin: 'com.android.library'
-apply plugin: 'maven'
+apply plugin: 'maven-publish'

 android {
     compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
@@ -113,7 +113,7 @@ afterEvaluate { project ->
     task androidJavadoc(type: Javadoc) {
         source = android.sourceSets.main.java.srcDirs
         classpath += files(android.bootClasspath)
-        classpath += files(project.getConfigurations().getByName('compile').asList())
+//        classpath += files(project.getConfigurations().getByName('compile').asList())
         include '**/*.java'
     }

@filipi87 - any chance y'all could officially upgrade to the latest gradle? With Expo 45 having been released, more folks will hit this.

Hi @thorbenprimke , we already have an open draft PR for that. Just some more tests to make sure all is working fine.
I am hoping we can release this fix in the next release of react-native-daily-js.

I can confirm that it's no longer an issue in version 0.25. thanks @filipi87 !

Hi, exactly @thorbenprimke , we have released the version 0.25 last week, together with some other improvements. Here is the release notes with all the changes.
Thank you all for your patience, and let me know if you need anything.


Exception thrown for empty views or fragments (without helpful feedback)

Expected Behaviour
Build should treat empty files just as it would any other files, or better, throw an error listing the name of the empty file
Current Behaviour
When either a *.view.xml or *.fragment.xml is completly empty, an exception is thrown, which is not easily understood. I could only find the issue from trial and error (removing/re-adding files til see which file upset the builder).
I didn't know I had an empty file accidentally lying there. Its stupid and wrong, but it took a long time to figure it out because the message is unhelpful.
Steps to reproduce the issue

clone and setup openui5-sample-app
add empty test.view.xml to the webapp/view folder
ui5 build

Context

UI5 Module Version (output of ui5 --version when using the CLI): {1.5.4}
Node.js Version: v10.15.1
npm Version: 6.4.1
OS/Platform: Windows 10
Browser (if relevant): n/a

Affected components (if known)

[X] ui5-builder
[ ] ui5-server
[ ] ui5-cli
[ ] ui5-fs
[ ] ui5-project
[ ] ui5-logger

Log Output / Stack Trace
BAU11383@CAU1517 MINGW32 /c/dev/temp/openui5-sample-app (master)
$ ui5 build
INFO: Using local @ui5/cli installation

WARN types:library:LibraryFormatter Failed to detect namespace or namespace is empty for project themelib_sap_fiori_3. Check verbose log for details.
info builder:builder Building project openui5-sample-app not including dependencies...
info builder:builder �   (1/1) Building project openui5-sample-app
info builder:builder application openui5-sample-app � (1/7) Running task replaceCopyright...
info builder:builder application openui5-sample-app � (2/7) Running task replaceVersion...
info builder:builder application openui5-sample-app � (3/7) Running task generateFlexChangesBundle...
info builder:processors:bundlers:flexChangesBundler Changes collected. Number of changes: 0
info builder:builder application openui5-sample-app � (4/7) Running task generateComponentPreload...
(node:24712) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '$' of nulling task generateComponentPreload...
    at getAttribute (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\lbt\analyzer\XMLTemplateAnalyzer.js:51:15)
    at XMLTemplateAnalyzer._analyzeViewRootNode (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\lbt\analyzer\XMLTemplateAnalyzer.js:177:26)
    at _parser.parseString (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\lbt\analyzer\XMLTemplateAnalyzer.js:162:11)
    at Parser.<anonymous> (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\xml2js\lib\parser.js:303:18)
    at Parser.emit (events.js:189:13)
    at Parser.exports.Parser.Parser.parseString (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\xml2js\lib\parser.js:313:16)
    at Parser.parseString (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\xml2js\lib\parser.js:5:59)
    at Promise (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\lbt\analyzer\XMLTemplateAnalyzer.js:146:17)
    at new Promise (<anonymous>)
    at XMLTemplateAnalyzer._analyze (C:\dev\temp\openui5-sample-app\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\lbt\analyzer\XMLTemplateAnalyzer.js:145:10)
(node:24712) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 10)
(node:24712) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
info builder:builder application openui5-sample-app � (5/7) Running task createDebugFiles...
info builder:builder application openui5-sample-app � (6/7) Running task uglify...
info builder:builder application openui5-sample-app � (7/7) Running task generateVersionInfo...
info builder:builder Build succeeded in 1.72 s
info builder:builder Executing cleanup tasks...

Hey @tommyvinhlam I can reproduce this as described. The exception occurs in the XMLTemplateAnalyzer. Could you please have a look?


✨ Feat: Get the configuration file from the plugin.

Support for getting configuration files from the Bungeecord plugin package.

Thanks, PR has been merged, welcome to Alkaid ! 🍻


QPPSF-8849, ssl infrastructure tf changes for impl

Information

Fixes #_.
QPPSF-8849

Changes proposed in this PR:

Removed non-ssl configuration from terraform modules(alb & ecs)

Checklist

[ ] All JUnit tests pass (mvn clean verify).
[ ] New unit tests written to cover new functionality.
[ ] Added and updated JavaDocs for non-test classes and methods.
[ ] No local design debt. Do you feel that something is "ugly" after your changes?
[ ] Updated documentation (README.md, etc.) depending if the changes require it.

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place

destroy
-/+ destroy and then create replacement

Terraform will perform the following actions:
module.conversion-tool.aws_ecs_cluster.conversion-tool-ecs-cluster will be updated in-place
~ resource "aws_ecs_cluster" "conversion-tool-ecs-cluster" {
arn                = "arn:aws:ecs:us-east-1:003384571330:cluster/qppsf-conversion-tool-impl"
capacity_providers = []
id                 = "arn:aws:ecs:us-east-1:003384571330:cluster/qppsf-conversion-tool-impl"
name               = "qppsf-conversion-tool-impl"
tags               = {
"Name"            = "qppsf-ct-ecr-impl"
"application"     = "ConversionTool"
"git-origin"      = "https://github.com/CMSgov/qpp-conversion-tool.git"
"owner"           = "qppar-final-scoring"
"pagerduty-email" =<EMAIL_ADDRESS>"project"         = "qppsf-ct"
"sensitivity"     = "PII/PHI"
"terraform"       = "true"
}
  + setting {
      + name  = "containerInsights"
      + value = "enabled"
    }
}

module.conversion-tool.aws_ecs_service.conversion-tool-service must be replaced
-/+ resource "aws_ecs_service" "conversion-tool-service" {
cluster                            = "arn:aws:ecs:us-east-1:003384571330:cluster/qppsf-conversion-tool-impl"
deployment_maximum_percent         = 100
deployment_minimum_healthy_percent = 0
desired_count                      = 1
enable_ecs_managed_tags            = false
- health_check_grace_period_seconds  = 0 -> null
~ iam_role                           = "aws-service-role" -> (known after apply)
~ id                                 = "arn:aws:ecs:us-east-1:003384571330:service/qppsf-conversion-tool-impl/conversion-tool-service-impl" -> (known after apply)
launch_type                        = "FARGATE"
name                               = "conversion-tool-service-impl"
platform_version                   = "1.4.0"
- propagate_tags                     = "NONE" -> null
scheduling_strategy                = "REPLICA"
tags                               = {
"Name"            = "qppsf-ct-ecr-impl"
"application"     = "ConversionTool"
"git-origin"      = "https://github.com/CMSgov/qpp-conversion-tool.git"
"owner"           = "qppar-final-scoring"
"pagerduty-email" =<EMAIL_ADDRESS>"project"         = "qppsf-ct"
"sensitivity"     = "PII/PHI"
"terraform"       = "true"
}
~ task_definition                    = "arn:aws:ecs:us-east-1:003384571330:task-definition/qppsf-conversion-tool-td-impl:10" -> (known after apply)
  - deployment_controller {
      - type = "ECS" -> null
    }

  - load_balancer { # forces replacement
      - container_name   = "conversion-tool" -> null
      - container_port   = 8080 -> null
      - target_group_arn = "arn:aws:elasticloadbalancing:us-east-1:003384571330:targetgroup/conversion-tg-impl/d881eb07c7d56683" -> null
    }
    load_balancer {
        container_name   = "conversion-tool"
        container_port   = 8443
        target_group_arn = "arn:aws:elasticloadbalancing:us-east-1:003384571330:targetgroup/conversion-tg-impl-ssl/92ecc298ede71067"
    }

    network_configuration {
        assign_public_ip = false
        security_groups  = [
            "sg-013c1f26005939b02",
            "sg-04460af49075eec77",
            "sg-15086661",
            "sg-3cc0b34d",
        ]
        subnets          = [
            "subnet-0f21a355",
            "subnet-31957055",
            "subnet-bd3f72f5",
        ]
    }

  + placement_strategy {
      + field = (known after apply)
      + type  = (known after apply)
    }
}

module.conversion-tool.aws_ecs_task_definition.conversion-tool must be replaced
-/+ resource "aws_ecs_task_definition" "conversion-tool" {
~ arn                      = "arn:aws:ecs:us-east-1:003384571330:task-definition/qppsf-conversion-tool-td-impl:8" -> (known after apply)
~ container_definitions    = jsonencode(
~ [ # forces replacement
~ {
command          = [
"/usr/src/run/qppConverter.sh",
]
- cpu              = 0 -> null
environment      = []
essential        = true
image            = "003384571330.dkr.ecr.us-east-1.amazonaws.com/qppsf/conversion-tool/impl:latest"
logConfiguration = {
logDriver = "awslogs"
options   = {
awslogs-group         = "/qppsf/conversion-tool-impl"
awslogs-region        = "us-east-1"
awslogs-stream-prefix = "impl"
}
}
mountPoints      = []
name             = "conversion-tool"
~ portMappings     = [
{
containerPort = 8443
hostPort      = 8443
protocol      = "tcp"
},
- {
- containerPort = 8080
- hostPort      = 8080
- protocol      = "tcp"
},
]
secrets          = [
{
name      = "APP_ENV"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/APP_ENV"
},
{
name      = "AR_API_BASE_URL"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/AR_API_BASE_URL"
},
{
name      = "BUCKET_NAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/BUCKET_NAME"
},
{
name      = "CPC_END_DATE"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/CPC_END_DATE"
},
{
name      = "CPC_PLUS_BUCKET_NAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/CPC_PLUS_BUCKET_NAME"
},
{
name      = "CPC_PLUS_UNPROCESSED_FILTER_START_DATE"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/CPC_PLUS_UNPROCESSED_FILTER_START_DATE"
},
{
name      = "CPC_PLUS_VALIDATION_FILE"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/CPC_PLUS_VALIDATION_FILE"
},
{
name      = "DB_APP_PASSWORD"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/DB_APP_PASSWORD"
},
{
name      = "DB_APP_USERNAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/DB_APP_USERNAME"
},
{
name      = "DB_MASTER_PASSWORD"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/DB_MASTER_PASSWORD"
},
{
name      = "DB_MASTER_USERNAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/DB_MASTER_USERNAME"
},
{
name      = "DEPLOY0A_PUBLIC-I-P"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/DEPLOY0A_PUBLIC-I-P"
},
{
name      = "DYNAMO_TABLE_NAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/DYNAMO_TABLE_NAME"
},
{
name      = "FMS_TOKEN"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/FMS_TOKEN"
},
{
name      = "GDIT_NESSUS_PUB_KEY"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/GDIT_NESSUS_PUB_KEY"
},
{
name      = "JAVA_OPTS"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/JAVA_OPTS"
},
{
name      = "KMS_KEY"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/KMS_KEY"
},
{
name      = "NEWRELIC_API_KEY"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/NEWRELIC_API_KEY"
},
{
name      = "NEXUS_CREDS"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/NEXUS_CREDS"
},
{
name      = "NEXUS_HOST"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/NEXUS_HOST"
},
{
name      = "ORG_NAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/ORG_NAME"
},
{
name      = "SPLUNK_TOKEN"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/SPLUNK_TOKEN"
},
{
name      = "VALIDATION_URL"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/VALIDATION_URL"
},
{
name      = "RTI_ORG_NAME"
valueFrom = "arn:aws:ssm:us-east-1:003384571330:parameter/qppar-sf/impl/conversion_tool/RTI_ORG_NAME"
},
]
volumesFrom      = []
} # forces replacement,
]
)
cpu                      = "2048"
execution_role_arn       = "arn:aws:iam::003384571330:role/qppsf-ct-execution-role-impl"
family                   = "qppsf-conversion-tool-td-impl"
~ id                       = "qppsf-conversion-tool-td-impl" -> (known after apply)
memory                   = "5120"
network_mode             = "awsvpc"
requires_compatibilities = [
"FARGATE",
]
~ revision                 = 8 -> (known after apply)
- tags                     = {} -> null
task_role_arn            = "arn:aws:iam::003384571330:role/ecsTaskExecutionRole"
}
module.conversion-tool.aws_lb_listener.conversion-tool will be destroyed

resource "aws_lb_listener" "conversion-tool" {

arn               = "arn:aws:elasticloadbalancing:us-east-1:003384571330:listener/app/qppsf-conversion-tool-lb-impl/fc5386f0e82743cb/2d35dcd9d8dd4160" -> null

id                = "arn:aws:elasticloadbalancing:us-east-1:003384571330:listener/app/qppsf-conversion-tool-lb-impl/fc5386f0e82743cb/2d35dcd9d8dd4160" -> null

load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-1:003384571330:loadbalancer/app/qppsf-conversion-tool-lb-impl/fc5386f0e82743cb" -> null

port              = 80 -> null

protocol          = "HTTP" -> null

default_action {

order            = 1 -> null
target_group_arn = "arn:aws:elasticloadbalancing:us-east-1:003384571330:targetgroup/conversion-tg-impl/d881eb07c7d56683" -> null
type             = "forward" -> null
}
}

module.conversion-tool.aws_lb_target_group.conversion-tg will be destroyed

resource "aws_lb_target_group" "conversion-tg" {

arn                                = "arn:aws:elasticloadbalancing:us-east-1:003384571330:targetgroup/conversion-tg-impl/d881eb07c7d56683" -> null

arn_suffix                         = "targetgroup/conversion-tg-impl/d881eb07c7d56683" -> null

deregistration_delay               = 300 -> null

id                                 = "arn:aws:elasticloadbalancing:us-east-1:003384571330:targetgroup/conversion-tg-impl/d881eb07c7d56683" -> null

lambda_multi_value_headers_enabled = false -> null

load_balancing_algorithm_type      = "round_robin" -> null

name                               = "conversion-tg-impl" -> null

port                               = 8080 -> null

protocol                           = "HTTP" -> null

proxy_protocol_v2                  = false -> null

slow_start                         = 0 -> null

tags                               = {

"Name"            = "qppsf-ct-ecr-impl"
"application"     = "ConversionTool"
"git-origin"      = "https://github.com/CMSgov/qpp-conversion-tool.git"
"owner"           = "qppar-final-scoring"
"pagerduty-email" =<EMAIL_ADDRESS>"project"         = "qppsf-ct"
"sensitivity"     = "PII/PHI"
"terraform"       = "true"
} -> null

target_type                        = "ip" -> null

vpc_id                             = "vpc-48f26131" -> null

health_check {

enabled             = true -> null
healthy_threshold   = 3 -> null
interval            = 30 -> null
matcher             = "200-499" -> null
path                = "/health" -> null
port                = "traffic-port" -> null
protocol            = "HTTP" -> null
timeout             = 5 -> null
unhealthy_threshold = 3 -> null
}

stickiness {

cookie_duration = 86400 -> null
enabled         = false -> null
type            = "lb_cookie" -> null
}
}

module.conversion-tool.aws_security_group.ct_app will be updated in-place
~ resource "aws_security_group" "ct_app" {
arn                    = "arn:aws:ec2:us-east-1:003384571330:security-group/sg-04460af49075eec77"
description            = "Allow inbound traffic"
egress                 = [
{
cidr_blocks      = [
"<IP_ADDRESS>/0",
]
description      = ""
from_port        = 0
ipv6_cidr_blocks = []
prefix_list_ids  = []
protocol         = "-1"
security_groups  = []
self             = false
to_port          = 0
},
]
id                     = "sg-04460af49075eec77"
~ ingress                = [
- {
- cidr_blocks      = []
- description      = ""
- from_port        = 443
- ipv6_cidr_blocks = []
- prefix_list_ids  = []
- protocol         = "tcp"
- security_groups  = [
- "sg-013c1f26005939b02",
]
- self             = false
- to_port          = 8443
},
- {
- cidr_blocks      = []
- description      = ""
- from_port        = 8080
- ipv6_cidr_blocks = []
- prefix_list_ids  = []
- protocol         = "tcp"
- security_groups  = [
- "sg-013c1f26005939b02",
]
- self             = false
- to_port          = 8080
},
- {
- cidr_blocks      = []
- description      = ""
- from_port        = 8443
- ipv6_cidr_blocks = []
- prefix_list_ids  = []
- protocol         = "tcp"
- security_groups  = [
- "sg-013c1f26005939b02",
]
- self             = false
- to_port          = 8443
},
+ {
+ cidr_blocks      = []
+ description      = null
+ from_port        = 8443
+ ipv6_cidr_blocks = []
+ prefix_list_ids  = []
+ protocol         = "tcp"
+ security_groups  = [
+ "sg-013c1f26005939b02",
]
+ self             = false
+ to_port          = 8443
},
]
name                   = "conversion-tool-app-impl"
owner_id               = "003384571330"
revoke_rules_on_delete = false
tags                   = {
"Name" = "conversion-tool-app-impl"
}
vpc_id                 = "vpc-48f26131"
}
module.conversion-tool.aws_security_group_rule.allow_http will be destroyed

resource "aws_security_group_rule" "allow_http" {

cidr_blocks       = [

"<IP_ADDRESS>/21",
"<IP_ADDRESS>/24",
] -> null

from_port         = 80 -> null
id                = "sgrule-1715966677" -> null
ipv6_cidr_blocks  = [] -> null
prefix_list_ids   = [] -> null
protocol          = "tcp" -> null
security_group_id = "sg-013c1f26005939b02" -> null
self              = false -> null
to_port           = 8080 -> null
type              = "ingress" -> null
}

Plan: 2 to add, 2 to change, 5 to destroy.


[BUG] Place page (MTV)-- missing sleep less than 7 hours

Describe the bug
The chart is empty in the place page chart:

but you can see it in timeline tool:

This is WAI - the data for that is only available for 2016, where as others have 2017 data.
We could show 2016 data instead though, wdyt?
This also brings to mind a feature request - we should show the year / date we are aggregating data for.

I think it makes sense to show 2016 data. BTW what API are you using for this?  Some of our APIs should have the option for showing any latest stat.

We're using the old stat REST API, and this has the same issue as in
Python, where you'd want to be able to compare data from the same date.
Which is why we should lift that logic up to the mixer, and make the
"latest" designation stricter if it's for multiple stat vars
On Fri, 28 Aug 2020 at 17:13, TJann<EMAIL_ADDRESS>wrote:

I think it makes sense to show 2016 data. BTW what API are you using for
this? Some of our APIs should have the option for showing any latest stat.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/datacommonsorg/website/issues/329#issuecomment-683199018,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABOFY4SZU4CNOSQRDWUWNGDSDBBZLANCNFSM4QHO4NHQ
.

fixed - we show the latest data that is available for all variables shown


A MalformedMessage escaping during sync

on master
What is wrong?
   ERROR  08-28 16:13:14            Connection  Unexpected error in <p2p.connection.Connection object at 0x7f3a00b1f198>, exiting
Traceback (most recent call last):
  File "/home/jcarver/code/trinity/p2p/transport.py", line 241, in recv
    header = self._decrypt_header(header_data)
  File "/home/jcarver/code/trinity/p2p/transport.py", line 322, in _decrypt_header
    f'Invalid header mac: expected {expected_header_mac}, got {header_mac}'
p2p.exceptions.DecryptionError: Invalid header mac: expected b'\xbe\xe5\x7fmM\xe9\xc6\x05\xbc\xb2\x93P:2b\xdf', got b"\xa1\xd1o\x06'`\xfd\x8f\xcd~<\xb82\x96\xa8\x95"

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  ...
  File "/home/jcarver/code/trinity/p2p/multiplexer.py", line 322, in _do_multiplexing
    async for protocol, cmd, msg in msg_stream:
  File "/home/jcarver/code/trinity/p2p/cancellable.py", line 66, in wait_iter
    timeout=timeout,
  File "/home/jcarver/code/trinity/p2p/cancellable.py", line 20, in wait
    return await self.wait_first(awaitable, token=token, timeout=timeout)
  File "/home/jcarver/code/trinity/p2p/cancellable.py", line 42, in wait_first
    return await token_chain.cancellable_wait(*awaitables, timeout=timeout)
  File "/home/jcarver/code/trinity/venv/lib/python3.6/site-packages/cancel_token/token.py", line 153, in cancellable_wait
    return done.pop().result()
  File "/home/jcarver/code/trinity/p2p/multiplexer.py", line 58, in stream_transport_messages
    raw_msg = await transport.recv(token)
  File "/home/jcarver/code/trinity/p2p/transport.py", line 247, in recv
    raise MalformedMessage from err

How can it be fixed
Related to #901 ?
cc @pipermerriam

Looks like this is easily catchable by wrapping the with multiplexer.multiplex() call in Connection._run() in a try/except.

However, I'm getting this MalformedMessage error when connecting to my own local node which suggests that there is actually something wrong with how we are reading the peer message....

One theory is that we're doing some sort of partial read of a message during the handshake but it gets interrupted, and then when the multiplexer picks back up in the Connection object it thinks it is reading from the beginning of a message but it's actually reading from the middle of the stream...

More likely due to https://github.com/ethereum/trinity/pull/962

I've recently started seeing DecryptionErrors causing MalformedMessages again (easily reproducible by running scripts/peer.py against a local geth instance). After much digging around I realized that's because the recv() is being cancelled during the header read, which was thought to be fine but turns out not to be the case as the cancelled _reader.readexactly() (https://github.com/ethereum/trinity/blob/dfc47bc94feaf9c5c1044c6003ac4a898e034886/p2p/transport.py#L246-L251) call may consume data from the buffer, so when we reset the transport's state (https://github.com/ethereum/trinity/blob/dfc47bc94feaf9c5c1044c6003ac4a898e034886/p2p/transport.py#L272-L277) to IDLE and later resume multiplexing (after the handshake), we will be reading either part of the msg header or the msg body, and thus the decryption will fail
I've confirmed this by adding some debug logging to read() above, and this is what I see:
11:51:35 INFO: Before readexactly(), buffer: bytearray(b'\x88\xb3\xc6%8`\x00`\xebL>\xa2\xb7=\x8d\xf3\xb6H.\'\xc8\x82\x960,\xef\xd6\x13$\x80\xa2l%\x84\xae\xa5A\x93"\xf4\x97\xf7$\x1bYRS_\xed\xd2\xb5\xbd\xac\xbaD\xb0\xb5^\xd4 \x1a\xbe\x99\x8e')
11:51:35 INFO: After readexactly() cancelled, buffer: bytearray(b'%\x84\xae\xa5A\x93"\xf4\x97\xf7$\x1bYRS_\xed\xd2\xb5\xbd\xac\xbaD\xb0\xb5^\xd4 \x1a\xbe\x99\x8e')
11:51:35 INFO: Transport cancelled during header read. resetting to IDLE state
11:51:35 INFO: Before readexactly(), buffer: bytearray(b'%\x84\xae\xa5A\x93"\xf4\x97\xf7$\x1bYRS_\xed\xd2\xb5\xbd\xac\xbaD\xb0\xb5^\xd4 \x1a\xbe\x99\x8e')
11:51:35 INFO: Bad message header from peer <p2p.transport.Transport object at 0x7f458afbde10>: Error: DecryptionError('Invalid header mac: expected d4a45786bb62e4a6eac250d1e93add10, got edd2b5bdacba44b0b55ed4201abe998e')

One way to fix this would be to change https://github.com/ethereum/trinity/blob/dfc47bc94feaf9c5c1044c6003ac4a898e034886/p2p/multiplexer.py#L331-L341 to wait for 1s as well if the state is HEADER, but tbh I am not comfortable with the current approach as it means any time we do not receive a msg from a remote in less than 1s after the handshake is complete, we flag the transport as corrupt. And if we increase that timeout we would be adding a significant delay when terminating a running  Peer

@pipermerriam any opinions/suggestions?

I don't have anything to suggest that's a ready to implement solution but my gut says to look in the following direction:
We currently use an async iterator as the mechanism for reading the messages off the transport.  I think this causes some problems because it isn't trivial to pause and resume async iterators without cancelling the underlying coroutine.  I would look using something like an asyncio.Queue in place of the async iterator.  This would allow us to use asyncio.ensure_future to start a long running background task.  This would remove the need for us to stop and restart the message stream between handshake and creation of the Connection.  We'd need to pass around the asyncio.Task object to be sure that it gets properly handled and cleaned up, but that shouldn't be too difficult.
I hope that helps.

@pipermerriam I ended up extending the Multiplexer with APIs for starting/stopping the background task instead of passing an asyncio.Task around, but in principle I think #1750 is what you suggested above

@gsalgado looked it over today and :+1: on approach.  I wasn't set on the task passing as much as the migration away from start/stopping the async generator (and the underlying transport corruption stuff that was necessary to deal with that.)


undefined: runewidth.ZeroWidthJoiner

Fresh install of Go. Running go get returns this error each time.

go get -u github.com/singalhimanshu/taskgo

github.com/rivo/tview
..\go\src\github.com\rivo\tview\util.go:56:2: undefined: runewidth.ZeroWidthJoiner

> go get -u github.com/singalhimanshu/taskgo
# github.com/rivo/tview
..\go\src\github.com\rivo\tview\util.go:56:2: undefined: runewidth.ZeroWidthJoiner

> go get -u github.com/singalhimanshu/taskgo
# github.com/rivo/tview
..\go\src\github.com\rivo\tview\util.go:56:2: undefined: runewidth.ZeroWidthJoiner

Thanks a lot for opening this issue. The problem was there was a release of go-runewidth 0.10 which might have some breaking changes for tview. I have fixed this in 936664331e86e1ca8c4665cb4947b97cb0653dae and made a small change to the build instruction in 23368bfa66eaf04c122fd4f0b688f18595629df7 (I have just remove -u flag which uses the network to get the latest packages). Now you can try with go get github.com/singalhimanshu/taskgo. Please report me if you are still getting an error.

Thanks a lot for opening this issue. The problem was there was a release of go-runewidth 0.10 which might have some breaking changes for tview. I have fixed this in 936664331e86e1ca8c4665cb4947b97cb0653dae and made a small change to the build instruction in 23368bfa66eaf04c122fd4f0b688f18595629df7 (I have just remove -u flag which uses the network to get the latest packages). Now you can try with go get github.com/singalhimanshu/taskgo. Please report me if you are still getting an error.


Add depth estimation UI elements

Related issue: https://github.com/huggingface/hub-docs/issues/473
Cc: @NielsRogge @nateraw @merveenoyan

Would it be possible to split the PR in two?

The UI elements (e.g. the tag, tasks files)
The task page.

The first @gary149 @mishig25 and I can review.
The second @merveenoyan can review :)

Would it be possible to split the PR in two?

The UI elements (e.g. the tag, tasks taxonomy, etc)
The task page.

The first @gary149 @mishig25 and I can review. The second @merveenoyan can review :)

@osanseviero done.

There are some changes unrelated to this PR, such as the assets under tasks for depth estimation and the video classification task page

Took care of it. Sorry.

I think you can remove tasks/assets/depth-estimation/depth-estimation-output.png and the other image from this PR as well)

@osanseviero removed.

@gary this is how the icon looks:

lgtm! let's megre it once @gary149 approves the icon choice 👍

@gary149 good to merge ?

@gary149 good to merge ?

yes

I think the depth-estimation folder is missing.
See https://github.com/huggingface/moon-landing/pull/4527 - the PR to update the docs is failing

Oh I see there is https://github.com/huggingface/hub-docs/pull/513
But in general I think it's good if the main branch is always in an "ok" state - for example this PR could have added an empty file with the minimum exports needed to not break the build.

My apologies. Sorry.


Consolidate all volume and intersection functions

I think it would make sense to consolidate all volume (and intersection) functions into a single one, where if the variance is zero we revert to the "hard" versions of these functions.

Do we want to unify all intersections and Volumes under single functions? Or do we have if conditions inside each one to revert to hard version based on beta value?

I meant the latter, however this is a situation where the functional interface and class-based interface can (and should) actually be different. For example, the functional interface will include an "if" statement based on the variance (for example), but a class will assign the correct branch during initialization.
(Maybe this is a premature optimization though.)

We can leave this open and come back to it when we have a better idea about whether the optimization is needed or not.

Add an example in the usage example notebooks.

Trang will address this in the upcoming PR


Add core relationships and kernel cache

Change-type: minor
Signed-off-by: Josh Bowling<EMAIL_ADDRESS>

@balena-ci I self certify!


Add service unavailable page

Add HTML version of service unavailable page

Hey @frankieroberto, there's a double 'If' juts under try again. All good otherwise.

Oh and you are can be you're

@Deepatee updated, thanks!


Print stdout too when there is a failure

It appears right now that only stderr is emitted to the resource's output stream.  hat could be the right default, to avoid excessive noise in the output, however this makes debugging failures very hard, requiring that you resort to --logtostderr. I've tried exporting the stdout property as a stack output, but because the resource creation fails, it doesn't get emitted.
At the very least, it seems we should include both stderr and stdout in the output in the case of failure.
I also wonder whether most people will expect the output by default, at least as an ephemeral stream (I know I did, similar to our Docker package). That might be a better default and then we could offer suppressStdout and supressStderr options.

I would also like to be able to view stdout and stderr on resource failure. That would be very helpful with debugging issues.

This would be incredibly useful.  It is so hard to determine what is going wrong in a lengthy script right now.


Remove named type

Closes #9
This uses std::any::type_name instead, along with a short parse step to get the same short names as now, so we keep getting Data rather than cw_storage::type_helpers::test::Data (or HandleMsg rather than cw-erc20::msgs::HandleMsg). I assume the short form is nicer for error messages, but can enable the long form as well.

We should document rust version.
I assume 1.38+, but we should use the same in the ci to ensure.


Add an import of setuptools.

Addresses #6.

Since this should be an improvement and with no other comments here, it's going in.


Create a full fledged chat app

This will help us create a full fledged chat application along with user authentication, authorization, persisting of messages using a database and will make the platform functional and minimalistic to use.

The sole reason behind developing this web app is to have instant messaging platform without any hassle to register and logging in.

Is this you writing the issue description or a bot/AI?

It is me writing the comment. Haven't used any AI tools.


add removed item data to dotaconstants data files

Related to the issue reported here:
https://www.reddit.com/r/DotA2/comments/7b7b5b/open_dota_bug_with_the_builds_showing_spirit/?st=j9p6qj0z&sh=a3e98d71
Diffusal blade 2 has been removed from the game and therefore isn't in the game client files anymore.  We need to update the dotaconstants update script to manually put these items back into the the data files:

poor man's shield
iron talon
diffusal blade 2

Otherwise, these items won't show up at all for older matches.

PMS and Iron Talon both appear to be working.  It seems only diffBlade2 is the issue.  In the match linked on reddit you can see PMS and Iron Talon shown properly on the purchase screen (https://www.opendota.com/matches/3354544275/purchases).
In dotaConstants what is the purpose of relying on?:
https://raw.githubusercontent.com/dotabuff/d2vpkr/master/dota/scripts/npc/items.json
DotaBuff doesn't worry about this, because they still display the image and just let the tooltip error.

Would you like to still rely on dotabuff's items.json and change how the images are generated?  Or stop relying on that to generate the items json.
*Sorry if I missed something easy on this.

Basically, in the update script we should manually insert the diffusal_blade_2 blob which is in a previous version of the items data, like: https://github.com/odota/dotaconstants/blob/b759330db327efa7e63bcfc0ec00bacfaffbf0e8/build/items.json#L7152
It also needs to be manually added to item_ids.json
That should fix both the image and the tooltip.


Switch current timeline tool to the new one that is based on statisti…

…ca variable

Nice! Though should we delete the old timeline template?

Yeah, plan to let the new tool to run for sometime then delete all the old code.

Holding this off a bit. I will wait for this week's data release which has all the source info in GetStats() cache to get into staging and submit this PR.

merged with master and fixed a test. PTAL


feat: 🎸 update newest SDK changes

Description
update SDK to v27
Breaking Changes
See v27 release notes for the full set of changes:
https://github.com/PolymeshAssociation/polymesh-sdk/releases/tag/v27.0.0
The confidential API remains unchanged.
JIRA Link

Checklist

[ ] Updated the Readme.md (if required) ?

/fast-forward


Maya: Context switch info should have more information

Problem
When context is switched in Maya, information pop-up window with Context was changed to ####

But if you switch between different tasks under same asset then this message is not so helpful.

agreed 100%

this is actually somewhat related to #1131
maybe we could do them at the same time.


Need definitions for dispatch() that returns Promise

This has been a trouble in our code base for awhile:

We can't find the definitions for Dispatch where it returns a promise...what do we do?
You can see the red squiggle for .then() in the second screenshot, and the typings for Dispatch in the first screenshot.

This doesn't have anything to do with React Redux

I believe it does since react-redux defines dispatch()?

That's React.useReducer's Dispatch type . You want to use Redux's Dispatch type.

I don't see that type tho

The above was {ThunkDispatch} from 'redux-thunk'...the below is, import {Dispatch} from "redux"; and I get:

Have you already checked this? https://redux.js.org/recipes/usage-with-typescript#usage-with-redux-thunk

@dai-shi  thanks this is the only that's worked so far:
export type AppDispatch<T> = typeof store.dispatch


Flake8 rule 'E501' reported an invalid point

Flake8 reported an invalid point for the rule E501, with the messge line too long (105 > 79 characters).

Debug information:
Atom version: 1.16.0
Flake8 version: 3.3.0 (flake8-docstrings: 1.0.3, pydocstyle: 1.1.1, mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.5.0) CPython 3.6.1 on Windows

Closing as a duplicate of #395.


Bot crashes when trying to play songs

Bot crashes when i use any command to play songs.
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at NadekoBot.Modules.Music.Common.SongBuffer.Dispose()
at NadekoBot.Modules.Music.Common.MusicPlayer.d__106.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadPoolWorkQueue.Dispatch()

@Mizunami2025 you did what Kwoth asked you to do?
If it helped, don't forget to close the issue!!


Remove deprecated raytha_attachment_url filter

We need to remove this line of code:
https://github.com/RaythaHQ/raytha/blob/e649f751fcdba4adcd6e2dacbb75f9f0afb85c58/src/Raytha.Web/Services/RenderEngine.cs#L44
raytha_attachment_url was deprecated in v1.0.5 and should be removed in v1.0.6.
Ref: #87

To be released with v1.0.6


[4.2.dev5]The AutoWrap:Word property in Label seemd ineffective on Android

Godot version
4.2.dev5
System information
Windows11, GLES3
Issue description
The AutoWrap:Word property in Label seemd ineffective on Android.
Note: Only 'Word' mode incorrect on Android, the 'Word(Smart)' and 'Arbitary'  are all fine. And there is no problem on Windows platform
Steps to reproduce

Create a Label or RichLabel control node in a scene, choose AutoWrap mode to  'Word'.
Change Label's size, and input some characters to make more than one line.
Export to Android, open the scene, you will see that label just display as one line.

Minimal reproduction project
N/A

MRP: WordWrapBug.zip
Godot v4.2.dev5 - Windows 10.0.19045 - GLES3 (Compatibility)
I haven't tried android, but windows doesn't work when the label node's autowrap is word
Internationalization/locale/include_text_server_data has been enabled in project settings.

Editor run
Export run

I don't know if it has anything to do with the following, after all, when the label's auto_wrap mode is arbitrary and word-smart can work correctly.
By doing a cursory search of the source code it seems that reading and packaging don't exactly correspond to each other:
Load ICU data:

Pack ICU data(Also tmp_icu_data has the : symbol in its path):
https://github.com/godotengine/godot/blob/fe5b1c8d49313d63fbe91cb7cdf463e10fb86afa/editor/export/editor_export_platform.cpp#L858-L873
When I generate the icu file via TextServerManager.get_interface(1).save_support_data("icudt73l.dat") under the project path, it sometimes crashes after exporting, and even if it's run successfully, it outputs an error, and there's no bug fix.
ERROR: U_FILE_ACCESS_ERROR
   at: (modules/text_server_adv/text_server_adv.cpp:6515)

Hey, I just encountered this bug on Linux in Godot 4.2.2.stable.
Seems like "Autowrap Word" doesn't work at all in export builds.
Someone should probably update this issue's name and labels because this bug happens not just on Android.

I did some testing! Here's a Minimal Reproduction Project (4.2.2.stable): autowrap-bug-mrp.zip
What I've found:

✅ Latin text with spaces (e.g. lorem ipsum) wraps as expected in both editor and export
✅ Latin text without spaces (e.g. a very long word) doesn't wrap in either editor or export (this works as expected: that's how the Word mode works)
❌ Latin text separated by slashes ("/") instead of spaces (e.g. a file path) wraps in the editor, but not in export!
❌ A long sequence of sinographs (e.g. chinese lorem ipsum) wraps in the editor, but not in export!

From this information, I deduce that the editor wraps everything unless it's a sequence of latin characters, while the export only wraps when it sees the space character.
Looking at the PR that introduced this (#50086), it's not exactly clear what a "word" is. Is the correct implementation the editor's, or is it the export's?
Additional information:

This bug is present as early as the very first stable Godot 4 release (I tested it).
I've only tested this on Linux (Ubuntu 22).

CC @bruvzg @Geometror

Make sure internationalization -> locale ->  include text server data is enabled in the project settings, it is included only on the editor build by default and required for proper dictionary based line/word breaking.

We probably should enable it by default, extra 4 MB is not a big deal for exports.


Is it possible to have HTK and MRTK in a single project ?

Overview
Is it possible to have HTK and MRTK in a single project ?
Expected behavior
I would like to use HTK components for an app based on Spatial Understanding concept which should work on Hololens1 in specific And, MRTK components for an app based on Hololens2. .
We basically understood from docs that MRTK Scene understanding does not work on Hololens1, henceforth we would need both HTK and MRTK in the same project.
So, i would like to know if it is possible/feasible to have HTK and MRTK in a single project without having any conflicts.
Unity editor version
2020.3.25f1
Mixed Reality Toolkit release version
2.7.3
###Holo ToolKit Version
2017.4.3

In theory, the answer is yes. there should be no meta/guid conflicts between the versions. that said, there may be some conflicts between similar systems attempting to work at the same time.
what combinations of features are you interested in trying?

if you try, are you getting any errors / odd behaviors?

We appreciate your feedback and thank you for reporting this issue.
Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.
Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.
Please note that MRTK3 was released in August 2023. It features an all new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visithttps://www.mixedrealitytoolkit.org.
Thank you for your continued support of the Mixed Reality Toolkit!


Fix btn-block Bootstrap challenge

Pre-Submission Checklist

[x] Your pull request targets the staging branch of FreeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[x] Closes currently open issue (e.g. Closes #XXXX): Closes #8284

Description

Fixes issue with image for describing the difference between btn and
btn-block. The image was deemed confusing with regards to the Bootstrap
btn classes
Unable to test locally

I was unable to test, I have spent a good portion of the day trying to set up a testing environment on my windows laptop, but i can't get it to work.
I have only edited text inside the JSON for the challenge

@Bouncey will test this one for you. I am aware that you spent a huge amount of time trying to get this setup running locally.Thanks for your patience and thanks for contributing.
On a side note, if you are looking forward to contribute more, you can have a look at our wiki repo. It does not require any setup other than that you have had already (Git and a Text Editor).

@Bouncey Please add a code snippet as mentioned in the comments above.
/cc @erictleung

@Bouncey When you add the code snippet, remember to
git commit --amend
git push origin FIX/btn-block-Bootstrap-challenge

Maybe this code snippet and text would help underneath the changes.

Buttons like this will only be as wide as the text. In this example, it'll only be as wide as the text "Press."
<button class="btn">Press</button>

When you add the class btn-block, the button will now take up the page's horizontal space.
<button class="btn btn-block">Press</button>

Commit amended inline with feedback, passes local tests

It looks good to me.
@erictleung Please can you have a look and merge as well?

@Bouncey looks great! I like the actual buttons there. Two things:

Can you put the code for the buttons on their own lines?

Can you squash your commits to one?

Otherwise looks great to me 👍

@Bouncey I was thinking that it would be its own line, like so:
"<button class=\"btn\">Submit</button>",
"This button would only be as wide as the word \"Submit\".",

You've almost squashed your commits to one but there are still three commits.

@erictleung I wasn't too sure what you meant, but sure I can do that. I might just have an issue over how i've edited them though. @raisedadead is having a look for me

:sparkles: :sparkles: AWESOME. :sparkles: :sparkles:
:tada: Thanks @Bouncey and congratulations for your first submission to Free Code Camp :tada:


[REPL] Go automatically in multine-mode when entering

This is a functionality supported in most chat to go multi-line when it REPL mode.
I believe it can be a really nice and handy feature.
What do you thing about it ?

aichat has done its best to support multi-line

type :::
ctrl+o to open external editor
ctrl+enter to enter newline

Yes, I agree, the multi-line mode is really is really good .
I just have ctrl+enter does not work on my side...I dont' know why

os version: Debian 11.9
aichat version: aichat 0.17.0
terminal version: kitty 0.34.0 / fish, version 3.7.1

The most frustrating aspect of multi-line input in terminals is the lack of a universal shortcut key combination for enter
https://github.com/crossterm-rs/crossterm/issues/685


(PUP-6778) acceptance: Binary Type

[skip ci]

Curious about why these tests landed in Beaker / acceptance, rather than moving in a bit closer in the feedback cycle?
Looks like some similar test code here for instance:
https://github.com/puppetlabs/puppet/blob/2ee0132be6cd48277dffca1a4e4b51d38936a135/spec/unit/pops/types/p_binary_type_spec.rb

yeah, there are tests at the unit level.  we wanted to test the file interaction mostly.  can a file resource contain content from a Binary type, can a binary file be loaded and create a Binary type.  etc.  (this also tests a bit of binary_file() and file_finder() functions, which are not tested in calling_all_functions).
the other tests in here are for completeness and do not take extra time (on the agent run scale of time)

@er0ck this passed in Centos 7 but looks to have failed in Win2012r2-6432a:
Failed Tests Cases:
      Test Case tests/language/binary_data_type.rb reported: #<Beaker::DSL::Outcomes::FailTest:
    found /\+aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ==/.
    Expected /\+aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ==/ to match "\e[0;32mInfo: Using configured environment 'binary_data_type_f6m2hca0'\e[0m\n\e[0;32mInfo: Retrieving pluginfacts\e[0m\n\e[0;32mInfo: Retrieving plugin\e[0m\n\e[0;32mInfo: Caching catalog for a14w6nh7c8n76lm.delivery.puppetlabs.net\e[0m\n\e[0;32mInfo: Applying configuration version '1478121511'\e[0m\n\e[mNotice: 1:hell\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[1:hell]/message: defined 'message' as '1:hell'\e[0m\n\e[mNotice: 2:aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ==\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[2:aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ==]/message: defined 'message' as '2:aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ=='\e[0m\n\e[mNotice: 3:cHVwcGV0\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[3:cHVwcGV0]/message: defined 'message' as '3:cHVwcGV0'\e[0m\n\e[mNotice: 4:aW52YXNpb24gZnJvbSBzcGFjZSBqdTE1bHducwo=\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[4:aW52YXNpb24gZnJvbSBzcGFjZSBqdTE1bHducwo=]/message: defined 'message' as '4:aW52YXNpb24gZnJvbSBzcGFjZSBqdTE1bHducwo='\e[0m\n\e[mNotice: 5:aW52YXNpb24gZnJvbS1zcGFjZS9jdGxobnN5Zwo=\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[5:aW52YXNpb24gZnJvbS1zcGFjZS9jdGxobnN5Zwo=]/message: defined 'message' as '5:aW52YXNpb24gZnJvbS1zcGFjZS9jdGxobnN5Zwo='\e[0m\n\e[mNotice: 6:Q0Q=\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[6:Q0Q=]/message: defined 'message' as '6:Q0Q='\e[0m\n\e[mNotice: 7:empty\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[7:empty]/message: defined 'message' as '7:empty'\e[0m\n\e[mNotice: 8:bg==\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[8:bg==]/message: defined 'message' as '8:bg=='\e[0m\n\e[mNotice: 9:bnZh\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[9:bnZh]/message: defined 'message' as '9:bnZh'\e[0m\n\e[mNotice: A:👒\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[A:👒]/message: defined 'message' as 'A:👒'\e[0m\n\e[mNotice: B:Binary\e[0m\n\e[mNotice: /Stage[main]/Main/Notify[B:Binary]/message: defined 'message' as 'B:Binary'\e[0m\n\e[mNotice: /Stage[main]/Main/File[C:\\cygwin64\\tmp\\binary_data_type_f6m2hca0.txt]/content: \n\e[0m\n\e[0;32mInfo: Computing checksum on file C:/cygwin64/tmp/binary_data_type_f6m2hca0.txt\e[0m\n\e[0;32mInfo: /Stage[main]/Main/File[C:\\cygwin64\\tmp\\binary_data_type_f6m2hca0.txt]: Filebucketed C:/cygwin64/tmp/binary_data_type_f6m2hca0.txt to puppet with sum c9a9459e4266ea35a612b90dc3653112\e[0m\n\e[mNotice: /Stage[main]/Main/File[C:\\cygwin64\\tmp\\binary_data_type_f6m2hca0.txt]/content: content changed '{md5}c9a9459e4266ea35a612b90dc3653112' to '{md5}169f6bf5dec5ed871b8663a9190d1d13'\e[0m\n\e[mNotice: Applied catalog in 0.09 seconds\e[0m\n".
    >
        Test line: tests/language/binary_data_type.rb:65:in `block (3 levels) in run_test'

I'm not sure exactly why this is failing, as the output between the two looks identical:
Centos 7:
    cf4d2jm8ngunroo.delivery.puppetlabs.net (centos7-64-1) 14:17:54$ puppet agent -t --server lkezasmh844do9j.delivery.puppetlabs.net --environment binary_data_type_7dv3qp6b
      Info: Using configured environment 'binary_data_type_7dv3qp6b'
      Info: Retrieving pluginfacts
      Info: Retrieving plugin
      Info: Caching catalog for cf4d2jm8ngunroo.delivery.puppetlabs.net
      Info: Applying configuration version '1478121477'
      Notice: 1:hell
      Notice: /Stage[main]/Main/Notify[1:hell]/message: defined 'message' as '1:hell'
      Notice: 2:aW52YXNpb25mcm9tc3BhY2VoY2d1NDBuOA==
      Notice: /Stage[main]/Main/Notify[2:aW52YXNpb25mcm9tc3BhY2VoY2d1NDBuOA==]/message: defined 'message' as '2:aW52YXNpb25mcm9tc3BhY2VoY2d1NDBuOA=='
      Notice: 3:cHVwcGV0
      Notice: /Stage[main]/Main/Notify[3:cHVwcGV0]/message: defined 'message' as '3:cHVwcGV0'
      Notice: 4:aW52YXNpb24gZnJvbSBzcGFjZSBoZDdrcncxeQo=
      Notice: /Stage[main]/Main/Notify[4:aW52YXNpb24gZnJvbSBzcGFjZSBoZDdrcncxeQo=]/message: defined 'message' as '4:aW52YXNpb24gZnJvbSBzcGFjZSBoZDdrcncxeQo='
      Notice: 5:aW52YXNpb24gZnJvbS1zcGFjZS9rcnZqOGhzdAo=
      Notice: /Stage[main]/Main/Notify[5:aW52YXNpb24gZnJvbS1zcGFjZS9rcnZqOGhzdAo=]/message: defined 'message' as '5:aW52YXNpb24gZnJvbS1zcGFjZS9rcnZqOGhzdAo='
      Notice: 6:Q0Q=
      Notice: /Stage[main]/Main/Notify[6:Q0Q=]/message: defined 'message' as '6:Q0Q='
      Notice: 7:empty
      Notice: /Stage[main]/Main/Notify[7:empty]/message: defined 'message' as '7:empty'
      Notice: 8:bg==
      Notice: /Stage[main]/Main/Notify[8:bg==]/message: defined 'message' as '8:bg=='
      Notice: 9:bnZh
      Notice: /Stage[main]/Main/Notify[9:bnZh]/message: defined 'message' as '9:bnZh'
      Notice: A:👒
      Notice: /Stage[main]/Main/Notify[A:👒[]/message: defined 'message' as 'A:👒''
      Notice: B:Binary
      Notice: /Stage[main]/Main/Notify[B:Binary]/message: defined 'message' as 'B:Binary'
      Notice: /Stage[main]/Main/File[/tmp/binary_data_type_7dv3qp6b.txt]/content:

Win2012:
     Info: Using configured environment 'binary_data_type_f6m2hca0'
      Info: Retrieving pluginfacts
      Info: Retrieving plugin
      Info: Caching catalog for a14w6nh7c8n76lm.delivery.puppetlabs.net
      Info: Applying configuration version '1478121511'
      Notice: 1:hell
      Notice: /Stage[main]/Main/Notify[1:hell]/message: defined 'message' as '1:hell'
      Notice: 2:aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ==
      Notice: /Stage[main]/Main/Notify[2:aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ==]/message: defined 'message' as '2:aW52YXNpb25mcm9tc3BhY2VrbGFycXdpMQ=='
      Notice: 3:cHVwcGV0
      Notice: /Stage[main]/Main/Notify[3:cHVwcGV0]/message: defined 'message' as '3:cHVwcGV0'
      Notice: 4:aW52YXNpb24gZnJvbSBzcGFjZSBqdTE1bHducwo=
      Notice: /Stage[main]/Main/Notify[4:aW52YXNpb24gZnJvbSBzcGFjZSBqdTE1bHducwo=]/message: defined 'message' as '4:aW52YXNpb24gZnJvbSBzcGFjZSBqdTE1bHducwo='
      Notice: 5:aW52YXNpb24gZnJvbS1zcGFjZS9jdGxobnN5Zwo=
      Notice: /Stage[main]/Main/Notify[5:aW52YXNpb24gZnJvbS1zcGFjZS9jdGxobnN5Zwo=]/message: defined 'message' as '5:aW52YXNpb24gZnJvbS1zcGFjZS9jdGxobnN5Zwo='
      Notice: 6:Q0Q=
      Notice: /Stage[main]/Main/Notify[6:Q0Q=]/message: defined 'message' as '6:Q0Q='
      Notice: 7:empty
      Notice: /Stage[main]/Main/Notify[7:empty]/message: defined 'message' as '7:empty'
      Notice: 8:bg==
      Notice: /Stage[main]/Main/Notify[8:bg==]/message: defined 'message' as '8:bg=='
      Notice: 9:bnZh
      Notice: /Stage[main]/Main/Notify[9:bnZh]/message: defined 'message' as '9:bnZh'
      Notice: A:👒
      Notice: /Stage[main]/Main/Notify[A:👒 ]/message: defined 'message' as 'A:👒 '
      Notice: B:Binary
      Notice: /Stage[main]/Main/Notify[B:Binary]/message: defined 'message' as 'B:Binary'
      Notice: /Stage[main]/Main/File[C:\cygwin64\tmp\binary_data_type_f6m2hca0.txt]/content:

      Info: Computing checksum on file C:/cygwin64/tmp/binary_data_type_f6m2hca0.txt
      Info: /Stage[main]/Main/File[C:\cygwin64\tmp\binary_data_type_f6m2hca0.txt]: Filebucketed C:/cygwin64/tmp/binary_data_type_f6m2hca0.txt to puppet with sum c9a9459e4266ea35a612
b90dc3653112
      Notice: /Stage[main]/Main/File[C:\cygwin64\tmp\binary_data_type_f6m2hca0.txt]/content: content changed '{md5}c9a9459e4266ea35a612b90dc3653112' to '{md5}169f6bf5dec5ed871b8663a
9190d1d13'
      Notice: Applied catalog in 0.09 seconds

👍 passes on both after the latest change


[BEAM-8119] Properly cleanup Pubsub in release script

Unexpected script failure will leak pubsub topics and fail the next run if no manual cleanup. We want to do cleanup every time before create the topics and also do cleanup when script exists.
Tested manually.
+R: @yifanzou

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Got an LGTM. I'll go ahead to merge it before 2.16 branch cut.


Duck player for iPad?

Hi!.  We're rolling out DuckPlayer to all iOS users for both iOS and iPad.  It will become available in your device in the upcoming weeks.


Support for Storage Facade

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

$disk = Storage::disk('resources');

$path = 'definitions/features/';
foreach ($disk->files($path) as $file) {
    //
}

@mr-feek
Do you mean Illuminate\Support\Facades\Storage or root namespace alias \Storage?


Bump CI

Type of change

Improvement (refactoring, restructuring repository, cleaning tech debt, ...)

Changes
The following changes have been made:

Bump Fuel toolchain to `latest-2023-07-07

Related Issues

Closes #662

Closed in favour of #702


fix: broken builds for pre-commit ci.

Contributor checklist
fix: #2133

[ ] Included tests for the changes.
[X] PR title is short, clear, and ready to be included in the user-facing changelog.

Maintainer checklist

[ ] Verified one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Wait, can you point out where GHA runs pre-commit? I thought we only got pre-commit.ci doing this...

I've converted this to draft to prevent accidental merging ahead of time.


Release Google.Cloud.Memcache.V1Beta2 version 1.0.0-beta04

Changes in this release:

Commit e02c6fd:

feat: added ApplySoftwareUpdate API
docs: various clarifications, new documentation for ApplySoftwareUpdate
chore: update proto annotations

Created release for Google.Cloud.Memcache.V1Beta2-1.0.0-beta04


M68k a line trap support for at least Classic Mac and Apple Lisa

Here's my work so far on #487 to get so-called "A-line traps" working with the disassembler for Motorola 68000.
This is an early draft for discussion, not intended to be merged yet.

The names (and their all-caps defines) "MacTrap" and "LisaTrap" are just for clarify of currently known styles while still researching how many ways A-line traps are used.
In particular, in the main dialog these don't have different names from "regular" 680x0... but then again neither does the ColdFire CPU. See included screenshot.
Adding op011 for the opcode is clear but I just picked opx015 for the second 16-bit word of the Lisa variant because it's the right size. I don't know if it's the best semantically.
There's no F-line handling because I don't know how any platforms use them other than for emulating floating point opcodes on integer-only CPUs, which I don't think needs any special support here.
There may be platforms that use A-line traps in different ways to both Classic Mac and Lisa.
There's no decompiler support, and I don't think there can be. They're like function calls and will have different calling conventions, use of stack and registers.
I picked atrap based on discussion in the feature request. It may be better to mimic what the assembler native to the platform did? But there may be multiple platforms that did it different ways. The m and l suffixes are also just for clarify and need not stay.
I put the new instruction definitions at the top before all the standard ones and inside the with : extGUARD=1 {, both of which might not be best.

What Apple Lisa code currently looks like without this support:

The same with this support:

What Classic Mac code looks like with this support:

I have learned that the Atari ST actually did use A-line traps. Specifically for low-level graphics. Unlike Amiga and Classic Mac, it also used the 68000 trap instruction. Here's a sample with both:

It turns out at least one platform did extensively use F-line traps, the Sharp X68000. So I'll have to make it conditional whether to use FPU opcodes or F-line traps.

Apparently TI's graphing calculators that ran 68000 CPUs used both A-line and F-line traps in various ways: https://www.omnimaga.org/other-calculator-discussion-and-news/best-ti-89-(titanium)-shell/15/#msg_116730

Palm OS also used A-line traps: https://jacobfilipp.com/DrDobbs/articles/DDJ/1999/9911/9911d/9911d.htm

Microware OS-9 for 68K seems to have not used A-line of F-line at all, but did use the trap instruction: https://lms.ee.hm.edu/~seck/AlleDateien/OS9HILFE/OS9-Manuals-Teil2/68k_tech.pdf

I have learned that the Atari ST actually did use A-line traps. Specifically for low-level graphics. Unlike Amiga and Classic Mac, it also used the 68000 trap instruction.

The Atari ST used:
TRAP #1 (GEMDOS), TRAP #13 (BIOS) and TRAP #14 (XBIOS) with a standard 68k C calling convention.
TRAP #2 (AES/VDI) is used with a fixed 68k register convention.
LINEA #0 … LINEA #15 are used for Line-A draw primitives, also using a 68k registers for I/o parameters.
Very old TOS versions used Line-F as well to compress function calls in the ROM from 6 bytes to 2 bytes to make it fit into 192kb ROM. The 12 bit value in the opcode is the function, while parameters follow the standard 68k C calling conversion.

Very old TOS versions used Line-F as well to compress function calls in the ROM from 6 bytes to 2 bytes to make it fit into 192kb ROM. The 12 bit value in the opcode is the function, while parameters follow the standard 68k C calling conversion.

I was hunting for this Atari Line-F stuff and just found it a couple of hours ago. Not easy to Google. My impression was that it was one part of TOS 1.04 aka "Rainbow TOS" and that's where I found it. I didn't check other versions though.

Yes, the Line-F stuff existed in 192kb ROMs (1.0 till 1.62). When Atari switched to the 256KB ROMs they removed that Line-F code. It exists only in the AES/Desktop code in the ROM. Honestly despite spending a LOT of time reverse engineering on the Atari in the 80s and optimizing the TOS I never touched the Line-F stuff – it was never that important. And today you can look and even compile the leaked source code for the TOS, so the need is simply not there.
I can probably provide you with the info, if you really care.

Yes, the Line-F stuff existed in 192kb ROMs (1.0 till 1.62). When Atari switched to the 256KB ROMs they removed that Line-F code. It exists only in the AES/Desktop code in the ROM.

I was an Amiga guy back in the day so I'm a bit ignorant. Was Desktop part of AES? I only just read a few minutes ago that Desktop used F-line as well as AES.

Honestly despite spending a LOT of time reverse engineering on the Atari in the 80s and optimizing the TOS I never touched the Line-F stuff – it was never that important. And today you can look and even compile the leaked source code for the TOS, so the need is simply not there.

For me it's just for the fun of retrocomputing + the fun of disassembling + something interesting to program (-:

I can probably provide you with the info, if you really care.

I just wanted to get a thorough overview of how they were used across systems before hastily jumping in to a too-limited solution. When the Lisa's use was only the second I ever saw I though they might get used a myriad ways, but it's the only real outlier.
I'm guessing the specifics, such as what each trap does would belong in a platform-specific script rather than have anything to do with the sleigh, but that's all beyond what I have learned yet in Ghidra.
(Also, and off-topic for this thread, but I have some questions about Atari ST object and library file formats if there's an appropriate place to start such a thread. On GitHub or one of the Atari forums?)

I wouldn't call it "ignorant" at all, it is just not knowing.
BIOS/XBIOS/GEMDOS = low level file system, etc. stuff
VDI = all the high-level graphics APIs
AES = all the code for the UI (menus, windows, dialogs)
Desktop = simple version of the Amiga Workbench or the Macintosh Finder.
We might want to separate the processor issues (2 byte 68k alignment, function calling conventions) from the file formats and system API integration. I think for the latter some people try to support syscalls for Linux, which is similar – maybe they have some pointers. I think this is the most critical and tricky part to get the 68k CPU adopted to support the different APIs in general, so that the decompiler works as well (the disassembler itself is trivial)
Optionally support for system variables, symbol tables, etc. is all part of loaders. These are not hard to write (Classic Mac are tricky because of the resource forks) and are sitting on top of the CPU changes, which are required.
I have done some stuff for Ghidra for the Atari ST, C64 and the Atari 400/800/XE series – some with Java code. I am coming from IDA, but as a hobby guy I can no longer afford the license (I spend the money for it, but >$1k for a hobby per year – nope – so I am doing more and more with Ghidra)

Optionally support for system variables, symbol tables, etc. is all part of loaders. These are not hard to write (Classic Mac are tricky because of the resource forks) and are sitting on top of the CPU changes, which are required.

Loaders (and FileSystems) are what I've mostly been working on. Classic Mac was my first one for a 32-bit platform I didn't really know. It's in my project RetroGhidra but I don't think anybody has tried using it yet. I'm sure there are many features of loaders I haven't learned yet.

I have done some stuff for Ghidra for the Atari ST, C64 and the Atari 400/800/XE series – some with Java code. I am coming from IDA, but as a hobby guy I can no longer afford the license (I spend the money for it, but >$1k for a hobby per year – nope – so I am doing more and more with Ghidra)

I have some loaders for those in RetroGhidra too, but other people have made better ones for Ghidra already. I've looked at the free IDA a few times but it's too limited and I don't have spare money.

Related problem with M68K:
I was just told that while OS9 didn't use A-line or F-line traps, it does a similar the to what Apple Lisa does with A-line traps except with the regular trap instruction.
It adds an extra word after the instruction which most disassemblers don't know about and hence misinterpret as an instruction, likely a bad instruction.


Adjust version naming to prepare for first alpha release

Motivation:
We want to release our first alpha, let's prepare for it
Modifications:
Adjust verison name for alpha
Result:
Preparation for next alpha release

lovely, thanks bud!


Sync typed continuations with upstream

This patch brings our branch up to date with the latest changes to bytecodealliance/wasm-tools. Notably, the API for reference types has changed quite significantly.
I suggest we wait with merging this until after the paper submission this weekend. After then I can bring this patch up to date once more before merging it.

This patch has been synced with upstream/main. I have also opened effect-handlers/wasmtime/pull/20 which makes the typed continuations wasmtime branch compatible with this patch.

Superseded by #44.