problem of not having all YouTube video qualities in the yt-dlp list

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
so basically i'm trying to build telegram bot using telebot (pyTelegramBotAPI) library and yt-dlp so that the user can download the video he wants with the quality he wants.
also because yt-dlp shows list of every possible modes of what you could download from that video (only audio, only video, etc), i had to filter some of them Because I want only video with sound to be downloadable
the problem is that when i use the bot, there is only one quality that you can download and that's 360p. everything works perfect except that you can only download 360p quality.
here is part of my code:
import telebot
from yt_dlp import YoutubeDL
import os
import random
import string
import requests

BOT_TOKEN = "my telegram bot token"
bot = telebot.TeleBot(BOT_TOKEN)

DOWNLOAD_DIR = "youtube_downloads"
os.makedirs(DOWNLOAD_DIR, exist_ok=True)

YOUTUBE_COOKIES_FILE = "youtube_cookies.txt"

video_data_cache = {}

@bot.message_handler(commands=["youtubedownload"])
def youtube_download_command(message):
    if not message.reply_to_message:
        bot.reply_to(message, "please replay this command to link of your youtube video")
        return

    video_url = message.reply_to_message.text
    try:
        ydl_opts = {
            "quiet": True,
            "no_warnings": True,
            "cookies": YOUTUBE_COOKIES_FILE,
        }
        with YoutubeDL(ydl_opts) as ydl:
            info = ydl.extract_info(video_url, download=False)

        video_title = info.get("title", "Uncertain title")
        thumbnail_url = info.get("thumbnail", None)
        formats = [
            f for f in info.get("formats", [])
            if f.get("vcodec") != "none" and f.get("acodec") != "none"
        ]

        video_data_cache[message.chat.id] = {
            "formats": formats,
            "video_url": video_url,
            "title": video_title,
        }

        quality_list = "\n".join(
            [f"{idx + 1}. {f['format_note']} - {f['filesize'] // 1024 // 1024 if f.get('filesize') else 'unknown'} MB"
             for idx, f in enumerate(formats)]
        )

        if thumbnail_url:
            thumbnail_file = f"{DOWNLOAD_DIR}/thumbnail_{random_string(8)}.jpg"
            download_image(thumbnail_url, thumbnail_file)
            with open(thumbnail_file, "rb") as thumb:
                bot.send_photo(
                    message.chat.id,
                    thumb,
                    caption=(
                        f"🎥 *{video_title}*\n\n"
                        f"please choose one of the qualities below:\n\n{quality_list}\n\n"
                        "replay the number of quality you want"
                    ),
                    parse_mode="Markdown"
                )
            os.remove(thumbnail_file)
        else:
            bot.reply_to(
                message,
                f"🎥 *{video_title}*\n\n"
                f"please choose one of the qualities below:\n\n{quality_list}\n\n"
                "replay the number of quality you want",
                parse_mode="Markdown"
            )
    except Exception as e:
        bot.reply_to(message, f"Unfortunately, an error occurred:\n{e}")

@bot.message_handler(func=lambda message: message.chat.id in video_data_cache)
def download_selected_quality(message):
    try:
        user_selection = int(message.text) - 1
        video_info = video_data_cache.get(message.chat.id)

        if video_info is None:
            bot.reply_to(message, "Unfortunately, the video information was not found. Please try again.")
            return

        formats = video_info["formats"]
        if user_selection < 0 or user_selection >= len(formats):
            bot.reply_to(message, "The selected quality number is not valid.")
            return

        selected_format = formats[user_selection]
        random_filename = f"{random_string(12)}.mp4"
        output_path = os.path.join(DOWNLOAD_DIR, random_filename)

        ydl_opts = {
            "format": selected_format["format_id"],
            "outtmpl": output_path,
            "cookies": YOUTUBE_COOKIES_FILE,
            "quiet": True,
            "no_warnings": True,
        }

        with YoutubeDL(ydl_opts) as ydl:
            ydl.download([video_info["video_url"]])

        with open(output_path, "rb") as video_file:
            bot.send_video(
                message.chat.id,
                video_file,
                caption=f"🎥 {video_info['title']}\n\n"
            )

        os.remove(output_path)

        video_data_cache.pop(message.chat.id)
    except Exception as e:
        bot.reply_to(message, f"An error occurred:\n{e}")

def random_string(length=8):
    return ''.join(random.choices(string.ascii_letters + string.digits, k=length))

def download_image(url, path):
    response = requests.get(url, stream=True)
    if response.status_code == 200:
        with open(path, "wb") as file:
            for chunk in response.iter_content(1024):
                file.write(chunk)
    else:
        raise Exception("Error downloading thumbnail.")

Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

I want only video with sound to be downloadable

The only single format that has both video and audio is format 18, which is 360p. For higher resolutions, you need to download the separate video-only formats and audio-only formats and merge them

I want only video with sound to be downloadable

The only single format that has both video and audio is format 18, which is 360p. For higher resolutions, you need to download the separate video-only formats and audio-only formats and merge them

yeah thanks. i tried it and it works now . any quality but with audio of format 18


Ruby tests failing with "Could not download rvm-installer, please report to https://github.com/rvm/rvm/issues"

I'm seeing this consistently in all Ruby tests.  Here are a couple of examples:
https://source.cloud.google.com/results/invocations/d4fe3fe2-1117-4e77-897a-317f8f92beb8/targets/grpc%2Fcore%2Fpull_request%2Fmacos%2Fgrpc_build_artifacts/log
https://source.cloud.google.com/results/invocations/f4372f7a-8a42-42b3-91c4-4a557096a755/targets/grpc%2Fcore%2Fpull_request%2Fmacos%2Fgrpc_basictests_ruby/log

Fixed by https://github.com/grpc/grpc/pull/27538 as of last night. Both of those errors are from Oct 1


[USE] Association of Unicode character data with glyphs not fully documented

Some operations within the USE depend on Unicode character data being associated with glyphs: decomposing split vowels, character classification, cluster validation, reordering.
However, it's not documented at what point character data is attached to such glyphs, and how long it's maintained. Do only glyphs that are inserted by mapping through the cmap equipped with character data? No, the section "Split vowel handling" says that the first glyph resulting from splitting a vowel that includes Pre "will be considered to be the VPre", even though splitting occurs through a font-defined lookup. Do all glyphs resulting from lookups maintain Unicode character data? Apparently not: to prevent blocking reordering by a virama, developers "can substitute the virama for an alternate glyph during basic cluster formation".
So what's the complete story?

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

ID: 194a6d3c-4137-46e9-3a4b-44b990200986
Version Independent ID: a0c8e788-5228-aa28-670e-3ba1ac3faecd
Content: Creating and supporting OpenType fonts for the Universal Shaping Engine - Typography
Content Source: typographydocs/script-development/use.md
Product: typography

Kinda relevant to https://github.com/harfbuzz/harfbuzz/issues/1786
In HarfBuzz we track Unicode properties of char all the way through shaping.  So, just swapping a virama with an alternate glyph wouldn't trick harfbuzz.  We should probably change that.


Create CODEOWNERS

As suggested in https://github.com/quarkiverse/quarkiverse-devops/issues/274

Updated with your suggestion, thanks for the review


mod_doh: support configurable timeout for DNS request.

Codecov Report

Merging #366 into develop will decrease coverage by 0.00%.
The diff coverage is 57.14%.

@@             Coverage Diff             @@
##           develop     #366      +/-   ##
===========================================
- Coverage    52.94%   52.94%   -0.01%
===========================================
  Files          244      244
  Lines        23035    23039       +4
===========================================
  Hits         12197    12197
- Misses        9430     9435       +5
+ Partials      1408     1407       -1

Impacted Files
Coverage Δ

bfe_modules/mod_doh/conf_mod_doh.go
55.55% <0.00%> (-6.95%)
:arrow_down:

bfe_modules/mod_doh/dns_fetcher.go
19.23% <75.00%> (+2.56%)
:arrow_up:

bfe_modules/mod_doh/mod_doh.go
48.00% <100.00%> (ø)

bfe_websocket/server_conn.go
74.24% <0.00%> (-3.79%)
:arrow_down:

bfe_spdy/frame_read.go
58.11% <0.00%> (+0.75%)
:arrow_up:

bfe_util/fixed_pool.go
100.00% <0.00%> (+16.66%)
:arrow_up:

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 4356fcd...c8991c0. Read the comment docs.


feat(core): register timestamptz type to DataFusion timestamp with time zone type

Description
Now we can distinguish TIMESTAMP  and TIMESTAMP WITH TIME ZONE in the DataFusion layer. We also know the sqlglot will transpile SQL for Bigquery

TIMESTAMP -> DATETIME ( without timezone)
TIMESTAMP WITH TIME ZONE -> TIMESTAMP ( with timezone)

We can apply DataFusion's type coercion rule for them. If needed, DataFusion will cast the timestamp side to the timestamp with the time zone.
Additional change

Enhance the validation script. Now we can set the log level for the detailed debug information.

LOGURU_LEVEL=DEBUG python tools/mdl_validation.py mdl.json function.csv

add boolean alias for bool type
add required function current_datetime for BigQuery

Thanks @grieve54706  for reviewing


Fix essentials bank ID

Add essentials_bank_id to seeded partner profiles.

@dorner this looks good to me. Before I hit that merge button, could you remind me what issue this addresses to catch me up?

This was a comment by @cielf indicating that the bank ID was blank for partners in the seed data.


The new GitHub action does not work?

Current Behavior
I'm trying the new GitHub action in a dummy project and I ended up with this ci file
name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    timeout-minutes: 20
    runs-on: ${{ matrix.os }}
    strategy:
      max-parallel: 6
      matrix:
        os: [ 'ubuntu-latest', 'macos-latest' ]
        python: [ pypy-3.7, pypy-3.8, 3.7, 3.8, 3.9, '3.10' ]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python }}
      # here's where things go wrong
      - name: Set up nox
        uses: wntrblm/nox
        with:
          python-versions: ${{ matrix.python }}
      - name: Set up poetry
        uses<EMAIL_ADDRESS>      - name: Lint
        run: nox -s lint
      - name: Security checks
        run: nox -t security
      - name: Tests
        run: nox -s tests

When GitHub action is launched, I immediately receive this message:
[Error: .github#L1](https://github.com/lewoudar/noxtest/commit/5882afe8c4c57f35b4c6e2cb5249d5bffff34c2d#annotation_4253444940)
the `uses' attribute must be a path, a Docker image, or owner/repo@ref

Expected Behavior
The GitHub action should run without error.
Steps To Reproduce
Use a GitHub action file like the previous one I put.
Environment
- OS: Ubuntu's latest version
- Python: 3.7 - 3.10
- Nox: 2022.8.7

Anything else?
No response

Hmm, looks like it's saying you need e.g wntrblm/nox@latest. Maybe we missed this in the docs, can you try that (or @master) and see where you get to

Thanks for the suggestion @FollowTheProcess it seems better but I have another issue, I don't know how nox configures python, in my configuration file above, I explicitly setup nox python to the one configured in the matrix but I have this:

Two versions of python are configured and therefore it creates issues when installing dependencies
Run nox -t security
nox > Running session bandit
nox > Creating virtual environment (virtualenv) using python in .nox/bandit
nox > poetry install
nox > Warning: poetry is not installed into the virtualenv, it is located at /opt/hostedtoolcache/Python/3.10.6/x64/bin/poetry. This might cause issues! Pass external=True into run() to silence this message.
Installing dependencies from lock file

Package operations: 49 installs, 0 updates, 0 removals

  • Installing idna (3.3)
  • Installing sniffio (1.2.0)

  AttributeError

  'Link' object has no attribute 'is_absolute'

  at /opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/poetry/core/packages/file_dependency.py:33 in __init__
       29│         self._path = path
       30│         self._base = base or Path.cwd()
       31│         self._full_path = path
       32│
    →  33│         if not self._path.is_absolute():
       34│             try:
       35│                 self._full_path = self._base.joinpath(self._path).resolve()
       36│             except FileNotFoundError:
       37│                 raise ValueError("Directory {} does not exist".format(self._path))

  AttributeError

  'Link' object has no attribute 'is_absolute'

  at /opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/poetry/core/packages/file_dependency.py:33 in __init__
       [29](https://github.com/lewoudar/noxtest/runs/7753186725?check_suite_focus=true#step:7:30)│         self._path = path
       30│         self._base = base or Path.cwd()
       31│         self._full_path = path
       32│
    →  33│         if not self._path.is_absolute():
       34│             try:
       35│                 self._full_path = self._base.joinpath(self._path).resolve()
       36│             except FileNotFoundError:
       [37](https://github.com/lewoudar/noxtest/runs/7753186725?check_suite_focus=true#step:7:38)│                 raise ValueError("Directory {} does not exist".format(self._path))

Anyway, the documentation should have a basic template to help us understand how it works ^^

Hmm, I know that the Nox action sets up it's own pythons internally which may be why this is happening. What happens if you remove the setup-python step and just use the Nox action to setup the python matrix as described here https://nox.thea.codes/en/stable/tutorial.html?highlight=action#installation

I end up with something like this (thanks for the suggestion):
...
jobs:
  build:
    timeout-minutes: 20
    runs-on: ${{ matrix.os }}
    strategy:
      max-parallel: 6
      matrix:
        os: [ 'ubuntu-latest', 'macos-latest' ]
        # python: [ pypy-3.7, pypy-3.8, 3.7, 3.8, 3.9, '3.10' ]
    steps:
      - uses: actions/checkout@v2
#      - name: Set up Python ${{ matrix.python }}
#        uses: actions/setup-python@v2
#        with:
#          python-version: ${{ matrix.python }}
      - name: Set up nox
        uses<EMAIL_ADDRESS>#        with:
#          python-versions: ${{ matrix.python }}

It works now but man, I don't understand what is going on. I see that multiple python versions are configured, but how do I use them?

Also I just realize that this action does not fit my general workflow since I install nox and run tests locally before doing it on GitHub.

I see that multiple python versions are configured, but how do I use them?

I just set that up for one of my workflows: The action only makes the Python versions and Nox available, you still have to tell Nox to use the ones you want. E.g. in noxfile.py to run tests with Python 3.9 and 3.10:
@nox.session(python=['3.9', '3.10'])
def test(session):
    # your test commands here

@airtower-luna thanks for the clarification. This confirms that the documentation needs to be updated.

This is a general problem when mixing pipx and nox, not just related to the action. If you run
- uses: actions/setup-python@v4
  with:
    python-version: 3.11-dev
- run: pipx run --python python nox

you'll get the active version of Python when running nox, but nox for some reason doesn't try to use the Python that ran it (via sys.executuable I'd expect) but instead gets the default Python for the OS instead (Something like 3.8-3.10, depending on the runner image you are using) (this is the one pipx itself is using).


fix: simplify code

Delete judgment code

What @Justineo said.

I see, thanks

Not just this, it also avoids the spread (...args) which is even more expensive.


camera: add support for wasm

What package does this bug report belong to?
camera
What target platforms are you seeing this bug on?

Yes
Dependency versions
pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  async:
    dependency: transitive
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  camera:
    dependency: "direct main"
    description:
      name: camera
      sha256: "2170a943dcb67be2af2c6bcda8775e74b41d4c02d6a4eb10bdc832ee185c4eea"
      url: "https://pub.dev"
    source: hosted
    version: "0.11.0+1"
  camera_android_camerax:
    dependency: transitive
    description:
      name: camera_android_camerax
      sha256: "7abb0faddbf103c59365e805ad9a30ab4d602b2eb7a8de469697945fd4a69daa"
      url: "https://pub.dev"
    source: hosted
    version: "0.6.5+6"
  camera_avfoundation:
    dependency: transitive
    description:
      name: camera_avfoundation
      sha256: "7d021e8cd30d9b71b8b92b4ad669e80af432d722d18d6aac338572754a786c15"
      url: "https://pub.dev"
    source: hosted
    version: "0.9.16"
  camera_platform_interface:
    dependency: transitive
    description:
      name: camera_platform_interface
      sha256: a250314a48ea337b35909a4c9d5416a208d736dcb01d0b02c6af122be66660b0
      url: "https://pub.dev"
    source: hosted
    version: "2.7.4"
  camera_web:
    dependency: transitive
    description:
      name: camera_web
      sha256: "9e9aba2fbab77ce2472924196ff8ac4dd8f9126c4f9a3096171cd1d870d6b26c"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.3"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
      url: "https://pub.dev"
    source: hosted
    version: "1.18.0"
  cross_file:
    dependency: transitive
    description:
      name: cross_file
      sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32"
      url: "https://pub.dev"
    source: hosted
    version: "0.3.4+1"
  cupertino_icons:
    dependency: "direct main"
    description:
      name: cupertino_icons
      sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
      url: "https://pub.dev"
    source: hosted
    version: "1.0.8"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_lints:
    dependency: "direct dev"
    description:
      name: flutter_lints
      sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.2"
  flutter_plugin_android_lifecycle:
    dependency: transitive
    description:
      name: flutter_plugin_android_lifecycle
      sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e
      url: "https://pub.dev"
    source: hosted
    version: "2.0.20"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_web_plugins:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.0"
  leak_tracker:
    dependency: transitive
    description:
      name: leak_tracker
      sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
      url: "https://pub.dev"
    source: hosted
    version: "10.0.4"
  leak_tracker_flutter_testing:
    dependency: transitive
    description:
      name: leak_tracker_flutter_testing
      sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.3"
  leak_tracker_testing:
    dependency: transitive
    description:
      name: leak_tracker_testing
      sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  lints:
    dependency: transitive
    description:
      name: lints
      sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
      url: "https://pub.dev"
    source: hosted
    version: "3.0.0"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
      url: "https://pub.dev"
    source: hosted
    version: "0.12.16+1"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
      url: "https://pub.dev"
    source: hosted
    version: "0.8.0"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
      url: "https://pub.dev"
    source: hosted
    version: "1.12.0"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
      url: "https://pub.dev"
    source: hosted
    version: "1.9.0"
  plugin_platform_interface:
    dependency: transitive
    description:
      name: plugin_platform_interface
      sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.8"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.99"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
      url: "https://pub.dev"
    source: hosted
    version: "1.11.1"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  stream_transform:
    dependency: transitive
    description:
      name: stream_transform
      sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
      url: "https://pub.dev"
    source: hosted
    version: "0.7.0"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  vm_service:
    dependency: transitive
    description:
      name: vm_service
      sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
      url: "https://pub.dev"
    source: hosted
    version: "14.2.1"
  web:
    dependency: transitive
    description:
      name: web
      sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
      url: "https://pub.dev"
    source: hosted
    version: "0.5.1"
sdks:
  dart: ">=3.4.1 <4.0.0"
  flutter: ">=3.22.0"

Steps to reproduce
# Use Flutter 3.22.1
flutter create foo
cd foo
dart pub add camera
flutter build web --wasm

Expected results
Successful build
Actual results
Target dart2wasm failed: ProcessException: Process exited abnormally with exit code 64:
*NOTE*: Compilation to WasmGC is experimental.
The support may change, or be removed, with no advance notice.

../../../AppData/Local/Pub/Cache/hosted/pub.dev/camera_web-0.3.3/lib/src/camera_web.dart:6:8: Error: Dart library
'dart:html' is not available on this platform.
import 'dart:html' as html;
       ^
Context: The unavailable library 'dart:html' is imported through these packages:

    web_plugin_registrant.dart => package:camera_web => dart:html

Code sample
Code sample
[Paste your code here]

Screenshots or Videos

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.22.1, on Microsoft Windows [Version 10.0.22631.3447], locale en-US)
    ! Warning: `flutter` on your path resolves to D:\install\software\flutter\versions\3.22.1\bin\flutter, which is not
      inside your current Flutter SDK checkout at d:\install\software\flutter\default. Consider adding
      d:\install\software\flutter\default\bin to the front of your path.
    ! Warning: `dart` on your path resolves to D:\install\software\flutter\versions\3.22.1\bin\dart, which is not inside
      your current Flutter SDK checkout at d:\install\software\flutter\default. Consider adding
      d:\install\software\flutter\default\bin to the front of your path.
[✓] Windows Version (Installed version of Windows is version 10 or higher)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Chrome - develop for the web
[✓] Visual Studio - develop Windows apps (Visual Studio Build Tools 2022 17.5.4)
[✓] Android Studio (version 2022.1)
[✓] Android Studio (version 2023.2)
[✓] Proxy Configuration
[✓] Connected device (3 available)
[✓] Network resources

! Doctor found issues in 1 category.```

</details>

Closing this as a duplicate of https://github.com/flutter/flutter/issues/139748


About the relevance score

Hi I wander how you deal with the relevance score?Do you only see the score 2 as relevant passage or also see score 1 as relevant passage?What do you think the passage with score 1 as,relevant,or irrelevant?

Hi The evaluation implementation can be referred to pytrec_eval. For the Recall metric, all non-zero passages are considered relevant. For the nDCG metric, graded relevance scores are used to calculate nDCG.

Thanks for your answer.And I also want to know that how exactly dou you deal with the trec-covid dataset in BEIR,this dataset has too many postive passages,do you rank them directly or first sample some relevant passages then do the ranking task.

I retrieved 100 passages from the entire passage collection using BM25 (https://github.com/castorini/pyserini), and then re-ranked these top-100 passages using GPT.


Support for SSH-based sync

Currently in order to noms sync to a remote (i.e., non-local filesystem), as far as I can tell, you must:

Run a HTTP(S) server using noms serve
noms sync to that server

I feel like one of the most desirable features / workflows of git is the ability to initialize a bare repository on a remote and push/pull to it using SSH.  You get identity authentication (via keys) and a user permissions model<EMAIL_ADDRESS>has only a certain set of permissions which probably doesn't include shell access) out of the box.  It could be really nice if noms supported this workflow.  The Golang crypto/ssh package seems pretty well-supported and it might be nice to simply invoke an equivalent to git-receive-pack for noms on the remote.
Otherwise, it seems you need to run a different webserver (listening on different ports) for each dataset you might want to manage at once?  Is that the envisioned workflow here?
This is just my tentative read based on playing with the CLI a bit and reading the source so feel free to correct me if I've missed something.

It seems like we could easily do this... the http protocol is already very binary and optimized. It seems like it would work equally well over ssh.
But I wonder how valuable it is over just allowing the http server to serve multiple databases? I guess you don't have to leave a process running, which is nice.

Moving data in Noms is done with the sync command. Note that unlike Git, we do not make a distinction between push and pull. It's the same operation in both directions:

But I wonder how valuable it is over just allowing the http server to serve multiple databases? I guess you don't have to leave a process running, which is nice.

I thought about the http server with multiple databases idea, which would definitely help.  However SSH really has quite a few desirable features.
It's already everywhere.  I could easily give you access to my database just by grabbing your public keys from  https://github.com/aboodman.keys .   The authentication model is asymmetric so that, e.g., if I'd like to give you access to my database, no sharing of a symmetric secret token has to take place.  Think about the nice aspects of this WRT sharing database(s) with others:

No awkward shuffle like, "Let me dig up this secret token for accessing noms, have you send me your GPG public key, I'll encrypt it with that and then send the encrypted version to you in $CHAT_APP, then have you decrypt it locally".  (Alt: Users send their token in plaintext $CHAT_APP and all their noms databases they work with also get owned when $CHAT_APP gets owned).
The transfer of information is encrypted by default.  The overhead of cert management etc., even with nice things like LetsEncrypt, will definitely cause a non-trivial portion of users to serve noms over HTTP vs. HTTPS and get MITMed.
OK, let's say someone who I previously trusted with access to my noms database, leaves the project and I want to revoke their auth.  If I'm distributing tokens to everyone for this, I better hope and pray that I generated a unique token for each user, or else revoking this user's auth is going to entail revoking the token and distributing a new one to all current users with sync access.  With SSH, just delete their public keys.

Definitely it will not be the right fit for all use cases but there are some pretty sweet things SSH can give you out of the box.


[terra-menu] navigate to disbaled item, updated exit context

Summary

What was changed:

Allows navigation to disabled items along with announcement of disabled state
Updated submenu exit context to first item only.

Why it was changed:
Testing

This change was tested using:

[ ] WDIO
[ ] Jest
[ ] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[ ] UX review
[ ] Accessibility review
[ ] Functional review

Additional Details

This PR resolves:
UXPLATFORM-9004

Thank you for contributing to Terra.
@cerner/terra

Disabled item should remain inaccessible for keyboard event in the below video we can see that on pressing space bar on disabled group item unchecks previously selected item.
https://github.com/cerner/terra-framework/assets/12869809/a81bcd22-f7c5-4284-9f4b-be7be61e37b6

Disabled item should remain inaccessible for keyboard event in the below video we can see that on pressing space bar on disabled group item unchecks previously selected item.
Screen.Recording.2023-05-17.at.3.37.54.PM.mov

Fixed group item unticked issue in https://github.com/cerner/terra-framework/pull/1655/commits/9f203a7f6965b7a3e0cd0266d3fd9171e32694c2


Vdebug crash with small screen resolutions

Hello I am trying to debug a PHP script and I set a breakpoint and hit  to start debugging and it did what is illustrated in the screenshot and then gave this error message.

Traceback (most recent call last):
File "", line 1, in
File "/Users/gdance/.vim/bundle/vdebug/plugin/python/start_vdebug.py", line 31, in run
self.runner.run()
File "/Users/gdance/.vim/bundle/vdebug/plugin/python/vdebug/runner.py", line 137, in run
self.open()
File "/Users/gdance/.vim/bundle/vdebug/plugin/python/vdebug/runner.py", line 42, in open
self.ui.open()
File "/Users/gdance/.vim/bundle/vdebug/plugin/python/vdebug/ui/vimui.py", line 28, in open
vim.command('silent tabnew ' + cur_buf_name)

it will be massively hard to debug on small screen resultions so closing this


feat(optimizer): support patch-package

Description
patch-package is a widely used tool to quickly fix node modules. And I would love Vite to invalidate dependencies pre-bundling when I add/update a patch to the project.
What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

I think this would be a good addition.
For reference, a side from patch-package, these tools also supports patching

yarn patch: https://yarnpkg.com/cli/patch/
pnpm patch: https://pnpm.io/cli/patch

Thanks for the pointers. I updated the PR to take this into account and limit the number of fs calls for lockfile != yarn.

This looks really useful! Thanks a lot, @ArnaudBarre. Let's merge it so we can test it during the alpha.


what's diff between rocketmq-client and rocketmq-client-java on 5.0.0 version

in the
int the rocket mq 5.0.0 quick start , it use rocketmq-client-java
i wanna know what's diff between rocketmq-client-java and rocketmq -client
  <dependency>
        <groupId>org.apache.rocketmq</groupId>
        <artifactId>rocketmq-client</artifactId>
        <version>5.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.rocketmq</groupId>
        <artifactId>rocketmq-client-java</artifactId>
        <version>5.0.0</version>
    </dependency>

thanks.

rocketmq-client-java is the gRPC/protobuf-based SDK, while rocketmq-client is the remoting-based SDK.
They works by different communication protocols, and rocketmq-client-java adopts the brand new APIs and is recommended.

rocketmq-client-java is the gRPC/protobuf-based SDK, while rocketmq-client is the remoting-based SDK.
They works by different communication protocols, and rocketmq-client-java adopts the brand new APIs and is recommended.

thanks.
i also wanna know both them support customized delay queue(int 24 hours) ??

@ilovedumplings  you mean delay message? Of course!

@ilovedumplings you mean delay message? Of course!

yeah yeah yeah ,thanks !big man !!!
in rocketmq-client  i wanna use delay message
can i use this : ⬇
org.apache.rocketmq.common.message.Message
public void setDelayTimeSec(long sec) {
    this.putProperty(MessageConst.PROPERTY_TIMER_DELAY_SEC, String.valueOf(sec));
}
public void setDelayTimeMs(long timeMs) {
    this.putProperty(MessageConst.PROPERTY_TIMER_DELAY_MS, String.valueOf(timeMs));
}
public void setDeliverTimeMs(long timeMs) {
    this.putProperty(MessageConst.PROPERTY_TIMER_DELIVER_MS, String.valueOf(timeMs));
}

@ilovedumplings you mean delay message? Of course!

因为我看rocket-mq-client的,似乎没有调用PROPERTY_TIMER_DELIVER_MS/PROPERTY_TIMER_DELAY_SEC 这几个参数的地方

sorry . i use wrong version of broker ....shit....


Setting color parameter to a hvplot.paths datashaded plot does not have any effect

ALL software version info

Software Version Info
hvplot = 0.10.0
pandas = 2.2.1

Description of expected behavior and the observed behavior
Expected behavior
I expect the lines to be colored with the provided colors.
Observed behavior
The default colors are still used, ignoring the provided colors
Complete, minimal, self-contained example code that reproduces the issue
import pandas as pd
import hvplot.pandas # noqa

df = pd.DataFrame({"x": [0, 1, None, 2, 3], "y": [0, 1, None, 2, 3],
        'ascending': [True, True, None, False, False]})

df.hvplot.paths('x', 'y', by='ascending', datashade=True, color=['green', 'black'])

Stack traceback and/or browser JavaScript console output
None.
Screenshots or screencasts of the bug in action

[x] I may be interested in making a pull request to address this

color_key works
import pandas as pd
import hvplot.pandas # noqa

df = pd.DataFrame({"x": [0, 1, None, 2, 3], "y": [0, 1, None, 2, 3],
        'ascending': [True, True, None, False, False]})

df.hvplot.paths('x', 'y', by='ascending', datashade=True, color_key=['green', 'black'])

However, I agree that it's not ideal to have to know the difference/experiment between color/color_key/cmap (from my understanding, color_key if datashade, cmap if c or rasterize or raster types, and color if by.

Thanks. I also noticed that trying it using holoviews code however, emits a warning. Maybe the same warning could be implemented in hvPlot?
import datashader as ds
import holoviews as hv
import pandas as pd
from holoviews.operation.datashader import datashade

hv.extension('bokeh')

df = pd.DataFrame({"x": [0, 1, None, 2, 3], "y": [0, 1, None, 2, 3],
                                  "ascending": [True, True, None, False, False],})

plot = hv.Path(df, ["x", "y"], ["ascending"])

datashade(plot, aggregator=ds.by("ascending"), color=["black", "green"])

I'm open to adding that if it makes sense.

However, I agree that it's not ideal to have to know the difference/experiment between color/color_key/cmap (from my understanding, color_key if datashade, cmap if c or rasterize or raster types, and color if by).

This is confusing ngl.

Yeah I suppose a warning could be helpful, or deprecate color_key on hvplot and merge its functionality with color, but let's wait for other maintainer's opinions
cc: @hoxbro @maximlt

Seems like it's not even documented besides one usage in the docs.

Unfortunately that's the case for a lot of features in hvPlot!

(from my understanding, color_key if datashade, cmap if c or rasterize or raster types, and color if by).

I didn't even have that kind of mapping in mind! So I don't have yet an opinion on the best course of action. I'd find great if we could work on referencing/documenting:

all the supported use cases and usage of color (c), cmap and color_key
semantical definitions of these variables (also compared to HoloViews if there are differences https://github.com/holoviz/holoviews/blob/31ee32dfbf440e459b6ffc1b1ae8e2b651e4cb84/holoviews/operation/datashader.py#L1163-L1175)
comparison with Pandas and Xarray plot API (what parameters they expose, what they accept, list differences)

Once something like this is done, it will be way easier to make a decision, add some warning/error on inputs parsing, and maybe decide to deprecate stuff (hvPlot 1.0?).  If done right we should also be able to use the info gathered to improve the documentation extensively on this front. This is work I could help you get started with @Azaya89.


Support regular files (with regular Git semantics)

Looks like dolt doesn't know about files:
$ touch README.md

$ ls -la
total 12
drwxr-xr-x 3 danbst users 4096 гру 15 13:15 .
drwxr-xr-x 4 danbst users 4096 гру 15 13:11 ..
drwxr-xr-x 4 danbst users 4096 гру 15 12:55 .dolt
-rw-r--r-- 1 danbst users    0 гру 15 13:15 README.md

$ dolt status
On branch master
nothing to commit, working tree clean

My wannabe usecase is to have README and import scripts published alongside with data.

It is actually easy to create Git repo in same Dolt repo. Just add .dolt to .gitignore and publish to github. Not sure if this workaround is a solution or hack. Either way, it may be referenced in documentation.

We are implementing LICENSE and README files right now. We should have those in the next release.
We've discussed having other files like import scripts versioned along with the data itself. One of the proposed solutions is to have a dolt-git where you can put a git repo inside a dolt repo as you suggest. We'll keep this issue updated as we move along.


Update readerclient pkg

📚 Context
The readerclient is a pkg designed to assist the cli by manipulating data and connecting to the GraphQL client to fetch desired information.
It works using by a client (https://github.com/Khan/genqlient) that creates a connecting interface and a series of getter functions based on a GraphQL API (generated by PostGraphile) and graphql queries, which are written by hand.
As the API evolves, so too the readerclient needs to adapt, the API generated by PostGraphile updated and the queries re-written.
✔ Solution
First, the new API model needs to be generated using PostGraphile. This is as simple as enabling a flag in PostGraphile.
After that, the queries need to be re-written to properly get the information needed with the new names and signatures.
Lastly, some adaptations are needed on the final models and the wat the data is handled before being sent back to the cli.
📈 Subtasks

[ ] Generate new GraphQL API
[ ] Rewrite GraphQL queries
[ ] Adapt client methods for the new data

This issue is deprecated, as the cli will undergo major changes for 2.0.0 that need to be aligned with the team.


horizontal scrolling might be broken

or vim had word wrap enabled and sublime didn't

fixed by 711478bb0a118db72e5a2e6c3c5144ba0dbff414 if I also do :set nowrap


Move dispatcher and pubsub into new pkg/dispatcher package

This PR moves code (functions, constants, types) into a new 'pkg/dispatcher'.
In this PR:

Move  pkg/catalog/dispatcher.go → pkg/dispatcher/dispatcher.go
Also move  pkg/kubernetes/events/event_pubsub.go → pkg/dispatcher/pubsub.go
Move pkg/announcements/types.go → pkg/dispatcher/types.go

With that - pubsub, dispatcher, and announcements are all moved into a single place - pkg/dispatcher

Codecov Report

Merging #2644 (1e3521c) into main (2d1db5c) will decrease coverage by 0.33%.
The diff coverage is 64.77%.

@@            Coverage Diff             @@
##             main    #2644      +/-   ##
==========================================
- Coverage   64.36%   64.03%   -0.34%
==========================================
  Files         152      153       +1
  Lines        7002     6992      -10
==========================================
- Hits         4507     4477      -30
- Misses       2479     2499      +20
  Partials       16       16

Flag
Coverage Δ

unittests
64.03% <64.77%> (-0.34%)
:arrow_down:

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

Impacted Files
Coverage Δ

cmd/osm-controller/osm-controller.go
16.80% <0.00%> (ø)

pkg/certificate/mock_certificate_generated.go
0.00% <0.00%> (ø)

...ertificate/providers/tresor/certificate_manager.go
60.91% <0.00%> (ø)

pkg/certificate/providers/tresor/fake.go
43.75% <0.00%> (ø)

pkg/certificate/providers/vault/types.go
100.00% <ø> (ø)

pkg/certificate/types.go
0.00% <ø> (ø)

pkg/debugger/debugger_config_listener.go
0.00% <0.00%> (ø)

pkg/dispatcher/dispatcher.go
4.44% <0.00%> (ø)

pkg/dispatcher/pubsub.go
100.00% <ø> (ø)

pkg/dispatcher/types.go
100.00% <ø> (ø)

... and 17 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 2d1db5c...4dd2db2. Read the comment docs.

@draychev, please squash your commits and also include the motivation for this change in the commit and PR description.

Shelving this experiment.


Prevent blue flash in chrome on click on hamburger

When clicking on the hamburger menu there's a blue flash.
Before

After

Published as<EMAIL_ADDRESS>


Alias environment specific module (to change API keys, constants in c…

Short description of what this resolves:
Allows environment-based configuration at the code-level.
Changes proposed in this pull request:
Using a module alias in Webpack, allow users to utilize environment-based configuration in their app code.
I've seen a lot of requests and half-measures researching this today and thought I could contribute to the base idea of how this can be accomplished.
This is a quick proof of what can be done. I am willing to help contribute upon this concept and expand it to a form that works for the Ionic team.

I realize that this is a very simple and base solution -- I am hardcoding in the alias name and path, as it's what I've used in my current project. I do not expect this to be pulled, but rather conceptualized, and serve as a base of how to achieve a request many users are asking for.
Best,
Eric

@biesbjerg -- Yup, it's either --dev or --prod. That portion is controlled outside of the webpack.config.js file. Specifically, it's in src\util\config.ts:
  setProcessEnvVar(Constants.ENV_VAR_IONIC_ENV, (context.isProd ? Constants.ENV_VAR_PROD : Constants.ENV_VAR_DEV));

Nice. Seems like a clean solution, and should be possible to use now by extending the webpack config to define the alias like in your PR until official support hopefully arrives. Thank you for sharing!

Anytime! Thanks for your consideration!

One drawback using this method is if you are using an interface to describe your config object.
For example:
// src/config/config.dev.ts
import { ConfigInterface } from '../interfaces';

export const config: ConfigInterface = {
	enableDebug: true
}

Visual Studio Code does not seem to resolve it and autocomplete keys when typing config. in files importing config from @app/config.

I'm going to give this some thought over the next couple weeks. Thanks for contributing!
Thanks,
Dan

It would be great to have this feature baked into app scripts. There have been other solutions also debated in https://github.com/driftyco/ionic-cli/issues/1205 - anything that provides us with environment-specific config would be a big step forward.
One thing that was brought up in the other thread was the need for more environments than just dev/prod - for example, qa. In addition to dev and prod environment, perhaps a new flag --env qa could be introduced to support this too? For example, ionic build --env qa would load the qa.ts file, ionic build --prod would be equivalent to setting --env prod, etc.

Where to use this module alias?

Can someone explain this PR to me like I'm five. I'm not familiar with the alias option in webpack. We need to make sure we consider Rollup, too.
Thanks,
Dan

@danbucholtz - The alias option let's you alias a path, so if I alias src/feature/service.ts to @service, in the files where I need to import src/feature/service.ts  I can use it's alias and do import @service, instead.
This becomes important when you have multiple environments. You don't want to modify your code to use different modules depending on what environment you're building, so the better option is to create multiple files with the same module, but the values differ based on environment. Setting the alias allows you to use the same module name since you aren't importing via path.

@danbucholtz - I don't think this PR is a solid fix. I think it's a good baseline to start from, however, and it served as a good stopgap for people who had the same issues I did.
I think there would be a more elegant way to incorporate this into your build scripts; this was quick-and-dirty. But, the need for supporting multiple environment configurations is needed, I think it would be best to address it from the ionic-app-script level.

What do you all think about something like this?
https://github.com/driftyco/ionic-app-scripts/issues/762
Let's continue the discussion there. Please provide feedback. In the meantime, I'm going to close this PR.
Thanks for contributing and spurring the discussion.
Thanks,
Dan

@ehorodyski I am using VS code, still this didn't work for me. I added the alias in the webpack.config.js file the same way you did. And then imported the module in my code using
import {Config} from '@app/config'
But it is not compiling and I am getting can not find module error. It seems it is not resolving the module..am I missing anything else? Thanks.

@riteshwaghela - Did you modify the package.json file to use the new webpack config?

@ehorodyski Thanks for your reply. Yes I have modified my project's package.json to new webpack config file.
 "config": {     "ionic_webpack": "./config/webpack.config.js"   }
and in the new webpack.config.js, added the alias like this:
resolve: {     extensions: ['.ts', '.js', '.json'],     modules: [path.resolve('node_modules')],     alias: {       "@app/config": path.resolve('./src/config/config.' + process.env.IONIC_ENV + '.ts')     }   }

Hey @riteshwaghela -- try this:
package.json
"scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build -w ./config/webpack.config.js",
    "ionic:build": "ionic-app-scripts build -w ./config/webpack.config.js",
    "ionic:serve": "ionic-app-scripts serve -w ./config/webpack.config.js"
},
"config": {
    "webpack": "./config/webpack.config.js"
},

I noticed, at least in RC6 when I wrote this stop-gap, you needed to modify the scripts portion of package.json to get it to work. Not sure why, but the config portion wasn't working.
Hope this helps!

For me the following is working:
package.json
"config": {
    "ionic_webpack": "./src/config/webpack.config.js"
  }

/src/config/webpack.config.js
var path = require('path');
var useDefaultConfig = require('@ionic/app-scripts/config/webpack.config.js');

module.exports = function () {
    useDefaultConfig.resolve.alias = {
        "@app/config": path.resolve('./src/config/config.' + process.env.IONIC_ENV + '.ts')
    };

    return useDefaultConfig;
}

Then you can import the config with
import { ENV } from '@app/config'

@bnova-stefan I get @app/config cannot be found. Can you share you code?

Hi tmvnk.
This is everything I did to get it working...
I updated my post, because I forgot to share the config file.

You can use @bnova-stefan 's solution, and if you want more than DEV/PROD, use TARGET.
replace:
"@app/config": path.resolve('./src/config/config.' + process.env.IONIC_ENV + '.ts')
with
"@app/config": path.resolve('./src/config/config.' + process.env.IONIC_TARGET+ '.ts')
and for your build, ex: ionic serve --target qa
If you get @app/config cannot be found, it's not finding your config file.

Just to expand @bnova-stefan 's excellent solution for folks new to this.

Modify your package.json per https://github.com/driftyco/ionic-app-scripts/pull/683#issuecomment-287401855

Create /src/config/webpack.config.js with content from https://github.com/driftyco/ionic-app-scripts/pull/683#issuecomment-287401855

Create dev and prod config files under /src/config/ with names:

config.dev.ts
config.prod.ts

For example,
// config.dev.ts
import { Level } from 'angular2-logger/core';
export const ENV = {
  LOG_LEVEL: Level.DEBUG
  // other properties with values for the dev environment
}

// config.prod.ts
import { Level } from 'angular2-logger/core';
export const ENV = {
  LOG_LEVEL: Level.INFO
  // other properties with values for the prod environment
}

In your app.module.ts and/or app.component.ts  or anywhere else within your app where you need to rely on the environment based values:

import { ENV } from '@app/config';
console.log(ENV.LOG_LEVEL). // or any other property you've defined in the ENV const

Actually, I spoke a bit too soon as I'm getting an error:
ionic build browser --prod

[17:52:00]  ionic-app-scripts 1.3.0
[17:52:00]  build prod started ...
[17:52:01]  clean started ...
[17:52:01]  clean finished in 1 ms
[17:52:01]  copy started ...
[17:52:01]  ngc started ...
[17:52:03]  ionic-app-script task: "build"
[17:52:03]  Error: Error encountered resolving symbol values statically. Could not resolve @app/config relative to XXX/src/app/app.module.ts., resolving symbol AppModule in...

I assume this is due to AoT Compiler.
Any pointers on how to overcome this?

@vkniazeu yes idd, same result here

@vkniazeu it's pronbably complaining about the import inside your config files.
Does the error go away if you use a static value instead, e.g:
export const ENV = {
  LOG_LEVEL: 1
  // other properties with values for the prod environment
}

@fiznool , unfortunately not. Remove the imports was the first thing I've tried, but the error persists regardless.

@bnova-stefan , does your solution work for you with ionic build --prod, which enables AoT?

FWIW, the following changes make ionic build --prod run successfully with AoT Compiler, but they require a manual modification of a file. Perhaps, for production builds that don't happen that often it's a bit of compromise, but I'd love to see the clean solution to this.

Replace
import { ENV } from '@app/config';
with an import relative to the including file. E.g.:
import { ENV } from '../config';

Create index.ts in /src/config/

Toggle its contents for dev/production according as both files export the same ENV object:

export * from './config.dev';
// export * from './config.prod';

This basically overwrites the "--prod" or "--dev" environment flags to serve/build commands, but at least the production build is error free and you have some flexibility with having dev/prod config variables in separate files.

I suspect that the AoT Compiler is looking for a properly defined (installed?) module/package, when it encounters import { ENV } from '@app/config';
Not sure how to make sure the config directory is treated as a module.

well toggling contents of an index.ts file makes the whole webpack stuff obsolete. then for example you could have a index.ts file for every git branch which you don't touch anymore and you switch env by branch. but i also would like to see a solution for the alias issue. this whole dev/prod stuff with ionic drives me crazy.

@vkniazeu you can also take a look at http://www.roblouie.com/article/296/ionic-2-environment-variables-the-best-way/ which i used to manage env variables in components. but I this approach doesn't seem to work inside app.module.ts when trying to setup firebase config inside imports.

Thank you for the tips, @mediastuttgart!
Surely toggling index.ts isn't nice, it was just a quick compromise I found for my small project.
But it is akin to manually changing import statements and/or having separate ENV_DEV and ENV_PROD objects withing the same file.
I wish Ionic just followed the same env setup Angular already has, which would mean smaller learning curve around something that doesn't really need to be different in a platform that builds on top of the other.
I suspect that article's solution fails for reason similar to this one.
I am too trying to separate my Firebase configs.
Perhaps, @bnova-stefan knows the answer.
I've also asked in https://github.com/driftyco/ionic-app-scripts/issues/762, but no answer yet.

I found fix to Could not resolve @app/config issue.
Create dummy config.
// src/config/config.ts
export const ENV = {
  LOG_LEVEL: undefined
}

Define alias @app/config to your tsconfig.json.
{
  "compilerOptions": {
...
    "baseUrl":  "./src",
    "paths": {
      "@app/config": ["config/config"]
    }
  }
...

Include configs.
import {Env} from '@app/config';

This trik deceives ts compiler by paths entry in tsconfig.json. Then its will over written to dev|prod config by webpack process.

@alu , I spent quite some time yesterday trying to do something very similar although a slightly different way.
One pointer here is that, perhaps, instead of an extra dummy config file, you can just use the DEV one by default and let webpack overwrite it with the production one as needed.
    "paths": {
      "@app/config": ["config/config.dev"]
    }

However, the main problem with this "hack" (I don't call it a fix on purpose) is that there's a reason why the AoT Compiler needs to resolve the values statically.
I'm realizing this environment config adjustment must occur before ngc and webpack steps.
There are some good examples at https://github.com/driftyco/ionic-app-scripts/issues/762, although I wish they were simpler and lighter.
The reason I'm saying this is that I ran into a situation that seemed strange, but with exploring static resolution of values more, it makes sense.
The following would work fine with your script and ngc:
    // app.component.ts constructor
    if (ENV.LOG_LEVEL === 3) {
      // do something
    }

However, if you were to use the ENV value directly in creating another value, for example in your components, the value would be statically created at ngc compilation time, and NOT be replaced by webpack:
    // home.ts constructor
    this.logLevel = 'log level:  ' + ENV.LOG_LEVEL;

this.logLevel in this case will be undefined in your case as AoT needs to optimize the values statically and set them at compile-time, before webpack kicks in.
So, in summary, your workaround works, but for statements that do not get AoT-compiled into static values by ngc.

I've spent a few hours trying almost all the solutions above, but none of them seem to work with AoT compiler, for setting up different Firebase environments, which occur in app.module.ts in the imports section (and I can't use Angular DI in this section). Not even using @alu fix.
Because of this I've decided to take a different approach: I've created a shell wrapper for Ionic CLI. I call it Bionic :)
It will simply copy my ./src/config/config.prod.ts over my config.ts if a --prod argument is found.
Not much a clean solution, but certainly works with AoT and doesn't require any webpack config changes. Certainly fits my needs.
Steps:

Create a file named bionic in your app root:

#!/bin/bash
isProd=
for i in "$@" ; do
	if [[ $i == "--prod" ]] ; then
        isProd=1
        break
    fi
done
if [ "$isProd" = "1" ]; then
	cp ./src/config/config.prod.ts ./src/config/config.ts
else
	cp ./src/config/config.dev.ts ./src/config/config.ts
fi

ionic $1 $2 $3 $4 $5

cp ./src/config/config.dev.ts ./src/config/config.ts
exit 0

chmod +x bionic

Create ./src/config folder and add your config files:

config.ts may be just a copy of config.dev.ts - the shell will overwrite it

config.dev.ts
export const ENV = {
	environment: "DEV",
	firebaseConfig: {
		apiKey: "myDevKey",
		authDomain: "myDevApp.firebaseapp.com",
		databaseURL: "https://mydevapp.firebaseio.com",
...
	}
}

Use your configuration anywhere you want (e.g: app.module.ts)

import { ENV } from '../config/config'
...
 imports: [
    ...
    AngularFireModule.initializeApp(ENV.firebaseConfig),
]

From now on, simply bionic instead of ionic

./bionic serve // will serve app with your dev config.
./bionic build android --prod // will build for android using your prod config.

Tweak the shell however you want.
That's my 1st shell script and there is probably a LOT of room for improvement here (like, making it a global node script with more possibilites for example). But that's too much, and I need to go back doing what matters: coding my app :)
Hope this helps someone.

A stopgap solution I am currently using which makes use of git:
branch = master
src/config.ts
export API_URL = 'dev.example.com';

branch = release/production
src/config.ts
export ENV = 'prod.example.com';

branch = qa
src/config.ts
export ENV = 'qa.example.com';

thanks @mediastuttgart nice article


Add Startup Script capabilities to pan-vr.

Add feature to run startup scripts (startup-config.cfg) when booting pan-vr. This is implemented based on @nlgotz work in the commit linked below[1]. I have verified that config file is correctly applied.
[1] https://github.com/hellt/vrnetlab/commit/607bae706b4d0720cd97ccaff91ff1d63561f565

cheers @JakeBednard !


Inconsistent logger naming

In https://github.com/billyeatcookies/Ember/blob/dc655b5b96daf2027066e7ab6dae03705c318215/Ember/src/Ember/Log.cpp#L11, the core engine logger uses "Ember" as its name, but the application logger is called "APP" all caps.
Wouldn't it be better to make EMBER all caps as well, for consistency?

Actually the fix should be other way around, the APP should be renamed to App, we will be keeping Ember unchanged.

Thank you for opening a pull request on this! @YeffyCodeGit
The issue has been resolved, the inconsistency has been fixed.
Hence closing this issue.

Fixed in #15


Remove seregazhuk/react-promise-testing

Package is only used for testing. Should be removed as it relies on an abandoned package. It can be replaced with react/async await function in most places

4f005b4


website - About page

The 'show more / show less ' link should be the same colour as the header. Or make it bold. Its getting lost in the text.

Made it bold and color changed to header dark blue.


Tsunkaraneni/deploy time depedency visitor

Codecov Report

Merging #928 (414b2bc) into main (5c94339) will increase coverage by 0.42%.
The diff coverage is 84.72%.

@@            Coverage Diff             @@
##             main     #928      +/-   ##
==========================================
+ Coverage   94.19%   94.61%   +0.42%
==========================================
  Files         328      325       -3
  Lines       15659    15547     -112
  Branches       12        0      -12
==========================================
- Hits        14750    14710      -40
+ Misses        909      837      -72

Flag
Coverage Δ

dotnet
94.61% <84.72%> (-0.15%)
:arrow_down:

typescript
?

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

Impacted Files
Coverage Δ

src/Bicep.Core/LanguageConstants.cs
98.86% <ø> (ø)

src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs
96.57% <ø> (ø)

...Bicep.Core/TypeSystem/DeployTimeConstantVisitor.cs
77.08% <77.08%> (ø)

src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs
100.00% <100.00%> (ø)

src/Bicep.Core/Emit/EmitLimitationCalculator.cs
73.07% <100.00%> (+1.07%)
:arrow_up:

src/Bicep.Core/Emit/EmitterContext.cs
100.00% <100.00%> (ø)

src/Bicep.Core/Emit/ResourceDependencyVisitor.cs
92.30% <100.00%> (-2.14%)
:arrow_down:

...cep.Core.UnitTests/FileSystem/FileResolverTests.cs
79.31% <0.00%> (-20.69%)
:arrow_down:

.../Bicep.Core.UnitTests/Assertions/BaselineHelper.cs
63.63% <0.00%> (-15.91%)
:arrow_down:

src/Bicep.Core/FileSystem/PathHelper.cs
96.15% <0.00%> (-3.85%)
:arrow_down:

... and 7 more


corrected spacing for the --unmanaged-cni option

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit 2c28eeb7802e2055914d3d71e36d5678cacf326e
https://deploy-preview-7763--docsdocker.netlify.com

looks good -- approved


CustomConverter not able to be set by withCustomConverter within DozerBeanMapperBuilder

Are you in the right place?

For issues or feature requests related to the code in this repository file a Github issue.
For general technical questions, post a question on Google Groups.

Whats your runtime?

Dozer version: 5.5.1
OS version: Big Sur
JDK version: 11

Whats the problem?
When creating a builder, the function withcustomconverter does not set the value of customconverter.
Steps to reproduce:

Create DozerBeanMapperBuilder
Use custom converter implemented from CustomConverter.

Observed Results:
What happened?  This could be a description, log output, etc.
customConverters = {ArrayList@16643} size = 0
Expected Results:
What did you expect to happen?
I expect for the customconverter to be used within the mapper.
Link to GitHub repo with Unit test
The easiest way for us to fix issues, is if you provide a GitHub repo, using the latest release and a simple unit test.

like this?

https://github.com/DozerMapper/dozer/blob/master/core/src/test/java/com/github/dozermapper/core/converters/CustomConverterThreadSafetyTest.java#L52-L55

Yes. My implementation is
ItemCustomConverter customConverter = new ItemCustomConverter(objectMapper);         Mapper mapper = DozerBeanMapperBuilder                 .create()                 .withMappingBuilder(builder)                 .withCustomConverter(customConverter)                 .build();

This is my BeanMappingBuilder
BeanMappingBuilder builder = new BeanMappingBuilder() {             protected void configure() {                 mapping(ClassA.class, ClassB.class, mapNull(false));             }         };
I see a usage of customconverter within the field set, is that required for the customconverter to be set within the mapper creation?

I guess another way to phrase my issue is I am trying to implement my own custom converter only using the API rather than the xml mappings. So is withCustomConverter supposed to be able to be used without the use of xml?


Azure SQL Data Warehouse DirectQuery article deprecated

This page probably needs a make-over, because Azure SQL Data Warehouse does not exist anymore.

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

ID: bf5c2cbb-f3de-c63e-fc74-a5157d5f5c9c
Version Independent ID: dd280f16-bad8-5f60-f960-208047f6f9b2
Content: Azure SQL Data Warehouse with DirectQuery - Power BI
Content Source: powerbi-docs/connect-data/service-azure-sql-data-warehouse-with-direct-connect.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Hi @nielsvdc. Thanks for your comment! I am forwarding it on to the doc author for further action.

Hi @nielsvdc ,
Thank you for your suggestion.  You are absolutely correct, and we are updating the entire Power BI document set to refer to "Azure Synapse".  We've already started and hope to get through all the updates in a few weeks.  If you find any lingering references to the data warehouse, let us know.
All the best,
The DOCS team


Bump Excalidraw to v0.14.2

The used Excalidraw was over 1 year old (v0.11) and wanted to pick up a number of fixes, including better integration with Vite. The changelog is available here: https://github.com/excalidraw/excalidraw/releases

Also includes the new Excalidraw UI

Before:

After:

Yep. Will fix them this evening.


groupby with index = False returns NANs when column is categorical.

Please see stackoverflow for example of issue
http://stackoverflow.com/questions/37279260/why-doesnt-pandas-allow-a-categorical-column-to-be-used-in-groupby?noredirect=1#comment62084780_37279260

FWIW my example would be something like
>>> pd.__version__
'0.18.1'
>>>
>>> df = pd.DataFrame({"A": [1,1,1], "B": [2,2,2], "C": pd.Categorical([1,2,3])})
>>> df.groupby(["A","C"]).sum().reset_index()
   A  C  B
0  1  1  2
1  1  2  2
2  1  3  2
>>> df.groupby(["A","C"],as_index=False).sum()
      A   C   B
A C
1 1 NaN NaN NaN
  2 NaN NaN NaN
  3 NaN NaN NaN

yeah, this is reindexing I think somewhere inside and is prob not setting it up right. pull-requests welcome.

Looks quite easy to fix. Function _reindex_output() doesn't take account of the variable self.as_index.
Another issue in the same function. The multiindex loses information about dtypes. For example:
df = pd.DataFrame({'cat': pd.Categorical([5,6,6,7,7], [5,6,7,8]),
                  'i1' : [10, 11, 11, 10, 11],
                  'i2' : [101,102,102,102,103]})

df.groupby(['cat', 'i1']).sum().reset_index().dtypes
Out[12]:
cat      int64
i1       int64
i2     float64
dtype: object

While for a usual one level index:
df.groupby(['cat']).sum().reset_index().dtypes
Out[13]:
cat    category
i1      float64
i2      float64
dtype: object

And I guess df.groupby(..., as_index=False).agg(...) should be consistent with df.groupby(..., as_index=True).agg(...).reset_index().
I'll prepare a PR for it later.

BTW, I couldn't find any info whether the following behaviour of categoricals in DataFrame is by design or just a side effect:
# df - same as above
df.sum()
Out[14]:
cat     31.0
i1      53.0
i2     510.0
dtype: float64

df[['cat']].sum()
Out[15]:
cat    31
dtype: int64

# while for Series:
df['cat'].sum()
...
TypeError: Categorical cannot perform the operation sum

Shouldn't categricals be rather excluded when aggregating as it is with datetime columns?


String>>subStrings: not symmetric in treatment of leading/trailing separators

'-a-bc' subStrings: $- => #('' 'a' 'bc') (correct)
but
'a--bc-' subStrings: $- => #('a' '' 'bc') (should be #('a' '' 'bc' ''))
This is inconsistent. A separator not preceded or followed by a non separator should yield an empty entry in the list of substrings, no matter whether it is at the start of the string, in the middle of the string, or at the end of the string.
The following should also be true:
('-' subStrings: $-) = #('' '')
Note that fixing this is a breaking change.

I've just surprised by this behavior change.
For the record String>>subStringsAnsi: has backwards compatibility, I don't know if by design or bug.
I checked Pharo 6.1, 8, JavaScript and Ruby only to know how they behave.
JavasScript: It returns the same as Dolphin returns now.
Ruby: It returns the same as Dolphin returned before this change, the same as subStringsAnsi:
Note that both, JavaScript and Ruby, have a second parameter for split() that allows to change this behavior.
Pharo: It never returns empty Strings so '-' substrings: '-' returns an empty Array. Also note the method name is substrings:

subStringsAnsi: is referring to the ANSI Smalltalk description of subStrings:, rather than having anything to do with the AnsiString class. The key difference being that the ANSI Smalltalk definition expects a collection of separators (not a single character - so subStringsAnsi: should also be raising an error when passed a single character) as being "any of" not "all of", although other than that the spec is really rather ambiguous. I'd have expected it to be covered by the ANSI tests, but the corresponding test method in the CS ANSI tests is basically empty.
In Pharo the String>>splitOn: operation (or the underlying Object>>split:) is the equivalent:
'-' splitOn: $-. "an OrderedCollection('' '')"
'-c-' splitOn: $-. "an OrderedCollection('' 'c' '')"

The operation is symmetric with Character>>join: so the following should be true:
input := '-c-'. ($- join: (input subStrings: $-)) = input

The behaviour change to fix the historic bug of not treating leading and trailing separators symmetrically does break a few use cases. Trimming empty tokens by default would probably break the majority of existing use cases, but it would be useful to have the option.

I'm Ok with the change. Just revising some broken tests with the latest Dolphin release  on our development branch.
So if I understood well you'll change subStringsAnsi: to the same behavior of subStrings:, with the difference in the argument only.
I like the join: symmetric concept. Also as split: is implemented in Collection and String a symmetric join: would be useful replacing simple uses of do:separatedBy:. We implemented it as an extension but in the opposite direction, for example: #('Hello' 'World' '2020') join: ' '  that's the same as in Ruby.

I'm correcting my own failing tests and find that there are some use cases for subStrings: trimming empty tokens. As @blairmcg said:

Trimming empty tokens by default would probably break the majority of existing use cases, but it would be useful to have the option.

I'd like to have that option. nonEmptySubStrings: ?? or maybe subStrings:limit: and adhere to JavaScript split(), I don't know. I have 2 examples where I found it could be handy:

Get tokens of a keyword selector, for example 'at:put:' subStrings: $:
Sometimes we get a list separated by $, or other separator char but there is a trailing extra separator so you end with an extra ''

JavaScript split() with limit doesn't seems to be useful in this case...
trimBlankSubStrings:, subStringsTrimmed:, rejectEmptySubStrings:
An also, only leading and trailing should be removed I guess. I'm starting to think that's better to keep only one version as it's working now and left people work around their own necessities.


Error in Snowflake with the GEOGRAPHY type for column validation

Ran into issues in Snowflake with the GEOGRAPHY type for the column validations. The error was
NotImplementedError: Could not find signature for dtype: <SnowflakeDialect, GEOGRAPHY>

The current Ibis's version in DVT is "5.1.0". It does seem like version Ibis version "7.1.0" does support GEOGRAPHY type (it calls the parent class).
Any plans to make this update?
Originally posted by @alexguanga in https://github.com/GoogleCloudPlatform/professional-services-data-validator/issues/931#issuecomment-1823449060

Hi @alexguanga! Created a new issue specific to your problem. We actually can try to add this implementation to our custom Ibis code (https://github.com/GoogleCloudPlatform/professional-services-data-validator/tree/develop/third_party/ibis) while we're still using the 5.1.0 official package version.
We'll assess it and post an update here by the end of the week! ✌


doc: remind to specify redirect URL in OAuth app

Thanks @zonca – I've made some slight tweaks to your proposal since http:// can be used for localhost (and loopback addresses).


Updating to Chromium  92

Chromium 92 will came in 1-2 weeks (maybe jul 20th)
So ... could we   prepare for chromium 92
taking the actual 92.0.4515.80   as base

This project seems dead.. anyone know another ungoogled chromium project which gets updates ?

In what way does this project seem dead?

no i mean because the last version is 89.0.4389.114 from 6. april this year.

The lastest version is 91.0.4472.114-1 as can be seen here

and how is one supposed to install that ?

There are install instructions in the readme

The windows version is not getting updated for some time because the person who maintained that version previously hasn't shown up for some time. All the linux/android versions are up to date.
If you are on a linux distribution, you can look for instructions in one of the repos under ungoogled-software. I cannot help on windows version though.

Usually it's a good idea to wait until the stable cut to start working on the major updates so you don't have to do extra work.  That is normally the week before the release.  You can see the schedule here:  https://chromiumdash.appspot.com/schedule
I'll start working on this later in the week if no one else has picked it up before then.

There are install instructions in the readme
If you need further help maybe its better to join the matrix channel instead of using github issues

where can i find this matrix channel ? couldnt make anything up with the readmes since im no programmer or anything besides a normal user...

The matrix channel is ungoogled-software/lobby (from SUPPORT.md)

The matrix channel is ungoogled-software/lobby (from SUPPORT.md)

thanks alot

There are install instructions in the readme
If you need further help maybe its better to join the matrix channel instead of using github issues

where is the matrix channel referenced? what is it?

Just remember than Arch had some surprises in chromium 92  (replace old patches - add new surprise patches)
https://github.com/archlinux/svntogit-packages/commit/78c86ecddcd707d7c90c4c03b26d736e0e9610fb
https://github.com/archlinux/svntogit-packages/commit/042a79d94343afffbc9bccfde2bda6f8735401d5

https://www.bleepingcomputer.com/news/security/google-chrome-now-comes-with-up-to-50x-faster-phishing-detection/ - this statement kinda concerns me:

"Starting with M92, Chrome now executes image-based phishing classification up to 50 times faster at the 50th percentile and 2.5 times faster at the 99th percentile," Chrome developer Olivier Li Shing Tat-Dupuis said

https://blog.chromium.org/2021/07/m92-faster-and-more-efficient-phishing-detection.html
It looks to me and some others like we may want to be able to turn this off.

Luckily the phishing detection is part of SafeBrowsing which we build without!


Add copy to clipboard button for code snippets

This pr also

fixes the Makefile target for colima environment
don't use black text on black background for syntax highlighting (see the screenshots)

before:

after:

If one doesn't want to have the copy button present on the code snippet, just use either:
```
some text output from a command that doesn't need to be copied
```

or
```text
something
```

Signed-off-by: Jirka Kremser<EMAIL_ADDRESS>

@somaritane it should be there. It shows up only after hovering the parent element

@somaritane it should be there. It shows up only after hovering the parent element

Hmm, interesting. This is what it looks like when I serve the website locally from the PR branch:

But on Netlify preview it looks OK, so no biggie 👍


Exposes Settings members to Objective-C

Hi @mikaoj, sorry, I completely forgot to expose Settings members, thus, I wasn't able to access/config them on Obj-C side to properly config my picker, hence, this PR.
Thank you for your comprehension.

Hi @mikaoj, any chance to merge this and deploy a new version? Thanks!


[Doc Improvement][sbs-testing-upload-file-in-Teams-using-bot][2689409]

Learn Build status updates of commit 3a43190:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-file-handling-in-bot.yml
88
28
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 8269786:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-file-handling-in-bot.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-file-handling-in-bot.yml
88
28
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 9379e29:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-file-handling-in-bot.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-file-handling-in-bot.yml
88
28
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit c643cf8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-file-handling-in-bot.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit eff3e65:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 9e22e0e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 1f8a51a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit d4ef5f9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit e7e95ee:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 0fe268f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/teams-file-upload-bot/selection-of-resource.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


feat: add client-side Logger

What does this change?
Adds a team-based client-side logger, which enables more logging and prevents over polluting the console.
This has been discussed here.
Why?
Many teams want to log a lot of information to the console in production.

I'm reluctant to delay releasing this, but before v1 goes out, what do you think about the idea of attaching a utility function to window.guardian to enable/disable logging for teams?
something like:
guardian.logger.teams.dotcom.enable()
// localStorage.getItem('gu.logger') === ['dotcom']

this would make available teams discoverable, and is also shareable to less CS/techy people

I'm reluctant to delay releasing this, but before v1 goes out, what do you think about the idea of attaching a utility function to window.guardian to enable/disable logging for teams?

I’ve made it availabe in  59d5060...4c60ef3 as logger.subscribeTo('team-name').


issue with gf.path.transition() ports position

Hi
I noticed that when using the transition function to transition from one cross section to the other, the "o1" port always seems to be at the smaller width and the "o2" port seems to be always at the larger width. I noticed this issue since I last updated gds factory which was last week.
To Reproduce
_import gdsfactory as gf
WGLayer = (1,0)
Cband_IO = gf.CrossSection(width = 5, offset=0, layer=WGLayer, name="WG",
port_names=("o1", "o2"))
Cband_SM = gf.CrossSection(width = 50, offset=0, layer=WGLayer, name="WG",
port_names=("o1", "o2"))
WGTrans_IOSM = gf.path.transition(cross_section1=Cband_IO, cross_section2=Cband_SM, width_type="linear")
WGTrans_SMIO = gf.path.transition(cross_section1=Cband_SM, cross_section2=Cband_IO, width_type="linear")
c = gf.Component()
WG1Path = gf.Path()
WG1Path.append(gf.path.straight(length=100, npoints=2))
WG1 = c << gf.path.extrude(WG1Path, cross_section=Cband_IO)
WG2Path = gf.Path()
WG2Path.append(gf.path.straight(length=100, npoints=2))
WG2 = c << gf.path.extrude(WG2Path, cross_section=WGTrans_IOSM)
WG3Path = gf.Path()
WG3Path.append(gf.path.straight(length=100, npoints=2))
WG3 = c << gf.path.extrude(WG3Path, cross_section=Cband_SM)
WG4Path = gf.Path()
WG4Path.append(gf.path.straight(length=100, npoints=2))
WG4 = c << gf.path.extrude(WG4Path, cross_section=WGTrans_SMIO)
WG5Path = gf.Path()
WG5Path.append(gf.path.straight(length=100, npoints=2))
WG5 = c << gf.path.extrude(WG5Path, cross_section=Cband_IO)
WG2.connect("o1", destination=WG1.ports["o2"])
WG3.connect("o1", destination=WG2.ports["o2"])
WG4.connect("o1", destination=WG3.ports["o2"])
WG5.connect("o1", destination=WG4.ports["o2"])
c.show(show_ports=False, show_subports=False)
c.write_gds(gdspath="Test.gds", flatten_invalid_refs=True)_
The output is:

I would have expected the output to be such that the part circled in blue is reversed

I am not sure if this a bug or an update in the new version of gdsfactory.
Thanks for your help in checking this.

the issue is with the names

import gdsfactory as gf

WGLayer = (1,0)

Cband_IO = gf.CrossSection(width = 5, offset=0, layer=WGLayer, name="WG_narrow",
port_names=("o1", "o2"))
Cband_SM = gf.CrossSection(width = 50, offset=0, layer=WGLayer, name="WG_wide",
port_names=("o1", "o2"))

WGTrans_IOSM = gf.path.transition(cross_section1=Cband_IO, cross_section2=Cband_SM, width_type="linear", name='IOSM')
WGTrans_SMIO = gf.path.transition(cross_section1=Cband_SM, cross_section2=Cband_IO, width_type="linear", name='SMIO')

c = gf.Component()

WG1Path = gf.Path()
WG1Path.append(gf.path.straight(length=100, npoints=2))
WG1 = c << gf.path.extrude(WG1Path, cross_section=Cband_IO)

WG2Path = gf.Path()
WG2Path.append(gf.path.straight(length=100, npoints=2))
WG2 = c << gf.path.extrude(WG2Path, cross_section=WGTrans_IOSM)

WG3Path = gf.Path()
WG3Path.append(gf.path.straight(length=100, npoints=2))
WG3 = c << gf.path.extrude(WG3Path, cross_section=Cband_SM)

WG4Path = gf.Path()
WG4Path.append(gf.path.straight(length=100, npoints=2))
WG4 = c << gf.path.extrude(WG4Path, cross_section=WGTrans_SMIO)

WG5Path = gf.Path()
WG5Path.append(gf.path.straight(length=100, npoints=2))
WG5 = c << gf.path.extrude(WG5Path, cross_section=Cband_IO)

WG2.connect("o1", destination=WG1.ports["o2"])
WG3.connect("o1", destination=WG2.ports["o2"])
WG4.connect("o1", destination=WG3.ports["o2"])
WG5.connect("o1", destination=WG4.ports["o2"])

c.show(show_ports=False, show_subports=False)

will give you the correct cross_section

Hi
Thank you very much for clarifying! Sorry about that.


Update to Java 17

Is your feature request related to a problem? Please describe.
To support #108, we need to move out of Java 8, which is moving into end-of-life. Java 14 is the newest long-term support candidate.
Subtask of #71

Update - JDK 14 passed out of LTS. JDK 17 is now the current LTS


Improved version command

Now that we will build a release after tagging, it seems appropriate to improve the version command.
The new version command will have the version (e.g. v1.1.1 for a tagged version, or v1.1.0-11-gaa03a54 for a dev version), the build date and the Go version.
Output:
# ./kismatic version
Kismatic:
  Version: v1.1.0-11-gaa03a54
  Built: Wed Jan  4 13:02:55 UTC 2017
  Go Version: go1.7.1

LGTM


There is no way to prevent the subtitle from being drawn

The subtitle background is always drawn, even when the text is empty. Current API does not provide a mechanism to hide it completely.

@justalemon
I see three possible solutions:

Add a master SubtitleVisible property to control both image and text rendering;
Render image and text separately - and text only if not empty;
Expose SubtitleImage property to allow manual removal of the entire subtitle;

What would you suggest? I will submit a PR.

What do you mean with subtitle?

What do you mean with subtitle?

The white text on a black background right under the title. In the image, 'Player' is not the subtitle, it's the first item of the menu. The subtitle background renders even when there is no subtitle nor item count.

OH
I see it now.
In that case, to give more customization options, I would suggest an enum like SubtitleBehavior where it defines the behavior of the subtitle to 3 possible styles:

Always show the background even if is empty, which should be the default (AlwaysShow = 0)
Hide when there is no text, show when there is some (HideOnEmpty = 1)
Always hide the subtitle and it's background (AlwaysHide = 2)

I feel that it will complement CountVisibility to be honest.
With the Flag enums and Subtitle object, those would be a breaking changes which is not something I would like (NativeUI had some nasty breaking changes almost every single release before I helped with the most recent releases, and I wouldn't like to see that again).


Update README.md

More elaborated example that uses github secrets.
Thanks for doing this, I was looking for exactly such a thing!

Hi @klausbreyer! Thank you for the contribution, good catch using GitHub secrets. I've added your example as a second one.


Fuzzy reverse search

One of the commands I most often in the terminal is reverse search CTRL+R
however you have to remember the first exact letters of an old command to use it.
What if copilot had a built in reverse search that was more like fuzzy matching.
It looks at your command history and picks the most semantically similar (could probably do an embedding search or just use a prompt to select which one.
I imagine it working like
copilot -rs that command I used in the past but forgot exactly how it was typed.

Do you mean an actual autocomplete ? What would copilot the actual command infer from ? The current context ?


eslint-plugin-typescript is specifically required

What version of this package are you using?
16.0.1
What operating system, Node.js, and npm version?
macOS 10.15.7, node 12.13.0, npm 6.14.8. yarn 1.19.1
What happened?
yarn standard "**/*.ts" errors out with Error: Failed to load plugin 'typescript' declared in 'CLIOptions': Cannot find module 'eslint-plugin-typescript'.
When I install eslint-plugin-typescript (with yarn add eslint-plugin-typescript --dev), a deprecation warning is presented: warning<EMAIL_ADDRESS>Deprecated: Use @typescript-eslint/eslint-plugin instead
If I install @typescript-eslint/eslint-plugin instead of eslint-plugin-typescript, yarn standard "**/*.ts" still errors out.
What did you expect to happen?
Since the deprecation warning suggests that @typescript-eslint/eslint-plugin replaces eslint-plugin-typescript, I expected yarn standard to work. Instead, I have to install eslint-plugin-typescript, which is deprecated.
Are you willing to submit a pull request to fix this bug?
I don't know how to fix it, so not at this time.

It seems like you've declared that you wish to use eslint-plugin-typescript in your package.json. Can you check for a "standard" key in package.json and see if you have a plugins: ["eslint-plugin-typescript"] option set?
If you change that to @typescript-eslint/eslint-plugin then it should work when you install @typescript-eslint/eslint-plugin.
Also – you may wish to look at https://www.npmjs.com/package/ts-standard which makes it easier to use TypeScript with standard.


test: zip 'actions' and 'expected_state' in assert_state_update

Description
Currently the function parameters for assert_state_update looks like this:
pub async fn assert_state_update(
    current_state: AppState,
    actions: Vec<Action>,
    expected_states: Vec<Option<TransferState>>,
)

But it makes more sense to combine actions and expected_state into on single Vec<(Action, Option<TransferState>)>:
pub async fn assert_state_update(
    current_state: AppState,
    actions: Vec<(Action, Option<TransferState>)>,
)

This also means that in the actual tests where assert_state_update is called, the two vectors need to be zipped together.
Motivation
Every element in in the new vector will be a tuple with the an Action and the corresponding expected state update.
Resources
tracking issue: https://github.com/impierce/identity-wallet/issues/50
zip two arrays:

https://doc.rust-lang.org/stable/std/iter/fn.zip.html

To-do List

[ ]

we can close this issue right Nander?


react-widget: fix spelling; atrribute

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Fixes spelling

Why was this change needed? (You can also link to an open issue here)

To standardize the spelling, to prevent bugs, to look good.

Other information:

Thank you!


:bug: Avoid syncers deleting namespace from other synctargets.

Summary
This PR adds an additional check (synctarget UID) when deleting downstream namespaces to avoid a reconciliation loop between different syncers from different kcp instances. (or for example, an old syncer from a previous KCP deployment)
Related issue(s)
related to: https://github.com/kcp-dev/kcp/issues/2041 (doesn't fix it as there are multiple root causes for that issue)

/approve
/lgtm

/test

/test all

/test

/test e2e-sharded

/test e2e

/test e2e-sharded

/test all

@davidfestal I've force pushed to trigger the jobs that didn't start. can you add lgtm again? thanks!

/lgtm
/approve