feat: dockerize repository and release package on ghcr.io

What type of PR is this? (check all applicable)

[x] ♻ Refactor
[x] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 📝 Documentation Update
[ ] 🔖 Release
[ ] 🚩 Other

Description

This PR:

adds the ability to run our semantic-release configuration from a docker container
enables usage of our release tooling without installing anymore dependencies
simplifies the release workflow
fixes the [skip ci] bug in alpha and beta pre-release branches
fixes the npm ci build cache using bahmutov action

Related Tickets & Documents

closes #18
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[x] 📜 readme
[ ] 📜 contributing.md
[x] 📓 docs
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?

implement a new Docker-based workflow in a repository to linkback as an example
update maintainer docs

[optional] What gif best describes this PR or how it makes you feel?

@bdougie @mtfoley mind me pinging but you really need to see this, working on the docs right now but there are a lot of gaps due to rapid development, could really use your input!

So I read that in the original issue #18 that the purpose behind doing this is creating docker images so contributors don't need to deal with dependencies directly.  How would this change the workflow of cases where a contributor is adding dependencies to the project for features?

So I read that in the original issue #18 that the purpose behind doing this is creating docker images so contributors don't need to deal with dependencies directly. How would this change the workflow of cases where a contributor is adding dependencies to the project for features?

Other workflows would handle this - for now what this means is that with the simple squash flow enabled by your action we can simplify almost all releases with this workflow:
name: "Release"

on:
  push:
    branches:
      - main

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - name: "☁ checkout repository"
        uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: "🚀 release"
        id: semantic-release
        uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
        env:
          DISABLE_DOCKER: true
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GIT_AUTHOR_NAME: ${{ github.event.commits[0].author.username }}
          GIT_AUTHOR_EMAIL: ${{ github.event.commits[0].author.email }}

      - name: 'test'
        run: |
          echo $SEMVER_VERSION

No more local dependencies, commit convention handled by your action, BOOM 🍕

The bug fixes and general semantic-release quirks can be seen in open-sauced-semantic-config-test and the performance improvements from running the release process in semantic-release-docker-test - both repositories I have created to be less spammy on open-sauced.
We really need alpha and beta branches enabled and documented, feel like they are so much easier to work with in the long run :D

Linking this back to discussion#1319, is it worth doing this now, re-releasing at a later stage?
PS: It's ready for release except the pre-release branches!


SATformer model missing?

Hi, first of all thank you for this repository.
Having a quick look, I notice that there is no implementation for the SATformer model (https://github.com/cure-lab/sat-benchmark/blob/main/satb/models/satformer.py). Is this correct or am I missing something?

Hi jeanmonet,
Thanks for your interest on our repo. However, our SATformer code haven't been released. We will announce you when it is available.

Looking forward to it, many thanks.


Gov solution package short link redirects to Microsoft homepage

The link https://aka.ms/rtw-solution currently redirects to Microsoft.com rather than to the described deployment package available on GitHub.

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

ID: 47c1b746-5757-5988-e5d2-d876c8a221d5
Version Independent ID: 85b048a1-6985-6a20-bd42-d6ece4d88349
Content: Deploy the Return to Workplace solution - Power Apps
Content Source: powerapps-docs/sample-apps/return-to-workplace/deploy.md
Service: powerapps
GitHub Login: @wbakker-11
Microsoft Alias: garybird

This issue has been resolved now. Sorry for the inconvenience

Closing the issue.


Add initial ext proc implementation with LoRA affinity

This is a refactor of the POC implementation in ./examples/ext-proc with the following notable changes:

Re-structured repo to make it more modular: "handlers" implements the ext proc API and handles request/response; "scheduling" implements the request scheduling algorithm; "backend" contains logic to interact with backend pods
Introduced a "filter" concept in the scheduling algorithm to make it easier to write flow chart style algorithm that's being proposed.
Removed metric update from response headers since benchmarking didn't show benefits. Current implementation scrapes metrics every 200ms. Will add response based metrics update back if more benchmarking confirms the benefits.
Simplifies POC code, such as: replaced the freecache package with a sync.Map; consolidated various metrics objects into a single PodMetric object;
Various impriovements including adding leveled logging, handling errors, simplifying code, etc.
The algorithm is simplified a bit from POC - it finds pods with least queuing first, then with active LoRA adapters, then the least KV cache percent.

Initial benchmarking shows slightly better throughput than POC.
Benchmarking setup:

vLLM deployment using the examples/poc/manifests with 6 vLLM replicas running in GCP g2-standard-24 instances (NVIDIA L4 GPU), with max-loras=4 and max-cpu-loras=12.
Control group is a LoadBalancer k8s service.
Ext proc is deployed the same way as  examples/poc/
Simple benchmark script in  `examples/poc/

LoadBalancer service

Total time:<PHONE_NUMBER>17
Total completed requests: 484
Requests per second: 1.608272157587885
Total generated tokens: 192596
Average output tokens per request:<PHONE_NUMBER>3471074
Total prompt tokens: 8228
Average input tokens per request: 17.0
Output tokens per second:<PHONE_NUMBER>710668
Bad content type errors: 0
Timeout requests: 516
Dropped requests: 0
Server disconnections: 0
Unknown: 0
OS errors: 0
Total dropped requests: 516

POC Ext Proc

Total time:<PHONE_NUMBER>5799996
Total completed requests: 780
Requests per second: 2.591899618561796
Total generated tokens: 302094
Average output tokens per request: 387.3
Total prompt tokens: 13260
Average input tokens per request: 17.0
Output tokens per second: 1003.8427222689837
Bad content type errors: 0
Timeout requests: 220
Dropped requests: 0
Server disconnections: 0
Unknown: 0
OS errors: 0
Total dropped requests: 220

Ext proc in this PR

Total time:<PHONE_NUMBER>92
Total completed requests: 846
Requests per second: 2.812157377776826
Total generated tokens: 339110
Average output tokens per request:<PHONE_NUMBER>9881795
Total prompt tokens: 14382
Average input tokens per request: 17.0
Output tokens per second: 1127.2230359076825
Bad content type errors: 0
Timeout requests: 154
Dropped requests: 0
Server disconnections: 0
Unknown: 0
OS errors: 0
Total dropped requests: 154

This is the benchmark script I used (Credits to  @kfswain and @kaushikmitr)
import time
import random
import asyncio
import aiohttp

# Global metrics
metrics = {
    "total_tokens_generated": 0,
    "total_prompt_tokens": 0,
    "dropped_requests": 0,
    "timeout_requests": 0,
    "bad_content_type": 0,
    "os_errors": 0,
    "unknown_error": 0,
    "server_disconnected": 0,
}

# Model and IP configurations
models = [
    "tweet-summary", "sql-lora", "tweet-summary-0", "sql-lora-0",
    "tweet-summary-1", "sql-lora-1", "tweet-summary-2", "sql-lora-2",
    "tweet-summary-3", "sql-lora-3", "tweet-summary-4", "sql-lora-4",
]

# IP="<IP_ADDRESS>" # IP of the vllm Service
# PORT="8000"
IP="<IP_ADDRESS>" # IP of the gateway
PORT="8081"

model_map = {
    IP: models,
}

def create_json(ip: str, model: str = None) -> dict:
    if model is None:
        model = random.choice(model_map[ip])
    return {"prompt": "Is the Necronomicon in the movie: Army of Darkness?", "max_tokens": 750, "model": model}

async def parallelized_benchmarking(session: aiohttp.ClientSession, ip: str, model: str = None, specify_target_pod: bool = False):
    try:
        json_data = create_json(IP, model)
        url = f"http://{IP}:{PORT}/v1/completions"
        headers = {'Content-Type': 'application/json'}
        if specify_target_pod:
            headers['target-pod'] = get_target_pods()
        async with session.post(url, json=json_data, headers=headers) as response:
            response_json = await response.json()
            metrics["total_tokens_generated"] += int(response_json['usage']['completion_tokens'])
            metrics["total_prompt_tokens"] += int(response_json['usage']['prompt_tokens'])
    except aiohttp.client_exceptions.ClientConnectorError as client_err:
        metrics["dropped_requests"] += 1
        print(client_err)
    except asyncio.TimeoutError as timeout_err:
        metrics["timeout_requests"] += 1
        print(timeout_err)
    except aiohttp.client_exceptions.ClientOSError:
        metrics["os_errors"] += 1
    except aiohttp.client_exceptions.ContentTypeError as e:
        text = await response.text()
        print(text)
        print(e)
        metrics["bad_content_type"] += 1
    except aiohttp.client_exceptions.ServerDisconnectedError:
        metrics["server_disconnected"] += 1
    except:
        metrics["unknown_error"] += 1

def ips(n_reqs: int):
    available_ips = [IP]
    for _ in range(n_reqs):
        yield random.choice(available_ips)

def get_target_pods():
    available_ips = ["<IP_ADDRESS>:8000","<IP_ADDRESS>:8000","<IP_ADDRESS>:8000" ]
    return random.choice(available_ips)

async def test_main(n_reqs: int, model: str = None, specify_target_pod: bool = False):
    async with aiohttp.ClientSession() as session:
        await asyncio.gather(
            *[parallelized_benchmarking(session, ip, model, specify_target_pod) for ip in ips(n_reqs)]
        )

def clear_metrics():
    global metrics
    for key in metrics:
        metrics[key] = 0

if __name__ == "__main__":
    print(f"Starting benchmark")
    # Warm-up phase

    # Clear metrics after warm-up
    clear_metrics()

    # Main benchmarking phase
    n_reqs = 1000
    specify_target_pod = False
    start = time.perf_counter()
    asyncio.run(test_main(n_reqs=n_reqs, specify_target_pod=specify_target_pod))
    end = time.perf_counter()

    bad_requests = sum(metrics[key] for key in ["dropped_requests", "timeout_requests", "os_errors", "bad_content_type", "server_disconnected", "unknown_error"])
    total_complete_reqs = n_reqs - bad_requests

    # Results output
    print(f"Total time: {end-start}")
    print(f"Total completed requests: {total_complete_reqs}")
    print(f"Requests per second: {total_complete_reqs / (end-start)}")
    print(f"Total generated tokens: {metrics['total_tokens_generated']}")
    print(f"Average output tokens per request: {metrics['total_tokens_generated'] / total_complete_reqs}")
    print(f"Total prompt tokens: {metrics['total_prompt_tokens']}")
    print(f"Average input tokens per request: {metrics['total_prompt_tokens'] / total_complete_reqs}")
    print(f"Output tokens per second: {metrics['total_tokens_generated'] / (end-start)}")
    print(f"Bad content type errors: {metrics['bad_content_type']}")
    print(f"Timeout requests: {metrics['timeout_requests']}")
    print(f"Dropped requests: {metrics['dropped_requests']}")
    print(f"Server disconnections: {metrics['server_disconnected']}")
    print(f"Unknown: {metrics['unknown_error']}")
    print(f"OS errors: {metrics['os_errors']}")
    print(f"Total dropped requests: {bad_requests}")

This is the benchmark script used which was created by @kaushikmitr

I believe this is a modification of the benchmarking script I made.

This is the benchmark script used which was created by @kaushikmitr

I believe this is a modification of the benchmarking script I made.

Apologies I lost track of the script. Please take a look at the updated description.

This PR doesn't have  a lot of tests yet, will follow up with more testing in a separate PR.

/assign
/hold
just in case it gets merged by mistake

/lgtm just make sure we've squashed the commits we don't want history of before merge. And this is assuming we will have those tests in a PR shortly.
Thanks! This is great!

Added squash merge label

/lgtm
/approve

/hold cancel


resource labels CRUD needs consistent interface

reviewing the methods from https://github.com/influxdata/influxdb2-js/issues/21 it looks like each labelable resource should have the following:

addLabel with (id: string, label: Label) => Promise<Label>
addLabels with (id: string, label: Label[]) => Promise<Label[]>
removeLabel with (id: string, label: Label) => Promise<Response>
if can be cloned? cloneLabels  with <Resource>(old: Resource, new: Resource) => Promise<Label[]>

Basically it just looks like this needs to only be applied to

[ ] dashboards

@bthesorceror after https://github.com/influxdata/influxdb2-js/pull/26 the naming now updated and consistent. Did we want to change the LabelID to Label as the second argument for dashboards?


pyTFM multiprocessing and File format

Analysis for single object seems to work. However, when reading in mutiple cells simultaniously, the alive / relaxed images are not
displayed correctly (Deformation direction and Analysis seems to be allright, only a visualization problem) and its not possible to change the windowsize for list elements except the first. There seems to be an error in handling mutiple task paralell. Console prints "Cannot queue arguments of type Qvector
Also the read-in Dialog only supports TIF files currently.

First part is solved, only the TIF-only issue still there


update README

@invincibleJai Your image is available in the registry: docker pull registry.devshift.net/fabric8-analytics/3scale-admin-gateway:SNAPSHOT-PR-13


Add hop hints to EstimateRouteFee.

Change Description
#7557
This is a new PR opened into 0-16-1 staging branch. Closed this old PR #7558
Steps to Test
Steps for reviewers to follow to test the change.
Pull Request Checklist
Testing

[ ] Your PR passes all CI checks.
[ ] Tests covering the positive and negative (error paths) are included.
[ ] Bug fixes contain tests triggering the bug to prevent regressions.

Code Style and Documentation

[X] The change obeys the Code Documentation and Commenting guidelines, and lines wrap at 80.
[X] Commits follow the Ideal Git Commit Structure.
[ ] Any new logging statements use an appropriate subsystem and logging level.
[ ]  There is a change description in the release notes, or [skip ci] in the commit message for small changes.

📝 Please see our  Contribution Guidelines for further guidance.

You can edit an existing PR (button next to the title) to change its base (just FYI for the next time). This needs a rebase on that branch now.

You can edit an existing PR (button next to the title) to change its base (just FYI for the next time). This needs a rebase on that branch now.

Sorry rebase on which branch? Master?

Sorry rebase on which branch? Master?

No problem. Rebase on top of the 0-16-1staging branch, this PR otherwise tracks 12 commits.

No problem. Rebase on top of the 0-16-1staging branch, this PR otherwise tracks 12 commits.

Just did it, did it help?

You can rebase directly on master now (0.16.1 staging branch was merged in).

@niteshbalusu11, remember to re-request review from reviewers when ready

I will look into this, this week. I've been traveling.

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready

@niteshbalusu11, remember to re-request review from reviewers when ready


Release/46.3.0

Codecov Report
Attention: 44 lines in your changes are missing coverage. Please review.

Comparison is base (bffb459) 68.15% compared to head (ead858a) 74.03%.

Files
Patch %
Lines

packages/corelib/src/playout/infinites.ts
24.24%
25 Missing :warning:

...ackages/job-worker/src/playout/timeline/rundown.ts
15.78%
16 Missing :warning:

packages/corelib/src/playout/pieces.ts
87.50%
1 Missing :warning:

packages/job-worker/src/playout/adlib.ts
0.00%
1 Missing :warning:

packages/job-worker/src/playout/timeline/piece.ts
75.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #263      +/-   ##
==========================================
+ Coverage   68.15%   74.03%   +5.88%
==========================================
  Files         280       93     -187
  Lines       34083    24147    -9936
  Branches     4569     2361    -2208
==========================================
- Hits        23229    17878    -5351
+ Misses      10390     6235    -4155
+ Partials      464       34     -430

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

@andr9528 The reason it fails is because of deprecated node versions for the GitHub action runners. I don't think it is necessary to fix in this PR.


resolve Stream error in module import

hi there
i have problem with import module
i use expo and after install and add import line i get below error
undefined Unable to resolve module stream from Drive_Path:\node_modules\readable-stream\readable.js: stream could not be found within the project or in these directories:   node_modules\readable-stream\node_modules   node_modules

1 | var Stream = require('stream'); // hack to fix a circular dependency issue when used with browserify
|                       ^
2 | exports = module.exports = require('./lib/_stream_readable.js');
3 | exports.Stream = Stream;

i find that stream not reachable in react native and should remove it according this issue:
https://github.com/facebook/react-native/issues/33981#issuecomment-1158019745

This issue has been addressed, it should work now.


Keep graph colors consistent when adding / removing runs.

Each time you select or deselect a run the colors in the graph change, they should consistent. Perhaps we could base it off the hash of the run name.

Fixed in beta.


[IOTDB-872] Use system timezone in CLI (Session)

Remove the default timezone in server side.
Using the system default time zone of each client to decide the time zone of server operation.

Consider add some setting timezone tests in SessionTest or SessionPoolTest?

Consider add some setting timezone tests in SessionTest or SessionPoolTest?

Added~


Complete function make_move_cpu

The cpu has to make a 'smart move'. So, when something of a ship is hitted earlier, the cpu has to shoot where the ship is most likely to be.

Could you elaborate what the code does exactly? It's not that easy to comprehend the logic here :)

For sure ;)
What I would like to do, is first making a random move (like everone does in the beginning of the game), and if it is a hit, save it and try the next time an adjacent field (1 up, down, right or left, random chose between these four). If the random chose was a good one (suppose right), you know there's a ship lying horizontal. So, keep trying right and left (not longer up and down), until the ship is sunk. If the ship is sunk, but there are also other hits (for example when two ships are located next to each other), search for the next ship. If there are no longer 'possibilities' (one or more hits on a non-sunked ship), start again with random shots.
I hope this makes some sense. :)
May I thank you very much for your input! I really appreciate it!
Randpy

Is the above code the code that you are working on? and it's not working?

This is what I would like to be that it’s doing, but I’m stuck...
Some help with this is therefore very welcome ;)

This is what I would like that it’s doing, but I’m stuck...
I started on my own fork, I made the structure a little more clearer and added some helper functions and constants.

The game logic you want to have (recognise patterns) could be very hard for beginners, especially when there are several unsunken ships hit.
I will look at this problem later on, but I bet we can't be the only people who programmed a battleship CPU yet...

I know there's someone  who has already made a CPU for a Battleship game.
I will take a small look at his code. It would also be very nice if you could help me a little further in your fork :)
Thanks again in advance!


Add dequeue_visibility_timeout and max_inflight parameters to azure queue storage input

Hi!
I've been using this input as a "parent" of another custom input.
This custom input sometimes takes longer than the default 30s dequeue visibility timeout used to hide the messages from other consumers while being processed, which makes the message show up in the queue again before the first iteration acknowledges it. I've added the parameter dequeue_visibility_timeout to allow us to increase this timeout, keeping the 30s default as previously.
It was also added the max_inflight parameter to set the maximum number of unprocessed messages to fetch at a given time.
Cheers,
Marco

Thanks @mfamador, looks good, left one minor comment to rename the field to max_in_flight.

Don't worry about the test, looks like a flaky one.


DRY buggy interface, reveal test bug that permitted back-incompatible…

… wallet deser
How 'bout them apples?

Codecov Report
Patch coverage: 42.85% and project coverage change: +0.04 :tada:

Comparison is base (06b01c5) 62.06% compared to head (28e02bc) 62.11%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #300      +/-   ##
==========================================
+ Coverage   62.06%   62.11%   +0.04%
==========================================
  Files          35       35
  Lines        5900     5881      -19
==========================================
- Hits         3662     3653       -9
+ Misses       2238     2228      -10

Impacted Files
Coverage Δ

zingolib/src/lightclient.rs
58.44% <0.00%> (ø)

zingocli/tests/integration_tests.rs
96.32% <100.00%> (-0.36%)
:arrow_down:

zingolib/src/wallet.rs
65.53% <100.00%> (+1.69%)
:arrow_up:

... and 10 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Remove references to userspace proxy

While belatedly looking at #36675 I saw that we still talk about the userspace proxy in a bunch of places, but it's gone in 1.26 (https://github.com/kubernetes/kubernetes/pull/112133).
I didn't remove static/images/docs/services-userspace-overview.{svg,png} because it's referenced by the translations of service.md too.
/cc @sftim

Avoid touching autogenerated files such as content/en/docs/reference/command-line-tools-reference/kube-proxy.md. Those changes will be overwritten during the release process.
/hold
OK to unhold this (unless other grounds have appeared) once that change is omitted.

You might also like to work on https://github.com/kubernetes/website/issues/38244 @danwinship

Avoid touching autogenerated files such as content/en/docs/reference/command-line-tools-reference/kube-proxy.md. Those changes will be overwritten during the release process.

ah, well, I just copied the text from kube-proxy --help so it would hopefully have been overwritten with exactly the same thing, but if it's going to happen automatically anyway, then yay
/hold cancel

IMO, this change should land after we merge in main

I'm not sure what that means relative to what ends up in the official 1.26 documentation, but note that as of right now, dev-1.26 contains references to something (userspace proxy mode) that doesn't exist in 1.26.

I'm worried that our choices might come down to:

ship with stale docs about kube-proxy, and fix them after the release
create a merge conflict that we don't really have time / resources to fix before the release

It'd be nice to find a third option here.

https://github.com/kubernetes/website/pull/38242 is about to land. If you rebase on upstream's dev-1.26 then we should be able to get this in the release.
If not, it's not a huge problem because this repo is continously deployed: update the PR to target main, go through code review, and we can get an update out, pronto.

Manually triggering a merge by GitHub as repository is frozen for 1.26 release.


Version 1.2, compatible with Varnish since 4.1, uses PRIV_TASK scope for uuid objects

This is version 1.2 of the VMOD, compatible with Varnish since 4.1 through 5.0. It uses PRIV_TASK scope for internal uuid objects from the OSSP lib. That is, the objects are uuid_create()-ed once in a client or backend context, allocated in workspace, and then re-used for any functions called later in the context. Then they are uuid-destroy()-ed once at the end of the context.

Dammit, sorry, it's version 1.1.

Is this ready to be merged?

@ebpitts to be honest I had forgotten that this PR was still around, there was never any feedback.
The master branch in the fork now requires 5.0. There is a tagged release 1.1 which I believe is compatible with 4.1.
As for the PR, I suppose it could be merged, so as to get the master branch in the Sharecare repo up to compatibility with 5.0/5.1. I'm not sure if the Sharecare repo is being actively maintained any more, there doesn't seem to have been any activity here for quite some time.

Oh, cool! I had not realized you were maintaining a forked repo at https://github.com/otto-de/libvmod-uuid, making releases, etc. Thanks for your work!


Explicitly activate disks added to oVirt VMs

When a disk is added to an oVirt VM that is up it isn't activated by default.
This patch changes that, so that the disk is explicitly activated.
https://bugzilla.redhat.com/1390517

I need to verify that this works correct, please don't merge yet.

Looks good to me.
Let's verify and push this in.
As the fix is minimal, and the impact is high, I'd like to make it a blocker

@miq-bot add-label euwe/yes

@miq-bot add_label blocker

I have verified that this works correctly. After the disk is added the oVirt GUI shows it as active, and it is actually visible for the guest operating system. Please merge.

@durandom please review/merge.

:+1: good from me
@oourfali I think you should only make this a blocker, once the BZ is also a blocker.
@miq-bot assign @agrare
@agrare please merge. I'm not sure if we should remove the blocker label until the BZ has the blocker flag too

@agrare @durandom blocker flag is now set.

 Bug 1390517 - Hot-adding disk to an VM in RHV provider does not activate it

Looks good thanks @jhernand !

Euwe BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1393939

Euwe Backport details:
$ git log -1
commit 291dc286dcf8343899e9791851f752020535154d
Author: Adam Grare<EMAIL_ADDRESS>Date:   Thu Nov 10 08:17:58 2016 -0500

    Merge pull request #12532 from jhernand/explicitly_activate_disks_added_to_ovirt_vm

    Explicitly activate disks added to oVirt VMs
    (cherry picked from commit 20a9b0f3ebcf8d3522b78ffa0046b710cf88441c)

    https://bugzilla.redhat.com/show_bug.cgi?id=1393939


RT-2.1: Base IS-IS Process and Adjacencies

During execution of test feature/experimental/isis/ate_tests/base_adjacencies_test/base_adjacencies_test.go, it configures ISIS using addISISOC call in feature/experimental/isis/ate_tests/internal/session/session.go.
In this function, while configuring ISIS, it does not configure the config.enabled path for ISIS protocol. This is causing ISIS session to remain admin disabled.
In the below code, when prot.Enabled = ygot.Bool(true) is added, the ISIS session comes up fine.
It should be added like in line-5 below.
1. // addISISOC configures basic IS-IS on a device.
2. func addISISOC(dev *oc.Root, areaAddress, sysID, ifaceName string) {
3.     inst := dev.GetOrCreateNetworkInstance(*deviations.DefaultNetworkInstance)
4.     prot := inst.GetOrCreateProtocol(PTISIS, ISISName)
5.     prot.Enabled = ygot.Bool(true)
6.     isis := prot.GetOrCreateIsis()

I see in other scripts for configuring static-route it is getting enabled at feature/gribi/ate_tests/ack_in_presence_other_routes/route_ack_test.go -
// configStaticRoute configures a static route.
func configStaticRoute(t *testing.T, dut *ondatra.DUTDevice, prefix string, nexthop string) *telemetry.NetworkInstance_Protocol {
	ni1 := dut.Config().NetworkInstance(*deviations.DefaultNetworkInstance).Get(t)
	static := ni1.GetOrCreateProtocol(telemetry.PolicyTypes_INSTALL_PROTOCOL_TYPE_STATIC, *deviations.StaticProtocolName)
	static.Enabled = ygot.Bool(true)
	static.Identifier = telemetry.PolicyTypes_INSTALL_PROTOCOL_TYPE_STATIC

@xw-g


Tests; camera_views; Fix current_camera.focus in 2nd-4th views

Original code incorrectly focuses camera on right-click in 2nd, 3rd, and 4th views.  Only works right in the 1st (top left) view.  This fixes that.  I also made a cosmetic change to the text for readability.

Thanks, nice catch.
We'll also revise the tests when the new rendering starts landing in master to not be so loosely cobbled in general, like the rotation coordinate for drag rotating is totally bogus but it tested what I needed to know at the time :)

No problem, just working through the code.  Love your work, by the way; very clean.  Provides more than what I need without feeling like the engine ever gets in the way.


Cannot close channel with state: ChanStatusLocalDataLoss|ChanStatusRestored

Background
About 2 months ago now, I attempted to close channel with Open Node. It is still in the state "waiting_close_channels", I did not get any refunds.
{
"total_limbo_balance": "0",
"pending_open_channels": [
],
"pending_closing_channels": [
],
"pending_force_closing_channels": [
],
"waiting_close_channels": [
{
"channel": {
"remote_node_pub": "03abf6f44c355dec0d5aa155bdbdd6e0c8fefe318eff402de65c6eb2e1be55dc3e",
"channel_point": "d252236c20ee326837203144869cabed7eef0ba515cacf71bd4e78487ad627ce:0",
"capacity": "4999000",
"local_balance": "0",
"remote_balance": "0",
"local_chan_reserve_sat": "0",
"remote_chan_reserve_sat": "0",
"initiator": "INITIATOR_LOCAL",
"commitment_type": "ANCHORS",
"num_forwarding_packages": "0"
},
"limbo_balance": "0",
"commitments": {
"local_txid": "",
"remote_txid": "",
"remote_pending_txid": "",
"local_commit_fee_sat": "0",
"remote_commit_fee_sat": "0",
"remote_pending_commit_fee_sat": "0"
}
}
]
}
I get this response after I attempt to force close channel.
[lncli] rpc error: code = Unknown desc = cannot close channel with state: ChanStatusLocalDataLoss|ChanStatusRestored
Your environment
LND v0.14.1
mynode 0.2.50 raspi
Bitcoin Core version v0.22.0
Steps to reproduce
lncli closechannel --force d252236c20ee326837203144869cabed7eef0ba515cacf71bd4e78487ad627ce 0
Expected behaviour
expected funds to become available on chain
Actual behaviour
Tell us what happens instead
[lncli] rpc error: code = Unknown desc = cannot close channel with state: ChanStatusLocalDataLoss|ChanStatusRestored

This sounds very similar to a recent case. Did you have an power outages recently? Or do something with your channel.db file (e.g. restore a backup or similar)?

Something went wrong when you restored the wallet, perhaps you didn't copy the absolutely last state of the channel DB (or did you run them in parallel?). So lnd is preventing you from breaching your channel with an old state, that's why you can't force close (if you did, the other node could take all the funds).
Or, when you say "restored", did you mean you used the channel.backup file?

I see, I do have my channel.db - it's copied from last state. Can i just copy that to HDD of my node?
I did restore using just channel.backup & seed.
No, I didn't run in parallel.

Yes, you can replace the channel.db file of the restored node with the one from Zap, if you are certain that it was the absolutely last state. And you must never start Zap again after copying the DB, otherwise you risk breaching yourself as well.
Going to close the issue as this is how recovery with SCB works. Feel free to comment further though if you're not sure how to proceed.

Just to clarify, when you say last state, do you mean state of transactions/channels? or is a new state created every time you open the application?

Yes I mean the last channel state. It's possible and even likely that a channel update happens every time you start the application (for example for updating the fees on the commitment transactions). So last state really means, where did that node run last (with the full database and not restored from channel.backup which only contains a channel shell/partial state).

Yeah OK, It's only one UTXO, one channel, waiting pending close. There was no option to force close in zap wallet, so I don't think I've made any changes.
I have the channel.db copied from last time I opened the zap wallet.
Hopefully...
Thanks for your time. See how I go.

i can't access the directory where the channel.db file is sitting. What would be the best method to replace channel.db on HDD?

Probably a user permission thing. Try switching users or using sudo (not sure how MyNode is set up exactly).

OK I was able to copy channel.db to HDD and bring my node back online.
Here's what I'm getting now:
admin@myNode:~ $ lncli pendingchannels
{
"total_limbo_balance": "4997617",
"pending_open_channels": [
],
"pending_closing_channels": [
],
"pending_force_closing_channels": [
],
"waiting_close_channels": [
{
"channel": {
"remote_node_pub": "03abf6f44c355dec0d5aa155bdbdd6e0c8fefe318eff402de65c6eb2e1be55dc3e",
"channel_point": "d252236c20ee326837203144869cabed7eef0ba515cacf71bd4e78487ad627ce:0",
"capacity": "4999000",
"local_balance": "4997617",
"remote_balance": "0",
"local_chan_reserve_sat": "49990",
"remote_chan_reserve_sat": "49990",
"initiator": "INITIATOR_LOCAL",
"commitment_type": "ANCHORS",
"num_forwarding_packages": "0"
},
"limbo_balance": "4997617",
"commitments": {
"local_txid": "355c8293c44ec3a6e9435aee34c28f428e0bca1667f5efb641079afc49744c5f",
"remote_txid": "0f3d4b272cd89d9069c9c6b7742c669862401b6b23b2ff4bd9e112154ec5515f",
"remote_pending_txid": "",
"local_commit_fee_sat": "723",
"remote_commit_fee_sat": "723",
"remote_pending_commit_fee_sat": "0"
}
}
]
}
admin@myNode:~ $ lncli closechannel --force d252236c20ee326837203144869cabed7eef0ba515cacf71bd4e78487ad627ce 0
[lncli] rpc error: code = Unknown desc = server is still in the process of starting

Thanks for your help mate, I logged in as root, then used SCP to replace channel.db. It took as while for the node to properly sync up. I was then able to force close the channel!

I haven't quite figured out what to do now.
I have the problem with three channels, how can I solve it?

I haven't quite figured out what to do now. I have the problem with three channels, how can I solve it?

Which problem exactly? Can you describe a bit more please?

I haven't quite figured out what to do now. I have the problem with three channels, how can I solve it?

Which problem exactly? Can you describe a bit more please?

I have three channels with status ChanStatusLocalDataLoss|ChanStatusRestored and I don't know what to do.
I had to use a SCB, all channels were closed except the three. What can I do now?

If you had to use SCB you cannot force close them yourself. The other node needs to do that, the SCB just helps your node to contact them. So what you can do is look up their node on a site like 1ml.com or amboss.space to find out if they might have a different IP address to connect to. If the nodes don't exist anymore, it gets tricky. See www.node-recovery.com.


Encrypt messages

It lacks encryption packets transmitted packets between Django and redis. It would be very cool if it would be possible to encrypt the packets to someone overheard critical data on the channel.
How to look at here is the library?

This is already on my roadmap, actually - the plan is to use symmetric cryptography and the cryptography package to encode and decode the raw byte strings that we encode messages to using msgpack.

How about to use the class based approach to serialization / deserialization? This would greatly facilitate the task and would enable developers to use their approach to serialization.
I personally would be very balgodaren you for this opportunity, because it could use already encrypted packets in your project.
If you describe your view of what should look like a class, I could help you save your time. Honestly I like this approach.

It's much better to encapsulate it in the channel layer, I think - the asgi_redis implementation already has hook points for changing the serialisation so it won't be that hard to implement.

Now implemented in 0.12.0.

@andrewgodwin, THANK YOU for your good work!


Embeds: Use placeholder when poster image is missing

Context
Layouts look a bit broken when a story doesn't have a poster.
Summary
With this PR we display a placeholder div with the same dimensions (and some text for screen readers) to maintain same layout.
Relevant Technical Choices

To-do

User-facing changes
Same visual change as #6618, but by using a placeholder instead of a transparent png.

I am seeing notice errors but these are also in the feature/embed-stories branch.

I am seeing notice errors but these are also in the feature/embed-stories branch.

@spacedmonkey yep, @divyarajmasani has just fixed that in https://github.com/google/web-stories-wp/pull/6626

Merged #6626 now those notices should not be there anymore.


Added AUR installation instructions

I added the discord-wakatime plugin to the Archlinux User Repository (AUR).
You can find it here: discord-wakatime
Feel free to merge this PR if you prefer to add the AUR installation instructions to the README.md, otherwise ignore this PR.

I don't want to add instructions for every OS, so let's leave it as-is.


Fix getIn unexpected value

As described in #3181
It scares me a bit, touching getIn seems a big change.
But this will correct a bug, rare, but a bug in my opinion

This seems like a good change to me, but we'll definitely want thorough testing when modifying this particular bit of code.

up

We have been using this patch in our production environment for almost a month.
We have at least 40 users, who use our form components to create and update content. All day, every day.
No regression has been seen, and the related bug no longer occurs.
@jaredpalmer


Bug fix encryption_function return wrong result at const column

Proposed changes
the string object have error of order, should be src, key,iv,mode

run buildall


Will this llm graph builder support aws sagemaker endpoint in the future?

What do you mean with sagemaker endpoint?
Do you have an example with API calls and docs?
Did you see that we added bedrock support?

Hi,
Yes I see bedrock are one of the supported llm options, but in becdrock there are limited foundation model we can select.
So I am using AWS sagemaker to host the llm, and hence asking will https://python.langchain.com/v0.2/docs/integrations/llms/sagemaker/ be supported in the future

Feel free to send a PR to llm.py :) if you got time.
@aashipandya can you look into this?


Deprecation Warning when running compass

Hi,
I have this warning while running "compass watch"
I have the latest version of compass, and althought the warning is not stopping the development, its pretty much annoying.
I dont clearly understand the instructions how to remove it. Could somebody explain?
DEPRECATION WARNING on line 1, column 7 of C:/Ruby21/lib/ruby/gems/2.1.0/gems/compass-core-1.0.1/stylesheets/comp
3/_shared.scss:
Unescaped multiline strings are deprecated and will be removed in a future version of Sass.
To include a newline in a string, use "\a" or "\a " as in CSS.
WARNING: The compass/css3/shared module has been deprecated.
You can silence this warning by importing compass/css3/deprecated-support instead.
Please be aware that module will be removed in the next release.
on line 1 of C:/Ruby21/lib/ruby/gems/2.1.0/gems/compass-core-1.0.1/stylesheets/compass/css3/_shared.scss
from line 19 of C:/[userfolder]/www/wordpress/wp-content/themes/reverie/scss/style.scss

Same here. (Sorry, I don't have a solution)

The solution is exactly as mentioned in the error message. Silence the message by changing line 19 to
// Load some Compass magic, note you will need to install Compass first
@import "compass/css3/deprecated-support";
That should be a patch with a pull request, but I still don't have it working, so need to figure that out first


Extension doesn't work on AWS Health Dashboard

AWS Health Dashboard has the following URL https://health.aws.amazon.com/health/home#/account/dashboard/other-notifications
Which isn't included on the allowed URLs
https://.awsapps.com/
https://.console.aws.amazon.com/

Thanks for the information. I will fix it soon.
@garypiner

@garypiner
I have fixed it as v1.3.0.


When I run Generation_metrics_sub1.ipynb, I encountered the following error. Where should I go to get this file? Thank you.

Hi! If you run it for the first time, in Generation_metrics_sub1.ipynb, the corresponding eeg_features will be generated after running. Please replace the path with the eeg_features path you generated and continue running.

ok， i will try it! thx

您好，我在运行ATM_S_insubject_retrieval.py文件时，似乎出现了torch.load问题，不知道是哪里出错了，如您看到，希望您能回复我一下，谢谢！

@lwlBCI This usually indicates a problem while trying to load a serialized file using torch.load. This may be because the file was not downloaded or saved correctly, or was corrupted during transfer.
Please delete the extracted feature files ViT-14_features_train.pt and ViT-14_features_test.pt and run again.

pip install transformers==0.27.0  Why can't I find this version of transforms?

所以，可能是您提供的ViT-H-14_features_train.pt文件有问题吗？我在两台电脑上都下载并运行了您的项目，都遇到了相同的问题。当我尝试删除来重新生成此文件时，报错提示我的显存不够，所以我还是想使用您的ViT-H-14_features_train.pt文件。我已经给您主页的邮箱发送了邮件，如您不介意 希望您能加我一下，非常非常感谢，我真心想学习一下，感谢！

ok，应该就是权重文件的问题，非常感谢！祝科研顺利！


Map issues

Right now cmd.add(1).map.with(1, 2, 3) works just fine and produces [[2], [3], [4]].
The issue is this:
cmd.add(1).map.add(1).with(1, 2, 3);
["21", "31", "41"]

The actual problem is that the second add(1) is executing map() and does not know to then map over the returned values. We need to change the flow from right to left to left to right internally.

Note: this might be specifically for map, maybe we need to invert only in this case?

Looks like cmd.add(1).add(1).map.with(1, 2, 3); returns the correct result of [[3], [4], [5]].

Everything to the left of .map will get single values. Need more research to determine if this is really an issue or not. cmd.add(1).add(1).map.to([1], [2], [3]); also works just fine and produces [[3], [4], [5]].

Still an issue with:
var products = [
    {name: 'apple',  type: 'fruit',     q: 5, price: 1.99},
    {name: 'pear',   type: 'fruit',     q: 3, price: 2.59},
    {name: 'carrot', type: 'vegetable', q: 7, price: 0.59}
]; cmd.do(cmd.get('q'), cmd.get('price')).map.product.with(products);


Need to put a GO statement between PRINT and CREATE

The script adds PRINT statements before the start of each combined file, but doesn't put a GO statement between the PRINT and a following CREATE.

That's a great suggestion. I'll try to get that in this weekend.
On Fri, Jul 20, 2018, 13:49 Colizobble<EMAIL_ADDRESS>wrote:

The script adds PRINT statements before the start of each combined file,
but doesn't put a GO statement between the PRINT and a following CREATE.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BateleurIO/sqlops-combine-scripts/issues/2, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKY40gSmkNRPvGAKEKh6TuZ0kvRNdjuSks5uIcPQgaJpZM4VX6Fm
.

@Colizobble I've created a release (1.3.0), which you can install directly. I don't have a feel for how long it will take to update in the Sqlops extension gallery.
The VS Code version should already be available.

Thank you very much for implementing this so quickly and pointing me to the VS Code version as well


openai: 0.22.1 -> 0.23.0

Description of changes
Update to latest version.
No changes that would affect the package definition (https://github.com/openai/openai-python/compare/v0.22.1...v0.23.0).
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 188209 run on x86_64-darwin 1

2 packages built:

openai (python310Packages.openai)
python39Packages.openai


[Snyk] Security upgrade pug from 2.0.4 to 3.0.1

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

691/1000  Why? Recently disclosed, Has a fix available, CVSS 8.1
Remote Code Execution (RCE) SNYK-JS-PUG-1071616
Yes
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Hello :)
Might as well target 3.0.2 which includes a bugfix, or better still, ~3.0.2


[DDW-459] Replace in-app support request with links to support page

This PR replaces in-app support request with links to support and loading screens.
Todo:

[ ] Support link URL - @nikolaglumac who should be CCed here?

Settings > Support page

[x] Replace the current action with the link to the support page

Connecting screen > Having trouble notification

[x] Replace the action and also
[x] Add "download the logs locally" additional link

Screenshots:

Review Checklist:
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (yarn run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn run package / CI builds)
[ ] There are no flow errors or warnings (yarn run flow:test)
[ ] There are no lint errors or warnings (yarn run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running yarn run manage:translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn run storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

Still missing the final URL and an answer from @a-rukin if the Loading screen should have a white background, but it can be reviewed already.

@daniloprates we show the same notification on connecting (blue) and syncing (grey) screen.
We should not change any colors in the scope of this PR. The task is only about removing in-app support request code and adding this new link "Download logs" on the notification itself.

could you provide the Download Logs colors for normal and hover states?

There should be no color change on this link. The behavior should be the same as for the links on the Support screen:

@daniloprates aren't you missing an icon in the "Open support ticket" button?

Regarding the support link URL - we should discuss this with Carl. This will not be a simple link - we will need to pass a set of query params which will carry over important data to the support page. Please ping me once you start working today and I'll explain the details.

Hey @nikolaglumac!

we show the same notification on connecting (blue) and syncing (grey) screen.

Sure, I didn't realise the "Having trouble syncing?" message could be shown in the syncing screen. I'll add this state for the Download Logs link.

Regarding the support link URL - we should discuss this with Carl.

Cool, I remember the discussion. I'll ping you.

aren't you missing an icon in the "Open support ticket" button?

The icon is there. Isn't it appearing for you? Maybe I missed something.

@a-rukin thanks, fixed.

Looks great now @daniloprates 👍

Also reviewing this now …

@DominikGuzei I don't think we can capture that event as it happens in 2 steps:

You need to select location for the file on disk and click "OK" (this event we can capture!)
Then the actual file gets saved to that location and this operation can take a while (this event I doubt we can capture)

@nikolaglumac i created DDW-509 and DDW-510 for this!

Perfect @DominikGuzei - thanks <3

@daniloprates there are a few merge conflicts here

@DominikGuzei 12 conflict files later: merged.

@DominikGuzei actually found some issues. Fixing them.

@daniloprates is this PR now ready for the final review?

@nikolaglumac I was waiting for some feedback or adjustments request, but I guess we can finish this one and treat any future requests as new cards.

@daniloprates when trying the latest version locally (dev) im getting this URL:
https://iohk.zendesk.com/hc/en-us/categories/360000877653-Daedalus-wallet-mainnet?frontendVersion=0.12.0&backendVersion=undefined&network=undefined&build=dev&installerVersion=dev&os=macOS&locale=en-US&product=Daedalus%20wallet%20-%20undefined&supportLanguage=English&productVersion=Daedalus%200.12.0%2BCardano%20dev
Seems like a couple of things are undefined

@DominikGuzei thanks, variable names updated.

@daniloprates can you please update the support page URLs?

English: https://iohk.zendesk.com/hc/en-us/requests/new/
Japanese: https://iohk.zendesk.com/hc/ja/requests/new/

bors r+


Review

Thanks for the module! :slightly_smiling_face:
Because it wasn't displayed very nice on the new module list I'm working on, I've had a look at the code and have these change suggestions. There have been more changes than planned. I hope it's not too unclear to review.
There are no functional changes.
Main changes:

Use separate license file
More standardized formatting (e.g. before, quotes were sometimes single and sometimes double)
Use log instead of console
Add package.json (this is necessary so that we have keywords in the new module list)
Fix typos
Update the URL to the MagicMirror project

@matt-thurling Did you noticed my PR? :slightly_smiling_face:

Thanks! :smiley:  Your module now looks nice on the new module list :rocket:


Update icons to the new versions for the native editor

For #7261

Codecov Report

Merging #7298 into master will decrease coverage by 0.81%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7298      +/-   ##
==========================================
- Coverage   58.34%   57.52%   -0.82%
==========================================
  Files         493      493
  Lines       21661    21309     -352
  Branches     3486     3481       -5
==========================================
- Hits        12639    12259     -380
- Misses       8242     8263      +21
- Partials      780      787       +7

Impacted Files
Coverage Δ

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-75%)
:arrow_down:

.../client/datascience/jupyter/jupyterConnectError.ts
0% <0%> (-66.67%)
:arrow_down:

...science/jupyter/jupyterKernelPromiseFailedError.ts
0% <0%> (-50%)
:arrow_down:

...ent/datascience/jupyter/jupyterWaitForIdleError.ts
0% <0%> (-50%)
:arrow_down:

src/client/api.ts
60% <0%> (-27.5%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-23.53%)
:arrow_down:

src/client/language/characters.ts
12% <0%> (-21.34%)
:arrow_down:

src/client/testing/codeLenses/main.ts
60% <0%> (-17.78%)
:arrow_down:

src/client/datascience/cellFactory.ts
72.34% <0%> (-17.32%)
:arrow_down:

src/client/common/logger.ts
68.55% <0%> (-6.92%)
:arrow_down:

... and 33 more

Continue to review full report at Codecov.

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


Fix bug that fails to start if the connection pool does not implement…

Fix bug that fails to start if the connection pool does not implement getSchema interface

Pull Request Test Coverage Report for Build 6875

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 71.713%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/src/main/java/org/apache/shardingsphere/core/metadata/table/executor/TableMetaDataInitializer.java
0
4
0.0%

Totals

Change from base Build 6874:
-0.01%

Covered Lines:
10866

Relevant Lines:
15152

💛  - Coveralls


no shuffle when training ?

https://github.com/cswry/SeeSR/blob/main/train_seesr.py#L855

Since we pre-prepared multiple epochs data, we didn't shuffle the data during training


Added a Trouble Brewing plugin

During a game of Trouble Brewing, the plugin displays how many pieces of eight the player is eligible for, from both the player's contribution (max. 100 points) and the team's success (2 per bottle of rum).

 It must be removed in shutDown().

Sweet, I've made that changed now.


Playbook to setup machines to build Icedtea-web

Includes a new directory, within the ansible/playbooks directory, which stores the ansible roles and playbook required to configure machines to build Icedtea-web.
Includes the Common and GIT_Source roles from the AdoptOpenJDK_Unix_Playbook directory. These, in conjunction with the new pkg-config, rust and automake roles, are required to configure machines for an Icedtea-web build.
See issue #781

@sxa555 please review when you get the chance. Thanks

@sxa555
Have only tested on Centos 7.6, so I will remove the other files for the other OSs in the Common role. I am looking to reduce the number of items in the Common role

@sxa555 The roles for the OSs, on which this playbook hasn't been tested, have been removed. And the Common role has been condensed to include fewer items, though i'm still in the process of reducing the number of items.

@sxa555 I have removed what I think to be all of the unnecessary items from the Common role. Let me know what you think.


make the privacy policy available for non logged in users (closes #3757)

Note: If the policy is changed, the server has to be restarted, because the policy is now put as a constant in the main JS-View. This view is cached, so changes do not reflect there.
And yes, this is a very hacky, but fast solution. If we want to enable the /privacypolicy page, we need to refactor the whole client-state-authentication-system.

@emanuelschuetze See my first node: the server has to be restarted. I messed the point that the client needs a reload, too. But if you restart both, it should work.

@emanuelschuetze I'll merge this. You gave me verbal feedback that it works and I need the gitignore entry for further development ;)
You can review later.

Ok.


[ENH] Updates to README for descriptions, how-to-use instructions, screenshots, and badges

This closes #442.

README.md has been updated to include changes requested in #442.
Screenshots in a new images root-level folder for the how-to-use instructions

Okay, @rmanaem. Take another look.


Ansible provisioner does not work and no artifacts are created.

Expected Behavior
Able to build AMI using the ansible provisioner.
Current Behavior
Ansible provisioner does not work, and no artifacts are created.
2021/04/19 01:27:01 packer-provisioner-shell plugin: Serving a plugin connection...

  on example.pkr.hcl line 46:
Error: Failed preparing provisioner-block "ansible" ""
  (source code not available)

1 error(s) occurred:

* Error running "ansible-playbook --version": exec: "ansible-playbook":

  on example.pkr.hcl line 46:
executable file not found in $PATH
  (source code not available)

1 error(s) occurred:

2021/04/19 01:27:01 Build debug mode: false

* Error running "ansible-playbook --version": exec: "ansible-playbook":
2021/04/19 01:27:01 Force build: false
executable file not found in $PATH
2021/04/19 01:27:01 On error: abort

2021/04/19 01:27:01 Waiting on builds to complete...

==> Wait completed after 4 microseconds
==> Wait completed after 4 microseconds

==> Builds finished but no artifacts were created.
==> Builds finished but no artifacts were created.

Steps to Reproduce
The build that is executed on GitHubActions using the Ansible provider always fails.
Environment
1.) Link to a Gist of your Workflow configuration:
https://gist.github.com/MiyamotoTa/705b18449165f7472f42382adfe4807c
2.) Any other relevant environment information:
Running the same code on a local machine can build the AMI.
Local packer version: v1.7.2

Hi @MiyamotoTa, thanks for reporting this!
Could you share part of your Packer image configuration?
It looks like you're using the Shell provisioner, rather than the Ansible (local) provisioner (see here) - any specific reason for this?

Hi, @ksatirli
I uploaded the example.pkr.hcl file to gist. Let me know if I can give you any other information.
The reason for using the Shell provisioner is not really necessary, as the packer quick start was still there.
However, the same error occurred when I removed it for testing purposes and used only the Ansible provisioned.

@ksatirli I've always understood that you need to install Ansible on the machine you're running packer on to use the ansible provisioner. It is not installed in either the base packer docker image or the docker image created for this action therefor it doesn not exist in in the container hence the executable file not found in $PATH error. I imagine there are other provisioners that fall into the same bucket (software must be installed).
In addition, there are many ansible modules that require additional python libraries to be pre-installed on the machine running the ansible playbook. This is another complication.

I'm having the same issue even though I'm installing the pip package from GitHub action
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: '3.8'
      - name: Install ansible
        run: pip install ansible
      - name: Append binary PATH
        run: echo "$(dirname $(which ansible))" >> $GITHUB_PATH
      - name: Build Artifact
        uses: hashicorp/packer-github-actions@master
        with:
          command: build

@oba11 The packer GitHub action runs inside a docker container that runs inside the GitHub Action runner instance. You're workflow is installing Ansible in the runner instance but since packer runs inside Docker inside your runner packer cannot access your Ansible installation. I worked around this myself by creating my own Docker based action inside our packer repo and using the code in this repo as a base and then editing the Dockerfile to also install ansible and any libs we need. I'm not sure how else you would be able to work around this limitation.

I'm having the same issue.
@jw-maynard so the issue was the GitHub actions runner images (hashicorp/packer:light) didn't have an ansible on it? so if we want to use it, we have to modify the Dockerfile to with an image that includes ansible on it?

That was my experience.

@ksatirli I'm curious is there a reason the packer team is going the route of running packer inside a container instead of creating an action similar to the terraform-setup action which sets up terraform on the runner. This would seem to me to make supporting provisioners other than shell scripts a lot easier as the requirement to ensure any extra executables are available would be on the workflow author and not the packer action itself.

Hi, any updates on this issue ?

Hi, any updates on this issue?

I've been solving this issue by updating the docker images, you can use the forked version here https://github.com/pintu-crypto/packer-github-actions
the changes of the docker images can be checked here https://github.com/2pai/docker-hub-images/commit/a5331287a32289764fcf6a7ec88d80f894bdde91 or if you want to build the image by yourself

Ah ! Saw your reply too late :)
I ended up doing this :
    - run: 'sudo apt-get install -y ansible'
      shell: bash
    # NB: will only work with ubuntu 20.04
    - uses: myci-actions/add-deb-repo@10
      with:
        repo: deb [arch=amd64] https://apt.releases.hashicorp.com focal main
        keys-asc: https://apt.releases.hashicorp.com/gpg
        update: true
        install: packer
    - name: Validate Template
      uses: hashicorp/packer-github-actions@master
      with:
        command: validate
        arguments: -syntax-only
        target: infra/packer
    - run: 'packer init .'
    - run: 'packer build somefile.pkr.hcl'

Hi, any updates on this issue?

I've been solving this issue by updating the docker images, you can use the forked version here https://github.com/pintu-crypto/packer-github-actions
the changes of the docker images can be checked here 2pai/docker-hub-images@a533128 or if you want to build the image by yourself

Thanks for this. I am rolling with my own, but your Fork gave me the inspiration I needed :)

Hi all,
I figured out a work-around. It worked for me I am not sure. How far it will help the rest.
This is the github-actions i created for my purpose.
---

name: Packer Build

on:
  push:

jobs:
  packer:
    runs-on: ubuntu-latest
    name: packer

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ap-south-1

      - name: Install python
        uses: actions/setup-python@v3
        with:
          python-version: '3.8'

      - name: Install ansible
        run: pip install ansible

      - name: Install Packer
        run: |
          sudo apt-get update; sudo apt-get install -y curl gnupg software-properties-common ;
          curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - ;
          sudo apt-add-repository -y "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" ;
          sudo apt-get update && sudo apt-get install -y packer;

      - name: Build artifacts
        run : |
          cd deploy/packer;
          packer build -var 'vpc_id=vpc-xxxxxx' -var 'subnet_id=xxxx' template.json.pkr.hcl

name: PackerBuild
on: push

jobs:
  Build:
    runs-on: ubuntu-18.04
    container: pearlthoughts/packer-ansible:latest
    steps:
      - uses: actions/checkout@v2
      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: ap-south-1
      - run: |
          cd packer
          packer init .
          packer build  .
        name: Run in container

Above I am using a docker image in which the packer and ansible is installed. This method will reduce the execution time compared to installing the packer and ansible in the runner. You can build your own docker image (publicly available) and mention it in the yaml script.
Dockerfile:
FROM alpine as build
RUN apk add packer
FROM alpine:3.13
COPY --from=build /usr/bin/packer /usr/bin/packer
RUN apk add ansible git

Hi!
I create this PR with the fix and include others https://github.com/hashicorp/packer-github-actions/pull/52

this issue is not solved yet :)

Heads up for anyone dealing with this. Packer and Ansible are now included software in the default GitHub actions Ubuntu runners so you should be able to just call packer to complete your builds.
If your using Windows it looks like there is packer but not Ansible so you would need to install that on the runner before running your build.


Update temporarily unavailable

Why
Following the conversation on Slack, we need to update the temporarily_unavailable messaging to cover the IPV journey.
What
The error message now covers both auth and auth+identity journeys and how they use temporarily_unavailable error message.

Looks good to me


Compare subdirectories

Some customers will have different folders for different environments.
As a user, I want to compare the content and resources defined in one folder with those defined in another folder.

this feature would be extremely useful when the folder structure is quite complex and when different repos are used instead of kustomize overlays

Hey @bygui86, this feature was implemented and you can try it using our nightly build ( https://github.com/kubeshop/monokle/releases/tag/v1.12.1-nightly-2022-11-28.0 ) until we officially release the next version that will include it.
Please let us know if everything works as you expect it to.


Add Web Action Shortcuts to CLI

Adds --web to enable web actions
Adds --no-web to disable web actions
Adds --raw to enable web actions with raw http handling
Adds --no-raw to disable raw http handling in web actions
Tests for new flags
Refactoring of action command

PG4 69, approved for first commit.

PG1 1274, PG4 71.

@mdeuser, when creating or updating an action, the --web flag adds annotations to the corresponding action. Essentially --web is a shortcut so that users do not have to type -a web-export true -a final true during action create/update. When --web is not specified, annotations are not modified automatically by the CLI. In contrast, --no-web automatically sets -a web-export false -a final false. The other flags, --raw and --no-raw, do the same as the web commands except modifications are done to an annotation called raw-http.

@mdeuser, currently the backend will delete all existing annotations when a new annotation is added to an action. If we automatically set web action annotations to false whenever a call to action update is made without --raw|--web we will delete the existing annotations on an action.

@mdeuser, by having --no-web|--no-raw flags we allow users to update actions without having to specify their annotations every time.

PG4 75.

Instead of --web (yes|true)|raw|(no|false), how about --web none|raw|default ?

PG4 76.

Dropped last commit, moved tests and consolidates test cases.
Merged as https://github.com/openwhisk/openwhisk/commit/59e41fbb465c3df75519357b90642910d743aca1.


Fix package

@carltongibson
crispy-forms uses zip_safe=False in it's setup.py file.
Testing locally this package seems to work 'just fine' without this setting. I think we can rely on auto-detection? Do you have a view on this?
https://setuptools.readthedocs.io/en/latest/userguide/miscellaneous.html?highlight=zip_safe#setting-the-zip-safe-flag

It's probably not needed. 🤔 We're not doing anything fancy right...

Thanks 👍
Let's go with it, folk can always (and will) shout if it doesn't work for them.


[FR]: allow for rules_js to respect packageManager field of package.json

What is the current behavior?
Right now, the rule pick the "latest" version of pnpm from the list of preset versions (#1173 specifically mentions the list in question). This can lead to an issue where CI uses a different version of the package manager relative to the user if the user doesn't run bazel for the pnpm binary. An ideal solution to this would be to rely on packageManager field that was introduced in Node 16. This allows this ruleset to key off of the version defined for use with corepack.
The docs for this field can be found here https://nodejs.org/api/packages.html#packagemanager
Having the package.json be the source of truth also removes the need for a user to define pnpm_version in the npm_translate_lock call.
You can also fail gracefully on CI and tell folks to either use bazel run to fix lockfiles or to run corepack prepare --activate to get their local in alignment
Describe the feature
See above

I wrote a repository rule that does this logic for me until this FR can be upstreamed
"""Repository rule to generate a `.bzl` file encoding the version of pnpm we intend to use in the repo
"""

FILE_CONTENTS_TEMPLATE = """
# This file is auto-generated by the `generate_pnpm_version` rule in `//bazel/js/pnpm:generate_pnpm_version_constant.bzl`.

PNPM_VERSION = \"%s\"
"""

def get_pnpm_version(rctx, label):
    """Returns a string representing the pnpm version encoded in the package.json file

    Args:
        rctx: The `repository_ctx` provided by `repository_rule`.
        label: Bazel label for a `package.json` file.

    Returns:
        the pnpm package version.
    """
    package_json_data = json.decode(rctx.read(rctx.path(label)))
    version = package_json_data["packageManager"].split("@")[1]
    return version

def _generate_pnpm_version_impl(rctx):
    """Generate a `.bzl` file that encodes the version constant for PNPM to be used with rules_js

    This writes the file `deps.bzl`, which contains the version of the pnpm we wish to use
    """
    pnpm_version = get_pnpm_version(rctx, rctx.attr.package_json)
    file_contents = FILE_CONTENTS_TEMPLATE % pnpm_version
    rctx.file("pnpm_version.bzl", content = file_contents, executable = False)

    # Bazel requires we have an empty BUILD.bazel file alongside the `.bzl` file.
    rctx.file("BUILD.bazel", content = "", executable = False)

generate_pnpm_version_constant = repository_rule(
    implementation = _generate_pnpm_version_impl,
    attrs = {
        "package_json": attr.label(
            default = "//:package.json",
            mandatory = False,
            doc = "Bazel label for the package.json.",
        ),
    },
    local = True,
    doc = "Generate a `.bzl` file that encodes pnpm version for repository into a file.",
)

You can put this logic in a bzl file and invoke it from the WORKSPACE file. Then you can reference the output in the npm_translate_lock area by loading.
Example
load("//bazel/js/pnpm:generate_pnpm_version_constant.bzl", "generate_pnpm_version_constant")

generate_pnpm_version_constant(
    name = "pnpm_version",
    package_json = "//:package.json",
)

load("@pnpm_version//:pnpm_version.bzl", "PNPM_VERSION")
#translate lock bits go after this

This is conceptually similar to the ts_version_from feature in rules_ts where we get a typescript version by reading your package.json

Just to add, @etlovett shared with me that also fills this gap which is not corepack. https://volta.sh/
So in theory it could key off of different areas


Allow Elm-like dsl with an implicit topic in scope

Specifying the pipe for events is very powerful, but probably not necessary in the majority of cases.
button("-", onClick.as(Event.Decrement) --> outgoing.publish)

Where outgoing is a Topic[F, Event]. It would be nice if we could allow to skip that part to simply write:
button("-", onClick.as(Event.Decrement))

When we have an implicit Topic[F, Event] in scope. I realize this could become messy, so it could be provided as an opt-in or alternative syntax for the DSL

Firstly, if you are looking for an Elm-like experience, I strongly recommend you look at Tyrian :)
https://github.com/PurpleKingdomGames/tyrian

Otherwise, this sort of feature feels out-of-scope for Calico. However, I would be very supportive of a external library/framework that builds on Calico and offers this (and other Elm-like facilities).
To support this, all you need to do is put a custom Modifier[F, HtmlElement, EventProp[F, E]] into scope.
https://github.com/armanbilge/calico/blob/7f8d5860213f7a3a805c40cf2ba2da719237ca01/calico/src/main/scala/calico/html/Modifier.scala#L31-L37
Something like this:
given [F[_], N, E]: Modifier[F, N <: fs2.dom.Node[F], EventProp[F, E]](
  using sink: Topic[F, E]
) with
  def modify(prop: EventProp[F, E], node: N): Resource[F, Unit] =
    forPipeEventProp.modify(prop --> sink.publish, node)

Yeah I agree this might sit on the next level of abstraction or in the user's own code.


Remove failing and redundant Standard workflow

There is no script called standard so npm run standard was always failing.
Also, standard is already run as part of npm test, so it's covered by the other workflow.

Thanks @LinusU , but I think we should merge https://github.com/feross/buffer/pull/332 instead

Added https://github.com/feross/buffer/commit/3404b7e56bd6841b50afd3bc5664d5f4c8d77c2a to resolve the other problem you pointed, thanks @LinusU


Delete the "used by" column. Order traffic lights by colour, and alphabetically within colour.

... on the docs pages.

What was the motivation for deleting the used by column?

What was the motivation for deleting the used by column?

It was empty. Plus, most of us agreed we didn't really like the column anyway.


[NINJA] Added new alias 'shutdown-ninja-scons-daemon' to allow ninja to shutdown the daemon

Added a new alias for users to be able to shutdown the daemon gracefully on command. Also added clean up abilities to test framework to shutdown all daemons and remove scons daemon log directories if preserve is not set.
Contributor Checklist:

[x] I have created a new test or updated the unit tests to cover the new/changed functionality.
[x] I have updated CHANGES.txt (and read the README.rst)
[ ] I have updated the appropriate documentation

Many of the windows ninja experimental tests are failing.
@dmoody256 - can you investigate?

Many of the windows ninja experimental tests are failing. @dmoody256 - can you investigate?

@bdbaddog fixed


Throw an "UnsupportedOperation" exception

Add an else throw new Error('Unsupported Operation ' + p.op + ') to patches.map

https://github.com/imlucas/jsonpatch-to-mongodb/pull/3


update CHANGELOG.md

Congratulations to you and your colleagues on New Year.
The CHANGELOG.md file is set to tdlib 1.5.0 but tdlib is now updated to 1.5.4 but the list of changes has not been updated.
Please update the CHANGELOG.md file & Also configurable slow_mode_delay add to tdlib.
thank you ...

The change log update is pending. It will be updated to TDLib 1.6.0 change log when the corresponding documentation is ready.

In the meanwhile, git diff v1.5.0 td/generate/scheme/td_api.tl gives a very good approximation of the publicly visible changes.

I use vysheng_tdbot & I fixed the 1.5 update errors through the introduced link , But to update to the latest version, the following error occurs:
[ 98%] Building CXX object CMakeFiles/telegram-bot.dir/main.cpp.o In file included from /root/tdbot/main.cpp:20:0: /root/tdbot/cliclient.hpp: In member function ‘void CliClient::run(td::uint64, std::__cxx11::string)’: /root/tdbot/cliclient.hpp:150:47: error: use of deleted function ‘td::JsonValue::JsonValue(const td::JsonValue&)’        auto r = from_json(object, as_json_value);                                                ^ In file included from /root/tdbot/td/td/tl/tl_json.h:14:0,                  from /root/tdbot/cliclient.hpp:20,                  from /root/tdbot/main.cpp:20: /root/tdbot/td/tdutils/td/utils/JsonBuilder.h:473:3: note: declared here    JsonValue(const JsonValue &other) = delete;    ^ In file included from /root/tdbot/cliclient.hpp:21:0,                  from /root/tdbot/main.cpp:20: /root/tdbot/td/td/generate/auto/td/telegram/td_api_json.h:13:8: note:   initializing argument 2 of ‘td::Status td::td_api::from_json(td::tl_object_ptr<td::td_api::Function>&, td::JsonValue)’  Status from_json(tl_object_ptr<Function> &to, td::JsonValue from);         ^ CMakeFiles/telegram-bot.dir/build.make:62: recipe for target 'CMakeFiles/telegram-bot.dir/main.cpp.o' failed make[3]: *** [CMakeFiles/telegram-bot.dir/main.cpp.o] Error 1 CMakeFiles/Makefile2:74: recipe for target 'CMakeFiles/telegram-bot.dir/all' failed make[2]: *** [CMakeFiles/telegram-bot.dir/all] Error 2 CMakeFiles/Makefile2:86: recipe for target 'CMakeFiles/telegram-bot.dir/rule' failed make[1]: *** [CMakeFiles/telegram-bot.dir/rule] Error 2 Makefile:162: recipe for target 'telegram-bot' failed make: *** [telegram-bot] Error 2

tdbot uses private TDLib functions, so it needs to be fixed after every TDLib update. You need to wait, while someone fixes tdbot to support TDLib 1.6.0, and this is unlikely to happen before 1.6.0 release.

Hi all, I've just created tool to generate more readable changelog from tl-scheme - CHANGELOG. May be it can also help.

The Change Log was updated.


Add regression test for memory leaks in string tensors

From #251

It's just some arbitrary value that's probably enough to account for the overhead of the JVM and stuff that it does in the background. There isn't much to explain! I just came up with something that seems to work well enough for a unit test. If you feel that we shouldn't put tests that are not 100% in there, well, let's not merge this. This is the best I could come up with without spending the whole day on it.

It looks like there's supposed to be a "CppMemoryChecker" that tracks allocations as per this file in the Python API:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/framework/memory_checker.py#L27
However, that module is nowhere to be found. I assume this is something that Google hasn't open sourced...
The only thing available seems to be the "PythonMemoryChecker" that works very much like JavaCPP and is only able to track objects that are registered with its GC:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/framework/python_memory_checker.py#L44-L50


?? and ??= behave differently when they shouldn't

TypeScript Version:  4.0.2,  Nightly (2020-9-2)

Search Terms:
Nullish coalescing operator
Nullish never
Coalescing never
Nullish coalescing assignment
Code
According to this post usage of ?? and ??= should be equivalent in the sample code below:
const values: { a?: string[] } = { };

delete values.a;
(values.a ?? (values.a = [])).push("hello"); // error
values.a = undefined;
(values.a ?? (values.a = [])).push("hello"); // error

delete values.a;
(values.a ??= []).push("hello");
values.a = undefined;
(values.a ??= []).push("hello");

Expected behavior:
Examples with ?? and ??= should compile and behave similarly.
Actual behavior:
Examples with ?? do not compile (Argument of type 'string' is not assignable to parameter of type 'never'.(2345))
Playground Link:
link
Related Issues:
Didn't find anything similar

I think it's caused by #40359. Hold on, I'll pack an online demo to prove it.

I‘m not sure what happend but it's work on my local

I think the following lines exhibit the same behavior that is triggering the error above:
let a : number[] | undefined = undefined
let b = (a = a ?? []) // b : never[]
a = undefined
let c = (a ??= []) // c : number[]

playground link
For the example above to run, we would need the inferred type of b to be number[]. I am not sure what the desired behavior in this case is, but if someone has inputs I am happy to look into this more.

Sorry for the delay. But I'm a bit confused...
What should the behavior is?
Seems (values.a ?? (values.a = [])) has been assumed as never[], But (values.a ??= []) as string[].
And IMO string[] is reasonable?

Might be related to #40494

This might be related unless I'm misunderstanding something and this behavior isn't a bug:
function a(b?: () => string) {
  b ??= () => 'Hello, world!';

  return () => b();
  //           ^-- Cannot invoke an object which is possibly undefined
}

a();

(Playground link)
This also happens when the value returned by a is a class.
However b is properly narrowed when you call it within the body of a.

Now, it's that ?? and ??= are converted to their core-js polyfills for an unknown reason, which shouldn't be because major browsers now support both (except IE, which we should no longer worry about).
For example, this test code:
let gContentLanguage: string = "pl"
class L10n {
  static readonly LANGS_WITH_NONSTANDARD_PLURAL = ["ab","av","ba","bxr","ce","crh_cyrl","cv","inh","koi","krc","kv","lbe","lez","mhr","mrj","myv","ru","tt_cyrl","tyv","udm","xal"];
  /** Takes a number and 2~4 strings to alternate between, depending on the number, for correct formatting.
    *
    * @param n {number} The number to return the proper form for.
    * @param sinNom {string} The singular nominative form.
    * @param pluNom {string} The plural nominative form.
    * @param pluGen {string} The plural genitive form.
    * @param sinGen {string} The singular genitive form.
    * @returns {string}
    */
  static plural (n: number, sinNom: string, pluNom: string, pluGen?: string, sinGen?: string): string | undefined {
    if (n === 1) return sinNom;
    if (n % 10 === 1 && L10n.LANGS_WITH_NONSTANDARD_PLURAL.includes(gContentLanguage)) return sinNom;
    if (n % 1 > 0) return sinGen ?? "";
    if (2 < n % 10 <= 4) return pluNom;
    return pluGen ?? pluNom;
  }
}

gContentLanguage ??= "en"

compiles to
"use strict";
let gContentLanguage = "pl";
class L10n {
    /** Takes a number and 2~4 strings to alternate between, depending on the number, for correct formatting.
      *
      * @param n {number} The number to return the proper form for.
      * @param sinNom {string} The singular nominative form.
      * @param pluNom {string} The plural nominative form.
      * @param pluGen {string} The plural genitive form.
      * @param sinGen {string} The singular genitive form.
      * @returns {string}
      */
    static plural(n, sinNom, pluNom, pluGen, sinGen) {
        if (n === 1)
            return sinNom;
        if (n % 10 === 1 && L10n.LANGS_WITH_NONSTANDARD_PLURAL.includes(gContentLanguage))
            return sinNom;
        if (n % 1 > 0)
            return sinGen !== null && sinGen !== void 0 ? sinGen : "";
        if (2 < n % 10 <= 4)
            return pluNom;
        return pluGen !== null && pluGen !== void 0 ? pluGen : pluNom;
    }
}
L10n.LANGS_WITH_NONSTANDARD_PLURAL = ["ab", "av", "ba", "bxr", "ce", "crh_cyrl", "cv", "inh", "koi", "krc", "kv", "lbe", "lez", "mhr", "mrj", "myv", "ru", "tt_cyrl", "tyv", "udm", "xal"];
gContentLanguage !== null && gContentLanguage !== void 0 ? gContentLanguage : (gContentLanguage = "en");

gContentLanguage ??= "en" should have remained unchanged, as well as sinGen ?? "" and pluGen ?? pluNom. I tested this in the web-based playground.

@Keyacom you need to set your target to ES2021 or later, otherwise it will get downleveled.

@Keyacom you need to set your target to ES2021 or later, otherwise it will get downleveled.

I wonder why the playground's target ES version is set to ES2017 by default, but okay.

I found a different variant of the bug (posted first as a comment to #40494).
Take the following code snippet, where there is a bug (?? should have been ||).
let elem!: Element;

let selector1 =
    (elem.hasAttribute('name') && `[name='${elem.getAttribute('name')!}']`)
    ?? elem.tagName;
const s1: string = selector1;  // Correctly reports that false is not assignable to string

let selector2;
selector2 = elem.hasAttribute('name') && `[name='${elem.getAttribute('name')!}']`;
selector2 ??= elem.tagName;
const s2: string = selector2;  // No error as selector2 has been incorrectly narrowed to string, where there should be!!

It seems as though ??= incorrectly works identical to ||=.
Playground link


⚠ ClamAV has degraded performance

In 49fbe3e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 80 ms

Resolved: ClamAV performance has improved in d735b5b.


Fixed filename for Controllers/UmbracoHalControllerBase.cs

simple filename typo fix - want me to create an issue for it?

nope this PR is fine :) thanks!


Add TermSetNavigation and also HoverReactionsBar to the test component ControlsTest.tsx

Category
[x] Enhancement
[ ] Bug
[ ] Question
Version
Please specify what version of the library you are using: [  3.16.0  ]
Expected / Desired Behavior / Question
Add controls to be available to test within the ControlsTest.tsx component
Observed Behavior
TermSetNavigation and HoverReactionsBar missing from test component ControlsTest.tsx

Hi @joelfmrodrigues I would like to work on this

Hello @Dhoni77,
Are you still working on it? Do you need any help?


Microsoft.Relay namespace is deployed publicly accessible even though 'publicNetworkAccess' property is explicitly set to 'Disabled'

Bicep version
Bicep CLI v0.24.24
Describe the bug
Trying to deploy a Relay Namespace with public networks access disabled, however upon deploying the 'publicNetworkAccess' property is ignored as relay is deployed with public access set to 'All networks'.
To Reproduce
Deploy the code below:
resource hybridConnection 'Microsoft.Relay/namespaces@2021-11-01' = {
  name: 'testRelayNamespace'
  location: 'eastus2'
  tags: 'some_tags'
  sku: {
    name: 'Standard'
    tier: 'Standard'
  }
  properties: {
    publicNetworkAccess: 'Disabled'
  }
}

Additional context
Add any other context about the problem here.

Apparently, I needed this piece of code to get to work as expected:
resource networkRuleSetDefault 'Microsoft.Relay/namespaces/networkRuleSets@2021-11-01' = {
  parent: hybridConnection
  name: 'default'
  properties: {
    defaultAction: 'Allow'
    ipRules: []
    publicNetworkAccess: 'Disabled'
  }
}


GroupBy with relation fields

Problem
https://github.com/prisma/prisma/issues/7472
Suggested solution
https://github.com/prisma/prisma/issues/7472#issuecomment-855592677

Hi @AaravShah042!  We already have an open feature request for this: #16243. I am going to close this issue as duplicate, let's continue discussion there.


Add Segment as sponsor

This is how it looks:

Thanks!

Here's the SVG logo. Can you use it instead?
segment-logo.svg.zip
(Found it on the Segment website and just minified it)

Updated! I force pushed so that jpg logo doesn't get stored in git history.


fix incorrect variable name and missing TTL in Cache_redis

There is a little bug, which causes warning. Entire method uses $data variable, but in conditional check, there is $value. Leftover from recent updates.

I have also added setting expire time for cached items inside save method. TTL wasn't handled at all.

Would be great to get this merged!
:+1:


Crashes on Raspi 3 using pulseaudio

I'm using Raspbian Jessie Release 8.0
When i'm trying to start librespot on my Raspberry Pi 3 using PulseAudio backend
RUST_BACKTRACE=1 ~/librespot/target/release/librespot --username my@email --cache /tmp/librespot --name Libre -p MySuperStrongPassword -b 320 --backend pulseaudio
it crashes with following message:
INFO:librespot_core::session: Connecting to AP "gew1-accesspoint-c-h1c1.ap.spotify.com:4070"
INFO:librespot_core::session: Authenticated as "1157689638" !
INFO:librespot_core::session: Country: "DE"
thread '<unnamed>' panicked at 'assertion failed: s != null_mut()', src/audio_backend/pulseaudio.rs:39
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:71
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:60
             at /checkout/src/libstd/panicking.rs:355
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:371
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:549
   5: std::panicking::begin_panic
   6: <librespot::audio_backend::pulseaudio::PulseAudioSink as librespot::audio_backend::Open>::open
   7: librespot::audio_backend::mk_sink
   8: std::panicking::try::do_call
   9: __rust_maybe_catch_panic
             at /checkout/src/libpanic_unwind/lib.rs:98
  10: <F as alloc::boxed::FnBox<A>>::call_box
  11: std::sys::imp::thread::Thread::new::thread_start
             at /checkout/src/liballoc/boxed.rs:650
             at /checkout/src/libstd/sys_common/thread.rs:21
             at /checkout/src/libstd/sys/unix/thread.rs:84

It works fine on my ubuntu VM, so I thought it is caused by the version of Pulseaudio. After an Update to Pulseaudio 10.0 the same issue occours.
I want to use Pulseaudio for several reasons:

With Portaudio write underflow occours from time to time
I want to do some further work in network

Any Ideas what is wrong on my Raspberry?

Hi, I've had the same issue for a while on my RPi3, Jessie 8.0 as well. Got a crash on connection from the Spotify client and it seemed to be related to pulseaudio. I deleted my cloned repo folder and re-cloned it with git clone https://github.com/plietar/librespot.git and then rebuilt. That got it running for the first time in a while. However, I still see the same errors involving pulseaudio, so I'm not claiming victory just yet  (as it also seems nothing like a permanent solution). So, This is what I got:
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
INFO:librespot::player: Loading track "Landed On La Luna"
INFO:librespot::player: Track "Landed On La Luna" loaded

I'll update if it crashes again. Good Luck!

@TurokO8A You don't use pulesaudio as backend. What you are discribing is a normal start using stadard backend (Portaudio).
Any ideas regarding my error?

Any ideas regarding my error?

You have to run PulseAudio and librespot with the same user.


[NEXT] Webpack config typo

In commit f6a9db1, serverConfigFactory got renamed to clientConfigFactory in server.configs.js

On next


Quickstart - need changes to run on Mac - unexpected error: Post http://localhost:8080/v1/apps: dial tcp [::1]:8080: getsockopt: connection refused

Environment: MacPro running VirtualBox and Kitematic.
When you run fn apps create myapp - you get the error
unexpected error: Post http://localhost:8080/v1/apps: dial tcp [::1]:8080: getsockopt: connection refused
Fix
Before the fn apps create myapp, you must
export API_URL="http://<IP_ADDRESS>:8080/"
Explanation:
The fn command by default looks for the API at http://localhost:8080/.
When you run the quickstart on your Mac, the docker port is mapped to <IP_ADDRESS> (which is the IP address of your Linux VirtualBox running Docker). So the ironfunctions docker container is accessible from <IP_ADDRESS> instead of localhost.

Ya, we've been assuming people will be using Docker for Mac going forward - https://docs.docker.com/docker-for-mac/ - which handles localhost properly. Perhaps we need a troubleshooting page with all the little gotchas.


PickArea problem

@martin-braun The Example codes of the package are in "PickArea: CircleArea..." code available. This code has been converted to a comment line. When I opened this code and searched, I saw that the map moved to the selected address. However, when you open the code, I get a "Place not in area" error for the address I came from on the map.
Originally posted by @yigitcevik in https://github.com/martin-braun/google_maps_place_picker_mb/issues/20#issuecomment-1140294979

@yigitcevik Pick area restricts your possible selection. If you want to avoid the "Place not in area" message, you should not define the pick area. Please elaborate what your problem is, exactly. Thanks.