Custom cloudfront bug fixes

Hey, I just found a few bugs when I went to use the custom cloudfront configs.

custom configs for static/* may fail validation because there wont be any pages at these paths (the same for _next/*)
The nodejs AWS SDK will throw an error if you have an undefined value for a key, meaning we need to preprocess the values

correct me if im wrong, but we have tests for the second case, i think the mock API behaves differently

Thanks @stan-sack ! Could you add a test for this? There is a lot of logic around the CloudFront custom config. I'd rather have it tested to ensure there is no regression in future releases.
Also, if you could take a look at 3. in https://github.com/danielcondemarin/serverless-next.js/issues/236#issuecomment-630234932 that would be ace. I suspect setting any values on the api: cloud front configuration is broken. Maybe stillToMatch.delete("api/*") should be stillToMatch.delete("api") ?

internally you have defined the key for api cloudfront behaviour as "api/*" so i think this should stay the same. Theres a bug in some logic that is overriding the api lambda ARN. I just pushed a fix, you'll see what I mean. I will add some better tests tonight.
It gets more complicated when deciding how to pass overrides for api, static and _next behaviour. Because internally the keys are api/*, static/* and _next/* we would need custom logic to look for keys such as api, static etc... and mutate them. Right now if you want to override the api behaviour you need to override the 'api/*' key in yaml. I think that it should continue to behave like this and it should just be documented. Please let me know what you think

the issue with the test is that the expected value is derived from the input value. thats why it didnt pick it up. I cant see a non-verbose way to test this.


Data-table loader

Add data-table loader

https://github.com/epicmaxco/vuestic-admin/pull/273

Added spinner when table data is loading


Truera newrelic integration

Resolves feedback from  #566

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: jpvajda:x: Vivek BhalgatVivek Bhalgat seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[SDK] Improve data fetching for gas & transaction methods

Code
Add changeset

Problem solved
Short description of the bug fixed or feature added
Changes made

[ ] Public API changes: list the public API changes made if any
[ ] Internal API changes: explain the internal logic changes

How to test

[ ] Automated tests: link to unit test file
[ ] Manual tests: step by step instructions on how to test

#1648


Ollie: Watch vdiskinfo.com

Ollie requests the watch of the watch_keyword vdiskinfo\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

vdiskinfo\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Make there be a single script_dir definition

Reported by @djf604.
It is confusing that we have script_dir defined both in the Provider and the Channel. They do have two different meanings: one is the place we store the scripts locally, the other is remotely. I vote we remove the confusion by hardcoding the Provider script_dir to be a directory within Config.run_dir.

Also related to @daheise's issue.


HA Scheduler Strategy

Currently the scheduler selects the node with the least number of tasks running on it.
An alternative method (supported by Tutum and requested by some Swarm users) is "HA strategy".
What that means is we select nodes that have the least number of tasks running from the same Job our task belongs to.
It should be chainable with our "spread" strategy.
Example:

Node 1 has one task assigned. It's an instance of Job A
Node 2 has two tasks assigned. Both are instances of Job B
Node 3 has three tasks assigned. One instance of Job B, one of Job C and one of Job D

When scheduling a new task from Job A, the scheduler should pick up Node 2 because:

Node 1 has 1 Job A task while Node 2 and Node 3 have 0 (so they score higher)
Node 2 has 2 tasks in total while Node 3 has 3, therefore Node 2 wins

/cc @aaronlehmann

This issue can be generalized as: Provide a better default scheduling strategy that makes sense for most deployments. Spread doesn't fit the bill.

Moving to 1.13 /cc @aaronlehmann

Implemented in #1446


exploitdb: 2023-03-10 -> 2023-03-14

Diff: https://gitlab.com/exploit-database/exploitdb/-/compare/refs/tags/2023-03-10...2023-03-14
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.


c3os release 0.57

🗺 What's left for release

[x] https://github.com/c3os-io/c3os/issues/47
[x] https://github.com/c3os-io/provider-c3os/issues/1
[x] https://github.com/c3os-io/c3os/issues/44
[x] https://github.com/c3os-io/c3os/issues/83
[x] #85

🔦 Highlights

c3os bundles support
Initial split of c3os images to core and providers
docs to reflect new features

✅ Release Checklist

[x] Stage 0 - Finishing Touches

[x] Check c3os/packages, and for any needed update
[x] Make sure CI tests are passing.

[x] Stage 1 - Infrastructure Testing

How: Using the testing version, make sure that manual and k8s upgrades are working from the latest release, and that docs are still aligned
Where:

[ ] Two c3os nodes

[ ] Deploy latest release with automatic node setup
[ ] Upgrade to testing release
[ ] Analyze

[ ] Create deployments
[ ] Keep cluster running overnight
[ ] Run upgrades and verify workload is still running
[ ] Keep cluster running overnight

[x] Stage 3 - Release

[x] Tag the release on master

[x] c3os
[x] provider-c3os

[ ] Stage 4 - Update Upstream

[ ] Update the examples to the final release
[ ] Update the upstream testing branches to the final release and create PRs.

[ ] Make required changes to the release process.

Closing


Allow more granular fontStyle options for themes.

Currently two font weights are available: normal (400) and bold (700).  Please add support for more (all) weights, specially 500.

It depends on the font you're using.

Yes it depends on the font, but it also needs to be supported by VS Code to work. Right now VS Code only supports italic, bold or underline or a combination for fontStyle. If I want to have bolder tokens, my only option is to use bold, which is 700. I cannot use 500 even if the font I'm using supports that.

Try this:
"editor.fontWeight":500

No, I don't want to change font weight editor wide, I have developed some themes, and I want to make for example function calls bold.

Hmmm... It doesn't affects bold texts(?).

@a5hk Maybe this will help you out.

@CodeCrazy-ywt Thanks. That's essentially what I'm doing. But as you can see here the options are limited:

The value describes the style if the rule matches. It is either a string, representing the foreground color, or an object, in the form { foreground: string, bold: boolean, italic: boolean, underline: boolean } or { foreground: string, fontStyle: string } as used for TextMate theme rule in tokenColors.

What I'm asking for is more control over bold. I want to set how much bold it should be instead of just a true/false setting.

Hmmm...that seems really an issue to be solved. :/


Podcasts are muted

Podcasts are being muted by Spotifree, presumably because they have a track number equal to 0. But I would guess there's also an easy way to check the audio type to make sure it's not a podcast before muting it. Or maybe there's an episode number field? Tried skimming through the API but not sure where to look. ~Maybe the "type" key in the Track?~
Have to be playing / on a song already and then switch to a podcast.
Looking at the Spotify URI for a podcast it looks like it's not treated the same as a track
podcast:
spotify:episode:<id>

versus a track:
spotify:track:<id>

But the web API doesn't seem to have endpoints for episodes. Based on this Github issue  it looks like this functionality may not be supported yet. Although I don't know if that should prevent Spotifree from handling podcast episodes properly.

It would also be possible to check for ads with spotify:ad.
But this project seems kinda dead. In my alternative I have implemented it with spotify:ad


feat: advanced config to hint the embed search where to look

The embeds search is relying on the content of the question to match against the content. But the question may lack sufficient search context - it may help to enhance the question with additional context specific to the question. In simple terms, it could act like a keyword search to find the right part of the document
E.g.
Q: What is the name of the buyer and seller
C: buyer, purchases, seller, supplier, agreement

Solved with #26


Added typescript ftplugin entry

Same as javascript

Thanks, makes sense that it'd basically be the same thing. :+1:

Yeah, the typing additions don't seem to confuse the plugin code


Error when doing a ping from a ipsec container

While doing a ping of a remote container from a ipsec container, got this error:
ping: sendmsg: Value too large for defined data type

Steps to reproduce:

Launch a 3 host ipsec environment using AWS (t2.large) Ubuntu 16.04
Create three containers, one on each host.
Create a mesh iperf server client connections between these containers. (say C1, C2, C3)
C1: iperf3 -s -p 10002; iperf3 -s -p 10003; iperf3 -c C2 -p 20001; iperf3 -c C3 -p 30001
C2: iperf3 -s -p 20001; iperf3 -s -p 20003; iperf3 -c C2 -p 10002; iperf3 -c C3 -p 30002
C3: iperf3 -s -p 30001; iperf3 -s -p 30002; iperf3 -c C2 -p 20003; iperf3 -c C3 -p 10003
Now inside ipsec container if you check cat /proc/net/xfrm_stat, you will see XfrmInStateSeqError going up.
After running this setup for few days, no more communication is possible between any containers.

Add @niusmallnan 's health checking tool here: https://github.com/niusmallnan/network-healthcheck

@niusmallnan Can you try to reproduce the issue and see if your health checking tool works as expected?

Test image/catalog:
URL: https://github.com/leodotcloud/rancher-catalog.git
Branch: ipsec_config_options_jd

When there is a high speed traffic on AWS, the packets seem to arrive from one host to another out of order. This seems to upset ipsec containers tracking the order/sequence numbers, which causes the XfrmInStateSeqError errors to go up. Once this number overflows, we are getting the EOVERFLOW error and no traffic seems to be passing through the tunnels.

We were running into similar problems earlier this week. After fixing a bug, that created high network traffic, everything went down to normal. I'd like to provide information on this, but unfortunately my ipsec-router containers don't have a /proc/net/xfrm_stat i could share.

@leodotcloud
On the problematic machine the following command
docker exec -it $(docker ps | grep ipsec-router | awk '{print $1}') bash cat /proc/net/xfrm_stat
return this :
XfrmInError             	0
XfrmInBufferError       	0
XfrmInHdrError          	0
XfrmInNoStates          	1
XfrmInStateProtoError   	0
XfrmInStateModeError    	0
XfrmInStateSeqError     	8269913
XfrmInStateExpired      	0
XfrmInStateMismatch     	0
XfrmInStateInvalid      	0
XfrmInTmplMismatch      	0
XfrmInNoPols            	2
XfrmInPolBlock          	0
XfrmInPolError          	0
XfrmOutError            	0
XfrmOutBundleGenError   	0
XfrmOutBundleCheckError 	0
XfrmOutNoStates         	0
XfrmOutStateProtoError  	0
XfrmOutStateModeError   	0
XfrmOutStateSeqError    	0
XfrmOutStateExpired     	0
XfrmOutPolBlock         	0
XfrmOutPolDead          	0
XfrmOutPolError         	0
XfrmFwdHdrError         	0
XfrmOutStateInvalid     	0
XfrmAcquireError        	0

@niusmallnan Did you get a chance to try your tool after reproducing the above error?

Fixed in ipsec: 0.1.4 with image: rancher/net:v0.11.8.

oops, accidental close

@leodotcloud @yasker
My health checking tool worked as expected. Find some information in the log:
time="2017-08-17T15:19:39Z" level=warning msg="Lose ping data from <IP_ADDRESS>"
time="2017-08-17T15:19:40Z" level=error msg="From <IP_ADDRESS> to <IP_ADDRESS> is unreachable, isRouter: false, UUID: 742e527e-5ce3-4d08-9746-05e6cc0d1e87"
time="2017-08-17T15:19:40Z" level=error msg="From <IP_ADDRESS> to <IP_ADDRESS> is unreachable, isRouter: false, UUID: 742e527e-5ce3-4d08-9746-05e6cc0d1e87"
time="2017-08-17T15:19:42Z" level=error msg="From <IP_ADDRESS> to <IP_ADDRESS> is unreachable, isRouter: false, UUID: 742e527e-5ce3-4d08-9746-05e6cc0d1e87"
time="2017-08-17T15:19:42Z" level=error msg="From <IP_ADDRESS> to <IP_ADDRESS> is unreachable, isRouter: false, UUID: 742e527e-5ce3-4d08-9746-05e6cc0d1e87"

Tested with rancher-server version- v1.6.8-rc4 with rancher/net:v0.11.9
This version of ipsec has Replay Window size set to 1024 which is configurable.

Tested with rancher-server version- v1.6.8-rc4 with rancher/net:v0.11.9
Environment with 3 hosts.
Deployed a global service.
Created traffic between all 3 containers of using using iperf3 as mentioned in the steps to reproduce.
After ~12 hours , inter host connectivity continues to be good between all 3 hosts in the setup.
XfrmInStateSeqError in ipsec containers as reported by /proc/net/xfrm_stat is 0 in all ipsec containers.
When a similar run was done on  rancher-server version- v1.6.7 , even within few minutes of starting the run , we see the  XfrmInStateSeqError in ipsec containers as reported by /proc/net/xfrm_stat raise to high values like XfrmInStateSeqError             49093 and keeps increasing constantly.

Continued to have the above setup running for couple of days. Inter host connectivity continues to work as expected in the setup and XfrmInStateSeqError in ipsec containers as reported by /proc/net/xfrm_stat raise is still 0.


websockets returning nxdomain on start_link callup from slack rtm api

When connecting with the Slack RTM API with websocket_client as dep, I'm receiving a{:error, :nxdomain} error.
Initially I thought it was Slack which which didn't accept my proxy settings but later on debugging I found Slack sends me a 200 response and found that the websocket_client was the one who was not able to bypass my proxy settings.
I'm attaching my slack rtm api code here
  def start_link(token, initial_state, client \\ :websocket_client) do
        case Slack.Rtm.start(token) do
          {:ok, rtm} ->
            state = %{
              rtm: rtm,
              state: initial_state,
              client: client,
              token: token
            }
            url = String.to_char_list(rtm.url)
            client.start_link(url, __MODULE__, state)
          {:error, %HTTPoison.Error{reason: :connect_timeout}} ->
            {:error, "Timed out while connecting to the Slack RTM API"}
          {:error, %HTTPoison.Error{reason: :nxdomain}} ->
            {:error, "Could not connect to the Slack RTM API"}
          {:error, error} ->
            {:error, error}
        end
      end

FYI I'm new to Erlang. Kindly help @jeremyong

@jeshocarmel Did you solve this at the end? It looks like a proxy support in this websockets_client is required. We're hitting the same problem @ Elixir-Slack simply because websockets are not going through the proxy #bummer


soft-pool: lock channel queue when trying to open new channels

In SFTPSoftChannelPool we try to open as many SFTP channels as the server will allow (up to a default max of 10), and then cap our max if/when the server rejects a request to open an additional channel.
Before this PR there was a bug where we could await multiple client.start_sftp_client() calls at once. If any of the calls which were rejected by the server, we would not account for the case that any of the other calls which were being awaited at the same time eventually succeeded (i.e. we could request something like 10 channels from the server at once, but the server would only allow us to open 1 and reject the other 9 requests). In this situation we would just fail as if the server had not allowed us to open any channels at all.
In the soft channel pool we should only try to open a single channel at a time. (And then SFTP requests using those open channels can be done in parallel)
See https://github.com/iterative/dvc-ssh/issues/16

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@b912e88). Click here to learn what that means.
 Consider uploading reports for the commit a9fa3ff to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #31   +/-   ##
=======================================
  Coverage        ?   93.89%
=======================================
  Files           ?       13
  Lines           ?      672
  Branches        ?        0
=======================================
  Hits            ?      631
  Misses          ?       41
  Partials        ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[Gssoc23] Add a new C project

Describe the project you want to add with tech stack
To add a compound interest calculator in C language

Expected behavior
given the required parameters such as rate of interest, principal, etc. compound interest is to be calculated

Screenshots (optional)

Additional context (optional )

@MohitGupta121 Please assign this issue to me.


Can't build angular multiple series - group rows timeline chart example

Hi, i have a problem building the example from the homepage with ng build.
As already seen in the sandbox the rangeBarGroupRows property can't be found (app.component.ts line 223), altough all package-versions are up to date.
It seems the property was not added to ng-apexcharts (as can be seen when you go to the declaration of the ApexPlotOptions class) just yet? The only way of successfully solving this issue is manually adding the property to the apex-types.d.ts in the node module folder for ng-apexcharts.
Would be happy about any help regarding this.
Best regards

Fixed and released<EMAIL_ADDRESS>


Add Like, Python

Adding a language

[x] The code displays "Hello World"
[x] I have updated the readme to include the new language
[x] I have incremented the language count in the readme
https://jon.how/likepython/

It could be just “print(“Hello World”)” but this shows off the lang more.

@Richienb should I keep it like python or show off the lang?

@Richienb should I keep it like python or show off the lang?

The current version is good enough.

@Richienb I try to make my code as good as possible rather then "good enough" is there any way I could improve it?

@Richienb I try to make my code as good as possible rather then "good enough" is there any way I could improve it?

When you open a PR, I will always check the code and give you review suggestions to make it better.


Fix to correct handling of inhomogeneous chunksize

Hope this small incremental improvements as direct PR are OK for you.

[x] Tests added / passed
[x] Passes flake8 dask

Incremental PRs are fine by me.  Thanks for keeping up with this @magonser


Invoke enhance

Following improvements have been made:

contracts code is dynamically loaded from github repo
list of contracts is also loaded from the repo (however this does not affect the contracts dropdown)
monaco editor has been used for the code editor
each contracts public method has now Invoke button - when clicked a dialog window with example invoke command is displayed
default values are used for contract method parameters - 1 for numeric values, a param_name_address for param_name variable of type Address
inputs for init method params have been removed
author and license inputs have been moved above buttons

Great ! thanks @mariopil . Should we merge this ?

Yeah, we can merge it :)


fixes Missing commas between brands ,EMB Code

Description
#1214 fixes Missing commas between brands & also in  EMB Code
Related issues and discussion
#1214

@iml-v  Are you sure that it doesn't append a comma after the last element too?

@ManognaMutyala  thanks for noticing error ,i have not noticed this ,yes it will ,i will correct it

@Karljoones  wait I am just updating code

@iml-v No worries, take your time :)

@Karljoones  updated

Great! Thank you. I noticed while looking at it there seems to be a space after the tags and before the comma, Brand , brand. Could you call the trim() on the items before putting them in the clickable? I know this is technically a different issue, but would make sense to include it in here. Would you mind looking into this? If you don't want to it's no problem and we can just merge this :)

@teolemon i will solve this in next PR without opening an issue separately  ,thanks


Add support for preserving modification times

Looks good, thanks! Do you mind noting the new option in the readme?

Merging this, will add a note in the readme.


Add link to ADR004 to readme

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.31%. Comparing base (e3478c2) to head (cf486b0).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #163   +/-   ##
=========================================
  Coverage     94.31%   94.31%
  Complexity      551      551
=========================================
  Files            91       91
  Lines          1829     1829
  Branches        105      105
=========================================
  Hits           1725     1725
  Misses           69       69
  Partials         35       35

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add RSS integration

This branch experiments with RSS feed based on push actions.
closes: #32

The draft URL https://raw.githubusercontent.com/microsoft/win-student-devs/ed496a0882ab6e55aa35381551d83bdbe9edb9a0/docs/feed.xml loads fine for me in Feedly. Seems like it can be merged.


feat(ic-dialog): 1429 Add disableWidthConstraint prop to ic-dialog

Summary of the changes
Adds the disableWidthConstraint prop to ic-dialogs to optionally override the 75% width restriction on large ic-dialogs
Related issue
#1429
Checklist

[x] Relevant unit tests and visual regression tests added.
[x] Visual testing against Figma component specification completed.
[x] All acceptance criteria reviewed and met.
[x] Accessibility Insights FastPass performed.
[x] A11y unit test added and yields no issues.
[x] A11y plug-in on Storybook yields no issues.
[x] Manual screen reader testing performed using NVDA and VoiceOver.
[x] Page can be zoomed to 400% with no loss of content.
[x] Screen magnifier used with no issues.
[x] Text resized to 200% with no loss of content.
[x] Text spacing increased as per the WCAG 1.4.12 success criterion with no loss of content.
[x] Browser setting 'prefers reduced motion' tested. No animations or motion visible whilst this setting is on.
[x] Windows High Contrast mode tested with no loss of content.
[x] System light and dark mode tested with no loss of content.
[x] Manual keyboard testing for keyboard controls and logical focus order.
[x] Min/max content examples tested with no loss of content or overflow.
[x] Browser support tested (Chrome, Safari, Firefox and Edge).
[x] Correct roles used and ARIA attributes used correctly where required.
[x] Logical heading structure is maintained, and the HTML elements used for headings can be changed to fit within the wider page structure.
[x] All prop combinations work without issue.
[x] Changes to docs package checked and committed.
[x] Tested for FOUC (Flash of Unstyled Content) in both SSR (Server-Side Rendering) and SSG (Static Site Generation) settings.

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

Hi @lt94665, thanks for the contribution. All of the code looks alright to me, but it looks like it's failing the CI checks for prettier. Please could you run npm run prettier:fix and push up the changes made to the dialog files. Thank you 😊

@GCHQ-Developer-530 should be good to go now, thanks!

Ran locally and tested and it looks good. Just need a couple of fixes to the commits and then I'll be happy to approve from a developer perspective. Please could you:

Squash your commits to remove the merge commits
Update your main web components commit to have web components scope e.g. feat(web-components): Add disableWidthConstraint prop to ic-dialog
Run npm run build which should show a change to a docs.json file. Please could you commit this under the docs scope e.g. docs(docs): Update the docs.json with new dialog prop.

@DBD324 I've attached a screenshot of the dialog without the 75% content area to demonstrate the behaviour as there is no build for this PR. Please could you take a look from a design perspective?

Heya @lt94665 - thanks for squashing your commits, could you do a rebase off develop to fix the docs.json conflict and then this will be good for us to review :)

Hi @lt94665, sorry following the latest release this branch will need rebasing off develop again to resolve the merge conflicts. Please could you do this when you have the time. Thank you

@GCHQ-Developer-299 This is meant to change the width of the content area of the dialog, not the width of the actual dialog

Happy to update the documentation/prop name if you don't think that's clear enough?

@GCHQ-Developer-299 This is meant to change the width of the content area of the dialog, not the width of the actual dialog

Happy to update the documentation/prop name if you don't think that's clear enough?

Sorry, misunderstanding on my part based on how the height restraint prop works, the comment you've added to the code is perfectly fine :)  I will approve...


Investigate a dart:html limited to the Element model

One of the reasons that I have given to justify the continued existence of the dart:html library in a world where we have a better JS interop story is the JS interop has limitations around feeling idiomatic in Dart - especially around subtype checking. It's useful to be able to check element is DivElement, and that's not necessarily something we can support with a new JS interop model.
One of the big problems with dart:html is that it is huge. The size causes dart2js output bloat, and it has lots of untested behavior. It's also hard to move forward for new browser versions and a smaller library may be easier to roll. Everything that is covered by dart:html is harder to use with existing JS interop, even the stuff that is private.
I would be very curious to see an experiment where we pare down the library to a minimal subset of the stuff that is used most often, and leave the rest to JS interop.
For example, what if we only cover the Element model, and the stuff that is reachable from that model - probably a big subset of the *Event classes. How much existing code would be broken? How much of the library would we actually be able to remove - how much really is reachable from the element model? How hard would the migration be? Does that actually save us much effort in maintaining dart:html? Does it bring any other advantages in code size?
cc @sigmundch @vsmenon

I've been thinking of a very similar investigations: Can we classify the different kinds of classes in dart:html to see how many do benefit from is-checks? How many classes would work just as well if we had an anonymous JS-interop type instead?

...  and leave the rest to JS interop.

I've been wondering whether this means that we leave it out or whether we still provide libraries for them, but using JS-interop (e.g. change the dart:html libary to use @JS annotations in a few classes instead).
Part of the benefit is that until now JS-interop types can be combined and not cause conflicts on one another. But DOM + JS-interop don't play as nice.
I think there are a few things we can do to improve JS-interop + DOM integration, and I was hoping we can pursue those in Q3. For example, I think we make it possible to add external static extension methods on top of DOM types, so if we expose types in dart:html, but they are incomplete, people would be able to work around the limitations.


chore(release): 28.0.6

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.971%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1119

Relevant Lines:
1156

💛  - Coveralls

@kulshekhar it seems like there is an issue with permission for bot to publish but I don’t know exactly what it is https://github.com/kulshekhar/ts-jest/runs/7333776561?check_suite_focus=true Would you please take a look?

Yes we can create a new tag from publish page and the workflow will run again

There's a different error in this run 🤔

Between 28.0.5 and 28.0.6 we have one PR https://github.com/kulshekhar/ts-jest/pull/3653 which is related to automatic release.


Dict type impl

Implemented the Dict Type.
I had to add an isHashable function in order to implement __setitem__ and __getitem__
I originally added a Hashable interface to closely follow the Python specification for hashability - the presence or absence of a __hash__ function - but ran into difficulties when trying to apply it to Super.

Can you elaborate on the problem with super? A Hashable interface would make more sense, assuming there isn't a fundamental underlying problem.

Can you elaborate on the problem with super? A Hashable interface would make more sense, assuming there isn't a fundamental underlying problem.

Can you elaborate on the problem with super? A Hashable interface would make more sense, assuming there isn't a fundamental underlying problem.

Well the problem I ran into is that the instance of Super needs to have a __hash__ function if the class that it wraps is hashable otherwise it should not have a __hash__ function. I don't know of a way to dynamically making a class implement an interface at runtime. Hence the isHashable function.
Looking at the code again, I have introduced a bug because Super.isHashable is infinitely recursive. This also hides a further problem that the code in Super needs to be able to work out if something is hashable purely from the Class definition since Super may not have an instance set.
OK so back to the drawing board.

Static method or constant won't work because a subclass cannot override it
Hashable interface; best candidate so far except that all org.python.Object instances will still have a __hash__ function (see problem with Super above). The contract will that you can only validly call the __hash__ function if the class also implements Hashable otherwise it is a meaningless implementation detail.

With the <p> tag, my IDE (IntelliJ IDEA 2016.1) is doing it automatically. You need to use them if you want to have an empty line in the generated javadoc.
http://stackoverflow.com/questions/21886533/p-tag-in-javadoc-in-android-studio
I am not sure why it is just inserting <p> instead of <p/>.

I don't really know how Super affects this, but could you invoke __hash__() on the item and don't catch the TypeError: unhashable type: 'Widget' that may be thrown?

Is there any reason you couldn't put __hash__ on the interface for Object, and then have it raise AttributeError if it's accessed on a class where it shouldn't exist? This should satisfy the requirements for Java, but would retain the dynamic behaviour needed for Python.

Pretty much did what freakboy3742 said in the comment above.


Cloud trace given as command line parameter is not recognized

"C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2306.12001.0_x64__8wekyb3d8bbwe\DbgX.Shell.exe" -cloudtrace%20packageIds=eb71dd84-86e3-4f42-ac12-56ec63ae66e8 gives an error

Does upgrading to current version fix this? The cloud service changed in last month or so.


Various fixes to ROCK files and integration tests.

Depends on: https://github.com/canonical/k8s-test-harness/pull/26
This patchset includes numerous fixes to the integration tests and some ROCKs, most notably:

switching integration tests to module-scoped harness (the upstream goharbor/harbor-helm chart re-uses names for PVCs which can cross-pollute testing between image version sets)
ensures harbor-jobservice images' entrypoint service doesn't crash too quickly for Pebble to bother restarting it
fix harbor-db:v2.6.3 utility binaries symlinks
fix build-snaps golang version conflicts in trivy-adapter-photon:v2.6.3
fix registry-photon entrypoint arguments issue when deploying via the upstream goharbor/harbor-helm chart
formatting fixes for all sanity tests

With the unfortunate exception of the harbor-trivy StatefulSet, which seems to have consistent but unrelated PVC provisioning issues on the GitHub runner, this PR finally sees all other sanity and integration tests passing (on amd64, at least).
Although I'd love to get to the bottom of the trivy-adapter's PVC allocation issues on the GH runner eventually, I can vouch that the exact Helm deployment commands in the integration tests consistently run fine in manual testing on the k8s v1.30.3 756 latest/edge snap across all 3 versions and am at a loss as to why it wouldn't on the GH runners.
Given how much of a time sink debugging the runners has already been, I think it's time to cut our losses for now and return to it later if the issue is ever consistent on non-GH-runner environments.

Works on ARM as expected: https://github.com/canonical/harbor-rocks/actions/runs/10158064964?pr=22


Pinned columns don't unpin after clearing filters

System information:

Operating system (distribution) and version Ubuntu 20.04 and Win10
DBeaver version 21.1.0

Describe the problem you're observing:
The button "Remove all filters/ordering" doesn't work with pinned columns. It is inactive if no other filtering is applied and when it is active, it removes everything but not pinned columns.
Steps to reproduce, if exist:

Pin a column.
Click Remove all filters/ordering

Expected: Column is unpinned
Actual: Column is still pinned

Works as expected.


Tank2D with Obstacles - new class for air-water-vv refactoring support

This class allows for a simple way to build most air-water-vv style problems where a mostly rectangular tank has obstacles (such as a weir, a sloped bottom, etc.).  The implementation is a bit messy and a more in depth gmsh interface should handle this eventually.  It extends off of the refactored Tank2D.
(a new pull request to bring it directly to master, since Tank2D resolved first and github doesn't have transitive pull requests)

Could you post an example of the usage? You could link to where you use this in air-water-vv or link to a gist containing a script that builds a non-trivial domain and plots it.

Here's an example from the constantSlopeBeach set.  All hydraulicStructure (in this PR) and constantSlopeBeach tests (in this PR) use this, so you can look around at them for other uses.

Just to clarify: obstacles boundaries must intersect the tank boundary?

Yes.  A ValueError is raised if they do not. Other obstacles can still be included via additional shapes.


tx nonce: restore expected test behavior

Motivation

this test is broken in https://github.com/spacemeshos/go-spacemesh/pull/3518 such that it's not testing the intended nonce range.
Changes

test the actual nonce range
added test for expected number of matches

@evt please review. thanks

bors merge


use Fury as ser/deser

https://github.com/alipay/fury
hold until stable v1.0

https://github.com/alipay/fury/issues/912


chore: update jujuversion import

Issue
https://github.com/canonical/postgresql-k8s-operator/pull/640
Solution
See more detail in the issue, but sorry to bother you again, because after discussion, we will change ops.jujuversion as well, so my previous PR won't work in the future, and now I'm creating a new PR to fix it once and for all.

Dear @IronCore864 , it is still a draft PR, please click "Ready for review" button to proceed further.
P.S. Thank you for contribution!


Avoid script exit when grep returns non 0 status in old bash versions

Solves #63
errexit bash flag casuse the script to exit when the current profile is checked for already installed GETMESH_HOME because tested command are not handled correctly. They shouldn't exit the script, for more info check https://github.com/tetratelabs/getmesh/issues/63#issuecomment-903940907.

Oh the license CI is failing same as  https://github.com/proxy-wasm/proxy-wasm-cpp-host/pull/187
but we can force merge this PR anyway

Thanks @toffentoffen! (Btw I sent you the invitation to tetratelabs org so could you accept?🙂)


[phase2] fix delete modal flicker

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/24452
PROPOSAL: https://github.com/Expensify/App/issues/24452#issuecomment-1712021524
Tests

Submit an expense to another user and open its detail report.
Focus the main composer input.
Click the three dot menu at the top right of the page.
Select the Delete expense.
Verify the confirmation modal can display smoothly and there is no keyboard flicker.

[ ] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

Submit an expense to another user and open its detail report.
Focus the main composer input.
Click the three dot menu at the top right of the page.
Select the Delete expense.
Verify the confirmation modal can display smoothly and there is no keyboard flicker.

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/8579651/03bd389b-5a6f-4d9a-90a6-64f26a2f5d70

Android: mWeb Chrome
https://github.com/Expensify/App/assets/8579651/420a0df8-c5ab-4032-b7d4-bd798130150d

iOS: Native
https://github.com/Expensify/App/assets/8579651/34c890e4-987c-4a01-95d7-2fc2ac375b28

iOS: mWeb Safari
https://github.com/Expensify/App/assets/8579651/a9bed76e-ea2a-4cee-9d3a-4a2f57dc99a4

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/8579651/e1e70c73-9694-4ec9-bd63-1acd3f8cf876

MacOS: Desktop
https://github.com/Expensify/App/assets/8579651/7adc4135-966f-4fc6-a131-ab3946310860

@ntdiary i am not able to reproduce the issue on production, is there a specific versions on which this issue happens?

I was able to reproduce on iOS native, thanks!
BUG: the keyboard is not dismissed after opening the delete modal
https://github.com/Expensify/App/assets/75031127/d1904be6-ef40-42a3-849b-046ad6bb2652

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.79-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


inputRange must be monotonically, what is it ?, excuse I am news in this.

What solved this for me was making sure the prop itemWidth was set properly.

⚠ You did not follow the contributing guidelines!
As stated in these:

You need to fill out the issue template completely. This step is mandatory! Not doing so will result in your issue getting closed. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template.

This question has a direct answer in the doc.


Replace axios by fetch, and simplify

Replaced axios by fetch (more standard and simple), and simplified the rest

Pull Request Test Coverage Report for Build 188

45 of 46 (97.83%)  changed or added relevant lines in 8 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+5.4%) to 96.923%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/client.ts
9
10
90.0%

Totals

Change from base Build 182:
5.4%

Covered Lines:
170

Relevant Lines:
174

💛  - Coveralls

This library is supposed to work on the browser. Does node-fetch work correctly in the browser?

What is the motivation for paying for the library that is working properly now?

Hey @linyows, node-fetch is working also when bundling for browsers (https://github.com/bitinn/node-fetch/blob/master/package.json#L6)
The reason for moving to fetch is because it's a standard, and simpler API

What is the motivation for paying for the library

What do you mean? I just contribute, I know it's working currently

@caub Thank you for your reply. We use this library in a production environment. There are not many similar cases other than us. I understand that using the node-fetch slightly reduces the number of rows. However, I do not think that the code of the master is complicated now, nor do I think that there is a problem with axios. On the other hand, the part using Generics for mixin has a lot of learning.
Can you change to refactoring with Generics only?

@linyows so I tried isolating the mixins here: https://github.com/pepabo/gmopg/pull/13
and on that branch I've put back axios
You choose, personally I prefer this heavier one, less tied to axios (node-fetch is completely production ready btw)

@caub Now that you have split P/R, we are ready to merge the major changes that will change the library. Thanks. There are tiny conflict. I will merge after this resolved.

Yes, thanks, I've tried to do it

Many thanks!


✨ textual 0.25.0

:tada: This PR is included in version 1.9.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Decrease Size of MBTiles

We should try hard to make the MBTiles file smaller.
We need to compare our MBTiles with the v6 Mapbox Streets.

My previous comment:

We should put an effort into improvement of the tile size.
It would be also interesting to compare the above mentioned big tiles with V6 - to identify why are our so large. It can be easily done with:
http://klokantech.github.io/ol3-sandbox/vector/tile-inspector.html#http://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6.json?access_token=pk.eyJ1Ijoib3NtMnZlY3RvcnRpbGVzIiwiYSI6ImNpZnlkb2d0dTAyaDd1M2x6ZGg5cGp4aXQifQ.74RX5npQKmCE1jxsbXYNzQ|0|0|0

We did some analysis of our vector tiles, therefore I created two gists one which compares the size of mapbox-streets-v6 with open-streets and another which compares the features.
size compare: https://gist.github.com/manuelroth/ae138de3155519512bd1/revisions
feature compare: https://gist.github.com/manuelroth/28fadbed722e3f1ce633/revisions
Results:

Zoom level
Diffs (os: open-streets, v6: streets-v6)

5
too many roads (open-streets: 41066 features / streets-v6: 6 features), don' show type trunk

6
too many roads (os: 23221 / v6: 12), layer poi_label, road_label missing

7
too many roads (os: 35185 / v6: 11), layer poi_label, road_label missing

8
too many road_labels (os: 3575 / v6: 17), layer poi_label missing

9
too many road_labels (os: 1611 / v6: 19)

10
layer poi_label missing

11
too many road_labels (os: 1936 / v6: 47)

12
too many road_labels (os: 5191 / v6: 26)

13
too many roads(os: 2986 / v6: 21), too many road_labels (os: 2027 / v6: 54)

14
too many buildings (os: 3227 / v6: 1624), too many roads (os: 2343 / v6: 995), too many road_labels (os: 1637/ v6: 45)

It seams that our main problems are the layers roads and road_labels, we show too many of them. Of course we can see a lot more differences in the gist, but I think these are the main reason for the bigger size of our vector tiles.

Thanks for the analysis!! We are several factors larger in for most tile indizes.
Roads should be possible to improve in a next release. Perhaps the roads are not filtered simply by class like we assumed but also filtered by other criterias.
Funny that this slipped through - as I remembered we went through each zoom level for the roads and tried to bring it as close to Mapbox as possible.
At zoom level 14 it is difficult to throw away any buildings, roads and road labels because we do not have a z15 that can contain them like Mapbox does.


Exit app by listening to an event.

The event can be triggered at MainWindow and Command.
Listen for the event at MainApp

Done


docs: updating the documentation for Extension Servers and adding an example extension server

What this PR does / why we need it:
This PR updates the Envoy Extension Server documentation and adds an example extension server.
Which issue(s) this PR fixes:
Fixes #1726
Replaces #2931

@AliceProxy  please take a look

/retest

/retest

Hope that we can get this into v1.1


LP not returning groups

So basically i wanted to format chat messages for every group separatly, but it seems like lp is not returning groups to essentialsX Chat as well as TAB List. i used proper weight system and followed your wiki on how to create groups since i am old school PEX user.

Make sure you put the group names lowercased in the essentials config

These are the screens of config in essentials, LP, and how chat is showing it

If you set a displayname, the name you use in other plugin configs has to match the displayname. This is because the displayname is the group's name as far as vault and PAPI are concerned and so they will see the displayname only.

So i downloaded papi, I completely forgot about it, swapped {DISPLAYNAME} with %player_name%, still same response in chat i guess essentials cant find that group and is using some default format

EssX doesn't play nice with PAPI by default like it does with vault. You'll need another plug-in for it. If the EssentialsX config, when using either {DISPLAYNAME} or {USERNAME} and the displayname of the group rather than its actual name, (for mod, use Mod instead, for example) then it's an EssX problem. If the prefix for a user shows up properly in lp user <username> info then Luckperms is doing its job

I do not have issues with names or papi, my problem is that i have a group named mod in LP and EssX do not detect this group so it's not using group formating. That's the reason for that default format in chat.

I understand, this is because the name of the group in the Essentials config needs to case match the displayname of that group if one is set. Please try it

group name is "mod" and displayname of group is "Mod" i tried both and still default format, nvm i'll just use default format and format colors in prefixes and suffixes.


Support to set helm values via the flag --set

We could mimic the behavior of the helm --set command, adding support to pass values using the CLI instead of files.

Closed by #11


Add async version of IMessagePublisher::Publish

Right now IMessagePublisher only offers a synchronous version of the Publish method. Since many implementations are likely to be making a network request as a result of this method being called it would be beneficial to offer an async version of this method.
Suggested method signature:
Task PublishAsync(TMessage message);

I could see it going two ways:

Simply add an additional method to the interface and allow each implementation to provide the best possible implementation for both the synchronous version and the asynchronous version. This has a slight downside of requiring all IMessagePublisher implementations to provide an implementation of both versions of the method which could theoretically allow them to optimize for both scenarios, but I suspect you'd see most implementations implementing the sync version by simply calling the async version and blocking on the Task::Result. Vice versa, and worse for most cases, they could implement the async version by calling the sync version and wrapping the result in Task::FromResult.
Take a "hard" stance and keep the API surface lean by replacing the existing synchronous signature with the asynchronous one.

My personal vote would be for option number 2.

Yes I gave it some thought at the start and initially left it with a synchronous call for simplicity, as I wanted to ensure I knew about failures straight away before I published another message. The caller could then wrap it up in a Task or queue if they wanted. As you may have seen in the NetMQ implementation I decided to queue the published messages up and do the blocking call in a loop on its own thread.
However now that things have moved a bit, I'd certainly consider option 2 if we thought on balance it would be the better choice for publishing.
This would then need to propagate up to the ServiceBus which is effectively looping through and calling send or publish on the appropriate endpoints, raising an AggregateException with any errors.

I suppose part of the consideration is whether the caller should or Obvs should ensure deterministic ordering of the messages it is given to publish, i.e. a queue.

Yes I gave it some thought at the start and initially left it with a synchronous call for simplicity, as I wanted to ensure I knew about failures straight away before I published another message. The caller could then wrap it up in a Task or queue if they wanted. As you may have seen in the NetMQ implementation I decided to queue the published messages up and do the blocking call in a loop on its own thread.

So I don't think there's anything about making it async that prevents that at all. If the caller cares, then they just await the resulting Task before continuing. If a particular implementation is using a local queue, let's say for message batching (AzureSB has this feature), it may choose to return synchronously, but it's still going to deliver that message to the remote queue in the order it was pushed onto the local queue.

I suppose part of the consideration is whether the caller should or Obvs should ensure deterministic ordering of the messages it is given to publish, i.e. a queue.

Again, I don't think there's anything about making the method async that necessarily means things will get out of order. The caller simply needs to wait for the resulting Task to complete before sending the next message in the sequence.

I suspect most transport API's, although having a sync method signature will actually handover to an IO thread underneath.
I can change the contract to option 2, but would likely do this underneath in the current implementations to satisfy the contract:
public Task PublishAsync(TMessage message)
 {
	 Publish(message);
	 return Task.FromResult(true);
 }

Do you agree this is preferable to Task.Run(() = > Publish(message)) in the case where the transport API doesn't have an async publish method? I don't want to tie up a task per publish, as I'd rather leave that up to the caller to decide.
On the question of ordering, I still think that adding it to a queue internally and having a single Task as the publisher is a good policy for transport implementations. I did this in NetMQ specifically because it was sending/receiving on the same thread.

Hey, just to confirm, I will be making this change soon so it should be in Obvs 1.5.

@inter8ection Hey, sorry for lack of reply! Out on vacation this week.

Do you agree this is preferable to Task.Run(() = > Publish(message)) in the case where the transport API doesn't have an async publish method? I don't want to tie up a task/thread per publish, as I'd rather leave that up to the caller to decide.

Yes, I agree that simply returning Task.FromResult in the case of the underlying transport only offering a synchronous implementation would be the best approach. There's no point in spinning up a background task in those cases as that's still going to consume a CPU thread. So you'd just be paying the price of context switching for no real gain. Just do the work on the calling thread and return synchronously.

On the question of ordering, I still think that adding it to a queue internally and having a single Task as the publisher is a good policy for transport implementations. I did this in NetMQ specifically because it was sending/receiving on the same thread, but retaining ordering rather than leaving it to the caller to deal with would be preferable.

Sure, I think that's a detail that will differ from transport to transport. Again, with Azure SB I'm just going to be building a BrokeredMessage and calling something like QueueClient::SendAsync. Now, it's behavior will depend on various options I've chosen. If there's no batching, that's pretty much going to be a direct network request to send out the message to the queue. If there's batching, it's going to push onto a local queue buffer and eventually send out in a batch after N messages have accumulated or some amount of time has passed without receiving a new message.

Hi, OK this work has been completed and all libraries updated to 1.5. I have experimented with using a shared EventLoopScheduler for each Endpoint's publishers in the AMQ and NetMQ transport implementations, but stuck with Task.FromResult for Rabbit.
There are a few minor breaking changes as a result of adding Serialization sub-namespace, and a new logging extension config point (and a new NLog implementation library which logs messages in and out of each endpoint).
Let me know if I can mark this issue and Closed, and if you have any problems upgrading.

Upgraded one of my local branches to 1.5 and synched everything up and it seems to be working great. Will push up as soon as my other changes are ready. I will close out this issue as I think it's done now!

Great!


Hi @listx , I ran into the following issue a while back.  The output is from using the texlive:2019 image, but I tried with the 2020 tag and got the same.
The solution (or what worked for me, at least) was runnning texconfig rehash before my main latexmk -pdf resume.tex line.  Have you seen this?  Just wanting to know if it's only me or if maybe it'd be useful to toss into the Dockerfile, or...
$ latexmk -pdf resume.tex
Latexmk: This is Latexmk, John Collins, 18 June 2019, version: 4.65.
Rule 'pdflatex': The following rules & subrules became out-of-date:
      'pdflatex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex  -recorder  "resume.tex"'
------------
Latexmk: applying rule 'pdflatex'...
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Arch Linux) (preloaded format=pdflatex)
 restricted \write18 enabled.
kpathsea: Running mktexfmt pdflatex.fmt
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /etc/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /var/lib/texmf/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
warning: kpathsea: /usr/share/texmf-dist/ls-R: No usable entries in ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /root/.texlive/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /root/.texlive/texmf-var/web2c
mktexfmt [INFO]: did not find entry for byfmt=pdflatex, skipped
mktexfmt [INFO]: Total formats: 0
mktexfmt [INFO]: exiting with status 0
I can't find the format file `pdflatex.fmt'!
Latexmk: fls file doesn't appear to have been made.
Collected error summary (may duplicate other messages):
  pdflatex: Command for 'pdflatex' gave return code 1
      Refer to 'resume.log' for details
----------------------
This message may duplicate earlier message.
Latexmk: Failure in processing file 'resume.tex':
   (Pdf)LaTeX didn't generate the expected log file 'resume.log'
----------------------
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs, or warnings treated as errors.
Latexmk: Errors, so I did not complete making targets

I can attach a copy of my resume.tex file too, if that's useful.

I can attach a copy of my resume.tex file too, if that's useful.

Ack, I'm working on a fix for this.

Ack, I'm working on a fix for this.

Please try out the new listx/texlive:2020 image and let me know if there is still an issue. Thanks.

Please try out the new listx/texlive:2020 image and let me know if there is still an issue. Thanks.


fix of spark and hadoop launcher scripts

Tbb changed .so files.
Appended checker of their naming.

/intelci: run


Wait for containerd installation in GCE scripts [1.5 backport]

This cherrypicks https://github.com/containerd/containerd/pull/6544 to release-1.5 branch. This will only affect k/k CI and e2e tests.
Prior to running the kube-node-installation.service, the containerd
installation should be complete as the k8s installation may have
dependencies on containerd and related binaries (e.g ctr). Add
wants/after systemd directives to ensure
kube-node-installation.service will only start after containerd
installation completes.
Signed-off-by: David Porter<EMAIL_ADDRESS>

/cc @SergeyKanzhelev

/lgtm


Linux aarch64 SDK support

Note: This is not the same as issue #19
This suggestion is about adding aarch64 as a target, rather than a supported platform.
As noted in that issue, there is an aarch64 version of Renpy.
What's worth noting, and why I've raised this issue, is that the aarch64 build isn't only useful when building on aarch64 platforms.
The aarch64 build contains both x86 and aarch64 libraries.
So it will run from an x86_64 machine, yet output Linux builds which include both the aarch64 and x86 libraries.
You can then distribute builds of a game to people on those platforms (Raspberry Pi, Chromebook) while still using an x86 machine and x86 build of renkit and renpy.
Currently renkit downloads a .zip file from dl/{self}/renpy-{self}-sdk.zip
The aarch64 version is hosted on dl/{self}/renpy-{self}-sdkarm.tar.bz2
The path and extension are different, so using the aarch64 version isn't as simple as passing renkit a different version number.
renkit would need to be updated to use the different url format for aarch64, add bzip2 and tar to Cargo, and extract with those instead of the zip utilities in order for this to work.
I'm not suggesting that this would be the default. Just that it would be an option.
eg. renkit could allow you to install 7.7.3-arm instead of 7.7.3
For my own use case I've instead modified the Dockerfile, since I was going to run it in a container anyway.
# build for a specific version of Ren'Py with:
# docker build . --tag renpy:8.2.0 --build-arg renpy_version=8.2.0
# to run commands:
# docker run --rm -it --volume /local/project/path:/project renpy:8.2.0 renutil launch 8.2.0 -d -- "/project compile"

FROM ubuntu:22.04
ARG renpy_version=8.2.0
ARG renkit_version=v4.3.0

ENV DEBIAN_FRONTEND=noninteractive

# install java
ENV JAVA_HOME=/opt/java/openjdk
COPY --from=eclipse-temurin:21-jdk $JAVA_HOME $JAVA_HOME
ENV PATH="${JAVA_HOME}/bin:${PATH}"

# install dependencies
RUN apt-get update && \
    apt-get install -y curl wget xz-utils libgl1 bzip2 && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

ENV PATH="/root/.cargo/bin:${PATH}"

# install renkit
RUN curl --proto '=https' --tlsv1.2 -LsSf https://github.com/kobaltcore/renkit/releases/download/$renkit_version/renkit-installer.sh | sh

# install the specified version of Ren'Py
RUN $HOME/.cargo/bin/renutil install $renpy_version

# download the aarch64 version of renpy
RUN wget https://www.renpy.org/dl/$renpy_version/renpy-$renpy_version-sdkarm.tar.bz2

# extract and delete the archive
RUN tar xf renpy-$renpy_version-sdkarm.tar.bz2
RUN rm renpy-$renpy_version-sdkarm.tar.bz2

# move rapt from the x86 version to the aarch64 version
RUN mv $HOME/.renutil/$renpy_version/rapt renpy-$renpy_version-sdkarm

# delete the x86 version
RUN rm -rf $HOME/.renutil/$renpy_version

# move and rename the aarch64 version
RUN mv renpy-$renpy_version-sdkarm $HOME/.renutil/$renpy_version

# default entrypoint so people can dispatch to any of renkit's tools
CMD [ "/bin/bash", "-c"]

The above added one new package to install (bzip2).
The other changes are between "renutil install" and CMD.
It's a crude workaround, but it seems to do what I need it to.

Yeah, that's a good call. I was always hesitant because of the special status the ARM version seems to have, even on the official download page. I have since talked to renpytom and he says this is purely to save on file size for libs that most people won't need. Whatever the reason may be, it seems that this is unlikely to change unless ARM Linux gets a big user boost, so the current way of things is decently stable.
I'll make a note to implement support for choosing the ARM version whenever it exists, to allow users to deploy to as many targets as possible 👍

I've made a first tentative implementation of this. Having to pull in a bzip2 dependency is a bit unfortunate, but alas the the pure-Rust implementation of bzip2 currently doesn't work for this use case, so there's no better option.
The change is internal-only: renutil will simply pull the version with ARM support if it's available, otherwise it'll fall back to the 'normal' variant so nothing changes in the frontend.
Due to the new dependency on a system library some more testing is needed before a full release, which is why I'm pushing an alpha version of 4.4.0 for now, which I'll work on until I can be reasonably sure that everything still behaves properly on varying systems.
Feel free to give that version a try yourself if you wanna help in the endeavor, it's available right now.

Thanks kobaltcore, I've just given this a test in a new docker container.
I've used the Dockerfile from this repository as-is, but with renkit_version=v4.4.0-alpha.1 and renpy_version=7.7.3
All worked as intended.
Entering the container with
docker run  -it renpy:7.7.3-test bash
I can see the ARM libs in /root/.renutil/7.7.3/lib/
After compiling a linux build of a game and extracting the archive I can likewise see the arm libs in the compiled game.
I don't have an arm device setup to test with right now, but looking at the output it all looks good, as far as I can tell.

Thanks, that's good news. I'm running on an M1 mac myself so I was able to test this on an aarch64 machine, where I promptly discovered that I forgot to add handling for these extra architectures in my Version implementation. This should now be fixed, although I have no way of testing this on a 32-bit ARM processor, as I don't have something like a Raspberry Pi available at the moment.
Still, the new alpha.2 release should work a bit better now. I'll do a bit more testing before I promote to a full release though.

I wasn't able to turn up any further issues in alpha.2 so I've gone ahead and released v4.4.0. I'll close this issue as completed.
In case something else pops up, feel free to make a new issue and I'll look at it as soon as I'm able.


IMAP/POP3 server

docs says that one can download the email and open in the preferred mail client.
a better alternative would be implement IMAP/POP3 servers and allow the client to direct download the emails from mailcatcher

Sorry, but this is out of scope for this project. You might like to explore a fully fledged mail server if you need that capability.


运行 ./mpflutter packages get 提示错误

`--[no-]analytics` is deprecated.  Use `--suppress-analytics` to disable analytics for one run instead.
Resolving dependencies... (1.4s)
The current Dart SDK version is 3.0.0-348.0.dev.

Because mpcore 1.2.0 depends on json_patch >=1.0.1 <3.0.0 which doesn't support null safety, mpcore 1.2.0 is forbidden.
So, because mpflutter_template depends on mpcore 1.2.0, version solving failed.

The lower bound of "sdk: '>=2.0.0 <3.0.0'" must be 2.12.0 or higher to enable null safety.
For details, see https://dart.dev/null-safety

目前不支持 Flutter 3.7 以上的版本


chore: use hatch 1

Update for Hatch 1. CC @ofek.

Sure. Would you like to word it?

supporting multiple environments and extensible via its plugin system


New Game: 2048_win

PR Description 📜
2048 Win is a puzzle game where you merge numbers together to create larger numbers. The goal of the game is to reach the number 2048. The person who reaches 2048, wins the game.
Fixes #4673

Mark the task you have completed ✅

[ ✅] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[✅ ] I have performed a self-review of my own code or work.
[✅ ] I have commented my code, particularly in hard-to-understand areas.
[✅ ] My changes generates no new warnings.
[✅ ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[✅ ] I have added screenshot for website preview in assets/images
[✅ ] I have added entries for my game in main README.md
[✅ ] I have added README.md in my folder
[✅ ] I have added working video of the game in README.md (optional)
[ ✅] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @vidhiisaxena ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Kindly merge my PR, the project manager asked me to create a pull request again.

yes, I've made a minor change in the game I added earlier to make it more interesting.

Thank you  @vidhiisaxena , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀

Respected Project Admin,
My points in the leaderboard have not increased at all, kindly increase 45 points, you can decrease it from the previous account with which I made the initial PR (@VidhiSaxenaa).

Greetings,
My PR has been merged and added to my count but the scores have not been
updated yet. Kindly add level 3 marks to my id with the username
vidhiisaxena. You can delete my score from the previous github id,
VidhiSaxenaa.
Kindly confirm once the scores have been updated.
Regards
Vidhi Saxena
On Tue, Jul 9, 2024 at 1:36 PM Ishita @.***> wrote:

@.**** approved this pull request.
good to go!!
—
Reply to this email directly, view it on GitHub
https://github.com/kunjgit/GameZone/pull/4674#pullrequestreview-2165410469,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCORUYWKAJLFLXVBYRN24CTZLOKZXAVCNFSM6AAAAABJXSNDQGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDCNRVGQYTANBWHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Kindly update my marks in the leaderboard.

Greetings,
My PR has been merged and added to my PR count but the scores have not been
updated yet. Kindly add level 3 marks to my id with the username
vidhiisaxena, as it will affect my ranking. I've been constantly trying to
reach out to your team, it'll be great if you could sort this issue as soon
as possible.
Kindly confirm once the scores have been updated.
issue
Regards
Vidhi Saxena
github:- https://github.com/vidhiisaxena

I will look into this and get back to you.
On Sun, 14 Jul, 2024, 2:25 pm vidhi saxena, @.***>
wrote:

Greetings,
My PR has been merged and added to my PR count but the scores have not
been updated yet. Kindly add level 3 marks to my id with the username
vidhiisaxena, as it will affect my ranking. I've been constantly trying to
reach out to your team, it'll be great if you could sort this issue as soon
as possible.
Kindly confirm once the scores have been updated.
issue
Regards
Vidhi Saxena
github:- https://github.com/vidhiisaxena

Kindly update me as soon as possible. It's been more than 3 weeks, My
closed PR doesn't yet have a level assigned and no points have been added.
I'm attaching below my thread of conversation with @Antima Mishra
@.***> who approved my request. Kindly increase my
marks at the earliest.
On Sun, Jul 14, 2024 at 2:25 PM vidhi saxena @.***>
wrote:

Greetings,
My PR has been merged and added to my PR count but the scores have not
been updated yet. Kindly add level 3 marks to my id with the username
vidhiisaxena, as it will affect my ranking. I've been constantly trying to
reach out to your team, it'll be great if you could sort this issue as soon
as possible.
Kindly confirm once the scores have been updated.
issue
Regards
Vidhi Saxena
github:- https://github.com/vidhiisaxena

@ishita-43 The leaderboard is about to close now. Please update my marks asap.

@ishita-43 The leaderboard is about to close now. Please update my marks asap.

Hi @vidhiisaxena you can raise such issues in gssoc discussion increasing points is not in ny hands gssoc officials may have the power to do so
Describe Them about your both accounts and what issue you are facing by raising question or you can also create ticket on the discord server
https://github.com/GSSoC24/Contributor/discussions/categories/q-a

Kindly update score on this id.
@ishita-43

This pr  levels assigned to compensate the previous id pr


vue-head on Vue SPA?

Can we confirm that vue-head doesn't (out-of-the-box) work in a Vue SPA for crawler/social purposes? Looking at the page output, I do see the meta tags I specified, however, when I share the page in Facebook or Whatsapp, the OpenGraph tags added are not picked up, probably because Vue dynamically adds them to the DOM too late.
Probably requires pre-rendering (unfortunately)..?

Yes! It's recommended to use prerender or create a project with Nuxt.js for sharing on social networks.

Thanks for confirming that! For those new to front-end dev (like me), these obvious things aren't always immediately obvious ;-).

@Sjoerd82
Thanks for using!


THE  USER INTERFACE OF THE LANDING PAGE IS QUITE POOR I CAN ENHANCE IT 10X

### THE  USER INTERFACE OF THE LANDING PAGE IS QUITE POOR I CAN ENHANCE IT 10X
I CAN ENHANCE THE USER INTERFACE IN VERY CREATIVE AND INTERACTIVE MANNER AS PER THE ML THEME AND WILL PROVIDE THE NEXT LEVEL EXPERIENCE

### please assign this issue to me cause as a experienced front end developer i can solve this issue more effective

Hi, @dnyanesh99borse, could you provide the screenshot, so that i can look and assign this issue.

hey kindly assign this to me ...user interface is the first impression of any web page if you assign it to me i try my best on this...

@dnyanesh99borse pls join the discord channel mentioned in readme.


Subscriptions Ready can't handle a field with Long text

For example

getMeteorData(){
 const handler = Meteor.subscribe('messages');

  return {
     ready: handler.ready()
  }
}

render(){
  MeteorListView....
}

and field message.text with very long text cannot shown on limit 20. but it can be shown on limit 10

@radiegtya please write more info please, because your example so abstract.


Replace yaml with pickling

Scala pickling appears to be dead, we'll have to find another approach https://github.com/scala/pickling/issues/452#issuecomment-327837282


install troubles

This is how I got it to run.... I'm not familiar with mamba/conda.
This could probably use some improvements but its a POC starting point for anyone else like me :)

docker run -it debian:bookworm-slim

apt update && apt install -y curl  libgl1

####################################
# Install to ~/mambaforge
curl -L -o mambaforge.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"

bash mambaforge.sh -b -p $HOME/mambaforge

# Activate
source $HOME/mambaforge/bin/activate

############################################
# Set up a new environment
conda create -n cadquery

# Activate the new environment
conda activate cadquery

# Install the latest released version
mamba install -c conda-forge cadquery

# Or install the dev version to get the latest changes
#mamba install -c conda-forge -c cadquery cadquery=master

###################################

pip install cqgridfinity
gridfinitybox 2 3 5 -m -f stl

Closing since not an active issue.  Installation varies platform to platform and most installation issues are OCP + CadQuery related.


chore: upgrade go toolchain to 1.23

Reason for Change:

Updates the Go version to v1.23.1 for various improvements, fixes to stdlib, and toolchain upgrades.
Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] relevant PR labels added

Notes:

/azp run Azure Container Networking PR

Going to need to re-run the workflows with an updated ruleset for this to merge.

/azp run Azure Container Networking PR

/azp run Azure Container Networking PR

/azp run Azure Container Networking PR

/azp run NPM Conformance Tests

this passed all pipeline checks and previously had full approvals, so i'm going to merge it


Can't make Issue Template when repository's branch protected

When repository's branch(master) is protected like below, I cannot make Issue Template with go-github API

If I remove the branch's protection configuration, I'm able to make Issue Template.
And used access token has r/w right to the repository

Have you checked the GitHub Developer API v3 documentation to see if it is possible to do what you want, or if this is being prevented by the API itself?
If to still feel that the problem lies within this repo, please provide a more detailed example of what methods you are calling, preferably with an example program.

I can't find the proper API for making issue template in the GitHub Developer API v3.
So, I tried like this...
opt := &github.RepositoryContentFileOptions{
			Message:	github.String("blabla"),
			Content:	contents,
			Branch:		github.String("master"),
			Committer:	&github.CommitAuthor{
						Name: github.String("author"),
						Email: github.String(some_mail_address),
					},
		}

_, _, err = app.Repositories.CreateFile(context.Background(), org, repo, ".github/ISSUE_TEMPLATE/test-template.md", opt)

If you can't find the API in the GitHub Developer API v3 documentation, then you will not find the API in this repo either, as this repo is a Go client library for the GitHub Developer API v3.


What databases will be supported?

Kodein-DB is itself an embedded database.
It uses the C++ library LevelDB to store & retrieve data.
No other underlying data storage is envisionned at this point because Kodein-DB uses features that are specific to LevelDB (snapshots & snaphsot iterables).


Network provider final architecture

Partially implements https://github.com/ManageIQ/manageiq/issues/6479

@miq-bot remove_label wip

@blomquisg @Fryguy please review


Licensing and Copyright?

Do we want this under an open source license? (If it is in a public Git repo, I think this is required.) If so, which one? (I don't really care. I'd probably choose GPLv3, with MIT my second choice.) In any case, someone needs to put a license on this, whether open source or no.
All the files should have copyright notices as well. I'm happy to slap them on, but again tell me whether you want me to guess from git history who wrote what, or whether you want to make the whole project copyright Bot and Rose. (Again, I don't care.)
I usually use my apply-license scripts to do this stuff, so I'm happy to do the work, if someone tells me what they want.

I'll add a LICENSE file and a License section to the README, and I think that's good enough. Everything else I've done is MIT, so let's go with that.


Machine-readable errors

From @robbyoconnor (jadejs/jade#2012):
Currently there are zero tools for syntax checking for neither vim nor emacs. I suspect the reason why is this lovely output:
/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/runtime.js:231
  throw err;
        ^
Error: test.jade:2
    1|    doctype html
  > 2|  html
    3|   head
    4|     title Jade Examples
    5|     body

unexpected token "indent"
    at Parser.parseExpr (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:252:15)
    at Parser.parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:122:25)
    at parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:104:21)
    at Object.exports.compile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:205:16)
    at renderFile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:227:71)
    at Array.forEach (native)
    at Object.<anonymous> (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:132:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

There is information that isn't relevant here: I don't need a stack trace for code that I don't even own.
What you could do:
Error: unexpected token "indent" in test.jade:2
    1|    doctype html
  > 2|  html
    3|   head
    4|     title Jade Examples
    5|     body

The current error messages are nice for humans, ugly for computers to parse.  The way I proposed is actually nicer for humans AND computers alike! Be even better if you just didn't include the 5 lines at all, and then I can parse this with no issues.

I don't need a stack trace for code that I don't even own.

Keep in mind that stack traces are not only for users, but for us developers as well. Hence I am against the wholesale removal of everything you (or a general user) consider extraneous.
How about:
/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/runtime.js:231
  throw err;
        ^
Error: unexpected token "indent" in test.jade:2
    1|    doctype html
  > 2|  html
    3|   head
    4|     title Jade Examples
    5|     body

    at Parser.parseExpr (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:252:15)
    at Parser.parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:122:25)
    at parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:104:21)
    at Object.exports.compile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:205:16)
    at renderFile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:227:71)
    at Array.forEach (native)
    at Object.<anonymous> (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:132:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

@TimothyGu  -- Put the error and everything that's necessary for syntax checking at the top AND THEN put the stack trace --
Error: unexpected token "indent" in test.jade:2
    1|    doctype html
  > 2|  html
    3|   head
    4|     title Jade Examples
    5|     body
/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/runtime.js:231
  throw err;
        ^
 at Parser.parseExpr (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:252:15)
    at Parser.parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:122:25)
    at parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:104:21)
    at Object.exports.compile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:205:16)
    at renderFile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:227:71)
    at Array.forEach (native)
    at Object.<anonymous> (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:132:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

This is easier to parse. Let me know when this happens -- I need to update the regex for the flycheck syntax checker -- it's going to break things :)

Is there a reason why you can't use the properties of the error object?  These would be much more robust than using the text output of the CLI.
From the error object you can get structured data for

code - The error code, jade error codes will all be of the form JADE:SOME_SHORT_NAME
msg - The message, without things like the "context" or location where the error was thrown
line - The line number for the error
filename - The filename in which the error occurred
src - The source code of that file, if available

Because i am parsing the OUTPUT  -- I repeat: there are next no syntax checkers for jade. I was writing the flycheck checker for jade and was immediately like "what the hell, this is a mess"

Another way you could go: Your other option is to do what slim does:
$ slimrb slim-error.slim

Slim::Parser::SyntaxError: Unexpected indentation
slim-error.slim, Line 2, Column 1
html
^

Use --trace for backtrace.

If you are deadset on including the stacktrace for developers -- for generic compilation, it's not necessary...make it easy for people who are trying to parse the output.

I strongly believe there are no separate syntax-checkers out there because nobody has felt a strong enough need for one.  I attribute that at least in part to the fact that the error messages on the console are already very readable.
As for expecting me to research what flytrap is, you need to understand that you are asking me to do work to make your job easier.  I'm not getting paid for this work, and hundreds of other people also want work done, so if I can't understand your request, I will ignore it.
I guess the language separation is why you're using the CLI and not the JavaScript API?  Jade will always prioritise human readability over machine readers.  What might be an option would be adding a --json-errors option to the CLI that could then catch the errors and log them as JSON.  That would be up to @TimothyGu as he maintains the CLI.

I apologize for coming off demanding.

s/flytrap/flycheck -- not to offend :smile_cat:

Adding a simple option to omit the stack trace would be enough -- I could live with @TimothyGu's suggestion -- it would simplify the regexp -- in fact the regexp for both my earlier suggestion and @TimothyGu's are the same -- both seem to match what I need :) -- the only suggestion would be a switch to hide the stack trace -- but I would be happy with just having the error moved up like @TimothyGu  suggested:

/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/runtime.js:231
  throw err;
        ^
Error: unexpected token "indent" in test.jade:2
    1|    doctype html
  > 2|  html
    3|   head
    4|     title Jade Examples
    5|     body

    at Parser.parseExpr (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:252:15)
    at Parser.parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/parser.js:122:25)
    at parse (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:104:21)
    at Object.exports.compile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/lib/index.js:205:16)
    at renderFile (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:227:71)
    at Array.forEach (native)
    at Object.<anonymous> (/home/rob/.nvm/v0.10.35/lib/node_modules/jade/bin/jade.js:132:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

Assuming this happens and can be done -- I'm happy -- as it stands -- the flycheck checker is written and I'd just need to tweak the regexp...I just felt the output was a bit verbose...

@ForbesLindesay, I'm happy to implement what I proposed. Do you think this has to wait for 2.0.0 which uses jade-error?

@TimothyGu :+1: :tada:


feat(oci_python): demonstrate fine grained layering

Type of change

New feature or functionality (change which adds functionality)

Test plan

Covered by existing test cases

Thanks for this example. I'm working on implementing something like this, and it has been a helpful inspiration. I noticed something in my own implementation, which I then realized is also present here: A change to any  runfile of the py_binary will invalidate all layers and cause them to be rebuilt. This defeats much of the purpose of multi-layer images because those layer builds can be very slow.
Do you have any suggestions for how to fix this issue? I am new to Bazel and don't have a great idea of how to filter the runfiles in a way that avoids this total cache invalidation.
(venv) ddlabs@will-skinner:~/Projects/bazel-examples/oci_python_image$ bazel build //hello_world:hello_world_layer --explain=explain.txt --verbose_explanations && cat explain.txt
INFO: Analyzed target //hello_world:hello_world_layer (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
INFO: Writing explanation of rebuilds to 'explain.txt'
Target //hello_world:hello_world_layer up-to-date:
  bazel-bin/hello_world/hello_world_layer/app.tar
  bazel-bin/hello_world/hello_world_layer/python.tar
INFO: Elapsed time: 0.184s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
Build options: --enable_bzlmod --explain=explain.txt --verbose_explanations
Executing action 'BazelWorkspaceStatusAction stable-status.txt': unconditional execution is requested.

Here, I changed __main__.py.
INFO: Analyzed target //hello_world:hello_world_layer (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
INFO: Writing explanation of rebuilds to 'explain.txt'
Target //hello_world:hello_world_layer up-to-date:
  bazel-bin/hello_world/hello_world_layer/app.tar
  bazel-bin/hello_world/hello_world_layer/python.tar
INFO: Elapsed time: 0.533s, Critical Path: 0.48s
INFO: 3 processes: 1 internal, 2 linux-sandbox.
INFO: Build completed successfully, 3 total actions
Build options: --enable_bzlmod --explain=explain.txt --verbose_explanations
Executing action 'BazelWorkspaceStatusAction stable-status.txt': unconditional execution is requested.
Executing action 'Writing: bazel-out/k8-fastbuild/bin/hello_world/hello_world_layer/app.tar': One of the files has changed.
Executing action 'Writing: bazel-out/k8-fastbuild/bin/hello_world/hello_world_layer/python.tar': One of the files has changed.

I verified that only the app layer changed by running the following after each build.
(venv) ddlabs@will-skinner:~/Projects/bazel-examples/oci_python_image$ find bazel-out/k8-fastbuild/bin/hello_world/hello_world_layer -type f -exec shasum {} \;

Following up on my earlier comment - I found a solution. I don't fully understand why it works and would love for someone who understands Bazel better to explain it. My idea was that there must be some state being propagated through runfiles every time any file changes. So I added a new rule as a layer in between runfiles and pkg_tar.
FilesProvider = provider(
    fields = {
        "dest_src_map": "",
        "symlinks": "",
        "label": "",
    },
)

I modified ~runfiles_impl to return that instead of PackageFilegroupInfo:
    return [
        FilesProvider(
            dest_src_map = file_map,
            label = ctx.label,
            symlinks = symlinks,
        ),
        DefaultInfo(
            files = files,
        ),
    ]

Define the new make_package_info rule:
def _make_package_info_impl(ctx):
    default = ctx.attr.runfiles[DefaultInfo]
    fp = ctx.attr.runfiles[FilesProvider]

    return [
        PackageFilegroupInfo(
            pkg_dirs = [],
            pkg_files = [
                [PackageFilesInfo(
                    dest_src_map = fp.dest_src_map,
                    attributes = {},
                ), fp.label],
            ],
            pkg_symlinks = fp.symlinks,
        ),
        DefaultInfo(files = default.files),
    ]

make_package_info = rule(
    implementation = _make_package_info_impl,
    attrs = {
        "runfiles": attr.label(
            mandatory = True,
            providers = [FilesProvider],
        ),
    },
)

And use it like this:
    runfiles(
        name = "%s/solib/runfiles" % name,
        include = "**/_solib_local/**/*",
        exclude = "**/*libtorch*/*",
        **runfiles_kwargs
    )

    make_package_info(
        name = "%s/solib/package_info" % name,
        runfiles = "%s/solib/runfiles" % name,
    )

    pkg_tar(
        name = "%s/solib" % name,
        srcs = ["%s/solib/package_info" % name],
        **pkg_tar_kwargs
    )

@wskinner-dd see the latest commit for fine-grained layering.


Fix glyphData (again)

Apparently I’m the only one who uses this and it keeps breaking, so this time make sure it gets tested.

Any idea why all these unrelated tests are failing?

Any idea why all these unrelated tests are failing?

@khaledhosny one of our test servers is currrently experiencing issues. We'll ignore this for the time being.

The refactoring I did in #906 will clobber this.

The refactoring I did in #906 will clobber this.

I rebased it on current master and kept only the test. Building variable fonts is fixed, but building statics is still broken.

The refactoring I did in #906 will clobber this.

I rebased it on current master and kept only the test. Building variable fonts is fixed, but building statics is still broken.

This should be fixed now. The tests now actually check that glyphData is being applied, not only that the build passes.

The test failures does not seem to be related to this PR.