Intercom Icon Change

[x] Change background color to long beach blue. The vibrancy of this color will draw the users attention to it better.

[ ] Change the icon from chat to "?"
It wasn't intuitive for that chat meant help so the ? should be more clear.
Icon is in icon folder

https://docs.intercom.io/configure-intercom-for-your-product-or-site/customize-the-intercom-messenger/customizing-the-intercom-messenger
The space to add your email doesn't appear consistently

First two points are clear. As for the email text box, that sounds like something that we'd need to file a bug report with Intercom for. If you write the exact steps required to reproduce the problem, we can send that to them and see what they can do.

Ignore the email part, that can be a separate issue.
If we can change the icon that would be great.

Intercom doesn't actually support configuring the icon, there appears to be a hack: remove the intercom-acquire class from the #intercom-container element after it loads! Doesn't appear to break any functionality, and causes the chat icon to fall back to the desired icon (which is actually for the "Intercom Support" product).
Intercom says they're releasing a new conversation widget/button for all customers "in the next few weeks," so we're gonna hold off on this change for now, since they might be changing it soon anyway.

Now that they upgraded their site and we upgraded, can we see about changing the icon to a ?

Looks like we can do this with a "custom launcher". Instructions here: https://docs.intercom.com/configure-intercom-for-your-product-or-site/customize-the-intercom-messenger/customize-the-intercom-messenger-technical


breaking: use vite for dev & browser build

Description
Replaces the webpack browser build with vite. Also adds an index.html page and dev vite config to easily and quickly startup a dev environment.
Do you introduce a breaking change?

[x] Yes
[ ] No
[ ] I am unsure (no worries, we'll find out)

@geostyler/sprinters @geostyler/devs Please review.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix Bitmask Removal Button Overflow

Fixes #958.
The diff looks like more but I just removed the width: 100% off the grid as well as the unnecessary column grid and then padded the button correctly.
Before:

After:

It still seems to overflow, and the checkbox ends up sneaking behind the channel dropdown

@keller-mark The checkbox issue isn't exclusive to the bitmask controller so I'll open an issue for that.  As for this PR, I seem to have fixed it with more specific padding - let me know if this is better!


Support Vagrant 1.9.0

There's no more bundler dependency! :dancer:
Gems are now installed in ~/.vagrant.d/gems/2.2.5/gems instead of ~/.vagrant.d/gems/gems. This breaks start_server.rb.

Also some problems reported here: https://github.com/vagrant-landrush/landrush/issues/292

Thanks for looking into this. It was on my todo list, after seeing some reports with problems using 1.9.0.
I think, however, I will still release a v1.2.0 with the current head (which will support Vagrant up to 1.9.0) and then we can address this issue.

A work-around (intended to follow version changes, so might not break right away) :)
ln -f -s $(find ~/.vagrant.d/gems/* -type d -maxdepth 0 2>/dev/null | sort -r | head -1) ~/.vagrant/gems/gems

This workaround sorts it for me on OSX  (extended from @khaije1 note)
ln -f -s $(find ~/.vagrant.d/gems/* -type d -maxdepth 0 2>/dev/null | sort -r | head -1) ~/.vagrant.d/gems/gems && vagrant plugin expunge --reinstall

any update on this ? we're using 1.9.1 but with the patch provided by @joelio , we're having ERR_NAME_NOT_RESOLVED  problems.

Here's a working fix on OSX :
cd ~/.vagrant.d/gems
ln -s 2.2.5/gems

do this BEFORE install landrush. Or uninstall the plugin, run the patch, and install again.
thanks to @nervo for sharing.

I'm no big fan of bumping things, so believe me when I say that I feel guilty for poking around here. :) With that said, I'm an avid landrush user, though I'm no good of a Ruby developer, so I'm merely interested in querying so that I can look into alternative solutions for myself.
Is it a matter of landrush currently being a deprioritized project, @hferentschik? It seems there are some forks with the vagrant-1.9 patches applied, as well as other minor things. #292 and #296 put a stick or so in the wheels. I wonder how come the issue is labeled os/windows, and not Linux and Mac as well, or just OS independent? :)
Otherwise, for now, I'm using njam's current branch with a manually built gemspec, which does the job on Linux.

Yea, not sure why it has an os/windows flag on, it's platform independent

Any news on this?

I have updated the vagrant to 2.0 and the landrush started working. It seems that vagrant team fixed it.


stc.plot() throws warning by default

If I don't set any clim or fmin etc for that matter -- just a plain stc.plot(), it throws a warning saying:
mne/viz/_3d.py:554: DeprecationWarning: Using fmin, fmid, fmax is deprecated and will be removed in v0.10. Use "clim" instead.
  DeprecationWarning)

This is not desired behaviour.
cc @wronk

I think we might need it to be that way for one release to change the
behavior to use percentiles.

Before, stc.plot() would put in default fmin, fmid, fmax values, which we need to deprecate. I guess in the future we should have it implicitly use default percentiles with the mne colormap, but we need at least one release in between, correct?
@Eric89GXL, lmk if you want me to change anything though.

I guess of all entries are none, we should use old behavior and give a
warning that it will change to clim auto next release.

Sure, I'll open a PR in a few.

I guess the warning is confusing for a new user who hasn't even started exploring these different clim options and is just looking to use the default. Now, he has to deal with 4 new parameters

It's only one new parameter (and three old ones), they should use clim='auto' as suggested by what will be the new warning. Is that clear enough?

okay for that as long as it's clear to the user that they don't need to do anything with the warning

well... it will be the same as with any deprecation warning, in the sense that if they do nothing, the behavior might change on the next release

See Clim fix #2094


Worked on issue #30

🛠 Fixed issue #30
📇 Change Proposed Added resources for Data Structures and Algorithms
✅ Check List (Mark all the applicable boxes)

[x] My code follows the code style for this project.
[x] This PR does not contain plagiarized content.
[x] This PR contains changes in the documentation
[x] This PR contains changes in the Code of the project
[x] The title of my pull request is a short description of the requested changes.

📷 Screenshots

Please refer to the issue properly and keep the title according to the issue @Busayo-ojo

@hasnainmakada-99 Please check now


USB: wpanusb: Cleanup code and add defaults

Remove dead code and add quark_se_c1000_devboard radio defaults.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #8984   +/-   ##
=======================================
  Coverage   52.25%   52.25%
=======================================
  Files         196      196
  Lines       24802    24802
  Branches     5155     5155
=======================================
  Hits        12961    12961
  Misses       9762     9762
  Partials     2079     2079

Continue to review full report at Codecov.

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


Fix use of intrinsics on windows ARM platforms

Closes: #926
Closes: #927
Changes use of intrinsics: https://learn.microsoft.com/en-us/cpp/intrinsics/umul128?view=msvc-170 and https://learn.microsoft.com/en-us/cpp/intrinsics/emul-emulu?view=msvc-170

I feel like rather than doing if defined(BOOST_JSON_HAS_MSVC_64BIT_INTRINSICS) && !defined(_M_ARM64) and similar, we should have BOOST_JSON_HAS_MSVC_X86_64_INTRINSICS, BOOST_JSON_HAS_MSVC_ARM64_INTRINSICS BOOST_JSON_HAS_MSVC_X86_INTRINSICS, BOOST_JSON_HAS_MSVC_ARM32_INTRINSICS. Or does the overlap make it impractical?

Nah, let's merge it as-is. I'm expecting to remove it with dependency on Boost.Charconv soon anyway.


Conditionally load convergence utils

The test suite on GHA has a bunch of errors:
WARNING: Method definition kwcall(NamedTuple{names, T} where T<:Tuple where names, typeof(##232.test_convergence_order!), Any, Any) in module ##232 at /home/runner/work/ClimaTimeSteppers.jl/ClimaTimeSteppers.jl/test/convergence_utils.jl:57 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition kwcall(NamedTuple{names, T} where T<:Tuple where names, typeof(##232.test_convergence_order!), Any, Any, Any) in module ##232 at /home/runner/work/ClimaTimeSteppers.jl/ClimaTimeSteppers.jl/test/convergence_utils.jl:57 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition pass_conv(Any, Any) in module ##232 at /home/runner/work/ClimaTimeSteppers.jl/ClimaTimeSteppers.jl/test/convergence_utils.jl:73 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition fail_conv(Any, Any) in module ##232 at /home/runner/work/ClimaTimeSteppers.jl/ClimaTimeSteppers.jl/test/convergence_utils.jl:74 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition super_conv(Any, Any) in module ##232 at /home/runner/work/ClimaTimeSteppers.jl/ClimaTimeSteppers.jl/test/convergence_utils.jl:75 overwritten on the same line (check for duplicate calls to `include`).
WARNING: Method definition convergence_order_results(Any, Any) in module ##232 at /home/runner/work/ClimaTimeSteppers.jl/ClimaTimeSteppers.jl/test/convergence_utils.jl:79 overwritten on the same line (check for duplicate calls to `include`).

due to re-including utility files (build here).
This PR conditionally loads based on if IntegratorTestCase is defined.

Looks like this fixes all of the warnings, merging...


Now Playing Function

If you guys could add a now playing function into your package. it would be very helpful.
thanks!

Why not <Queue>.songs[0]?

Why not <Queue>.songs[0]?

How do i do that


Windows Desktop can not get full code

I have a strange problem, in some Windows systems, the complete barcode cannot always be scanned, and the results in release mode and debug mode are different.
My code is this
BarcodeKeyboardListener(               bufferDuration: const Duration(milliseconds: 500),               useKeyDownEvent: true,               onBarcodeScanned: (barcode) {                 debugPrint(barcode);                 if (barcode.length == 12) {                   barcode = "0" + barcode;                 }                 controller.barcode(barcode: barcode);               },               child: barcodeList(),             )
i have 3 barcode
0755441231925
20147426
3700408421526
in debug mode result

in release mode result

Hello.. have you found any solution for this?

Closing this since it's issue with Flutter, not this plugin.


Issue with  component

Not able to set minDate attribute (minDate: "today") to disable all past dates from before today.

@RodolVelasco
Please update Tablar Kit and try using the following code snippet
<x-flat-picker name="birth_date"
               :options="['minDate' => now()->format('Y-m-d')]"
               class="mb-3"></x-flat-picker>

You may check https://youtu.be/zyShcQ2e5T4

Thanks for your quick response. Sadly, I was not able to make it work. I updated tablar.kit as suggested in the video and documentation. Then tried multiple ways with :options="['minDate' => now()->format('Y-m-d')]" and with :jsonOptions too. x-flat-picker works fine with the default behaviour but no success when given :options attribute

@RodolVelasco, sorry for the inconvenience. I have also updated to Tablar 10.01. Please update it and let me know your feedback.

Awesome. Thanks for your quick response. Now is working perfectly!


Active navigation

I've been looking for a way to create an active navigation in Middleman and ended up writing a small helper that checks the current_page.url against the link url and adds a class if they match so I can style that navigation link separately.
Is there something in Middleman that would enable me to do this without the helper, and if not, is this something that could maybe be included?

This might help: https://github.com/michaek/middleman-navigation
Nothing is included, but a your approach sounds exactly like how I would solve the problem,


Projections aren't being included in forward slices of function parameters

Example:
fn bar(x: (i32, i32)) {
  let y = x.0;
}

y is not in the forward slice of x, but is if x is a function local, or if doing let y = x.

Fixed in 541ae981cdeb935697d6af9fee1bc3a9bedcde2d.


fix: Improve Light theme for the Dashboard Page

Fixes #525
Checklist

[x] Documented
[x] Unit tested

Appbar

Search field

Group selected

Table header

Project tile

Loading state

Colors

Dropdown item

No search results state

@Mergifyio refresh


Translation update and fixes

Translation update and fixes to address https://issues.redhat.com/browse/ACM-3458

Pulled changes into following PR: https://github.com/stolostron/console/pull/2592
Closing


Optimize legacy payloads

Legacy webhook payloads need to be optimized as they are still in use and can potentially be used until Saleor 4.0:

check their performance using Datadog to identify the most used ones and those that take the most time
identify duplicated database queries and optimize them
test the DB and memory performance with a large dataset.

Any optimization changes need to be applied to Saleor 3.14 and higher.

Datadog dashboard showing usage of legacy payloads.

Traces can be found with filters like: operation_name:generate_checkout_payload.
Example: https://app.datadoghq.com/apm/traces?query=operation_name%3Agenerate_checkout_payload&cols=core_service%2Ccore_resource_name%2Clog_duration%2Clog_http.method%2Clog_http.status_code&graphType=flamegraph&historicalData=false&messageDisplay=inline&query_translation_version=v0&shouldShowLegend=true&sort=time&spanType=all&view=spans&start=1698324990168&end=1698325890168&paused=false

Changed usage of all expensive queries to replica
https://github.com/saleor/saleor/pull/14844

above comment wasn't implemented because we need to have updated data from reader, not to rely on replica in async webhooks. We should optimize it further but it should not pose a threat for now.

@maarcingebala I think this might have been addressed in the meantime?


Update requirements

I had problems installing until changing the versions in requirements. Several didn't work as specified originally. I just installed the latest versions in most cases. These versions are what I ended up with.

Closed by #292.


[5.7] Fix issues with losing state when navigating or opening/closing items while filtering

Rationale: Fix issues with losing state when navigating or opening/closing items while filtering
Risk: Medium
Risk Detail: The PR refactors the way we track which items are being rendered, upon opening/closing
Reward: High
Reward Details: Fixes all issues related to filtering, and opening/closing branches.
Original PR: https://github.com/apple/swift-docc-render/pull/117
Issue: rdar://90843762
Code Reviewed By: @mportiz08 @marinaaisa
Testing Details: Updated unit tests, manually tested all possible interactions, like toggle, toggle siblings, toggle all children.

@swift-ci test


[FR] Test Shell Environment Peristence Technique

Summary
Test the ~/.zshenv and /etc/zshenv persistence techniques, and see whether this works for Linux as well.
Ref: https://www.sentinelone.com/labs/bluenoroff-hidden-risk-threat-actor-targets-macs-with-fake-crypto-news-and-novel-persistence/

Conclusion
Linux does not have a bashenv/shenv equivalent. This is specific to zsh, so I will not create a new module. This can be implemented manually through the --custom flag in the shell profile persistence module if requested.


Fix invalid JSX code syntax (plugin)

Reference Issues/PRs
none
What does this implement/fix?

Fixed invalid JSX code syntax (return & fragment missing)

Thanks! 👍


Adds licence_details from api

Fixes #1063

Adds missing copyright information to footer.hbs.

Integrates licence_details from api (http://open-event-dev.herokuapp.com/api/v1/#!/events/get_event ) to the app for extracting licence information.

Adds a period at the end of the line.

Screenshots for the change:
Before

After

Demo server:
http://open-event-web-appp.herokuapp.com/
@mariobehling @aayusharora @Princu7 Please review. Thanks.

Codecov Report

Merging #1216 into development will decrease coverage by 0.36%.
The diff coverage is 25%.

@@               Coverage Diff               @@
##           development    #1216      +/-   ##
===============================================
- Coverage        64.12%   63.75%   -0.37%
===============================================
  Files                9        9
  Lines             1466     1476      +10
  Branches           220      221       +1
===============================================
+ Hits               940      941       +1
- Misses             526      535       +9

Impacted Files
Coverage Δ

src/backend/fold.js
83.7% <25%> (-1.66%)
:arrow_down:

Continue to review full report at Codecov.

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

Thanks :)


Distinguish different workers in Prometheus PushGateway

In this PR:

The worker index of each worker is added as a label when pushing metrics to PushGateway to distinguish workers.

Fixes #1354
Results:
/metrics endpoint of PushGateway

Grafana dashboard showing metrics from two workers simultaneously

We would need a stub of the method this.prometheusPushGateway.pushAdd so we can track that it is being called and passing the expected parameters. This will then give us code coverage of that line and we know that it executes and passes the correct parameters, also checks that the call is likely to succeed and not fail when executed for real.


Add zbuf.Reader post records method

Add a method for client.Connection that allows users to pass a stream of
records to be ingested into zqd. These changes are needed for the load command
in the upcoming brimcap repo.
Add zngio.IOReader that uses a zngio.Writer to transform a zbuf.Reader into an
io.Reader.

After pondering this a little further, and getting some useful feedback from @mccanne,  I am now seeing this as unnecessary and dropping this pr.


size_t is unsigned

In many places size_t is incorrectly mapped to signed int, for example:
C signature
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata);

NativeCall signature
sub callback( Pointer $ptr , int $size, int $nmemb, OpaquePointer $wtf --> int )

According to C standard size_t is unsigned type.
Also it generally follows machine registers size.
So it should be more correctly mapped to ulong.

I see. Thanks for the valuable info.


Close the stream in beforeDestroy

Closing the stream is a nice battery-saver and shuts the webcam stream off when the element is removed via v-if etc.
I've managed to do it like so from my own component:
this.$refs.qr._wrapper.$refs.inner.$refs.video.srcObject.getVideoTracks()[0].stop()

You would probably just need to get the this.$refs.video.srcObject.getVideoTracks()[0].stop() part from inside the component itself.
Cheers

Maybe you can do it like so
this.$refs.qr.fullStop()


chore: Various typing fixes

119 -> 76 typing errors. (46 fixed, 3 new revealed by other fixes)
Summary of Changes
Ref https://github.com/amundsen-io/amundsen/issues/47
No functional changes intended.
Tests
No notable changes.
Documentation
None
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide

@Golodhros can you please merge? (feel free to merge any of my PRs if they LGTY)


fix(naming): correct casing of taskResult

fixes #1

actually there's quite a few broken filenames, PR incomming for all of them.


SRC-10; Native Bridge Standard

Abstract
The following standard allows for the implementation of a standard API for Native Bridges using the Sway Language. The standardized design has the bridge contract send a message to the origin chain to register which token it accepts to prevent a loss of funds.
Motivation
A standard interface for bridges intends to provide a safe and efficient bridge between the settlement chain and the Fuel Network.
Prior Art
The standard is centered on Fuel’s Bridge Architecture. Fuel's bridge system is built on a message protocol that allows to send (and receive) messages between entities located in two different blockchains
The following standard takes reference from the FungibleBridge ABI defined in the fuel-bridge repository.
Specification
The following functions MUST be implemented to follow the SRC-10; Native Bridge Standard:
Required Functions
- fn register_bridge(token: b256, gateway: b256, chain_id: String)
This function MUST send a message on the chain_id chain to the gateway contract, registering the specified token.
- fn process_message(msg_idx: u64)
This function MUST parse a message at the given msg_idx index.
This function SHALL mint a token that follows the SRC-8; Bridged Asset Standard.
This function SHALL issue a refund if there is an error in the bridging process.
- fn withdraw(to: b256, sub_id: b256, gateway: b256, chain_id: String)
This function SHALL send a message to the gateway contract to release the bridged tokens to the to address on the chain_id chain.
This function MUST ensure the sha256(contract_id(), sub_id) matches the asset's AssetId sent in the transaction.
This function SHALL burn all tokens sent in the transaction.
- fn claim_refund(to: b256, token: b256, token_id: b256, gateway: b256, chain_id: String)
This function SHALL send a message to the gateway contract to release the token token with id token_id to the to address on the chain_id chain.
This function MUST ensure a refund was issued.
Required Data Types
The following describes a struct that encapsulates various message metadata single type. There MUST be the following fields in the MessageData struct:
- amount: u256
The amount field MUST represent the number of tokens.
- from: b256
The from field MUST represent the bridging user’s address on the canonical chain.
- len: u16
- to: Identity
The to field MUST represent the bridging target destination Address or ContractId on the Fuel Chain.
- token_address: b256
The token_address field MUST represent the bridged token's address on the canonical chain.
- token_id: Option<b256>
The token_id field MUST represent the token's ID on the canonical chain. MUST be None if this is a fungible token and no token ID exists
- chain_id: String
The chain_id field MUST represent the canonical chain's id.
Example
struct MessageData {
     amount: b256,
     from: b256,
     len: u16,
     to: Identity,
     token_address: b256,
     token_id: Option<b256>,
     chain_id: String,
}

Required Standards
Any contract that implements the SRC-10; Native Bridge Standard MUST implement the SRC-8; Bridged Asset Standard for all bridged assets.
Rationale
The SRC-10; Native Bridge Standard is designed to standardize the native bridge interface between all Fuel instances.
Backwards Compatibility
This standard is compatible with the SRC-20 and SRC-8 standards.
Example ABI
abi SRC10 {
     fn register_bridge(token: b256, gateway: b256, chain_id: String);
     fn process_message(msg_idx: u64);
     fn withdraw(to: b256, sub_id: b256, gateway: b256, chain_id: String);
     fn claim_refund(to: b256, token_address: b256, token_id: b256, gateway: b256, chain_id: String);
}

lgtm, though chain_id is making some noise for me (not only here, but in other SRCs), because so far we can only anchor to a canonical chain, and we do not get info about the chain id when we parse the input message. The standard is ahead of the spec, so to speak - I have the feeling I have discussed this somewhere else, but I think it 's good to have it present here too.
Just for reference this is the related current implementation:
// FuelMessagePortal.sol
emit MessageSent(sender, recipient, nonce, uint64(amount), data);

And the format in the spec: https://github.com/FuelLabs/fuel-specs/blob/master/src/tx-format/input.md#inputmessage

Can you expand a bit on register_bridge, what does it do and what's the purpose?

It is a function that compiles a message to be sent back to the L1 counterpart of the bridge. The L1 contract receives the contract ID and the supported token address in this message, so that when assets are deposited, the target contract ID has self reported its ability to hold them. It is a protection mechanism to prevent loss of funds. Trying to deposit tokens to a contract ID that does not exist or does not implement the MessageReceiver trait would mean permanent loss of funds.


Adding wn-oasis.md converted twiki document

https://twiki.opensciencegrid.org/bin/view/Documentation/Release3/UsingOSGWnClientFromOASIS
I also updated the links in the other WN docs.

[ ] Enter date into "Migrated" column of google sheet
[ ] Add migration header to TWiki document

@brianhlin addressed the comments.


Enhance pulumi-java-gen default gradle buildfiles

Description

Fixes #583
How I tested:
#!/usr/bin/env bash

set -euo pipefail

mkdir -p bin

(cd pkg && go build -o ../bin github.com/pulumi/pulumi-java/pkg/cmd/pulumi-java-gen)

./bin/pulumi-java-gen \
    -schema https://raw.githubusercontent.com/pulumi/pulumi-random/v4.6.0/provider/cmd/pulumi-resource-random/schema.json \
    -out providers/pulumi-random/sdk/java \
    -override override.json \
    -version 4.6.0

(cd providers/pulumi-random/sdk/java && gradle build)

export SIGNING_KEY=$(cat secret.key)
export SIGNING_PASSWORD=$(pass<EMAIL_ADDRESS>
export PUBLISH_REPO_URL=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
export PUBLISH_REPO_USERNAME=t0yv0
export PUBLISH_REPO_PASSWORD=$(pass<EMAIL_ADDRESS>
(cd providers/pulumi-random/sdk/java && gradle publish)

Given override.json:
{
    "buildFiles": "gradle",
    "packages": {
        "com.pulumi:pulumi": "0.0.1"
    }
}

The override.json could just be a part of the schema under .language.java. Unfortunately currently published schemas do not yet include Java options so mixing it in from the side seemed convenient.'
The buildFiles: gradle is important because build files generation is opt-in. We should really support Maven but at this point I'm a lot more familiar with Gradle so I started with it.
Checklist

[ ] I have added tests that prove my fix is effective or that my feature works

[ ] I have updated the CHANGELOG-PENDING file with my change

[ ] Yes, there are changes in this PR that warrants bumping the Pulumi Service API version

Looks like I need a bit more work to make it no-op for existing provider+CI setup in place here, but the new pathway can be reviewed already.

@t0yv0 as the version of the binary and the version of the package in the override.json is the same, can we cut the need for passing this value? If so then we could remove the need for override.json completely and pass a build flag (--build=gradle) and that makes this even easier :)

In terms of releasing this, any thoughts - should I just add this as an artifact to the GitHub releases for the repo? Or should perhaps bundle the code-generation facility inside pulumi-language-java? Conceptually at least it makes sense.

In terms of releasing this, any thoughts - should I just add this as an artifact to the GitHub releases for the repo? Or should perhaps bundle the code-generation facility inside pulumi-language-java? Conceptually at least it makes sense.

I'd be more of a fan of having a specific gen binary (much like tfgen is) for this as it keeps the language binary separate

For me this is a +1 but this is more a review for @mikhailshilkov :)

Sounds good! Pawel can also review for consistency Java-wise. I'd like to err on the side of checking in and releasing, fully expecting to iterate a few more times on this as y'all try it out.

I'll for just adding this binary to the GoReleaser and GitHub releases.


tree refresh problem from a second ng-controller

I've come across a problem where the tree does not reflect any updates if the change was made under a separate instance of an ng-controller like below.  So if the "add node" button is included under the first ng-controller, everything works as expected.  If it is included as in the code below, the addNode() method gets invoked however the tree does not show any new nodes.
I've got this situation because my "add node" button is in my editor which is separate to my tree.  JsTree itself does not have a problem with this situation - only ngJsTree.

        <button ng-click="vm.addNode()">Add Node</button>

Can you please reproduce it on plunker?
Make sure you use the same array in both controllers


Alpha Launch Checklist

[x] Merge development with Master

[ ] Test open-event-master-app-playStore-release-unsigned.apk from the apk branch

[ ] Upload the apk in console

@iamareebjamal Since we are using the automatic signing the unsigned apk from the apk branch should be uploaded to the console right ?
How do I test the unsigned apk ? We can't install unsigned apps right ?

@iamareebjamal Could you please select the option of re using the signing key in the console. I don't have the rights of doing that.
I'll do Build->Generate signed APK
After testing the APK I'll upload it right ? My keys would be replaced with the signing keys that are being reused in the console ?
Is it possible to add environment variables in the APK this way ?

Automatic signing of the app should be enabled in the repo. You should test the app thoroughly and then give me the app. I'll sign it with upload key and upload it on the console

Release apps can be made through terminal. Everything that gradle can do can be done through terminal. Orga App has been deployed for an year through terminal. But we'll need FOSSASIA's official STRIPE API key now @mariobehling

@iamareebjamal I think we can launch the app without the key for now because STRIPE doesn't work on the server as far as I know. They are also using the test keys on the server.
Can we launch the app as a prototype for now. We have been asked to publish it in playstore for a long time, it would be nice if we are able to publish the app before the evaluations start

OK

@iamareebjamal I have emailed you the apk. I have updated the Store listing in the console.
Please tell if something is wrong or if I have to add more details somewhere.

[ ] The icon is not proper. Check the images I have shared and the ones in the app (My mistake as I forgot to convert text to path or tell you the font)
[ ] The app theme does not match the icon.

You have 2 choices, either make these changes before launching the app for do it within the day of the launch and re-release with the automated deployment system
The deployment system must be added within 2 days as well

I am creating the issues, we will fix those in a day lets launch the app for now

@iamareebjamal Yeah let's launch the app. I already have sent the PR to automate the process https://github.com/fossasia/open-event-android/pull/278 so it should not take much time to re-release the app with the above suggested changes

@iamareebjamal I didn't get the first point. Both the icons looks same to me. What changes needs to be done ?

See the e text font

@iamareebjamal could you please tell us font or provide us the updated icon

Providing in a few minutes. BTW, I have published the app

open-android.zip

Ignore the previous ZIP
open-android.zip


Bogus "Patterns are incomplete" for if-then-else

Not sure if this is the same as the many other occurrences of this problem, so filing this separately. This time it was appearing in certificate checking code, minimized this to:
module Bug

assume val verify: #p:(int -> Type) -> d:int -> Tot bool

opaque type pred (d:int)

val checkmail: int -> unit
let checkmail ctxt = if verify #pred ctxt then ()

This seems very similar to #122, by the way.


Lazyload rss widgets

Description
When a lot of rssfeeds are configured the loading takes pretty long. It would be great if the images of the rss widget would be lazy loaded. (Loaded after the dashboard is ready)
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues

Need to do this soon

@Meierschlumpf ive tried this today and it seemed to only save about 1kb of space. So 1/478kb on page load. If we want to reduce page load time we should look for other improvements.
If you’re okay let’s close this. The “big” libraries should be the ones we dynamically load like the videojs one for example.
I think if you run yarn analyze it shows you what takes space and ~70% of it in just mantine stuff 🥲

Yeah the thing with this issue was, that when you have added for example 10 different rss sources, that it would have to load all the images for the rss items imediately. But I know what you mean. So the lazy loading would only be related to images

Yeah the thing with this issue was, that when you have added for example 10 different rss sources, that it would have to load all the images for the rss items imediately. But I know what you mean. So the lazy loading would only be related to images

Oooh you mean that. Makes sense. I thought you meant using next/dynamic to load it to reduce initial bundle size.
So the issue is most likely that we await for the return of promises to get the link to the image before displaying it. Maybe we can return a promise and let it solve itself locally? We can probably use the ‘input’ option on the trpc query to modify the data we get so that it fetches the open graph tags by itself (or parses the rss, I’m not sure how it’s done)


services.keynav - attribute missing

Putting services.keynav.enable = true; into my home-manager config causes the following error:
beb@nixos-beb ~> home-manager switch
error: attribute 'package' missing, at /home/beb/.nix-defexpr/channels/home-manager/modules/services/keynav.nix:21:24
(use '--show-trace' to show detailed location information)

My channels are up to date and follow master:
beb@nixos-beb ~> nix-channel --list
home-manager https://github.com/rycee/home-manager/archive/master.tar.gz
nixpkgs https://nixos.org/channels/nixpkgs-unstable

I am also running an up to date NixOS:
beb@nixos-beb ~> uname -a
Linux nixos-beb 5.4.31 #1-NixOS SMP Wed Apr 8 07:08:47 UTC 2020 x86_64 GNU/Linux

Here's the full trace if that helps.
beb@nixos-beb ~> home-manager switch --show-trace
error: while evaluating the attribute 'buildCommand' of the derivation 'home-manager-generation' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/pkgs/build-support/trivial-builders.nix:7:14:
while evaluating the attribute 'buildCommand' of the derivation 'home-manager-files' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/pkgs/build-support/trivial-builders.nix:7:14:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:234:10, called from undefined position:
while evaluating anonymous function at /home/beb/.nix-defexpr/channels/home-manager/modules/files.nix:311:28, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:234:16:
while evaluating 'sourceStorePath' at /home/beb/.nix-defexpr/channels/home-manager/modules/files.nix:15:21, called from /home/beb/.nix-defexpr/channels/home-manager/modules/files.nix:312:25:
while evaluating the attribute 'source' at undefined position:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:84:45, called from undefined position:
while evaluating the attribute 'value' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:383:9:
while evaluating the option `home.file.systemd/user/graphical-session.target.wants/keynav.service.source':
while evaluating the attribute 'mergedValue' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:415:5:
while evaluating the attribute 'values' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:409:9:
while evaluating the attribute 'values' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:508:7:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:395:28, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:395:17:
while evaluating definitions from `/home/beb/.nix-defexpr/channels/home-manager/modules/misc/xdg.nix':
while evaluating 'dischargeProperties' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:467:25, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:396:137:
while evaluating the attribute 'value' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:281:44:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:84:45, called from undefined position:
while evaluating the attribute 'value' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:383:9:
while evaluating the option `xdg.configFile.systemd/user/graphical-session.target.wants/keynav.service.source':
while evaluating the attribute 'mergedValue' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:415:5:
while evaluating the attribute 'values' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:409:9:
while evaluating the attribute 'values' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:508:7:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:395:28, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:395:17:
while evaluating definitions from `/home/beb/.nix-defexpr/channels/home-manager/modules/systemd.nix':
while evaluating 'dischargeProperties' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:467:25, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:396:137:
while evaluating the attribute 'value' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:281:44:
while evaluating the attribute 'text' of the derivation 'keynav.service' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/pkgs/build-support/trivial-builders.nix:7:14:
while evaluating 'toINI' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:116:6, called from /home/beb/.nix-defexpr/channels/home-manager/modules/systemd.nix:37:16:
while evaluating 'mapAttrsToStringsSep' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:119:44, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:127:7:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:234:10, called from undefined position:
while evaluating 'mkSection' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:122:31, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:234:16:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:86:6, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:124:14:
while evaluating 'mapAttrsToList' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:233:23, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/generators.nix:86:52:
while evaluating the attribute 'Service' at undefined position:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/types.nix:293:22, called from undefined position:
while evaluating the attribute 'value' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:428:27:
while evaluating 'merge' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/types.nix:292:20, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:417:59:
while evaluating 'filterAttrs' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:124:23, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/types.nix:293:35:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:125:29, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:125:18:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/types.nix:293:51, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:125:62:
while evaluating the attribute 'ExecStart' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:344:7:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/types.nix:293:86, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/attrsets.nix:344:15:
while evaluating the attribute 'optionalValue' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:427:5:
while evaluating the attribute 'values' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:409:9:
while evaluating the attribute 'values' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:508:7:
while evaluating anonymous function at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:395:28, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:395:17:
while evaluating definitions from `/home/beb/.nix-defexpr/channels/home-manager/modules/services/keynav.nix':
while evaluating 'dischargeProperties' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:467:25, called from /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/modules.nix:396:137:
while evaluating the attribute 'value' at /nix/store/ibhzhbhwd3by0vy5qa4s8ag2vh2adbs2-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/lib/types.nix:297:60:
attribute 'package' missing, at /home/beb/.nix-defexpr/channels/home-manager/modules/services/keynav.nix:21:24

Thanks for this awesome package. Managing my environment any other way feels like the stone age now!

It seems like the following change might have somthing to do with it:
https://github.com/rycee/home-manager/pull/1082#discussion_r392715440

Can confirm that this fixed the issue for me.
Thanks a lot! Home-manager is the future.


[BUG] [Flutter Web] google_fonts_base.dart.lib.js size 8Mb

Package
google_fonts
Existing issue?

[X] I checked the existing issues

What happened?
google_fonts library JavaScript itself has the file size of 8Mb.
It is only library JavaScript, so fonts are loaded additionally and have their own file sizes.
Might be nice to reduce the library JavaScript file size to something acceptable for the web.

google_fonts_base.dart.lib.js size 8Mb

Relevant log output
No response

I am interested in that topic as well to bring down the bundle size for web.
Is HTTP fetching at runtime enabled by default for Flutter Web?
If that were the case it would at least not be a blocking call

Why is file size a concern for local, debug-mode development?
However, this does bring up the concern for release mode, where a minimal app has a main.dart.js with an uncompressed 4.1MB size, up from the .

minimal app with google_fonts
minimal app

Is HTTP fetching at runtime enabled by default for Flutter Web?
HTTP fetching is the default, and can be turned off with https://pub.dev/documentation/google_fonts/latest/google_fonts/GoogleFonts/config.html

Just run into this, GoogleFonts has increased my web --release build size by 5MB.
I dug deeper and found the likely culprit:
There is GoogleFonts.asMap() method which returns a map of every single font on Google Fonts and the associated TextStyle. It spans 1507 lines of code. This code cannot be tree-shaken during dart build.
Even if GoogleFonts.asMap() is not directly used, it is called in every call to GoogleFonts.getFont(), so again the whole code of the asMap() method has to be included in the resulting .js code and cannot be tree-shaken. (Not to mention this looks quite inefficient)
Luckily, you can use something like GoogleFonts.roboto(), which is efficient and does not include asMap() in the resulting build.
By removing asMap() and getFont() calls, I was able to get rid of the 5MB increase completely. Unfortunately, this also means there is no way to list the available fonts or specify them by name in the code. I am currently researching if I am able to move this functionality behind deferred loading.

For anyone facing the issue, this is the pattern I am using to workaround the tree shaking problem:
Instead of GoogleFonts, I am using my class FontProvider, which returns FutureOr<TextStyle>:
import 'package:google_fonts/google_fonts.dart';

class FontProvider {
  static FutureOr<TextStyle> getFont(String fontName) {
    return switch (fontName) {
      'Roboto' => GoogleFonts.roboto(),
      'Montserrat' => GoogleFonts.montserrat(),
      _ => FontProviderDeferred.instance.getFont(fontName),
    };
  }
}

If the font is known by FontProvider, it is directly returned in sync mode as TextStyle. If not, it fallbacks to this class:
import 'package:google_fonts/google_fonts.dart' deferred as gf;

class FontProviderDeferred {
  static final instance = FontProviderDeferred._();
  late Future<void> _loaded;

  FontProviderDeferred._() {
    _loaded = gf.loadLibrary();
  }

  Future<TextStyle> getFont(String fontName) async {
    await _loaded;
    return gf.GoogleFonts.getFont(fontName);
  }
}

Where the problematic code load is deferred and is returned as Future<TextStyle> due to the library loading.
In my case, this saves 5 MB from the initial download and unless some exotic font is requested (font name is part of data in our case), it never loads the deferred code.
I stripped the code of details to keep it readable, you want to pass text style parameters to getFont(), handle errors and support more fonts obviously.


Adjust Inversion of Control definition

Summary
Adjusts the IoC glossary definition as per our discussion offline.
IMO the existing definition isn't quite right, inversion of control is a broader concept not limited to relationships between I/O logic and business logic.

Pull Request Check List

[x] Typos aside (please, always submit typo fixes!), I understand that this pull request may be closed in case there was no previous discussion.
[x] Added tests for changed code.

The CI fails with less than 100% coverage.

[x] New APIs are added to our typing tests at https://github.com/hynek/svcs/blob/main/tests/typing/.
[x] Updated documentation for changed code.

[x] New functions/classes have to be added to docs/core-concepts.md or one of the integration guides by hand.
[x] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.

The next version is the second number in the current release + 1. The first number represents the current year. So if the current version on PyPI is 23.1.0, the next version is gonna be 23.2.0. If the next version is the first in the new year, it'll be 24.1.0.

[x] Documentation in .rst and .md files is written using semantic newlines.
[x] Changes (and possible deprecations) are documented in the changelog.
[x] Consider granting push permissions to the PR branch, so maintainers can fix minor issues themselves without pestering you.

@bobthemighty? 😇

@bobthemighty? 😇

Inversion of control means that your application doesn't invoke something at all. Instead your application is invoked by the other thing. Hence the Hollywood principle. You don't invoke the lower layers, they invoke you.
For a long time, if you wanted to build a web service, you needed to write code that would listen on a socket, parse an incoming message, then do something useful with that.
In other words, your code controlled the whole stack.
In modern frameworks, the control is inverted: you register a handler to a URL, and you get called when it's time to do some work. This is true of many kinds of framework. It's so ubiquitous that you probably don't think of there being any alternative.
I would gently repeat the advice to just not mention IOC at all. This definition is incorrect and you'll get snarky issues forevermore demanding that you reword things.

What do you see as incorrect about it Bob? Everything you say is what I mean too.
Perhaps it's the use of the word 'program'. An application is running both custom and framework code, so one way of seeing it is that the framework bit of the application is calling the custom bit indirectly. But perhaps it's a confusing way of putting it.
Mentioning frameworks is just an example. The important thing IMO is the indirect invocation, IoC could happen within a framework just as much as between a framework and custom code.
My vote would be to keep trying for a definition. It's not a complicated idea, it's useful for people to understand, it's just that we don't have a precise common language to talk about it with, IMO.

Alright, I've meditated over this and I think I have a compromise that maybe everyone can live with by using a relevant example and adding a bunch of weasel words:

Inversion of Control (IoC) describes the concept of your code being invoked by someone else -- usually based on some kind of configuration.
That's why it's sometimes called the Hollywood Principle: "Don't call us, we'll call you."
From the perspective of the user, this usually means that third-party lower-level code (socket listeners, web frameworks, object observers) invokes your higher-level code (business logic).
A service locator like svcs is an example for IoC, because you tell it how to create services by defining a factory for a type and svcs will then invoke that factory when the user asks for a service of said type.

From the perspective of the user, this usually means that third-party lower-level code (socket listeners, web frameworks, object observers) invokes your higher-level code (business logic).

Personally I would change 'higher-level code (business logic)' just to 'custom code'.

A service locator like svcs is an example for IoC

'for' -> 'is'?
Otherwise, I like it!


Add a step to ETL build to refresh bioportal

the bp prefix map (#3) should be refreshable the same way as the others (see README)

I am assuming this is in place as we have a README on how to refresh the contents here via tox.


chainmaker close tls can not find http2 path

chainmaker close tls can not find http2 path
can not access node

commit add5839d1c527180bb7235c933e4f29ae84f8ff3
Problem fixed


New version: Unity.Unity.6000.WindowsServer version 6000.0.16f1

Created by 🥟 Dumplings in workflow run #7554.

Log
Updated: 6000.0.15f1 → 6000.0.16f1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000 version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168874
Handling Unity.Unity.6000.Android...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.Android version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168875
Handling Unity.Unity.6000.iOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.iOS version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168876
Handling Unity.Unity.6000.tvOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.tvOS version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168877
Handling Unity.Unity.6000.visionOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.visionOS version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168878
Handling Unity.Unity.6000.LinuxIL2CPP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxIL2CPP version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168879
Handling Unity.Unity.6000.LinuxMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxMono version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168880
Handling Unity.Unity.6000.LinuxServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxServer version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168881
Handling Unity.Unity.6000.MacMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.MacMono version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168882
Handling Unity.Unity.6000.MacServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.MacServer version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168883
Handling Unity.Unity.6000.UWP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.UWP version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168884
Handling Unity.Unity.6000.WebGL...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.WebGL version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168885
Handling Unity.Unity.6000.WindowsIL2CPP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.WindowsIL2CPP version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168886
Handling Unity.Unity.6000.WindowsServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

Depends on https://github.com/microsoft/winget-pkgs/pull/168874

/azp run

Automatic Validation ended with:

2024-08-26 16:19:41.917 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(757)\WindowsPackageManager.dll!00007FFF9083C11F: (caller: 00007FFF905C8D6F) LogHr(1) tid(864) 8A15005E     Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Rest\Schema\HttpClientHelper.cpp(30)\WindowsPackageManager.dll!00007FFF90742B08: (caller: 00007FFF907EBC20) Exception(1) tid(864) 8A15005E ]
2024-08-26 16:19:51.189 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(757)\WindowsPackageManager.dll!00007FFF75CDC11F: (caller: 00007FFF75A68D6F) LogHr(1) tid(1d7c) 8A15005E     Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Rest\Schema\HttpClientHelper.cpp(30)\WindowsPackageManager.dll!00007FFF75BE2B08: (caller: 00007FFF75C8BC20) Exception(1) tid(1d7c) 8A15005E ]

(Automated response - build 888.)

Automatic Validation ended with:
(Automated response - build 891.)


DefaultEndOfLine enum not accessible in Javacript API

The following line from the README described API works in Typescript but not in Javascript or Coffeescript.
Piece Tree exports the DefaultEndOfLine enum as it is necessary for the API. Per the README:
const pieceTree = pieceTreeFactory.create(DefaultEndOfLine.LF);

This works in Typescript, but in plain Javascript or Coffeescript one gets the following:
TypeError: Cannot read property 'LF' of undefined`

I looked into it and learned that the Typescript compiler declares a const enum in the TS declaration files, but does not generate any JS code for it -- as constants they are completely erased (replaced with hardcoded underlying values) at compile time.  Hence the error for any client that doesn't look at the TS declaration files, e.g. Javascript, Coffeescript, etc.
Removing the const keyword eliminates the error, but now there is a level of indirection when accessing Typescript values.  Not sure what the ideal solution is.

This proves to be a problem when trying got use ESBuild as your bundler...


Registration

@JuliaRegistrator register()
Fixed repo url to include .jl.

Registration pull request created: JuliaRegistries/General/102897
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" 20e96b39b1162551ca7b004977b1457942763b0c
git push origin v0.1.0


“500: Internal server error” when uploading a package to PyPI

Hi.
Describe the bug
I get "500: Internal Server Error" trying to upload my library django-pg-hll version to both pypi and testpypi (5 retries). There were no problems with uploading previous releases but it was a long time ago.
Expected behavior
Uploaded package
To Reproduce

Clone django-pg-hll
Build it using python setup.py sdist and python setup.py bdist_wheel
Try uploading with twine upload dist/* --skip-existing --verbose --repository-url https://test.pypi.org/legacy/

My Platform

Ubuntu 18.04.3 LTS
python 3.8.0
twine 3.2.0

Can you attach the files you're attempting to upload here?

django-pg-hll-1.2.1.tar.gz
django_pg_hll-1.2.1-py2.py3-none-any.whl.zip
P. s. I've added .zip extension to whl file in order to upload it here, just remove it.

Are you uploading with a username/password? Can you confirm whether you're able to log into pypi.org with the username/password you're using?

Thanks. Looks like my password has been compromised. I've changed password and now it's ok. Though, it's strange to get 500 error from twine in this case.

Closing as a duplicate of https://github.com/pypa/warehouse/issues/8431.


New Feature request.

I want a function that can assist in getting quotes from the Bard.
I find it annoying to use get_answer() to get a quote when we can have a command for it.

Let me know what quote you are referring to.
If necessary, please send it to me via email.
The Bard() class has been designed to be as lightweight as possible, with many features removed. Could you please explain if the functionality you are requesting is essential, widely applicable, and commonly used? Alternatively, if you believe it is a valid addition, please submit a pull request after implementing the feature, and we will consider merging it as needed.
Also, Check if the following is the use case you are referring to.
prefix_command = "Give a random quote"
input_text = "in france"
Bard(token='xxx').get_answer(prefix_command+input_text)

The requested pull request can be addressed in a simpler way as follows. Code duplication decreases usability and efficiency. In particular, the request and response functions are more important. Additionally, adding unnecessary methods can cause confusion for other users. There are various other reasons, but I recommend using the code as shown below, and I will close this issue.
Furthermore, the translation code in the current pull request has been removed in the PyPI distribution version for reasons of code efficiency and generality.
There were more diverse and advanced features, but they were excluded to enable reuse as a variety of modules. Therefore, I cannot accept the pull request.
Thank you.
quote_number= 1
quote_type= "random"

quote = Bard(token='xxx').get_answer(f"{quote_number} {quote_type} Quote")["content"]


fix: consistent array syntax in type declaration

This is silly, but a necessary change to work with Microsoft's rush build tool. For some reason the rush update command transforms this declaration file into invalid syntax. Specifically line 39 in Model.d.ts is transformed into:
    default?: string | number | boolean | object | array

Which produces the error:
Rush Multi-Project Build Tool 5.75.0 - Node.js 16.19.1 (LTS)
> "node_modules/.bin/build"

../../common/temp/node_modules/.pnpm/dynamodb-onetable/node_modules/dynamodb-onetable/dist/mjs/Model.d.ts:39:52 - error TS2552: Cannot find name 'array'. Did you mean 'Array'?

39     default?: string | number | boolean | object | array
                                                      ~~~~~

  ../../common/temp/node_modules/.pnpm/typescript@4.7.4/node_modules/typescript/lib/lib.es5.d.ts:1470:13
    1470 declare var Array: ArrayConstructor;
                     ~~~~~
    'Array' is declared here.

Found 1 error in ../../common/temp/node_modules/.pnpm/dynamodb-onetable@2.6.1/node_modules/dynamodb-onetable/dist/mjs/Model.d.ts:39

Another fix is possible - adding a semi-colon - but the change in this PR is more inline with this repo's code style.

I think this just got fixed in #458 PR already.
Can you check the current repo to see if the existing change meets your needs.

I see- yes, that'll do!


Why there is trusted_apps setting in pep-proxy

When using Keyrock idm as the pdp, the pep-proxy checks that the user is logged in from pep.trusted_apps (line 114 and 214). Is there a reason to do this? Because Keyrock already has a "trusted applications" list, doesn't it already check the user permissions and app_id there?
Now I need to add new trusted apps to both lists in idm and pep-proxy. This is a problem for me because  it needs a manual configuration edit and restart for pep-proxy.

Sorry for the delay in answering. PR 111 has solved this issue


[PT-BR] Add content/pt-br/blog/_posts/2023-03-10-image-registry-change.md

Changes
Add the blog post "k8s.gcr.io Redirect to registry.k8s.io - What You Need to Know" in Portuguese (Brazil)

/cc @stormqueen1990

PTAL @stormqueen1990 @MrErlison

Hi @edsoncelio Thank you very much for your contribution.
I found only a small fix, after that will be lgtm

/lgtm


Is it Compatible With Newton VR?

Hi ! want to buy this asset and use it with Newton VR.
So question : Is it Compatible With Newton VR?

Hi there,
I have not personally tested ArmSwinger with Newton VR - sorry!  You can always try the open source version from GitHub first and then decide if you'd like to purchase via the Unity Asset Store.
Good luck!
-KJack

Nope, it's isn't compatible :(
And whats the difference between open sourced and Unity Asset Store Version?

No difference in functionality.  The Unity Asset Store version includes a demo scene that is not open sourced.  It gives you the option to support me if you want to, or to use it freely - your call!


❌ THIS PROJECT IS UNMAINTENANCE AGAIN

When asking general "how to" questions:

Please do not open an issue here!

Instead, ask for help on StackOverflow or in our Gitter channel.

Read the CONTRIBUTING document Any issues that are violating the contributing guidelines, will be closed!

Search for duplicate or closed issues and make sure to go through our labels.

Include a reduced test case in the form of a Codepen when reporting bugs unless it is not applicable, otherwise your issue will be closed.

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Version used:
Browser Name and version:
Operating System and version (desktop or mobile):
Link to your project (if appropriate):

Looks like the project is migrated to other hand (https://github.com/materializecss/materialize). Materialize is still alive, we can open issues here.

what is UNMAINTENANCE? unmaintained? not maintained by anyone anymore? so bugs won't be solved?

The original is kinda abandoned by the developer. But, there is still a fork being maintained by the community


Integrate the PF2e Ability Score Manager into the system

In GitLab by @MrVauxs on Apr 5, 2022, 12:49
It is (most likely, I only have my own experience to support this) widely accepted that the PF2e Ability Score Manager is, if not a must-have, a heavily wanted module to have in a PF2e game. Including the fact that the module has not been updated for 3 months, I believe it should be added to the main system to maintain compatibility and add features that are otherwise left in the modules Issues page.
Currently, the module has the core basics of being able to correctly apply ability boosts and penalties based on the rules given in the Core Rulebook, with the addition of the optional 2 penalties : 1 boost rule.
This though does not include the ability to use variant rules for statistics, such as Gradual Ability Boosts. It also does not warn or prevent the user from having less boosts than they should have.

We have a Ability Score Manager in core now. Closing


Resize events for dynamically added elements using data-interchange not working

How to reproduce this bug:

Add image with data-interchange attr. after main $(document).foundation() call
Call ".foundation()" on added element or document
Resize window

What should happen:
Image src should change
What happened instead:
Nothing
Cause:
The interchange plugin now listens for resize event directly on element instead of on window.
This was changed in "Replace global resize handler in interchange with zf trigger #9626"
Interchange adds data-resize attr. to elements, but at that point util triggers has already been added.
Temporary fix:
Add 'data-resize' attr. to element using data-interchange
Relevant files:
// foundation.interchange.js

    /**
   * Initializes the Interchange plugin and calls functions to get interchange functioning on load.
   * @function
   * @private
   */
  _init() {
    MediaQuery._init();

    var id = this.$element[0].id || GetYoDigits(6, 'interchange');
    this.$element.attr({
      'data-resize': id,
      'id': id
    });

    this._addBreakpoints();
    this._generateRules();
    this._reflow();
  }

// foundation.util.triggers.js

Triggers.Initializers.addResizeListener = function(debounce){
  let $nodes = $('[data-resize]');
  if($nodes.length){
    debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);
  }
}

Proposal the following.
new Foundation.Interchange($('[data-interchange]'));

I think this gets to a key problem with how the triggers module is currently implemented - it expects a global parse once to understand targets. I'd love to figure out how to make it easily and automatically update with new targets... I'm thinking that since we now have the explicit dependency, we should be able to create a callback or something similar... thoughts @coreysyms?

@JarvisH did you create a new instance of interchange?
var elem = new Foundation.Interchange(element, options);

@coreysyms no, I did not use Interchange programmatically, just via the main .foundation() call and data-interchange attributes.

I try to realize a lazy-load with interchange. I have the same problem as described above.
@coreysyms  "new Foundation.Interchange(element, options)" does not work too.
Here a Codepen to see the problem:
https://codepen.io/alsodenn/pen/WZomJP
If you resize the browser the interchange will not replace the sources.
Is there a solution to this problem?
Will this bug be fixed soon?

I'm joining the discussion because I'm facing exactly the same issue:
If I initialize an interchange image programmatically it doesn't work on resize.
@JarvisH your mentioned temporary fix by adding data-resize doesn't seem to work. The issue remains for me.
However what is working is to manually call the _reflow method in a custom changed mediaquery event listener.
I've created an extensive codepen that shows the issue and the quick fix I'm talking about:
https://codepen.io/KaiTheGreat/pen/Qqvqvj
That quick fix is of course not a permanent solution for me so I tried to figure more about this issue but I'm somehow stuck in the triggers util.
@kball would you help me understand how this is working and what's the source of the issue?
I was able to fix it in the interchange events method by replacing resizeme.zf.trigger listener with
$(window).on('changed.zf.mediaquery.'+this.id, () => ...

But this doesn't feel right...

I had previously had this issue when using the Interchange component in this way:
new Foundation.Interchange($('[data-interchange]'));
But as of 6.5.0 the source does appear to swap correctly.

I'm having the same issue using swup.js to render pages with AJAX
swup.on('contentReplaced', function() {
     // doesn't work
     $(document).foundation();

     // doesn't work
     Foundation.reInit();

     // doesn't work
     Foundation.reInit('mediaquery');

     // doesn't work
     Foundation.reInit('interchange');

     // doesn't work
     Foundation.reInit(['mediaquery', 'interchange']);

     // doesn't work
     Foundation.reInit($('[data-interchange]'));


"export 'Spring' was not found in 'react-spring'

Hi, I'm trying to use react spring in my gatsby application, but I'm getting this error when I tried to use it
"export 'Spring' was not found in 'react-spring'
I imported it like this
import { Spring } from 'react-spring'
This is how I'm using it
<Spring
          from={{height:100}}
          to={{height:200}} >
        {styles => (

        )}
</Spring>

I also made sure that the react-spring is included in my node modules

it's import { Spring } from 'react-spring/renderprops'
See: https://www.react-spring.io/docs/props/spring


iFrame PoC

Create PoC for iFrame implementation to demo based on UX design.

Hi @dlabaj,
Is it something that still valid/required? If yes, please, could you try to do the first comment as here and describe the steps required to reproduce and what do you expected and where?


No error when initializing a class field defined as a read-only getter in base class

TypeScript Version:  3.6.4
Search Terms:
"Related Issues" feature of GitHub uses the title as search terms.
Code
class Base {
  get foo() {
    return 5
  }
}

class Child extends Base {
  foo = 10
}

new Child // runtime error!

Expected behavior:
Type error during compile
Actual behavior:
No error until runtime.
Playground Link:
playground
Related Issues:
Might be duplicate of https://github.com/microsoft/TypeScript/issues/13347, but not sure.

Checked this snippet of code directly in Chrome, and there's no runtime error when evaluating new Child. I get a new Child instance with a foo field === 10, and it is assignable (unlike instances of new Base).
do you mean you get a runtime error if you transpile this using typescript (to es5) and then run?
I believe this issue has to do with: https://github.com/microsoft/TypeScript/issues/27644

I don't know how TypeScript is supposed to handle this, but classfields in ES use [[Define]] (think Object.defineProperty) which bypasses the setter in the base class, so this is legal JS; that's probably why you're not getting a runtime error in Chrome @AviVahl.

@AviVahl Yeah, exactly, if TS compiles to the form
constructor() {
  this.foo = 10
}

then it doesn't work. This can happen with either es5 target, or the new "useDefineForClassFields": false option (I haven't tested it with the latter).

This is an error with useDefineForClassFields: true, which will be the default target for target: "esnext" when class fields reach stage 4. That's because it's quite confusing, even though it's legal [stage 3] JS. It could always be an error, but this is a problem that real code rarely encounters. When I looked at our user test suite, the only examples I found were in old, pre-readonly code, and I believe Google and Bloomberg found the same to be true on their internal code bases.
This would be a nice feature but not required, and fairly easy to implement since the error is already there, so I'm going to move this into the backlog and put the Help Wanted label on it. It's a good feature if you want to focus on identifying breaks in the ecosystem.

@sandersn Thanks for the fix! Btw, I see the error message is
'foo' is defined as an accessor in class 'Base', but is overridden here in 'Child' as an instance property.
in 4-beta playground even if useDefineForClassFields is disabled and I have a setter. Isn't that code legal when useDefineForClassFields is false?
That is amazing that when useDefineForClassFields is set to true that there is a type error on accessor overrides! Very nice in helping people avoid problems.

We decided to disallow properties overriding accessors in 4.0 for everyone, so that when class fields finally do move to stage 4, any code that could get tripped up by the [[Set]] -> [[Define]] migration would have time to get fixed.

what's wrong with this if the Child class marks it as readonly?

There's still some kind of initialisation, and whether that affects base accessor depends if you are compiling with [[Set]] (classic TS) or [[Define]] (ESNext) semantics. For example:
class Base {
  get foo() {
    return 5
  }
}

class Child extends Base {
  readonly foo = 10
}

Still crashes with [[Set]] semantics, because the emitted code has a this.foo = 10:
class Base {
    get foo() {
        return 5;
    }
}
class Child extends Base {
    constructor() {
        super(...arguments);
        this.foo = 10;
    }
}

@sandersn
I have setter only property
But the code that get the property is not considered compile error (return undefined at runtime).
Is this related to this bug? Or should I issue a new bug?
Typescript 4.3.2 (VS Code) 4.3.5 (Command Prompt).

@isral Please do open a new bug. It's a lot easier with an example to look at.


implement .gro output for other systems than water

As of now, .gro files can only be printed correctly for water due to a hardcoded section in lines 51-61 of DumpGRO.cpp setting the atom labels to OW1, HW2, HW3, rather than the actual names of the atoms. This should be changed to read the names from the Atoms struct and print them to the file accordingly.

The Atoms struct does not store a name. It only stores a type we can use this to convert to a string. Depending on what you want to do with it you could also use the H5MD output that already outputs the type and you can use it in postprocessing.
Regarding GRO output. Would it be sufficient to change the API to also take a std::vector<std::string>> for the type to name conversion?

A change of API would be convenient, yes. One could also add an option for the residue names that are at the moment hardcoded in lines 71 and 83 of DumpGRO.cpp.


Added wths

WarrenTownship Highscool

@bily-101 Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

Website: www.d121.org
Address:
ALMOND CAMPUS: 34090 N. Almond Road
IT related stuff:
https://www.d121.org/cms/lib/IL02214492/Centricity/Domain/106/20-21 SENIORCOWS.pdf
Under tech campus.

@bily-101  Thank you for the clarifications. Pull request merged.
FTR: the exact address is ALMOND CAMPUS:,34090 N. Almond Road, IL, the U.S.
Proof of the domain ownership: https://www.d121.org/Page/279

The email address is WTHS.net not d121.org they use seperate domains sorry
for not specifying that.
On Fri, 22 Jul 2022 at 09:31 Philip Torchinsky @.***>
wrote:

Merged #14542 https://github.com/JetBrains/swot/pull/14542 into master.
—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/14542#event-7046992857, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APMDK3VFY6625LE6VGIIYYTVVKWEVANCNFSM53FE22YA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Billy Lawing


Implementing a HTTP client for WASM using Djinni

Hi,
Im trying to implement a HTTP client to WASM in the same way that i have in Java, Objc and C++.
The main objective is call from my C++ application the HTTP client to make a get/post request.
My simple C++ implementation that work for mobile and desktop is here:
https://github.com/nativium/nativium-modules/blob/main/custom/modules/http-client/implementation/cpp/nativium/net/http/SimpleHttpClientPlatformService.cpp
and:
https://github.com/nativium/nativium-modules/blob/main/custom/modules/http-client/implementation/cpp/nativium/net/http/SimpleHttpClientPlatformService.hpp
And basically i need implement only the method doRequest.
Im trying do and understand how to make it work without future type and let users create their own thread/async code.
So, i imagine that i need add +w into my djinni file to create a new implementation for WASM. So i changed from:
http_client_platform_service = interface +c +j +o {
	do_request(request: http_request): http_response;
}

to:
http_client_platform_service = interface +c +j +o +w {
	do_request(request: http_request): http_response;
}

It create to me new files called NTVHttpClientPlatformService.cpp and NTVHttpClientPlatformService.hpp with the content:
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file was generated by Djinni from proj.djinni

#include "nativium/net/http/NTVHttpClientPlatformService.hpp"  // my header
#include "nativium/net/http/NTVHttpRequest.hpp"
#include "nativium/net/http/NTVHttpResponse.hpp"

namespace djinni_generated {

em::val NTVHttpClientPlatformService::cppProxyMethods() {
    static const em::val methods = em::val::array(std::vector<std::string> {
        "doRequest",
    });
    return methods;
}

em::val NTVHttpClientPlatformService::doRequest(const CppType& self, const em::val& w_request) {
    auto r = self->doRequest(::djinni_generated::NTVHttpRequest::toCpp(w_request));
    return ::djinni_generated::NTVHttpResponse::fromCpp(r);
}

::nativium::net::http::HttpResponse NTVHttpClientPlatformService::JsProxy::doRequest(const ::nativium::net::http::HttpRequest & request) {
    auto ret = callMethod("doRequest", ::djinni_generated::NTVHttpRequest::fromCpp(request));
    checkError(ret);
    return ::djinni_generated::NTVHttpResponse::toCpp(ret);
}

EMSCRIPTEN_BINDINGS(nativium_net_http_http_client_platform_service) {
    em::class_<::nativium::net::http::HttpClientPlatformService>("HttpClientPlatformService")
        .smart_ptr<std::shared_ptr<::nativium::net::http::HttpClientPlatformService>>("HttpClientPlatformService")
        .function("nativeDestroy", &NTVHttpClientPlatformService::nativeDestroy)
        .function("doRequest", NTVHttpClientPlatformService::doRequest)
        ;
}

}  // namespace djinni_generated

But generally in my C++ application and using my simple http implementation, i only have:
HttpClient::shared()->setPlatformService(std::make_shared<SimpleHttpClientPlatformService>());
auto httpRequest = HttpRequest{"https://httpbin.org/get", HttpMethod::METHOD_GET, {}, {}, {}, ""};
auto httpResponse = HttpClient::shared()->doRequest(httpRequest);

But now what i need do to use the WASM implementation? Im blocked here.
In my mind i think i will need a C++ class that implements NTVHttpClientPlatformService or HttpClientPlatformService like i do in pure C++ implementation with Poco (SimpleHttpClientPlatformService). And the doRequest method from this class need be something like this:
WASMSimpleHttpClientPlatformService.cpp:
#include "WASMSimpleHttpClientPlatformService.hpp"

#include "nativium/net/http/HttpHeader.hpp"
#include "nativium/net/http/HttpMethod.hpp"
#include "nativium/net/http/HttpRequest.hpp"
#include "nativium/net/http/HttpRequestParam.hpp"
#include "nativium/net/http/HttpResponse.hpp"

#include <iostream>
#include <map>
#include <sstream>
#include <string>

#include <emscripten.h>

namespace nativium
{
namespace net
{
namespace http
{

using namespace nativium::net::http;

EM_JS(void*, HttpModuleDoRequest, (HttpRequest r), {
    return null;
});

HttpResponse SimpleHttpClientPlatformService::doRequest(const HttpRequest &request)
{
    auto response = std::shared_ptr<HttpResponse>(static_cast<HttpResponse *>(HttpModuleDoRequest(request)));

    return *response;
}

} // namespace http
} // namespace net
} // namespace nativium

Your C++ implementation SimpleHttpClientPlatformService is 100% synchronous.  For this you need neither futures nor callbacks.
You can simply add +w  to http_client_platform_service, and implement that in JS (not in EM_JS blocks,  in your web app).

Ok, but how I can implement it on JS? There is any sample?
Em ter., 8 de fev. de 2022 às 08:10, finalpatch @.***>
escreveu:

Your C++ implementation SimpleHttpClientPlatformService is 100%
synchronous. For this you need neither futures nor callbacks.
You can simply add +w to http_client_platform_service, and implement that
in JS (not in EM_JS blocks, in your web app).
—
Reply to this email directly, view it on GitHub
https://github.com/Snapchat/djinni/issues/70#issuecomment-1032489292,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADAOWH3A55YNSHANNOOA6LU2D22DANCNFSM5NY7VKPQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Atenciosamente,
Paulo Coutinho.
PRS - Soluções Inteligentes
Site: www.prsolucoes.com
Blog: www.pcoutinho.com
Skype: paulo.prsolucoes
Telefone: +55 21 99386-0010

Hi,
Im getting this error in a simple sample:
Uncaught (in promise) RuntimeError: Aborted(Assertion failed: sharedState, at: /Users/paulo/Developer/workspaces/cpp/nativium/modules/support-lib/djinni/cpp/Future.hpp,233,get)
    at abort (nativium.js?ts=1644417996:1514:11)
    at ___assert_fail (nativium.js?ts=1644417996:1836:7)
    at djinni::Future<nativium::net::http::HttpResponse>::get() (nativium.wasm:0x12428)
    at main (nativium.wasm:0x11cc4)
    at nativium.js?ts=1644417996:1558:22
    at callMain (nativium.js?ts=1644417996:7933:15)
    at doRun (nativium.js?ts=1644417996:7990:23)
    at run (nativium.js?ts=1644417996:8005:5)
    at runCaller (nativium.js?ts=1644417996:7911:19)
    at removeRunDependency (nativium.js?ts=1644417996:1487:7)

My .djinni:
http_client_platform_service = interface +c +j +o +w {
	do_request(request: http_request): future<http_response>;
}

http_client = interface +c {
	static shared(): http_client;

	set_platform_service(ps: http_client_platform_service);
	get_platform_service(): http_client_platform_service;
	has_platform_service(): bool;

	do_request(request: http_request): future<http_response>;
}

My JS implementation:
class HttpClientPlatformServiceImpl {
    doRequest(r) {
        return new Promise(resolve => {
            var response = { "code": 0, "body": "", "headers": [], "cookies": [], "url": r.url };
            return response;
        });
    }
}

Module.HttpClient.shared().setPlatformService(new HttpClientPlatformServiceImpl());

My CPP code:
auto httpRequest = HttpRequest{"https://httpbin.org/delay/3", HttpMethod::METHOD_GET, {}, {}, {}, ""};
auto httpResponse = HttpClient::shared()->doRequest(httpRequest).get();  // error happen here

My doRequest code:
::djinni::Future<HttpResponse> HttpClientImpl::doRequest(const HttpRequest & request)
{
    djinni::Promise<HttpResponse> p;
    p.setValue(HttpResponse{0, "", "", std::vector<HttpHeader>{}, std::vector<HttpCookie>{}});
    return p.getFuture();
}

The code have fixed things to eliminate problems to i understand how to implement it.
What im doing wrong?

I think that is something related to Djinni, because im doing it manually and is working.
function doRequest(r) {
  return new Promise(resolve => {
    var response = {
      "code": 0,
      "body": "",
      "headers": [],
      "cookies": [],
      "url": r.url
    };

    var http = new XMLHttpRequest();

    var params = 'orem=ipsum&name=binny'; // for post
    params = null; // for get

    http.open('GET', r.url, true); // false=sync and true=async

    http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

    http.onload = function(e) {
      response.code = e.status;
      response.body = e.responseText;

      resolve(response);
    };

    http.onerror = function() {
      resolve(response);
      console.error("** An error occurred during the XMLHttpRequest");
    };

    http.send(params);
  });
}

var request = {
  "url": "https://httpbin.org/delay/2",
  "method": 1,
  "params": [],
  "headers": [],
  "cookies": [],
  "body": ""
};

doRequest(request).then(value => {
  console.log("Response:");
  console.log(value.url);
});

The problem happen when i call the method get or then. Example:
auto httpResponse = HttpClient::shared()->doRequest(httpRequest).then([] (djinni::Future<HttpResponse> value) {
    return value.get();
});

or:
auto httpResponse = HttpClient::shared()->doRequest(httpRequest).get();

I solve the error and the method doRequest now return the default value:
::djinni::Future<HttpResponse> HttpClientImpl::doRequest(const HttpRequest & request)
{
    // default value
    auto p = djinni::Promise<HttpResponse>();
    auto f = p.getFuture();

    p.setValue(HttpResponse{0, "", "", std::vector<HttpHeader>{}, std::vector<HttpCookie>{}});

    return f;
}

But the browser lock/freeze when i try use the real implementation:
::djinni::Future<HttpResponse> HttpClientImpl::doRequest(const HttpRequest & request)
{
    // implementation value
    auto p = djinni::Promise<HttpResponse>();
    auto f = p.getFuture();

    auto response = ps->doRequest(request).get();

    if (hasLogger())
    {
        logger->onResponse(request, response);
    }

    p.setValue(response);

    return f;
}

What im doing wrong?

you cannot use get() or wait() in web assembly before the future is ready.  this is because web assembly has only 1 thread so if you block and wait, nothing can make progress to unblock it.  you have to use the then() method to attach a continuation that runs after the future is ready.

Hi,
You mean that i can use:
auto response = ps->doRequest(request).get();

and:
auto httpResponse = HttpClient::shared()->doRequest(httpRequest).get();
std::cout << "res: " << httpResponse.url << std::endl;

?

you need to do something likethis:
ps->doRequest(request).then([] (auto future) {
    auto response = future.get();
    // use response now
});

Hi,
I tried it, but the problem is the same and it still blocked/freezed:
auto httpRequest = HttpRequest{"https://httpbin.org/delay/3", HttpMethod::METHOD_GET, {}, {}, {}, ""};

HttpClient::shared()->doRequest(httpRequest).then([] (auto value) {
    auto httpResponse = value.get();
    std::cout << "res: " << httpResponse.url << std::endl;
});

an example of wasm code using future:
https://github.com/Snapchat/djinni/blob/master/test-suite/handwritten-src/cpp/test_helpers.cpp#L201

Hi,
Im following the sample/tests to understand.
If i use a value without pass by javascript interface, it works. The problem is when i use javascript implementation.
main.cpp
auto httpRequest = HttpRequest{"https://httpbin.org/delay/3", HttpMethod::METHOD_GET, {}, {}, {}, ""};

HttpClient::shared()->doRequest(httpRequest).then([] (auto value) {
    auto httpResponse = value.get();
    std::cout << "res: " << httpResponse.url << std::endl;
});

HttpClient.cpp
::djinni::Future<HttpResponse> HttpClientImpl::doRequest(const HttpRequest & request)
{
    if (ps != nullptr)
    {
        // implementation value
        auto p = djinni::Promise<HttpResponse>();
        auto f = p.getFuture();

        auto response = ps->doRequest(request).get();

        p.setValue(response);

        return f;
    }

    // default value
    auto p = djinni::Promise<HttpResponse>();
    auto f = p.getFuture();

    p.setValue(HttpResponse{0, "", "", std::vector<HttpHeader>{}, std::vector<HttpCookie>{}});

    return f;
}

javascript
class HttpClientPlatformServiceImpl {
    doRequest(r) {
        return new Promise(function (resolve, reject) {
            var response = { "code": 0, "body": "", "headers": [], "cookies": [], "url": r.url };

            var params = 'orem=ipsum&name=binny'; // for post
            params = null; // for get

            let xhr = new XMLHttpRequest();

            xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

            xhr.open(r.method, r.url, true);

            xhr.onload = function () {
                if (xhr.status >= 200 && xhr.status < 300) {
                    response.code = xhr.status;
                    response.body = xhr.responseText;

                    resolve(response);
                } else {
                    response.code = xhr.status;
                    response.body = xhr.responseText;

                    reject(response);
                }
            };

            xhr.onerror = function () {
                response.code = xhr.status;
                response.body = xhr.responseText;

                reject(response);
            };

            xhr.send(params);
        });
    }
}

Module.HttpClient.shared().setPlatformService(new HttpClientPlatformServiceImpl());

If i don't set Module.HttpClient.shared().setPlatformService(new HttpClientPlatformServiceImpl()); it will return the default value in doRequest without problem. The lock happens only when i use implementation.

There is something that im forgeting, because the main.cpp never receive the value inside .then method. im using only fixed values now to discard any cpp/js problems.
main.cpp
auto httpRequest = HttpRequest{"https://httpbin.org/delay/3", HttpMethod::METHOD_GET, {}, {}, {}, ""};

HttpClient::shared()->doRequest(httpRequest).then([] (auto value) {
    std::cout << "internal from main" << std::endl;

    auto httpResponse = value.get();
    std::cout << "url: " << httpResponse.url << std::endl;
});

std::cout << "finished!" << std::endl;

HttpClient
::djinni::Future<HttpResponse> HttpClientImpl::doRequest(const HttpRequest & request)
{
    if (ps == nullptr)
    {
        // default value
        auto p = djinni::Promise<HttpResponse>();
        auto f = p.getFuture();

        p.setValue(HttpResponse{0, "", "", std::vector<HttpHeader>{}, std::vector<HttpCookie>{}});

        return f;
    }
    else
    {
        // implementation value
        auto p = djinni::Promise<HttpResponse>();
        auto f = p.getFuture();

        ps->doRequest(request).then([&] (auto value) {
            auto httpResponse = HttpResponse{0, "", "", std::vector<HttpHeader>{}, std::vector<HttpCookie>{}};

            if (hasLogger())
            {
                logger->onResponse(request, httpResponse);
            }

            p.setValue(httpResponse);

            std::cout << "internal 1" << std::endl;
        });

        std::cout << "internal 2" << std::endl;

        return f;
    }
}

It shows on browser:

But the message internal from main or url:  never appear and it is inside the .then on main.

Hi,
It works.
Thanks :)

Now, an opinion about how to embed the javascript code to don't need use one .js file for each implementation.
In your opinion, instead of create a JS file for each implementation, what you think about this method?
https://stackoverflow.com/a/41656079/1001566
Storing XMLHttpRequest reference with embind and listen the events?
What is your solution/recommendation for this problem?
Thanks.


AI for workout creation / recommendation

Create/ find AI that recommends you workouts based on your experience in the gym (more experience - harder exercises and longer workouts).
With this AI add more catalog exercises
With this AI recommend pre-made workouts (workout of the day screen?)

Integrate with Kare DTOs and models


Openverso-charts new release

Hello,
We have seen that Open5Gs has released a new version of the code. Also that you have updated the images in docker hub (v2.7.0). But do you have an approximate date for the new release of the Helm?
We would really appreciate it.
Thanks in advance.
Anabel

Hi Anabel,
We're working on updating the charts and expect to release them by the end of this month.
Thanks,
Álvaro

That sounds great! I am waiting for that too. Thanks!Let´s wait!

Hi @anabel1012 @rodrigosanzsanz
Charts are available. Now, we upload the charts to dockerhub and they are available as oci. You can deploy it with the command helm pull oci://registry-1.docker.io/gradiant/open5gs --version 2.2.0
Also, we change the repository of the images from openverso to gradiant, so the new images and the support will be done for the images gradiant/
If you see that something is missing, feel free to reopen the issue or create a PR explaining the changes, and we'll discuss it.
BR,
Álvaro


[ISSUE-269] Caching proposal

Purpose
Issue https://github.com/dell/csi-baremetal/issues/269
Describe your changes
Initial version of caching proposal

Could we use Watch API with our CRs?

Could we use Watch API with our CRs?

Yes, we can

Could we use Watch API with our CRs?

Yes, we can

Couldn't it help to prevent race in CSI component?

Couldn't it help to prevent race in CSI component?
@AnastasiaShemyakinskaya
Unfortunately, no. Driver components use these CRs for synchronization between each other.  Watch API allows us to update CR cache with low latency but can't provide warranties of reading the latest resource version from the cache. We can use Watch API for CR updates in some places, for example in "csi-node.Discover" loop but not in places where synchronization is required.

POC for CR caching in csi-node.Discover
https://github.com/dell/csi-baremetal/pull/274


Fix auto merge conflict 9437 [skip ci]

resolve auto-merge conflict at #9437
NOTE: this must be merged as create a merge commit

build

build

build


[Spike] implement documentation versioning in the API

Context
We'd like to version API docs without introducing a lot of duplication.
This spike investigates if we can add new documentation for each version of the API without too much duplication. Also how we navigate documentation and how we signify changes to the API.
I've also attempted to simplify how we document the draft API documentation though this was a stretch in the time available.

Changes proposed in this pull request

Documentation routing and navigation are driven from VendorAPI::VERSIONS.
OpenAPI spec YAML files are composed of additions to the base major version, reducing duplication in these files and allowing us to 'diff' the endpoints and objects between minor versions.
Sub navigation added for versioned documentation.
Draft 'highlights' file removed, NEW labels are applied based on a comparison with the previous version spec.

Guidance to review
I've introduced a contrived example v1.2 spec to demonstrate how we can build from the base major version and merge minor versions to produce the required spec. This doesn't reflect reality of our proposed future versions.

Link to Trello card
https://trello.com/c/ZsAWzebi/4562-spike-implement-documentation-versioning-in-the-api

Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] Required environment variables have been updated added to the Azure KeyVault

Discussed in person:
The implementation looks great.

Adding tabs to the specification only
Deep merging additions in yml files for versions which infers the "new" tags in the structure rendered
Remove draft and keep only in separate tab

Happy for this to be carded up and picked up for when we're done implementing the new v1.1 features, thanks @steventux

Implementation story https://trello.com/c/9mbdACSx/2172-implement-versioning-api-documentation

Closing because we've implemented this now https://github.com/DFE-Digital/apply-for-teacher-training/pull/6477