Remove k8s version 1.24 from e2e test matrix

Description
Kubernetes version 1.24 is EOL according to Dynatrace docs at https://docs.dynatrace.com/docs/whats-new/technology/end-of-support-news#dto and can thus be removed from the matrix of tested versions.
How can this be tested?
E2E tests will not be executed for k8s 1.24.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 64.74%. Comparing base (2d3b42d) to head (133e900).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3664   +/-   ##
=======================================
  Coverage   64.74%   64.74%
=======================================
  Files         399      399
  Lines       21412    21412
=======================================
  Hits        13863    13863
  Misses       6230     6230
  Partials     1319     1319

Flag
Coverage Δ

unittests
64.74% <ø> (ø)

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

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


show alerts only when stdout is connected to terminal

@tvwillem: have you been able to implement the server-side alerts in such a way that they are only shown by the command line tools if stdout is connected to the terminal? In the example below, printing the alert is fine. However, I would expect it does not show up in my files if I redirect the output to a file or through a pipe. Can the alert be postponed until the first terminal session output?
$ echo ENFVYIAK | unipept pept2prot -e
Unipept 0.4.0 is released!
sequence,uniprot_id,taxon_id
ENFVYIAK,P42654,3906
ENFVYIAK,Q96453,3847
ENFVYIAK,C6TH93,3847
ENFVYIAK,C6TM63,3847
ENFVYIAK,M5WGY1,3760
ENFVYIAK,I1LUM3,3847
ENFVYIAK,F6H2P0,29760
ENFVYIAK,E1U3Z1,3827
ENFVYIAK,I3SLC5,3880
ENFVYIAK,M0TAI1,214687
ENFVYIAK,I1M3M0,3847
ENFVYIAK,G7LIR4,3880
ENFVYIAK,M0TY03,214687

Original issue by @pdawyndt on Tue May 13 2014 at 20:39.
Closed by an unknown user on Tue May 13 2014 at 20:49.

@pdawyndt I did not think of this, but it should be easily doable to make it behave like that.
(there is also the -q flag to supress these messages)
Original comment by ghost on Tue May 13 2014 at 20:41.

Fixed in 0.4.1
Original comment by ghost on Tue May 13 2014 at 20:49.


Parse error when using typescript features

Bug Report

TSLint version: 5.11.0
TypeScript version: 3.1.6
Running TSLint via: (pick one) vim-ale

TypeScript code being linted
type ProcessStdoutFn = (s: string) => string

with tslint.json configuration:
{
  "parser": "typescript-eslint-parser",
  "extends": "tslint-config-standard"
}

Actual behavior
Fails to parse and gives me an unexpected token error for the word "ProcessStdoutFn". Other Typescript features like typing variables and function parameters aren't parsed, giving an error for the ":" character.
Expected behavior
Should parse this as a type assignment.

Hi, thanks for reporting this bug! It looks like it's an issue with https://github.com/eslint/typescript-eslint-parser, not TSLint. Could you please file this issue there, and include the exact unexpected token error you're seeing?

But, I don't even have that module installed. Should I have it?

don't even have that module installed

I'm confused. What are the contents of your package.json and what is the exact error you're getting? If typescript-eslint-parser is not listed in your package.json, does a folder exist at ./node_modules/typescript-eslint-parser?
The "parser" field is not one recognized by tslint.json. Did you copy and paste an .eslintrc.json or similar?

I've removed the "parser" field. Thanks. I must have copied it from somewhere.
I checked the node_modules folder, it's not there...

I've installed the module you mention, and there's no effect. The error remains.

@fabiosantoscode there's really nothing we can do here without more information from you. A few questions:

What is the exact error you're getting? Please copy and paste it here.
How exactly are you running TSLint (how have you configured vim-ale)?
Does this error happen if you run something on the command line, and if so, what is the command you're using?

Maybe the problem here is vim-ale. The bug also occurs on the CLI.
The exact output is as follows:

tslint --project src/*

src/index.ts(1,1): error TS1005: '{' expected.

src/index.ts(1,1): error TS1005: '{' expected.

Ok, that's progress! Can you copy & paste the contents of your src/index.ts here? If not for legal/permission/secrecy/etc. reasons, how about the first few lines?

Oh, wait, hang on - that's not the correct way to run --project. --project takes in a path to a tsconfig.json file, which is expected to be valid JSON. You likely meant tslint --project tsconfig.json. Unrelated.
@fabiosantoscode I'm going to close this issue as external because it seems like it's a problem with your vim-ale setup. Feel free to post here if you think that's not the case.

Thanks for your help :)


about the memory problem

Each time when I interact with the model, the memory occupied by the model increases and does not release memory resources. As a result, when there are many conversations, it is very easy for the model to crash. How can I solve this problem?

You mean when you chat with the model, the memory keeps increasing but doesn't decrease after the chat finishes?
Could you provide more details? e.g. what model you are using, any specific the code for us to reproduce this?

The detail I can provide is that I do not put the embedding to cpu and I use Baichuan2 model.   The main question is the don't release memory.
Following are code
model initial code:
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, optimize_model=True,
load_in_4bit=True).bfloat16().eval()
model = model.to('xpu')
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
chat code:
response = model.chat(tokenizer, content,stream=True) (just using the original baichuan code)

I cannot reproduce your problem on Windows11 System. The memory used by CPU is quite stable as the chat stream going. Here are my steps:
HW & OS：13th Gen Intel(R) Core(TM) i9-13900K; Intel(R) Arc(TM) A770 Graphics; Windows 11
Test env: bigdl-llm 2.5.0b20231222
Note: All the results were tested without cpu embedding (which may cause more cpu usage).
Test codes
I verify the issue based on the codes provided in Baichuan2-13B-Chat repo
from bigdl.llm.transformers import AutoModelForCausalLM
import torch
import intel_extension_for_pytorch as ipex

import os
import platform
import subprocess
from colorama import Fore, Style
from tempfile import NamedTemporaryFile

model_path = "D:\llm-models\Baichuan2-13B-Chat"
model = AutoModelForCausalLM.from_pretrained(model_path,
                                             load_in_4bit=True,
                                             trust_remote_code=True,
                                             optimize_model=True).bfloat16().eval()

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path,
                                          trust_remote_code=True)

model = model.to('xpu')

messages = []

while True:
    prompt = input(Fore.GREEN + Style.BRIGHT + "\n用户：" + Style.NORMAL)
    if prompt.strip() == "exit":
        break
    print(Fore.CYAN + Style.BRIGHT + "\nBaichuan 2：" + Style.NORMAL, end='')

    messages.append({"role": "user", "content": prompt})
    position = 0
    try:
        for response in model.chat(tokenizer, messages, stream=True):
            print(response[position:], end='', flush=True)
            position = len(response)
            torch.xpu.empty_cache()
    except KeyboardInterrupt:
        pass
    print()
    messages.append({"role": "assistant", "content": response})

Test results
I chat ten rounds with the model and append the history in chat API and didn't notice allocated memory increases. The memory increases fast when loading the model but maintain a relatively stable level（from 40s）during the chatting stage.

Here's my code for CPU memory capture and python script for memory usage plot.
 PowerShell script for memory capture

    while($true) {
    Get-Process | Measure-Object -Property WS -Sum | ForEach-Object { "Total Memory Usage: $($_.Sum / 1MB) MB" } | Out-File test.log -Append
    Start-Sleep -Milliseconds 10
}

 Python script for plotting the results

	import matplotlib.pyplot as plt

	data = []
	count = 0

	with open('./test.log', 'r',encoding="utf-16") as file:
	    for line in file.readlines()[:-2]:
	        mem = line.split()[3
	        data.append(float(mem))

	x = [i for i in range(len(data))]
	plt.plot(x, data, linestyle='-')
	plt.xlabel('Time')
	plt.ylabel('Used/MB')
	plt.title('Used Memory Over Time')
	plt.legend()
	plt.grid(True)
	plt.ylim(min(data)-100, max(data)+2000)

	plt.savefig('memory_usage_plot_load.png')

And GPU memory is at a stable level too.


Update sbt-scoverage to 2.0.5

Updates org.scoverage:sbt-scoverage from 1.9.3 to 2.0.5.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scoverage", artifactId = "sbt-scoverage" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scoverage", artifactId = "sbt-scoverage" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-major, commit-count:1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+3.7%) to 71.429%

Totals

Change from base Build<PHONE_NUMBER>:
3.7%

Covered Lines:
115

Relevant Lines:
161

💛  - Coveralls

Superseded by #111.


Pydantic failures

After updating to the latest version llm commandline fails
with: ImportError: cannot import name 'field_validator' from 'pydantic
Log:
% pip install llm
Requirement already satisfied: llm in /opt/homebrew/lib/python3.10/site-packages (0.14)
Requirement already satisfied: click in /opt/homebrew/lib/python3.10/site-packages (from llm) (8.1.3)
Requirement already satisfied: openai>=1.0 in /opt/homebrew/lib/python3.10/site-packages (from llm) (1.30.5)
Requirement already satisfied: click-default-group>=1.2.3 in /opt/homebrew/lib/python3.10/site-packages (from llm) (1.2.4)
Requirement already satisfied: sqlite-utils>=3.35.0 in /opt/homebrew/lib/python3.10/site-packages (from llm) (3.36)
Requirement already satisfied: sqlite-migrate>=0.1a2 in /opt/homebrew/lib/python3.10/site-packages (from llm) (0.1b0)
Requirement already satisfied: pydantic>=1.10.2 in /opt/homebrew/lib/python3.10/site-packages (from llm) (1.10.6)
Requirement already satisfied: PyYAML in /opt/homebrew/lib/python3.10/site-packages (from llm) (6.0)
Requirement already satisfied: pluggy in /opt/homebrew/lib/python3.10/site-packages (from llm) (1.3.0)
Requirement already satisfied: python-ulid in /opt/homebrew/lib/python3.10/site-packages (from llm) (2.2.0)
Requirement already satisfied: setuptools in /opt/homebrew/lib/python3.10/site-packages (from llm) (69.2.0)
Requirement already satisfied: pip in /opt/homebrew/lib/python3.10/site-packages (from llm) (24.0)
Requirement already satisfied: anyio<5,>=3.5.0 in /opt/homebrew/lib/python3.10/site-packages (from openai>=1.0->llm) (3.6.2)
Requirement already satisfied: distro<2,>=1.7.0 in /opt/homebrew/lib/python3.10/site-packages (from openai>=1.0->llm) (1.9.0)
Requirement already satisfied: httpx<1,>=0.23.0 in /opt/homebrew/lib/python3.10/site-packages (from openai>=1.0->llm) (0.24.1)
Requirement already satisfied: sniffio in /opt/homebrew/lib/python3.10/site-packages (from openai>=1.0->llm) (1.3.0)
Requirement already satisfied: tqdm>4 in /opt/homebrew/lib/python3.10/site-packages (from openai>=1.0->llm) (4.65.0)
Requirement already satisfied: typing-extensions<5,>=4.7 in /opt/homebrew/lib/python3.10/site-packages (from openai>=1.0->llm) (4.12.0)
Requirement already satisfied: sqlite-fts4 in /opt/homebrew/lib/python3.10/site-packages (from sqlite-utils>=3.35.0->llm) (1.0.3)
Requirement already satisfied: tabulate in /opt/homebrew/lib/python3.10/site-packages (from sqlite-utils>=3.35.0->llm) (0.9.0)
Requirement already satisfied: python-dateutil in /opt/homebrew/lib/python3.10/site-packages (from sqlite-utils>=3.35.0->llm) (2.8.2)
Requirement already satisfied: idna>=2.8 in /opt/homebrew/lib/python3.10/site-packages (from anyio<5,>=3.5.0->openai>=1.0->llm) (3.4)
Requirement already satisfied: certifi in /opt/homebrew/lib/python3.10/site-packages (from httpx<1,>=0.23.0->openai>=1.0->llm) (2022.12.7)
Requirement already satisfied: httpcore<0.18.0,>=0.15.0 in /opt/homebrew/lib/python3.10/site-packages (from httpx<1,>=0.23.0->openai>=1.0->llm) (0.17.3)
Requirement already satisfied: six>=1.5 in /opt/homebrew/lib/python3.10/site-packages (from python-dateutil->sqlite-utils>=3.35.0->llm) (1.16.0)
Requirement already satisfied: h11<0.15,>=0.13 in /opt/homebrew/lib/python3.10/site-packages (from httpcore<0.18.0,>=0.15.0->httpx<1,>=0.23.0->openai>=1.0->llm) (0.14.0)
[notice] A new release of pip is available: 24.0 -> 24.1
[notice] To update, run: python3.10 -m pip install --upgrade pip
% llm help
Traceback (most recent call last):
File "/opt/homebrew/bin/llm", line 5, in
from llm.cli import cli
File "/opt/homebrew/lib/python3.10/site-packages/llm/init.py", line 18, in
from .plugins import pm
File "/opt/homebrew/lib/python3.10/site-packages/llm/plugins.py", line 17, in
pm.load_setuptools_entrypoints("llm")
File "/opt/homebrew/lib/python3.10/site-packages/pluggy/_manager.py", line 398, in load_setuptools_entrypoints
plugin = ep.load()
File<EMAIL_ADDRESS>line 171, in load
module = import_module(match.group('module'))
File<EMAIL_ADDRESS>line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/opt/homebrew/lib/python3.10/site-packages/llm_claude_3.py", line 3, in
from pydantic import Field, field_validator, model_validator
ImportError: cannot import name 'field_validator' from 'pydantic' (/opt/homebrew/lib/python3.10/site-packages/pydantic/init.cpython-310-darwin.so)

It looks like the llm-claude-3 plugin assumes that pydantic2 is being used.
This could be fixed by making the imports defensive here:
https://github.com/simonw/llm-claude-3/blob/main/llm_claude_3.py
See my PR

#147 for how to do this

Then we'd also want to extend the testing strategy see #169
However, I think the most straightforward thing to do is drop support for pydantic1 and force a pydantic2 install - what do you think @simonw? It's been over a year since pydantic2 has been out


508 while trying to use prefill

Describe the bug
The prefill fails with the 508 error while attempting to prefill data.
[11:58:38 PM] Selected 1 apps to prefill!
[11:58:40 PM] Prefilling 1 products

[11:58:40 PM] Starting Diablo 3
[11:58:41 PM] Detected Lancache server at level3.blizzard.com [<IP_ADDRESS>]
[11:59:21 PM] Unexpected download error : Response status code does not indicate success: 508.  Skipping app...

[11:59:21 PM] Prefill complete! Prefilled 1 apps                 40.9794
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  Prefilled 1 apps totaling 0 b in 43.3335

   Updated │ Up To Date │ Failed
  ━━━━━━━━━┿━━━━━━━━━━━━┿━━━━━━━━
      0    │     0      │   1

Issue is, the Battle.net client is able to download the files no problem, speed is way slower than downloading without the cache, but it works.
The tpill90/battlenet-lancache-prefill however for some reason fails to download anything while receiving the 508 error.
Even when running in docker with single ip address on the server and in the docker compose and exposing ports 80 and 443 without binding to specific addresses, it is able to detect server on the localhost, yet still produces the 508 error.
Same issue on Windows.
Lancache Docker Compose File:
version: '3'

services:
  watchtower:
    container_name: watchtower
    image: containrrr/watchtower:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  lancache:
    container_name: lancache
    image: lancachenet/monolithic:latest
    restart: unless-stopped
    ports:
      - <IP_ADDRESS>:80:80/tcp
      - <IP_ADDRESS>:443:443/tcp
      - <IP_ADDRESS>:80:80/tcp
      - <IP_ADDRESS>:443:443/tcp
    environment:
      USE_GENERIC_CACHE: true
      LANCACHE_IP: <IP_ADDRESS> <IP_ADDRESS>
      UPSTREAM_DNS: <IP_ADDRESS>
      CACHE_DISK_SIZE: 1000g
      CACHE_INDEX_SIZE: 500m
      CACHE_MAX_AGE: 365d
      TZ: Asia/Dubai
    volumes:
      - /mnt/lancache/logs:/data/logs
      - /mnt/lancache/cache:/data/cache
      - /mnt/lancache/cachedomains:/data/cachedomains
    depends_on:
      - watchtower

Pi-Hole DNSMasq configuration (/etc/dnsmasq.d/20-blizzard.conf):
address=/dist.blizzard.com/<IP_ADDRESS>
local=/dist.blizzard.com/
address=/dist.blizzard.com.edgesuite.net/<IP_ADDRESS>
local=/dist.blizzard.com.edgesuite.net/
address=/blizzard.vo.llnwd.net/<IP_ADDRESS>
local=/blizzard.vo.llnwd.net/
address=/blzddist1-a.akamaihd.net/<IP_ADDRESS>
local=/blzddist1-a.akamaihd.net/
address=/blzddist2-a.akamaihd.net/<IP_ADDRESS>
local=/blzddist2-a.akamaihd.net/
address=/blzddist3-a.akamaihd.net/<IP_ADDRESS>
local=/blzddist3-a.akamaihd.net/
address=/level3.blizzard.com/<IP_ADDRESS>
local=/level3.blizzard.com/
address=/nydus.battle.net/<IP_ADDRESS>
local=/nydus.battle.net/
address=/edge.blizzard.top.comcast.net/<IP_ADDRESS>
local=/edge.blizzard.top.comcast.net/
address=/cdn.blizzard.com/<IP_ADDRESS>
local=/cdn.blizzard.com/

This VM is using cloud-init which in turn provides DNS settings for the machines as <IP_ADDRESS> and <IP_ADDRESS> (pihole1 and pihole2), but given that prefill should query the container itself with upstream set to <IP_ADDRESS>, it shouldn't be a problem.

What ended up being the issue here?  Since you closed this did it end up being resolved?

The issue, as always, poor DNS configuration.
Here is the situation:

2 Pi-Hole instances (<IP_ADDRESS> and <IP_ADDRESS>) in a Proxmox VM with Cloud-Init
Both of them using the Host settings
Host is using Router settings
Router is pointing at those 2 Pi-Hole instances
LOOOOOOP

But i made some changes actually down the road, now each server:

Has a Pi-Hole installed on the OS itself
Has a Docker container with Cloudflared (dns proxy for DOH)
Has a Lancache-DNS container pointing to a static IP of the Cloudflared container as a resolver
Pi-Hole points to the exposed port of the Lancache-DNS container

So it look now like: Pi-Hole (Port 53) -> Lancache-DNS Container (Port 5252) -> Cloudflared Container (Static IP + Bound to <IP_ADDRESS> and Port 53).
I agree, huge overhead, but at least now it works just fine:

Here is the docker-compose.yaml file in case someone might want to replicate this setup:
version: '3.5'

services:
  watchtower:
    container_name: watchtower
    image: containrrr/watchtower:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      custom_dns_network:
        ipv4_address: <IP_ADDRESS>
  cloudflared:
    container_name: cloudflared
    image: cloudflare/cloudflared
    restart: unless-stopped
    command: proxy-dns --address <IP_ADDRESS> --port 53 --upstream https://<IP_ADDRESS>/dns-query --upstream https://<IP_ADDRESS>/dns-query
    networks:
      custom_dns_network:
        ipv4_address: <IP_ADDRESS>
    depends_on:
      - watchtower
  lancache_dns:
    container_name: lancache-dns
    image: lancachenet/lancache-dns:latest
    restart: unless-stopped
    ports:
      - "5252:53/udp"
      - "5252:53/tcp"
    environment:
      # General settings
      CACHE_DOMAINS_REPO: https://github.com/uklans/cache-domains.git
      CACHE_DOMAINS_BRANCH: master
      UPSTREAM_DNS: <IP_ADDRESS>
      TZ: Asia/Dubai
      # Lancache settings
      USE_GENERIC_CACHE: true
      LANCACHE_IP: <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
      # Services IPs settings
      STEAMCACHE_IP: <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
      BLIZZARDCACHE_IP: <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
      # Services settings
      DISABLE_ARENANET: true
      DISABLE_BLIZZARD: false
      DISABLE_BSG: true
      DISABLE_CITYOFHEROES: true
      DISABLE_DAYBREAK: true
      DISABLE_EPICGAMES: true
      DISABLE_FRONTIER: true
      DISABLE_NEVERWINTER: true
      DISABLE_NEXUSMODS: true
      DISABLE_NINTENDO: true
      DISABLE_ORIGIN: true
      DISABLE_PATHOFEXILE: true
      DISABLE_RENEGADEX: true
      DISABLE_RIOT: true
      DISABLE_ROCKSTAR: true
      DISABLE_SONY: true
      DISABLE_SQUARE: true
      DISABLE_STEAM: false
      DISABLE_TESO: true
      DISABLE_UPLAY: true
      DISABLE_WARFRAME: true
      DISABLE_WARGAMING: true
      DISABLE_WSUS: true
      DISABLE_XBOXLIVE: true
    networks:
      custom_dns_network:
        ipv4_address: <IP_ADDRESS>
    depends_on:
      - cloudflared

networks:
  custom_dns_network:
    ipam:
      config:
        - subnet: <IP_ADDRESS>/16

Important:

Pi-Hole is installed on the host, NOT in the docker
Pi-Hole is still the "main" DNS server - running on the port 53
In the DNS settings in the UI, you need to point Pi-Hole to <IP_ADDRESS>#5252
Change the IP addresses for the Lancache Server and if needed, the network IP and Subnet used by docker to route traffic between lancache-dns and cloudflared.


Return correct tooltip data in category scale when double category scale is used

When the category scale is used as the non main scale, return the correct data for the tooltip
Fixes #3278

+1


Page > Client Details

[x] Card "Clients Value" has wrong shade of main color in header.

[x] Card "Clients Value" don't have bottom shadow:

[x] Card "Clients Value" has wrong spacing:

[x] Card "Logs" uses old style of pagination.

[x] Avatar status scircle in card "Client Contacts" has wrong border color, when has status :hover

Widget Tabs

[x] Has wrong "Zero-Data" style

[x] I'm able to open "With Selected" dropdown, even when it's disabled:

[x] Main filter and search bar in all tabs should look like this:

[x] When I switch to the "Invoices", tabs container has unnecessary shadow:

[x] Has stronger shadow than other Cards.

[x] Pagination has wrong spacing

Finally all tasks has been fixed correctly. I'm closing this issue.


Forgetting the SSID connected using this apk

Not an issue.
Just a request.  Is it possible to add a capability to forget the network which was connected to using this APK?

Have the network you connected to rotate its password :-)


fix: Refactor reasking logic

[!IMPORTANT]
Refactor reasking and retry logic by introducing reask.py for mode-specific handling and updating retry.py for improved exception handling and modularity.

Reask Logic:

Introduced reask.py with functions like reask_anthropic_tools, reask_cohere_tools, reask_gemini_tools, etc., for mode-specific reasking.
Added handle_reask_kwargs() to select appropriate reask function based on mode.

Retry Logic:

Refactored retry_sync() and retry_async() in retry.py to use handle_reask_kwargs() for exception handling.
Added initialize_retrying() and initialize_usage() to set up retrying and usage tracking.

Exceptions:

Updated InstructorRetryException in exceptions.py to include create_kwargs.

Misc:

Minor changes in patch.py and templating.py for logging and templating adjustments.
Fixed JSON extraction logic in iterable.py and partial.py.

This description was created by  for 6f4f0699e65566ff6cb6159b1a1a71056d09afe1. It will automatically update as commits are pushed.

Vertex AI Tests
tests/llm/test_vertexai/test_format.py ....                                                                                [ 14%]
tests/llm/test_vertexai/test_message_parser.py ....                                                                                [ 28%]
tests/llm/test_vertexai/test_modes.py ......                                                                                [ 50%]
tests/llm/test_vertexai/test_retries.py ....                                                                                [ 64%]
tests/llm/test_vertexai/test_simple_types.py ......                                                                                [ 85%]
tests/llm/test_vertexai/test_stream.py ....                                                                                [100%]

Gemini Tests
tests/llm/test_gemini/evals/test_classification_enums.py ..........                                                                [ 15%]
tests/llm/test_gemini/evals/test_classification_literals.py ..........                                                             [ 31%]
tests/llm/test_gemini/evals/test_entities.py ..                                                                                [ 34%]
tests/llm/test_gemini/evals/test_extract_users.py ......                                                                           [ 44%]
tests/llm/test_gemini/evals/test_sentiment_analysis.py ......                                                                      [ 53%]
tests/llm/test_gemini/test_format.py ....                                                                                [ 60%]
tests/llm/test_gemini/test_list_content.py .                                                                                [ 61%]
tests/llm/test_gemini/test_modes.py ....                                                                                [ 68%]
tests/llm/test_gemini/test_multimodal_content.py ..                                                                                [ 71%]
tests/llm/test_gemini/test_patch.py ....                                                                                [ 77%]
tests/llm/test_gemini/test_retries.py ....                                                                                [ 84%]
tests/llm/test_gemini/test_roles.py .                                                                                [ 85%]
tests/llm/test_gemini/test_simple_types.py ...                                                                                [ 90%]
tests/llm/test_gemini/test_stream.py ......                                                                                [100%]


how to center text ?

how to align center ?
thanks

@xgz123 I didn't get a notification for this issue or I missed it.
This is not implemented but you can center strings in fieldString method.

I have two idea in mind of how to implement it.
// 1
table.CenterColumn(cols ...string)
table.Print()
// 2
table.PrintCenter(cols ...string)

which one do you think is better ?

How about adding option to Table struct?
like so:
type Table struct {
    // ...
    CenterText bool
    // ...
}

How about adding option to Table struct?
like so:
type Table struct {
    // ...
    CenterText bool
    // ...
}

This is a table level config while I only need some of the columns to be centered.

That's interesting.
In this case maybe
type Table struct {
    // ...
    CenterText map[string]bool
    // ...
}


Add conditional CI Checks

What would you like to be added:
Need to add some conditional logic to certain CI checks to increase efficiency for some PR's.
Why is this needed:
Not all checks need to run on a given PR unless certain files change. Github Actions has filtering capabilities, but it breaks things if you enable that with a required check (https://github.community/t5/GitHub-Actions/Feature-request-conditional-required-checks/m-p/36938#M2735
) and then the check doesn’t trigger in a PR. Until there’s a solution from Github we may need to add the conditional logic into the CI checks themselves.
Use something like this in a helper function that lives somewhere in ./hack. This should be generic to work for any number of directly/file paths and for any CI check.
$ git --no-pager diff --name-only --ignore-blank-lines HEAD $REF -- app

Probably not an exhaustive list, but good to start collecting the specific paths we want to trigger on for each set of checks:
Python Checks
    - /app
    - /.github/workflows

e2e Checks
    - /app
    - /deploy/manifests
    - /policies
    - /hack
    - /.github/workflows

Manifests Checks
    - /deploy/manifests
    - /hack
    - /.github/workflows

This may be of use: https://github.com/dorny/paths-filter


Nginx exposes source maps in production

related solution from #1127 : npm run build angular configuration production adds source maps (*.js.map) to for PWA browser and SSR.
Actual Behavior
If environment variable SOURCE_MAPS has one of the values 1, on, true or yes , then :

PWA exposes source maps in browser
PWA SSR exposes source maps to web clients, i.e. search engine crawler / robot (SEO)
else
PWA exposes source maps in browser
PWA SSR exposes NO source maps

Expected Behavior
If environment variable SOURCE_MAPS has one of the values 1, on, true or yes , then :

PWA exposes source maps in browser
PWA SSR exposes source maps to web clients, i.e. search engine crawler / robot (SEO)
else
PWA exposes NO source maps in browser
PWA SSR exposes NO source maps

Steps to Reproduce the Bug
Steps to reproduce the behavior:

Go to PWA Home Page
Open Web Browser Dev Tools > Sources
Search for typescript file api-token.ts. The search returns a search hit unexpectedly.

Environment Details

Desktop: *

OS: Windows 10
Browser:  chrome / brave
Project Code Version : gib branch master on 31 May 2022

AB#77148

@jstein213 You're referring to the wrong pull request id in your bug description.

@jstein213
The SSR container sends 404 when the SOURCE_MAPS feature is turned off:
https://github.com/intershop/intershop-pwa/blob/13186643f5e5a986f0280b0e0c9958acbd1b925b/server.ts#L273-L279
The nginx will then relay those 404s, and not expose the source maps.

No. Maybe theoretically, your assumption is true. Unfortunately, live test results contradict your assumption.

@jstein213 You're referring to the wrong pull request id in your bug description.

@jometzner What is the expected correct reference? Remove it? What do you suggest to fix?

@jstein213 You're referring to the wrong pull request id in your bug description.

@jometzner What is the expected correct reference? Remove it? What do you suggest to fix?

I already fixed it for you. Nothing needs to be done by you.

@shauke @dhhyi I confirm your test results. The bug is invalid and I close it.


Testing Build process: Run into install / setup errors that could make users quit before

FYI @davo: Following the Build.md when I run 'npm install gulp' I get following messages of deprecated stuff.

npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
/Users/miguelpaz
└──<EMAIL_ADDRESS>npm WARN enoent ENOENT: no such file or directory, open '/Users/miguelpaz/package.json'
npm WARN miguelpaz No description
npm WARN miguelpaz No repository field.
npm WARN miguelpaz No README data
npm WARN miguelpaz No license field.

Then I tried to update the deprecated minimatch and graceful-fs but I get stuck between choosing to do so locally or globally (as explained here). This means that a user would have to go to learn about Fixing npm permissions. All of which, for a basic setup for a Jekyll template, seems like a very long process that would make users just quit.
Also running 'gulp' gets me a 'command not found' message.
Any ideas to streamline the process?

Went on it for a long time dealing with errors while trying to follow options for local vs global.
Ended up uninstalling node and npm.
Then tried 'brew install node'
Got a bunch of new errors.
Bottomline: we need to make it easier to get this running by following Build.md documentation.

Troubleshooting added to the Wiki https://github.com/miguelpaz/normalista/wiki/Troubleshooting


Can not find the "im2txt”

Can not find the "im2txt”

You need to use archived tensorflow/models: e.g. https://github.com/tensorflow/models/tree/archive


Add into apple wallet

As already meantioned in https://github.com/alexeynobody/pass-flutter/issues/20
A feature where you can add directly with this package into the wallet app would be awesome.

Thanks, @JakobStadlhuber for this idea. I will think about it

@alexeynobody Hello, did you come up with a solution for this problem meanwhile?

@alexeynobody
How do I get the payment cards I previously added through my app? I could not find any example for that.
I hope your support to this


question about run demo

Hi, thanks for your amazing work,
when I ran the demo use the command
python ./examples/slam_demo.py --dataset_dir=./datasets/Replica/office0 --dataset_name=nerf --buffer=100 --slam --parallel_run --img_stride=2 --fusion='nerf' --multi_gpu

I got the a lot log like this and then it miss in fusion loop:
Fusion packet from SLAM module is None...

And when I run sigma-fusion, the end log is
End of SLAM sequence, nothing more to fuse...

is that right?

The same question. Have you solved this problem?

The same question. Have you solved this problem?

@xiehousen not yet😭

Have you solved this problem?

Have you solved this problem? I meet the same problem, I guess it's because the number of GPU is less than 2. But I can't verify that. Because my lab server does not have a visual desktop, the laptop cannot be installed with a GPU。

Hi all, this is just a bug for logging. In my case, the system still works even with this warning.


Roll Engine from 165abef0a2cb to 49d68053249f (19 revisions)

https://github.com/flutter/engine/compare/165abef0a2cb...49d68053249f
2020-09-01<EMAIL_ADDRESS>Ensure all images are closed in FlutterImageView (flutter/engine#20842)
2020-09-01<EMAIL_ADDRESS>Roll Dart SDK from 2a5f37d25453 to e8e0d5a539fb (3 revisions) (flutter/engine#20928)
2020-09-01<EMAIL_ADDRESS>Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385)
2020-09-01<EMAIL_ADDRESS>Create root isolate asynchronously (flutter/engine#20142)
2020-09-01<EMAIL_ADDRESS>Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924)
2020-09-01<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920)
2020-09-01<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from sI2DAAmSI... to waj2pOhDh... (flutter/engine#20919)
2020-09-01<EMAIL_ADDRESS>Default C++ wrapper templates to EncodableValue (flutter/engine#20760)
2020-09-01<EMAIL_ADDRESS>Roll Dart SDK from 6eab35f49cbb to 2a5f37d25453 (1 revision) (flutter/engine#20917)
2020-09-01<EMAIL_ADDRESS>[web] migrate from e2e to integration_test (flutter/engine#20914)
2020-09-01<EMAIL_ADDRESS>Roll Dart SDK from 84c3eacc7ba0 to 6eab35f49cbb (2 revisions) (flutter/engine#20913)
2020-09-01<EMAIL_ADDRESS>Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912)
2020-08-31<EMAIL_ADDRESS>Reset Shell::weak_factory_gpu on the raster thread (flutter/engine#20869)
2020-08-31<EMAIL_ADDRESS>[windows] Add horizontal scroll support (flutter/engine#20668)
2020-08-31<EMAIL_ADDRESS>Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909)
2020-08-31<EMAIL_ADDRESS>Wait for first frame before checking layer tree (flutter/engine#20910)
2020-08-31<EMAIL_ADDRESS>Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865)
2020-08-31<EMAIL_ADDRESS>Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908)
2020-08-31<EMAIL_ADDRESS>Reland: Enable hybrid composition by default on Android (#20722) (flutter/engine#20864)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from _SVZn8uN29Ch to 9tLNFbjA1iAo
fuchsia/sdk/core/mac-amd64 from sI2DAAmSIPFp to waj2pOhDhK4q
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


feat/test-cases

Codecov Report

Merging #1 (0b590a5) into develop (5fc7b00) will increase coverage by 69.36%.
The diff coverage is 78.12%.

@@             Coverage Diff              @@
##           develop       #1       +/-   ##
============================================
+ Coverage         0   69.36%   +69.36%
============================================
  Files            0        9        +9
  Lines            0      284      +284
============================================
+ Hits             0      197      +197
- Misses           0       75       +75
- Partials         0       12       +12

Impacted Files
Coverage Δ

storage/storage.go
95.83% <0.00%> (ø)

version/version.go
100.00% <ø> (ø)

scheduler/scheduler.go
43.58% <55.55%> (ø)

publisher/pubsub/pubsub.go
75.43% <73.68%> (ø)

listener/pubsub/pubsub.go
71.42% <76.92%> (ø)

app/main.go
60.52% <80.00%> (ø)

prioritizer/prioritizer.go
100.00% <100.00%> (ø)

processor/processor.go
86.36% <100.00%> (ø)

... and 7 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 5fc7b00...0b590a5. Read the comment docs.


Return JSON

Question since I am just beginning with these API's, but why are you parsing the response XML to JSON and not just setting the returnFormat to JSON?

Hi @trainerbill,
Sorry for the delay in responding. The main reason for parsing xml was because the response when sending multiple control functions is not valid JSON. It's multiple JSON objects delimited concatenated together with no delimiter, not even a line break. Also, you lose some attributes about the control function's response, such as total result set count.
The JSON response format just seems like an afterthought for Intacct. Now, if we were able to get them to improve their API, I would be more than happy to work with you to convert this module to use JSON primarily.

Yeah I found that out the hard way after coverting to JSON....  Looks like they are adding node support in the near future.  FYI
https://github.com/Intacct/intacct-sdk-js

Looks like they haven't done anything yet with the repo. I'm going to close this issue for now. If you have any ideas on possibly working around the xml to json conversion, I'm all for it. I just want to be careful about limiting the amount of information that a user has when making their requests. Hopefully, Intacct will reevaluate their API responses to truly support JSON responses.


How to manually set selected cell

I am using the menu to send NSNotifications to a navigation controller, where selecting a cell chooses which view controller to navigate to. In order to make this possible, each view controller has it's own instance of BTNavigationDropdownMenu.
This means that navigating to a new view controller instantiates a new dropdown menu, so the checkmark is always on the first cell. I'd like to be able to manually select which cell has the checkmark.
Is this currently possible?

Figured it out by subclassing Navigation Controller and using notifications to initiate the segues.


⚠ Samsung has degraded performance

In c3c229e, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2550 ms

Resolved: Samsung performance has improved in 03427a4.


Add ERC1155 module, dual and interface with Component implementation

Fixes #572

PR Checklist

[ ] Tests
[ ] Documentation
[ ] Added entry to CHANGELOG.md
[x] Tried the feature on a public network

Hello @cloudvenger, thanks for all the work put into this. As this is scheduled as part of our upcoming milestone and since we're way past the original agreed deadline (~3rd week of November 2023, or December ~15th as the latest extension) we'll be picking this up internally to complation. Thanks again for your contributions.

Juste reading your message @martriay
I send you a Telegram message to explain myself on the subject and trying to find a solution to contribute

To help to continue/finish the impl of ERC-1155 in component version, here is the list of what was done :

Creation of erc1155 modul in src/token
Implementation of erc1155 Interface, Component, Receiver, Dual, Dual_receiver
Implementation of Preset for ERC-1155
Implementation of few unit tests for erc1155 component, receiver, dual & dual_receiver

Remains to be done :

Implementing much more unit tests to have a much better test coverage
Writing/Updating documentation for erc1155 component version

You can find a Smart Contract which used this erc1155 component version her :
https://testnet.starkscan.co/contract/0x01115205424b7d08d8895dd0d5c60d6f7beb5def65c749898d0864823f3dbb43#overview
The Smart Contract is recognized as ERC-1155 on voyager blockchain explorer
Important point : To be recognized as ERC-1155 Starkscan blockchain explorer, I needed to add the support interface of old ERC-1155 Interface 0xd9b67a26.
I did not add it in OpenZepplin erc-1155 impl but I add it in the constructor of the Smart Contract which used erc-1155 openzepplin component.
If you are any question, do not hesitate @martriay

Superseded by #896


Can't reach database server

Describe the bug

Been running this successfully for a while, went to check the webUI. Couldn't reach it.
Checked Portainer, noticed kaizoku-redis-1 was stopped for some reason. Restarted Redis.
Logs show the following error, repeating:

{"level":50,"time":1695144764521,"pid":6169,"hostname":"5539d3650151","err":{"type":"PrismaClientInitializationError","message":"\nInvalid `prisma.manga.findMany()` invocation:\n\n\nCan't reach database server at `db`:`5432`\n\nPlease make sure your database server is running at `db`:`5432`.","stack":"Error: \nInvalid `prisma.manga.findMany()` invocation:\n\n\nCan't reach database server at `db`:`5432`\n\nPlease make sure your database server is running at `db`:`5432`.\n    at RequestHandler.handleRequestError (/app/node_modules/.pnpm/@prisma+client@4.9.0_prisma@4.9.0/node_modules/@prisma/client/runtime/index.js:31955:13)\n    at RequestHandler.handleAndLogRequestError (/app/node_modules/.pnpm/@prisma+client@4.9.0_prisma@4.9.0/node_modules/@prisma/client/runtime/index.js:31913:12)\n    at RequestHandler.request (/app/node_modules/.pnpm/@prisma+client@4.9.0_prisma@4.9.0/node_modules/@prisma/client/runtime/index.js:31908:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async PrismaClient._request (/app/node_modules/.pnpm/@prisma+client@4.9.0_prisma@4.9.0/node_modules/@prisma/client/runtime/index.js:32994:16)","clientVersion":"4.9.0"},"msg":"\nInvalid `prisma.manga.findMany()` invocation:\n\n\nCan't reach database server at `db`:`5432`\n\nPlease make sure your database server is running at `db`:`5432`."}

Reproduction steps

Browse to IP:Port
No webUI
restart docker containers
Check logs
docker compose up -d starts redis, and db, but doesn't start kaizoku (hangs at recreated, does not proceed to started)

Expected behavior
Access webUI as normal
Additional context
My compose:
version: '3'

volumes:
  db:
  redis:

services:
  app:
    container_name: kaizoku
    image: ghcr.io/oae/kaizoku:latest
    environment:
      - DATABASE_URL=postgresql://kaizoku:kaizoku@db:5432/kaizoku
      - KAIZOKU_PORT=3000
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - PUID=1000
      - PGID=1000
      - TZ=America/Toronto
    volumes:
      - /mnt/media/media/manga:/data
      - /opt/appdata/kaizoku/config:/config
      - /opt/appdata/kaizoku/logs:/logs
    depends_on:
      db:
        condition: service_healthy
    ports:
      - '8089:3000'
    restart: always
    security_opt:
      - apparmor:unconfined
    networks:
      - homelab
    labels:
      com.centurylinklabs.watchtower.enable: false
  redis:
    image: redis:7-alpine
    volumes:
      - redis:/data
    security_opt:
      - apparmor:unconfined
    networks:
      - homelab
    labels:
      com.centurylinklabs.watchtower.enable: false
  db:
    image: postgres:alpine
    restart: unless-stopped
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U kaizoku']
      interval: 5s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_USER=kaizoku
      - POSTGRES_DB=kaizoku
      - POSTGRES_PASSWORD=kaizoku
    volumes:
      - db:/var/lib/postgresql/data
    security_opt:
      - apparmor:unconfined
    networks:
      - homelab
    labels:
      com.centurylinklabs.watchtower.enable: false

networks:
  homelab:
    driver: bridge
    external: true

additional data, running compose up I see the following issue:
kaizoku-db-1     | 2023-09-19 18:08:50.104 UTC [1] FATAL:  database files are incompatible with server
kaizoku-db-1     | 2023-09-19 18:08:50.104 UTC [1] DETAIL:  The data directory was initialized by PostgreSQL version 15, which is not compatible with this version 16.0.
kaizoku-db-1 exited with code 1

I just double checked the default compose.yaml at it does appear that it is listed as
  db:
    image: postgres:alpine

Which may cause issues for folks who update the db image and created their database on a previous version of postgres, e.g., by using watchtower or manually. Potential fix above.

I also have this issue. By adding the 15-alpine it does appear to work again. Though Agreed with mgrimace, this could be an issue for others that dont know about this issue and try to use the default compose.


Clean unsued import

ThreadingHTTPServer was unused. So it's deleted.

Oh... type in the commit message title. It shoudl be closed. And I will remake it soon.


fix(curriculum/learn): moved the comment one line below.

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

moved the comment  //add code above this line in the text editor of this challenge one line below so that it makes meaning.

@EnockKasaadha FYI - You should not be committing changes to your master branch.  Instead, you should always create a new branch and create PR from the new branch.  You don't want to "soil" your master branch.  Your master branch should always mirror the repo's master branch from where you forked.

Sure. Thank you. I realized that mistake
On Fri, Mar 27, 2020, 02:33 Randell Dawson<EMAIL_ADDRESS>wrote:

@EnockKasaadha https://github.com/EnockKasaadha FYI - You should not be
committing changes to your master branch. Instead, you should always
create a new branch and create PR from the new branch. You don't want to
"soil" your master branch. Your master branch should always mirror the
repo's master branch from where you forked.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/38422#issuecomment-604739593,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM42YQYC55FXZHH7GRWIQILRJPQ5BANCNFSM4LRZWXPA
.


RPC Client Smoke Test

Task summary

Make a program that, when run, makes a number of calls to Lotus via the RPC Client. This will validate proper deserialization, decoding, param types, etc.
This can't be added as a unit test or tested in any of the ways we currently test, since it requires a running Lotus node.
Ideally this can also be run against a Forest node and work the same. Failing tests should be reported, but they shouldn't fully abort execution.
Specification reference

node/rpc-client-tests
Uses only node/rcp-client methods
Tests kept in separate functions, and called in main fn
Reports passing and failing tests
Tests can test multiple scenarios, and there should be at least one test per method (66 methods as of filing)

Other information and links

We may want to do this before we start on #1208, so that work can also include testing the additional RPC methods.
If desired, this can be down-scoped to maybe just Wallet methods (since we have a decent number of them and it tests straightforward functionality) for the first stab at this issue, and issues and epics filed for the other methods. It'll help just to have this so we have a place where tests can be added as needed.

Done.


Create proper calendar page

My thoughts here are that we can either manually grab each api and populate calendar events for free (this is annoying, but not impossible for someone to do.) or pay for the Action Network api and automate the entire thing

So there are more notes to be had.
Something to to just keep in mind is that actions and events are different. We likely would not want to have actions and events intermixed on a calendar or agenda style view. It should probably be a separate section or page for each. With events grouped under months or put on a calendar and actions typically always just be a listed not grouped under anything and listed in priority of created date.
With doing embedding, as of writing, it looks like there's weird functionality on how this works for past actions/events. For upcoming events we can get a great embed, where the embed looks exactly like the page on action network, but for past events the embed simply returns "This action is not currently available". I've currently got an open ticket with action network to confirm if there's a work around with the embed functionality, but screenshots to show examples for reference for right now -
Event in the future embed:

Event that's passed embed:

The same passed event embed, but on action network:

I am unsure how this works using the API. If the process is simple via api, it might realistically just be best to do that. From a semi-brief glance at the docs, it seems like the structure on the return is the same (it has a description property) that DOES retain the HTML tags, making it fairly simple to recreate the description with formatting via the API.
My best current thought for how to handle this, if we don't do that, is to link events to their own page instead of directly on an events page. For events that are upcoming we could have valid links that have their own page to be embedded into and for past events having them grey and italicized, like this

I hope it is obvious that I mean with better design than that though lol.
I do think thought that if the API is making it seem like it would work correctly, we should just do that.

So after getting confirmation from AN that there is no way to get anything besides the "This action is not available", that with the API with the description with formatting, and realizing that we don't get the start date from the embed, I really think we should just go with the API. There are ways around it like when adding the like into Sanity, we could also manually add the start date, but it's becoming increasingly apparent that the embed is not going to be a good solution for this in the long term. It is possible, but not really ideal.

Not going to use action network. More likely to either use a third party (full calendar, google calendar, etc) or manually do it from sanity

Another option if we want to use google calendar anyway would just be to have the site rebuild every X hours

Ugh I REALLY didn't think this through. Got all the way through with google calendar working and everything just to realize it's really not a good way to do things. There's not a good way to get photos through the event and the description doesn't support good wysiwyg editing. It has basics, but not what you'd want for an event. On top of that, I still need to consider how to make each event have it's own page on top of the calendar itself

Going to count this as done, I have another ticket for moving to Sanity CMS for managing the events


Create a test environment to use the Tesseract model with the current API

Description
Loom Video: https://www.loom.com/share/36673338db42404abd4c91aba3ea7086
We modified the current RESTful API to be able to use Tesseract instead of Google Vision. This is the first step toward replacing Google's OCR engine with our custom Tesseract OCR engine.
The API now defaults to Google Vision, but Tesseract can be used by designating it in the Submission Object.
The file app/utils/img_processing/tesseract_api.py contains most of the code for interacting with Tesseract. It needs much more work, especially in image preprocessing, but is functional in a base way.
Pair Programming:
Mason Menges and Carl Stimson
Two sessions -- one to create functions for tesseract_api.py and the other to troubleshoot the API
The first session was very successful and resulted in a much cleaner, more abstracted Class for the Tesseract API.
The second session was more difficult but we benefited to having someone else to bounce suggestions and ideas off.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[ ] Complete, tested, ready to review and merge
[x] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

Has This Been Tested

[x] Yes
[ ] No
[ ] Not necessary

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

Looks great -- great work guys!


Fix tests

Fixed issues with existing tests, also untabified a little

Merged it trough curl command, did not seem to close issue :)


Solar midnight.

Hello!
I analyzed the code and found that this line:
m[0] = jd.m + wrapTo180(ra - longitude - GMST) / 360;
Is used to calculate the transit [solar noon]. I tried adjusting it to return solar midnight , but without succes. I would add m[4] for solar midnight, but my astronomy know how is too limited for this.
Could you please tell me how to get it to return the solar midnight?
Thank you .
Best regards, Marius.

An approximation is transit +12 hours.
Otherwise, I think you can get the solar midnight by calculating the solar noon for your local longitude -180 degrees:
calcSunriseSunset(utc, latitude, longitude-180, midnight, dummy, dummy);

I will convert the issue to a discussion.


Updated it-IT translation

Added missing italian definitions added with #6312

Thank you for opening this PR, can you look at #6334? I think these changes might be duplicate.

Thanks @Defkon1 in #6334 we were discussing how to best translate some strings (e.g whether "dual pane" should be "doppio pannello", "doppio riquadro" or "doppia finestra" xD), any input is appreciated.
Also if you have seen any other translation that needs improving feel free to let us know.


add key wrapper for Identity struct

Signed-off-by: pxp928<EMAIL_ADDRESS>created a key wrapper to capture specific pub key information that can later be used downstream.

closing this as it will be captured in other PRs


Update license

This clarifies

"W3C Mode" which uses w3c patent license
Apache 2 for source code

Is there any active process a contributor has to go through to “accept” the license or is it sufficient that it is in the repo to enforce it?  I’m assuming it is automatic and implied, but wanted to be sure.


settings: Add can_delete_any_message_group setting.

This PR adds can_delete_any_message_group setting which describes the set of users with permission to delete any message in the organization.
Fixes #30717.

Screenshots and screen captures:
Screenshots

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@roanster007 can you review this?

@zulipbot add "buddy review"

just this minor comment https://github.com/zulip/zulip/pull/30996#discussion_r1688475115, other than that LGTM

@zulipbot remove "buddy review"

@MSurfer20 @aero31aero can anyone of you review this?

@zulipbot add "mentor review"

@Vector73 Please add the "maintainer review" label and tag @sahil839  for a review when the feedback above has been addressed.

@zulipbot remove "mentor review"

@zulipbot add "maintainer review"

@sahil839 would you be up for reviewing this?

This looks pretty close to me; posted a batch of comments. Please DM me when you have this updated and the migrations/API changelog renumbered, so I can merge it to serialize with other API changes.
And as noted above, I think a great follow-up would be to rework the "delete own message" policy to also be a group setting. We do need an API design discussion to check if other clients parse that.

We need a section about the new setting in help/restrict-message-editing-and-deletion.md

Do we need to add a new section for this setting or can we just mention it inside "Configure message deletion permissions" section?

Looks good; I added the docs and marked this to merge once CI passes.
@alya FYI for review of the last commit; you'll probably want to do a polish pass on it, but I think I identified all the files that documented information that's changed.


Slides not changing automatically while slider is in focus

Hey,
Great plugin!
I am trying to understand if this is an expected behaviour or not, although I didn't see any configuration for that. If I'm focusing on the slider (clicking somewhere on it) then it stops switching slides automatically. I want it to continue though.
I'm using version 1.2.2
Thanks in advance,
Ilai

Hi. Thanks! By default, the autoplay will be paused when the slider is hovered. This behavior is controlled by the autoplayOnHover option. You can change that by setting it to none.
Cheers.

Hey,
Thanks! Don't know how I missed it. (I set it to false though).


Shared library without SO version which is not allowed

aws-c-io currently does not have an SO version despite being a shared library.
However, this is not allowed according to spec as SO versions are mandatory for shared libraries.
Please see the full explanation that I gave for aws-c-common here: https://github.com/awslabs/aws-c-common/issues/698

Hello @glaubitz ,
I sincerely apologies for the delay of answer on this submission. We really appreciate your feedback.
This has been added to our backlog. I will post an update here once this issue is resolved.
Sincerely,
Yasmine

I sincerely apologies for the delay of answer on this submission. We really appreciate your feedback. This has been added to our backlog. I will post an update here once this issue is resolved.

No worries. I have been carrying local patches to address this issue in openSUSE ever since.
Looking forward to being able to drop these patches in the future ;-).

This should be fixed in the linked PR


Help needed

Hello,
I'm trying to get the values of my zehnder comfoair 180 unit. What I have found on the internet is that the unit is using RS232 and so I think that it should work with this script.
The script is running and I can see on my mqtt broker that the topic "ComfoAir/raspberrypi:ttyUSB0/availability" is created and the value is offline.
Running the script with
sudo python3.9 comfoair-mqtt-bridge.py --broker mqtt://<IP_ADDRESS> --port /dev/ttyUSB0 --debug
I can see the following lines:
Sending CONNECT (u0, p0, wr1, wq2, wf1, c1, k60) client_id=b'' Received CONNACK (0, 0) Watchdog: Starting Watchdog: Waiting for data unfiltered_messages() is deprecated and will be removed in a future version. Use messages() instead. Sending SUBSCRIBE (d0, m1) [(b'ComfoAir/raspberrypi:ttyUSB0/command', 0)] Received SUBACK Sending SUBSCRIBE (d0, m2) [(b'ComfoAir/raspberrypi:ttyUSB0/preset_mode_command', 0)] Received SUBACK Sending SUBSCRIBE (d0, m3) [(b'ComfoAir/raspberrypi:ttyUSB0/keys_short', 0)] Received SUBACK Sending SUBSCRIBE (d0, m4) [(b'ComfoAir/raspberrypi:ttyUSB0/keys_long', 0)] Received SUBACK Running mainloop Watchdog: Timeout, trying to recover Publish: ComfoAir/raspberrypi:ttyUSB0/availability b'offline' Sending PUBLISH (d0, q2, r1, m5), 'b'ComfoAir/raspberrypi:ttyUSB0/availability'', ... (7 bytes) Received PUBREC (Mid: 5) Sending PUBREL (Mid: 5) Received PUBCOMP (Mid: 5) Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Sending PINGREQ Received PINGRESP Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data Watchdog: Timeout, trying to recover Watchdog: Waiting for data
With the command ls -la /dev/serial/by-id/ I can see that the USB port is
usb-FTDI_FT232R_USB_UART_AC00V4R6-if00-port0 -> ../../ttyUSB0
The usb serial adapte is attached on the cable of the comfosense unit (without the unit). the 2(tx) Wire is attached on the connection RXD Pin of my serial adapter and 1(RX) on TXD Pin. GND on GND .
What do I have to change / to test?

The usb serial adapte is attached on the cable of the comfosense unit (without the unit).

The program tries to passively coexist with the EASE unit, which polls the values from the central unit. I guess the ComfoSense is a drop-in replacement, so it may work as well. Can you reconnect it and use the serial port labeled RS232-PC or similar instead?
If you don't want to or can't connect the ComfoSense, you'll have to implement the polling yourself.
The code contains at least one active command to simulate a key press. You could take it as an example and look for reverse engineered protocol docs on the net.


Support for Flash encryption and Secure Boot?

How to flash secure boot enabled chip and have flash encryption? Is this implemented?

I second that

I do not want show original code of the .bin

I solved flashing, however the .bin file is always displayed when you check resources with dev tools.

As i understand, you talk about .bin server side? then it is not encrypted?
I found this about encryption : https://www.motius.com/post/how-to-build-a-secure-iot-prototype-with-arduino-and-esp32
Using arduino to code then esp-idf to encrypt
But I do not know if it can be flashed with esptool-js

Hello, I would too like to ask about any plans for supporting flash encryption in esptool-js.

My modification to support Secure Boot and Flash Encryption. Enjoy!
https://github.com/mrninhvn/esptool-js/tree/encrypted-flash

is anyone else getting "unsupported command error"?
https://github.com/espressif/esptool-js/issues/139

@mrninhvn , how do I run your fork? Can you host it on github? That would be great.

You can build this example or modify esp-web-tool to use the enc-esptool-js module.
I do a quick deloy here: https://mrninhvn.github.io/esptool-js/

Could you try https://github.com/espressif/esptool-js/pull/145 ? @mrninhvn @risoul  @chipweinberger


Vanilla JS

Hi @sandywalker your library is great and I have no issue with you using jquery but this will be great if we can integrate without external dependencies. Like integrating to reactJS, VueJs and etc.
import pop from 'webui-popover'

pop.webuiPopover('content')

+1

In ReactJS it seems to be working see https://github.com/sandywalker/webui-popover/issues/243 Is there a way to make it work in VueJS?

Got it to work in Laravel using VueJS by installing it with:
npm install webui-popover
in app.js by putting:
window.webuiPopover = require('webui-popover');
and in the place I want to use it
$('#...').webuiPopover({...})


No definition found for "Monobehavior"

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.81.0
OS Version: Windows 10  version 19045.2965

Steps to Reproduce:

When I update the vscode to 1.81.0 , and I open the Unity ptoject ,but it can't find any definition for any code.
May be I upated the Windows 10 new  version latest cause the problem.

Please file against the Unity related extension you are using.

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines. If you don't know which extension is causing the problem, you can run Help: Start extension bisect from the command palette (F1) to help identify the problem extension.
Happy Coding!

帅哥美女你好，赵鑫收到了的


MQTT connect exception

ESP8266
V<IP_ADDRESS>
ESP8266 connect to treafik:2.5.1 failed with tcp over tls.
get the error log:
[11:30:43.648] E (611272) MQTT_CLIENT: Invalid MSG_TYPE response: 6, read_len: 0
treafik:2.5.1 with tcp over tls  verified is OK.
ESP8266 connect to treafik:2.4.8 with tcp over tls is OK.
guess has some problems when build connection with treafik:2.5.1 over tcp over tls.

After connect failed, what is the output of AT+SYSRAM?
Have you tested whether MQTT over TCP connect to docker xxx v2.5.1

go version 1.17.x  optimize the TLS handshake.
I guess ESP8266 is OOM.

yes, you are right.


Improve KAppNav status reporting

Currently the status reporting for KAppNav just checks to see if it could find the default KAppNav instance.  Since KAppNav is an optional component, the operator can't detect whether it's required or not.  However it should make a better attempt to:

determine the version of kappnav (at least report the tag of the container in the pod)
determine that it's ready by looking at the pod's status and/or conditions
go find the route and get the URL that should be used

If kAppNav is not enabled, you get this status message:
status:
  kappnav:
    errorMessage: 'Could not detect the status of KAppNav: no matches for kind "KAppNav"
      in version "charts.helm.k8s.io/v1alpha1"'
    ready: "False"

The message is accurate, but a bit misleading.
We should also consider not showing the kappnav status if kAppNav was not installed/deployed.


Append summary instead of rewriting it

This allows one to use this extension multiple times within one job or multiple jobs of the same workflow

Seems like default argument in this lib is "overwrite" should be fine now

Seems like default argument in this lib is "overwrite" should be fine now

Yes seems to be it: https://github.com/actions/toolkit/blob/6dd369c0e648ed58d0ead326cf2426906ea86401/packages/core/src/summary.ts#L46-L52

@crazy-max yep extremely strange why it's still overwriting, code looks good there as well...

Can you open an issue with a repro please?


DEBUG: ptype variable

Provide support for gdb command ptype variable
Blocked by: #320

Fixed by #432


Incorrect SHA in the final comparison report

PREVIOUS_SHA replaced with master branch SHA after report completion.
We are experiencing an issue with Happo where the PREVIOUS_SHA is being replaced with the SHA from the master branch after the report is completed. Here are the details of our setup and the issue:
Setup:
1.	We use `Happo` within `Storybook`.
2.	We call `happo-ci-github-actions` with predefined environment variables:
•	HAPPO_PROJECT: Picasso/Storybook
•	HAPPO_API_KEY: ${{ env.HAPPO_API_KEY }}
•	HAPPO_API_SECRET: ${{ env.HAPPO_API_SECRET }}
•	PREVIOUS_SHA: ${{ github.event.pull_request.base.sha }} ("1252164f6ca4df5bf6f095079707afddc1b7a9f4")

Issue:
1.	After starting the job, Happo provides a **proper** link to the report page: https://happo.io/a/675/jobs/1187395
2.	Once the report is ready, the link changes to: https://happo.io/a/675/p/1189/compare/a9768dd9cd4a118a4ae61857124eed0fa84e0090/7ddc840fdd5f3825f44b666d67b8e3ed131c2ad8
3.	The SHA a9768dd9cd4a118a4ae61857124eed0fa84e0090 corresponds to the master branch, but it should be 1252164f6ca4df5bf6f095079707afddc1b7a9f4.

Logs:
Here are some logs from the job for reference:
Using the following ENV variables:
PREVIOUS_SHA: 1252164f6ca4df5bf6f095079707afddc1b7a9f4
CURRENT_SHA: 7ddc840fdd5f3825f44b666d67b8e3ed131c2ad8
CHANGE_URL: https://github.com/toptal/picasso/pull/4342
INSTALL_CMD:
HAPPO_IS_ASYNC: true
HAPPO_SKIP_START_JOB:
HAPPO_GIT_COMMAND: git
HAPPO_COMMAND: node_modules/happo.io/build/cli.js
HAPPO_FALLBACK_SHAS_COUNT: 50

Job link: GitHub Actions job log
It appears that PREVIOUS_SHA is correctly set initially, but it is replaced by the master branch SHA in the final report. This causes the visual comparison to be inaccurate as it does not reflect the intended base commit.
We appreciate your assistance in resolving this issue.
Link to the PR to test: https://github.com/toptal/picasso/pull/4342

Hi @dmaklygin, sorry for the delay here. 🙏
The most likely thing that's happening here is that the sha for PREVIOUS_SHA doesn't have a Happo report generated for it. Happo will then use a fallback SHA, starting from PREVIOUS_SHA and moving backwards. It happens in the happo-ci script, here.
Can you check to make sure that Happo reports are generated on the master branch and that the jobs are successful? If not, that's where we should start.

Hi, @trotzig !
Thank you for your response. Seems, the issue is fixed now. Your suggestion helped to have proper reports.
I suppose we can close the issue now


GNOME updates

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I have been running GNOME with this, seems to work fine.

I will do atk separately, since there is problem with multiple outputs and meson.

OK, it works fine.


std::invalid_argument sometimes thrown in the test suite

Running ./build/agora-unittests
terminate called after throwing an instance of 'std::invalid_argument'
  what():  invalid public key type
Program exited with code -6
The command "./ci/run.sh" exited with 2.

Just witness it in an unrelated PR (not touching anything that is sent to C++).
Triggered with DMD 2.090.1, rest was green. I think the compiler version is irrelevant, except in proving it's spurious. Retriggering the CI fixed the failure.
Pretty sure it was introduced by https://github.com/bpfkorea/agora/pull/545

This might be related for reproducing the issue https://github.com/bpfkorea/agora/pull/641
The failure is different - std::runtime_errror, but might be related.

This might be related for reproducing the issue #641
The failure is different - std::runtime_errror, but might be related.

I checked, too. Let me first check which 'unittest' is the problem.

How can I replicate these errors?

The error message occurred here.
There are four of these in this file.
https://github.com/bpfkorea/agora/blob/fb3d2e28a624a3632b169d649853e554c82dcfea/source/scpp/src/crypto/SecretKey.cpp#L218

This is the original message.
invalid_argument.txt

@MukeunKim : Could it be related to https://github.com/bpfkorea/agora/issues/640 ?
Since you mentioned it's a problem with data exchange.

This has been solved by the recent improvements in serializer and consensus.
Thanks @MukeunKim for going through the history!


Get current output frequency and volume from sink/decoder

Is there a way in the lib to get the frequency and volume that is currently being outputted?

I am also trying to get something like this to work. So far, the closest I could get was this:
let s =  Decoder::new(file).unwrap()
            .periodic_access(Duration::from_millis(40), move |s| {
                for amp in s.take(s.channels() as usize) {
                    tx.try_send(amp);
                }
            });

Where tx is a SyncSender created like this:
let (tx, rx) = mpsc::sync_channel(8);

This "works" in that I can get some amplitude values out of the stream every 40ms, but since .take consumes the elements in the Source Iterator, it causes audio glitches because I am effectively deleting some samples out of the stream as I go.
I would love to use .peekable() to access some elements of the Iterator without consuming anything, but since the closure in .periodic_access is run repeatedly and .peekable() always calls .next() the first time it runs, it doesn't really help.

Cross reference https://github.com/RustAudio/rodio/issues/238

Same problem here.   Seems to work.

pub struct SpyDecoder<R> where R: Read + Seek
{
    inner: Decoder<R>,
    stats: [i16; 512],
    stats_index: usize,
    stats_wait: usize,
    stats_wait_index: usize,
    stats_collect: bool,
}

impl<R> SpyDecoder<R>
    where
        R: Read + Seek + Send + Sync + 'static,
{
    pub fn new(data: R) -> Result<SpyDecoder<R>, DecoderError> {
        let inner = Decoder::new(data)?;
        Ok(Self {
            inner,
            stats: [0; 512],
            stats_index: 0,
            stats_wait: 44000 / 10,
            stats_wait_index: 0,
            stats_collect: false,
        })
    }
}

impl<R> Iterator for SpyDecoder<R>
    where R: Read + Seek {
    type Item = i16;
    #[inline]
    fn next(&mut self) -> Option<Self::Item> {
        let sample = self.inner.next();
        if self.stats_collect {
            if self.stats_index < 512 {
                if sample.is_some() {
                    self.stats[self.stats_index] = sample.unwrap();
                    self.stats_index += 1;
                }
            } else {
                self.stats_collect = false;
                self.stats_index = 0;
                // Use the stats (try_send to a channel for stats computation, etc)
            }
        } else {
            if self.stats_wait_index < self.stats_wait {
                self.stats_wait_index += 1;
            } else {
                self.stats_collect = true;
                self.stats_wait_index = 0;
            }
        }
        sample
    }

    fn size_hint(&self) -> (usize, Option<usize>) {
        self.inner.size_hint()
    }
}

impl<R> Source for SpyDecoder<R>
    where R: Read + Seek {
    fn current_frame_len(&self) -> Option<usize> {
        self.inner.current_frame_len()
    }

    fn channels(&self) -> u16 {
        self.inner.channels()
    }

    fn sample_rate(&self) -> u32 {
        self.inner.sample_rate()
    }

    fn total_duration(&self) -> Option<Duration> {
        self.inner.total_duration()
    }
}

Same problem here.  Seems to work.

...

Thank you! This code helped me a lot with my recent project. It really works. With periodic access and a message channel.

As the question seems to have been answered I am gonna close this. Feel free to reopen if you have something related.


I have a question for VM interface description

Hi!
I delete VM in vmware.
After that the script removes it from netbox but if the ip address on interface VM have description  the script cannot delete this ip.
How i may fix it ?

Hi,
So if you add a description to the IP address in NetBox then the script can't delete the IP?

Hi, yes

Then there should be an error message in the netbox_sync.log. Can you have a look?

Hi. Was wondering if there is any update on that? Or can I close this issue?

Hi!
It's my mistake, skript work well .


Incorrect?

Are we sure this is accurate?  I do not believe it is, 100% of the time.  Specifically, this statement
You'll be notified before patches/updates or upgrades are applied to your private clouds. We'll also work with you to schedule a maintenance window before applying updates or upgrades to your private cloud.

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

ID: e1a0a489-f920-2b04-6949-cdd17aef16ca
Version Independent ID: f70f6c39-1df2-a1ac-e371-3313734832a8
Content: Concepts - Private clouds and clusters - Azure VMware Solution
Content Source: articles/azure-vmware/concepts-private-clouds-clusters.md
Service: azure-vmware
GitHub Login: @jjaygbay1
Microsoft Alias: jacobjaygbay

@Trevor-Davis
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@jjaygbay1
Can you please check and add your comments on this doc update request as applicable.

Reach out to<EMAIL_ADDRESS>he is the PM for this feature.


Please review my Core SQL project

I used this query to play around with join tables. I wanted to ask some
interesting questions using this data: which schools drafted the most NFL
players? What was the average draft position of players from a each school?
On Mon, Mar 6, 2017 at 10:32 AM Punit Rathore<EMAIL_ADDRESS>wrote:

@punitrathore commented on this pull request.
In nflTeams.sql
https://github.com/eobaah/freezing-deer/pull/2#discussion_r104486706:

@@ -0,0 +1,7 @@
+CREATE TABLE picks(

looks like this was checked in by mistake?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/eobaah/freezing-deer/pull/2#pullrequestreview-25326790,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUK8rJpnBENSVaT6kR71jJoPoY0gNBWFks5rjFE6gaJpZM4MUazL
.

--
[image: Inline image 3]
Eugene Baah | Co-Founder |<PHONE_NUMBER> <javascript:void(0);> |
<EMAIL_ADDRESS>~Watch our 5-minute presentation https://vimeo.com/186036970~


MPN-1180: Chapter 3 of fpinscala

please review for merge

Thanks for the comprehensive review Yawar.

No worries :-)
+1.


Add ctfd_challenge.attribution after CTFd update to v3.7.5

This PR updates CTFd to v3.7.5, thus fixes the ctfd_challenge.attribution problem.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

11 of 11 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 70.19%

Totals

Change from base Build<PHONE_NUMBER>6:
0.2%

Covered Lines:
1481

Relevant Lines:
2110

💛  - Coveralls


fix to not scroll the page when space key is hit

By adding this extra preventDefault() the page will no longer scroll down when the user hits the space bar on the new custom control just like on a native button

Leave it to German efficiency!

:P
On Sat, Jan 10, 2015 at 3:38 PM, Karl Groves<EMAIL_ADDRESS>wrote:

Leave it to German efficiency!
—
Reply to this email directly or view it on GitHub
https://github.com/svinkle/a11yclick/pull/2#issuecomment-69476880.

--
Cheers Dirk


Webdriverio error messages are not parsed correctly

What are you trying to achieve?
See correctly parsed error messages
What do you get instead?
element ([object Object]) is not in DOM or there is no element([object Object]) with text "text" after 10 sec
element ([object Object]) still not present on page after 10 sec

Provide test source code if related

I.waitForText("text", 10, {css:".selector"});
I.waitForElement({css:".selector"});

Details

CodeceptJS version: 2.3.1
NodeJS Version: 10
Operating System: OSX
WebDriverIO: 5.13.1

I think it's from wdio.
Scenario Steps:

  - I.waitForText("text", 10, {"css":".selector"}) at Test.<anonymous> (test/login_test.js:8:7)

  Error: element ([object Object]) is not in DOM or there is no element([object Object]) with text "text" after 10 sec
      at /Users/thanhnguyen/Desktop/test/node_modules/webdriverio/build/commands/browser/waitUntil.js:30:15

the provided locator is not parsed when printing on the console log. Such an easy fix. I could take a look at it.

@PeterNgTr Yeah it will be in the codeceptjs/lib/helper/WebDriver.js would do it myself, but currently don't have the time to contribute, so thought about at least reporting it. Would be ace if you could pick it up, there are a few others that will get caught by this as well.

no worries, I thought it is not in urgent. You could push a fix when you could.

Is this stil valid?


Update DatabaseMetaData.getColumns to support multiple tables

This pull request addresses issue #52 updating DatabaseMetaData.getColumns to support multiple tables to be consistent with the JDBC spec and all other JDBC drivers I've ever used (PostgreSQL, MySQL, Derby, H2, HSQLDB, Oracle, etc). Updated DBMetaDataTest to match where the input implied multiple tables

The second commit addresses issue #51 ("update pom with OSGi undle info")

Thanks for the improvement! That's really helpful.


[Path] Make operator() deprecated

Use method eval instead.

I made a mistake in this commit. I will fix it soon. Please do not merge yet.

I made a mistake in this commit. I will fix it soon. Please do not merge yet.

One minor comment: can you setup your editor to use spaces instead of spaces ?

One minor comment: can you setup your editor to use spaces instead of spaces ?


Make more GIG examples with combinations of SVs and recombination

We already have a toy example with all three types of SV (#2), but it would be helpful to have more. In particular, it would be interesting to have GIGs:

where a duplicated region has further structural changes not present in the other copy
with a recombination event between genomes of different lengths
with multiple overlapping inversions

@hyanwong, if you have other example ideas let me know! I'll add them to the test fixtures for easy access.

For your first point, we want an example where the topology differs underneath the duplicated region. I guess that does require a further SV, but that's not the only constraint, right?

For your first point, we want an example where the topology differs underneath the duplicated region. I guess that does require a further SV, but that's not the only constraint, right?

Actually, it doesn't. A recombination between the duplicated regions would be enough.

For your first point, we want an example where the topology differs underneath the duplicated region. I guess that does require a further SV, but that's not the only constraint, right?

Actually, it doesn't. A recombination between the duplicated regions would be enough.

I was planning to just throw on a deletion and inversion in the duplicated region for the first point, then do a recombination after duplication separately for my second point. I think you're right that both will be examples of the same type (where topology differs underneath the duplicated region).

I think a deletion in one region and an inversion in another might be too simple: you will still have subsets / reorderings of the sample nodes in each of the duplicated regions. It's recombination that's going to really make it hairy.

Here is a nasty example, with one duplication and two recombination events!

Here, we have duplicated the entire genome of node 6 into node 5. Loading up the data:
import GeneticInheritanceGraph as gig
import tests.gigutil as gigutil

# p | c | c_left | c_right | p_left | p_right
interval_data = [
    (6, 4, 0, 10, 0, 10),
    (6, 5, 0, 10, 0, 10),
    (6, 5, 10, 20, 0, 10),
    (4, 2, 5, 15, 0, 10),
    (5, 2, 0, 5, 0, 5),
    (5, 2, 15, 20, 15, 20),
    (5, 3, 0, 20, 0, 20),
    (2, 0, 0, 12, 0, 12),
    (3, 0, 12, 30, 2, 20),
    (3, 1, 0, 20, 0, 20)
]
# time | flags
node_data = [
    (0, 1),
    (0, 1),
    (1, 0),
    (1, 0),
    (2, 0),
    (2, 0),
    (3, 0),
]

table_group = gig.TableGroup()
table_group.intervals = gigutil.make_intervals_table(interval_data2, table_group)
table_group.nodes = gigutil.make_nodes_table(node_data2, table_group)

Let's work out some trees for sample 0 using the algorithm in #35 (I did it by hand and verified with the code). Firstly, starting from x = 0:

The orange arrow is the path the algorithm from #35 takes first, then the green arrow follows our path down. We hence pass through nodes 0 and 2 twice. It get's really hairy when we start at x = 8:

The orange arrow again shows our path up to the root, which this time goes through 4 instead of 5. This means that when we start traversing down from the root, this time we can follow both duplicated paths through 5. Thus, we end up with four copies of node 0 in the tree!
I think this example highlights a problem with the algorithm: for consistency, we should have followed the path from the root (6) to both duplicated regions in node 5 in both cases or neither case. That is, both trees should have the light blue path or neither of them should. The reason we didn't do that in the first tree is because we can't traverse up from 5→6 then immediately go from 6→5, because in general that could lead to an infinite loop. I can see a way to correct for this, by checking if the $x$ we start with at 5 is different to the $x$ we get when we go back to 5 again.

Here is a simple but hairy example with two recombinations and a duplication:

import GeneticInheritanceGraph as gig
import tests.gigutil as gigutil

# p | c | c_left | c_right | p_left | p_right
interval_data = [
    (6, 4, 0, 10, 0, 10),
    (6, 5, 0, 10, 0, 10),
    (6, 5, 10, 20, 0, 10),
    (4, 2, 5, 15, 0, 10),
    (5, 2, 0, 5, 0, 5),
    (5, 2, 15, 20, 15, 20),
    (5, 3, 0, 20, 0, 20),
    (2, 0, 0, 12, 0, 12),
    (3, 0, 12, 30, 2, 20),
    (3, 1, 0, 20, 0, 20)
]
# time | flags
node_data = [
    (0, 1),
    (0, 1),
    (1, 0),
    (1, 0),
    (2, 0),
    (2, 0),
    (3, 0),
]

table_group = gig.TableGroup()
table_group.intervals = gigutil.make_intervals_table(interval_data, table_group)
table_group.nodes = gigutil.make_nodes_table(node_data, table_group)

Let's try and calculate the tree at $x = 0$:

We go up from 0 to 2 to 5, then from there we go up to the root and down to 1 (orange path). Going down again from the root takes us to other points along the genome of 0, leading two three copies of 0 in the tree.
In the case of the tree at $x = 8$, we now have four copies of 0! The duplications are going to get out of hand very quickly with bigger trees.

The algorithm in #35 mostly worked for this example, except for missing the blue path in the first tree. I'm going to construct a more complex example where there are more nodes between the duplication and recombination events.

@duncanMR : I think for illustration purposes we should take the "standard" example below:

Swap the viz so that the deletion is on the left and the duplication in the middle, then recombine nodes 1 and 2, and also 1 and 4. After relabelling the sample nodes as 1..5, I think this is the GIG. I wondered if you could have a go at visualising it using the same sort of approach as in the picture above?
# time | flags
    node_data = [
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (1, 0), # new "RE" node
        (1, 0), # new "RE" node
        (2, 0),
        (2, 0),
        (2, 0),
        (3, 0),
        (3, 0),
        (4, 0),
        (5, 0),
    ]
    tables = gigl.Tables()
    tables.nodes = make_nodes_table(node_data, tables)
    tables.iedges.add_rows(
        [
            iedge(0, 200, 0, 200, c=12, p=13),
            iedge(0, 200, 0, 200, c=11, p=12),
            iedge(0, 200, 0, 200, c=10, p=12),

            # inversion
            iedge(0, 20, 0, 20, c=9, p=13),
            iedge(20, 120, 120, 20, c=9, p=13),
            iedge(120, 200, 120, 200, c=9, p=13),

            # duplication
            iedge(0, 200, 0, 200, c=8, p=11),
            iedge(100, 200, 200, 300, c=8, p=11),

            # deletion
            iedge(0, 50, 0, 50, c=7, p=10),
            iedge(50, 100, 150, 200, c=7, p=10),

            # recombination reinstates original coords
            iedge(0, 150, 0, 150, c=6, p=8),
            iedge(150, 200, 150, 200, c=6, p=9),

            # recombination combines two SVs
            iedge(0, 70, 0, 70, c=5, p=7),
            iedge(70, 200, 170, 300, c=5, p=8),

            iedge(0, 200, 0, 200, c=4, p=9),  # unrecombined
            iedge(0, 200, 0, 200, c=3, p=6),
            iedge(0, 300, 0, 300, c=2, p=8),  # unrecombined
            iedge(0, 200, 0, 200, c=1, p=5),
            iedge(0, 100, 0, 100, c=0, p=7),  # unrecombined
        ]
    )

And as a follow-up, what would be really good is if we can modify the example (by adding more recombinations?) so that two of the samples produce an MRCA result that looks something like https://docs.google.com/presentation/d/1cti1Xpaz1liQ0xB7Wd6tCWvFurydN7MxGpNbH0VMYnk/

Note that we have a trifurcation below node 8: I don't know if that will confuse some people?

We can break this into 2 bifurcations and create a node with a missing region due to recombination, if we allow 5 and 6 to merge before both merge with the ancestor of 2. This would however cause a line-crossing in the graph viz.

I'm also wondering if it would be better to label the top of the graph with node 0 and the samples as x..N? Then we have comparable node numbers for the with- and without- recombination versions.
Node numbers with the oldest at 0 is what we create with a forward simulation too but it's less usual (but allowed) in tskit tree sequences.

Here's what I'm now suggesting in #89 . I don't know if this suits the viz:
@pytest.fixture(scope="session")
def all_sv_types_no_re_gig():
    """
    Contains a single deletion, a single duplication, and a single inversion.
    See https://github.com/hyanwong/GeneticInheritanceGraphLibrary/issues/2
    """
    # time | flags
    node_data = [
        (6, 0),
        (5, 0),
        (4, 0),
        (4, 0),
        (2, 0),
        (2, 0),
        (2, 0),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
    ]
    tables = gigl.Tables()
    tables.nodes = make_nodes_table(node_data, tables)
    tables.iedges.add_rows(
        [
            iedge(0, 200, 0, 200, c=1, p=0),
            iedge(0, 200, 0, 200, c=2, p=1),
            iedge(0, 200, 0, 200, c=3, p=1),
            iedge(0, 50, 0, 50, c=4, p=2),
            iedge(50, 100, 150, 200, c=4, p=2),
            iedge(0, 200, 0, 200, c=5, p=3),
            iedge(200, 300, 100, 200, c=5, p=3),
            iedge(0, 20, 0, 20, c=6, p=0),
            iedge(20, 120, 120, 20, c=6, p=0),
            iedge(120, 200, 120, 200, c=6, p=0),
            iedge(0, 100, 0, 100, c=7, p=4),
            iedge(0, 100, 0, 100, c=8, p=4),
            iedge(0, 300, 0, 300, c=9, p=5),
            iedge(0, 300, 0, 300, c=10, p=5),
            iedge(0, 200, 0, 200, c=11, p=6),
            iedge(0, 200, 0, 200, c=12, p=6),
        ]
    )
    return gigl.Graph(tables)

@pytest.fixture(scope="session")
def all_sv_types_re_gig():
    # time | flags
    node_data = [
        (6, 0),
        (5, 0),
        (4, 0),
        (4, 0),
        (3, 0),
        (3, 0),
        (3, 0),
        (2, 0),
        (1, 0),  # new "RE" node
        (1, 0),  # new "RE" node
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
        (0, gigl.NODE_IS_SAMPLE),
    ]
    tables = gigl.Tables()
    tables.nodes = make_nodes_table(node_data, tables)
    tables.iedges.add_rows(
        [
            iedge(0, 200, 0, 200, c=1, p=0),
            iedge(0, 200, 0, 200, c=2, p=1),
            iedge(0, 200, 0, 200, c=3, p=1),
            # deletion
            iedge(0, 50, 0, 50, c=4, p=2),
            iedge(50, 100, 150, 200, c=4, p=2),
            # duplication
            iedge(0, 200, 0, 200, c=5, p=3),
            iedge(200, 300, 100, 200, c=5, p=3),
            # inversion
            iedge(0, 20, 0, 20, c=6, p=0),
            iedge(20, 120, 120, 20, c=6, p=0),
            iedge(120, 200, 120, 200, c=6, p=0),

            # Extra coalescent node for duplication
            iedge(0, 300, 0, 300, c=7, p=5),

            # recombination combines two SVs
            iedge(0, 70, 0, 70, c=8, p=4),
            iedge(70, 200, 170, 300, c=8, p=7),

            # recombination reinstates original coords
            iedge(0, 150, 0, 150, c=9, p=7),
            iedge(150, 200, 150, 200, c=9, p=6),

            iedge(0, 100, 0, 100, c=10, p=4),  # unrecombined
            iedge(0, 200, 0, 200, c=11, p=8),
            iedge(0, 300, 0, 300, c=12, p=5),  # unrecombined
            iedge(0, 200, 0, 200, c=13, p=9),
            iedge(0, 200, 0, 200, c=14, p=6),  # unrecombined
        ]
    )
    tables.sort()
    return gigl.Graph(tables)

After discussion with @duncanMR , we decided that it would also be nice for viz purposes to have a GIG with only one recombination node (e.g. the left hand one in the example above). So I think we could define both a all_sv_types_1re_gig and (as above) a all_sv_types_2re_gig. I'll put these into the conftest file.


Add an --update flag to helm repo add

Currently we have no way to change the URL for a repository:
$ bin/helm repo add test http://charts.test.com
Error: The repository name you provided (test) already exists. Please specify a different name.

It would be nice for scripting purposes for helm repo add to be able to update repository details (if that repository has already been registered):
$ bin/helm repo add --update test http://charts.test.com
test has been updated

I commented on #1142, but I think this is a good idea.

Thanks @technosophos !
:grinning:

One of the other Helm devs suggested that maybe the update behavior really shouldn't need a flag. Maybe it should just be the default. I'll see if @jackfrancis or @michelleN have anything to add on that front.


pgcat fails to start if any of servers is unavailable

Describe the bug
Subj. pgcat exits with
2023-11-14T04:19:57.260026Z ERROR pgcat::server: Could not connect to server: Connection refused (os error 111)

and error code 78. One faulty server is enough to bring the whole thing down.
To Reproduce

pgcat.toml
[general]

host = "<IP_ADDRESS>"
port = 6432
admin_username = "pgcat"
admin_password = "pgcat"

[pools.pool1.users.0]
username = "user"
password = "user"
pool_size = 2
min_pool_size = 1
pool_mode = "transaction"

[pools.pool1.shards.0]
servers = [
  ["<IP_ADDRESS>", 55432, "replica"],
  ["<IP_ADDRESS>", 55433, "replica"],
]
database = "postgres"

[pools.pool2.users.0]
username = "user"
password = "user"
pool_size = 2
min_pool_size = 1
pool_mode = "transaction"

[pools.pool2.shards.0]
servers = [
  ["<IP_ADDRESS>", 55434, "replica"],
  ["<IP_ADDRESS>", 55435, "replica"],
]
database = "postgres"

postgres -D pg1 -p 55432 -k /tmp &
postgres -D pg2 -p 55433 -k /tmp &
postgres -D pg3 -p 55434 -k /tmp &
#postgres -D pg4 -p 55435 -k /tmp &
./target/release/pgcat ./pgcat.toml

Expected behavior
pgcat starts normally.
pgcat version
1.1.1

(BTW, your bug template is unfit for the project. Screenshots? Smartphone browser version?)

validate_config = false

validate_config = false

Please update sample config file and/or document this in some other way, it's not mentioned anywhere as of 998cc16a3c6f8f5f2b34715674590e54950cfb32.

PR welcome.