Import of previously exported CSV file fails

The csv file is exported as utf-8. I tried to import the same file, but got this:
Environment:

Request Method: POST
Request URL: ---

Django Version: 1.7.3
Python Version: 3.3.2
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 're1',
 'captcha',
 'import_export')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback:
File "/var/lib/openshift/551febfbfcf933219b0001ba/python/virtenv/venv/lib/python3.3/site-packages/Django-1.7.3-py3.3.egg/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/var/lib/openshift/551febfbfcf933219b0001ba/python/virtenv/venv/lib/python3.3/site-packages/Django-1.7.3-py3.3.egg/django/utils/decorators.py" in _wrapped_view
  105.                     response = view_func(request, *args, **kwargs)
File "/var/lib/openshift/551febfbfcf933219b0001ba/python/virtenv/venv/lib/python3.3/site-packages/Django-1.7.3-py3.3.egg/django/views/decorators/cache.py" in _wrapped_view_func
  52.         response = view_func(request, *args, **kwargs)
File "/var/lib/openshift/551febfbfcf933219b0001ba/python/virtenv/venv/lib/python3.3/site-packages/Django-1.7.3-py3.3.egg/django/contrib/admin/sites.py" in inner
  206.             return view(request, *args, **kwargs)
File "/var/lib/openshift/551febfbfcf933219b0001ba/python/virtenv/venv/lib/python3.3/site-packages/import_export/admin.py" in import_action
  189.                 data = uploaded_import_file.read()
File "/opt/rh/python33/root/usr/lib64/python3.3/encodings/ascii.py" in decode
  26.         return codecs.ascii_decode(input, self.errors)[0]

Exception Type: UnicodeDecodeError at /admin/re1/person/import/
Exception Value: 'ascii' codec can't decode byte 0xc3 in position 51: ordinal not in range(128)

The file contains the carachter "ü". Isn't the default import encoding utf-8? Do I have to configure this?

Hi @moglars,
In python 3, contrary to python 2, csv files are readed as text, so you should be able to use ''from_encoding'' option of the ImportMixin, see https://github.com/bmihelac/django-import-export/blob/6fc58e4793e2e6fa5cfb6df2d23b8e3910c629f8/import_export/admin.py#L73
This probably should be added to the documentation.

Hi @moglars, any news on this issue?


[1.18] Lumberjack cant break trees below y=0

we have negative y levels now xD
I dont think this has anything to do with esotericists issue in discord as nbt only shows one ignored tree for them and its at like y:90, still working on finding a way to repro that, just cant do it in a default superflat at y:-60 haha

Oh right, this happened lol


PR for fixing API-Review

@AbrarNitk please delete this PR. This is of no use as i have already created a PR for the code.

@AbrarNitk @Arpita-Jaiswal please call this PR as the code has already merged from the PR: https://github.com/FifthTry/movie-db/pull/30

Closing this PR because the changes in this PR are already merged in https://github.com/FifthTry/movie-db/pull/30


Support for 7i92+7i76+7i85s

Mesact supported configuration for 7i92 + 7i76 in P2 and 7i85s in P1 ?
I not found firmware this. (pin and bit files)

I only see 7i92_7i77_7i85sd.bit, so Peter would have to generate one.
JT

Thank you. I'm waithing for Peter. Because I build cnc mill and use 7i92+7i76+7i85s card combination. But I can not to upload firmware.
Thx,
Levi


Support 1.20.5

Tested on the latest Spigot 1.20.5 build. Everything seems to work fine

I forgot we still need to support older versions, so i reverted my enchantment update commit

I'll keep this as a draft until NBT-API is stable. i just saw that some things are broken


pug support

Hi guys, somebody knows how to avaible the pug/jade templating support?
Regards.

I suppose most user of this repository will want to follow standard .html way provided by Angular CLI by default.  As for pug support please have a look at this article.
Cheers!


Added Sign In page

*Fixed #1408

Description 📜
In this website I have created a template for sign in page.
Fixes #1408

Type of change 📝

[x] Add a new project

Domain of Contribution 📊

[x] Project using only HTML & CSS

Checklist ✅

[x] I have performed a self-review of my own code or work.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I'm GSSoC'22 contributor

Screenshots / Gif (Recommended) 📸

@gurjeetsinghvirdee  I have updated README.md file. Kindly view. Added project title, description, tech stack and screenshot.


Ability to bind controls to scroll wheel movement

This goes hand in hand with #30.
Currently, we can only bind game controls to either keyboard buttons or mouse buttons - scroll wheel movement is off limits. It doesn't look like this is going to be changing any time soon either: https://bugs.mojang.com/browse/MC-268284
Having the ability to bind things to the scroll wheel would be handy. By default, scrolling up and scrolling down would be linked to hotbar item switching (#30).
Some mice, such as the Logitech MX Master and the A4Tech 4D mice and trackballs, have two scroll wheels - one for standard vertical scrolling, and the other for horizontal scrolling. It'd be preferable if we could bind things to both vertical scrolling and horizontal scrolling for completeness's sake, but I don't have any mice with a horizontal scroll wheel to actually test this.

Codded, will be in next release

Released in Version 1.5.0. Modrinth Curseforge Github


WaitStrategy to wait for one shot containers to finish by themselves.

Enhancement.
This is a new wait strategy to wait until the container has successfully closed.
This code is mostly copied from DockerHealthcheckWaitStrategy.java. There may be more test cases worth considering other than the two I've added? I am not familiar with how wait strategies and startup check strategies and container timeouts overlap.
why is it useful
I found I needed to start a quick container that starts up, does an operation, then closes. The log output isn't repetitive enough to use a LogMessageWaitStrategy and it doesn't do anything with ports.
There was no inbuilt way of just telling TestContainers to wait for a successful exit code from the container (at least not that I could find).
There does seem to be potential crossover with this enhancement behaviour and *StartupCheckStrategy but I could not find a way of replicating the functionality I needed without adding the new wait strategy. When starting the container using Wait.defaultWaitStrategy() it would just wait until the check strategy timed out, even after the container had successfully closed.

Hi @jennyowen, I wonder if Wait.forSuccessfulCommand will help in your use case.


Executable names in configuration are forced to be absolute path in master

While the docs suggests only command name.

I checked which on Windows. It works for a only executable name and for an absolute path.
Thanks for suggestion.


how to use ollama corectly

Excuse me. Here is my a piece of code:
    extraction_strategy = LLMExtractionStrategy(
            provider='ollama_chat/qwen2.5-coder',
            url_base="http://localhost:11434",
            api_token=os.getenv('OPENAI_API_KEY'),
            schema=KnowledgeGraph.model_json_schema(),
            extraction_type="schema",
            instruction="""Extract entities and relationships from the given text."""
    )
        result = await crawler.arun(
            url=url,
            bypass_cache=True,
            extraction_strategy=extraction_strategy,
            # magic=True
        )

However, its execute result is as below:
Warning: Synchronous WebCrawler is not available. Install crawl4ai[sync] for synchronous support. However, please note that the synchronous version will be deprecated soon.
[LOG] 🚀 Crawl4AI 0.3.731
[LOG] 🚀 Crawling done for https://paulgraham.com/love.html, success: True, time taken: 2.72 seconds
[LOG] 🚀 Content extracted for https://paulgraham.com/love.html, success: True, time taken: 0.04 seconds
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] Call LLM for https://paulgraham.com/love.html - block index: 0
[LOG] Call LLM for https://paulgraham.com/love.html - block index: 1
[LOG] Call LLM for https://paulgraham.com/love.html - block index: 2
22:23:17 - LiteLLM:INFO: utils.py:2723 -
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
INFO:LiteLLM:
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
22:23:17 - LiteLLM:INFO: utils.py:2723 -
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
22:23:17 - LiteLLM:INFO: utils.py:2723 -
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
INFO:LiteLLM:
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
INFO:LiteLLM:
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat

yes, it seems to wait for return of program util it power off.  My questions are:

Ollama and LLM qwen2.5-coder are active corectly. And I can interact with they single and fluently. So How would I use ollama-llm within crawl4ai?
Review from Logs, it seems create six threads or process for each calling of   crawler.arun.  Could I control the number of threads? (PS: I enjoy crawl4ai by pip rather than source code.)
Thank you very much!

omg. It costed 20 minutes to finish the little job on my laptop. Maybe it worthwhile to control the concurrent resource on non-gpu machine.

@zlonqi Thx for trying our library, you can pass chunk_token_threshold to your LLMExtraction class. this parameter controls how many chunks you want to send to the LLM at the same time. By default, the value, which has come from the config, is 2048 characters or tokens. So, if you want to make it lesser, you can set a bigger value, and the bigger value will definitely bring down the number of parallel calls to LLM. If you put infinity, it will be only one thread; you can maybe try that one as well. Let me know how it changes. I also try to run the code in a normal CPU and find the best hyper-parameters for this.

@zlonqi Thx for trying our library, you can pass chunk_token_threshold to your LLMExtraction class. this parameter controls how many chunks you want to send to the LLM at the same time. By default, the value, which has come from the config, is 2048 characters or tokens. So, if you want to make it lesser, you can set a bigger value, and the bigger value will definitely bring down the number of parallel calls to LLM. If you put infinity, it will be only one thread; you can maybe try that one as well. Let me know how it changes. I also try to run the code in a normal CPU and find the best hyper-parameters for this. Oh, and one more thing: make sure that your ulama is running in parallel mode that supports concurrent calls; that is very important, especially on CPU devices.感谢尝试我们的库，你可以将 chunk_token_threshold 传递给你的 LLMExtraction 类。这个参数控制你想同时发送到 LLM数。默认情况下，来自配置的值为 2048 个字符或令牌。所以，如果你想让它更小，你可以设置一个更大的值，更大的值肯定会降低并行调用的数量到 LLM。如果你输入 infinity，它将只有一个线程;你也许也可以试试那个。让我知道它是如何变化的。我还尝试在普通 CPU 中运行代码，并为此找到最佳超参数。哦，还有一件事：确保您的 ulama 在支持并发呼叫的并行模式下运行;这非常重要，尤其是在 CPU 设备上。

Thanks a lot. @unclecode. I tried to set chunk_token_threshold=100000000 in LLMExtractionStrategy. For purpose to reduce thread concurrency, it works. Now it only starts 2 threads. The log as below:
Warning: Synchronous WebCrawler is not available. Install crawl4ai[sync] for synchronous support. However, please note that the synchronous version will be deprecated soon.
[LOG] 🚀 Crawl4AI 0.3.731
[LOG] 🚀 Crawling done for https://paulgraham.com/love.html, success: True, time taken: 2.78 seconds
[LOG] 🚀 Content extracted for https://paulgraham.com/love.html, success: True, time taken: 0.05 seconds
[LOG] 🔥 Extracting semantic blocks for https://paulgraham.com/love.html, Strategy: AsyncWebCrawler
[LOG] Call LLM for https://paulgraham.com/love.html - block index: 0
22:41:46 - LiteLLM:INFO: utils.py:2723 -
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
INFO:LiteLLM:
LiteLLM completion() model= qwen2.5-coder; provider = ollama_chat
```
However, it already costs a long time to finish the job as before, which is about 12 minutes. Meanwhile, It seems more efficient to request to ollama server directly, it costed half of minute. So I got a good solution which is: using crawl4ai to do crawling job only, and processing llm job through ollama's original style. good night and god bless you!

Can you show me the specifics of your system? Actually, I'm very interested to see how much I can push it and make it faster and efficient on a CPU device. And if you let me know what Ollama model exactly you are using, are you still using that qwen2.5-coder? I'll try to simulate your system specs, and check to know if it's this part of the library or if Ollama works slowly. Please help me on this; definitely, we can make something good out of it.


JS -- add support for choice widget

/botio integrationtest

/botio integrationtest

Just ran into this issue -- pdfjs does not handle setting multiple-choice select values in the annotationStorage.  Thank you for this PR 💯 .
Using examples/mobile-viewer with test/pdfs/annotation-choice-widget.pdf I get:
PDFViewerApplication.pdfDocument.annotationStorage.getAll()
57R: {value: "Dolor"}
58R: {value: ""}
59R: {value: "Sit"}
62R: {value: "Ipsum"}
63R: {value: ""}

Dropdown "62R" (which has the multiple attribute) should have the four selected values: ["Ipsum", "Amit", "Consectetur", "Elit"], but it only has the first one.

Just ran into this issue -- pdfjs does not handle setting multiple-choice select values in the annotationStorage.  Thank you for this PR 💯 .
Using examples/mobile-viewer with test/pdfs/annotation-choice-widget.pdf I get:
PDFViewerApplication.pdfDocument.annotationStorage.getAll()
57R: {value: "Dolor"}
58R: {value: ""}
59R: {value: "Sit"}
62R: {value: "Ipsum"}
63R: {value: ""}

Dropdown "62R" (which has the multiple attribute) should have the four selected values: ["Ipsum", "Amit", "Consectetur", "Elit"], but it only has the first one.

Needs a re-base too.

Needs a re-base too.

/botio integrationtest

/botio integrationtest


Excessive Amount Of Java Errors On Startup

As the title suggests, I'm having an excessive amount of Java errors appear on my console on startup, preventing several of my server's plugins from functioning. This only happens with server hosts (MCProhosting and BeastNode as least), perhaps because they're using linux? I tried running my server on both hosts and got similar, if not the same, errors. On my PC, the server runs smooth and perfectly fine.
My PC's Specs
SpongeForge: spongeforge-1.10.2-2281-5.2.0-BETA-2464
Java: 1.8.0_131
OS: Windows 10
Server log files can be found here.

This is an issue with the dreadzone plugin. Please contact the author of that plugin for help.


Error when build, version 2.1.2

Cannot find module: '@unform/web'. Make sure this package is installed.
You can install this package by running: yarn add @unform/web.

same

Fixed. Messed up on latest release.


CHAD-12676: Update Zigbee Min & Max Value temperatures in necessary device drivers

This pull request updates the device drivers who have custom temperature range handling to also support the min & max values for the TemperatureMeasurement capability
Developer Testing
Unit Tests ✅

Closing due to unnecessary changes


Add authorization plugins to docker info

Add Authorization plugins to Plugins part of the docker info endpoint / cli. 🐮

[ ] Deciding on if we print something if there is no plugin registered (Authorization: ) or not ?
[ ] Add integration test to validate it's there and populated. Maybe add some for other ones (volumes & co), but probably in another PR.

Closes #18829.
🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

oopsss overlooked this was in design-review!

Deciding on if we print something if there is no plugin registered (Authorization:) or not ?

I'd say we hide Authorization:  in docker info if there aren't any plugins configured

I'd say we hide Authorization:  in docker info if there aren't any plugins configured

I would say the same. @albers @sdurrheimer is it a problem for completion ?

@vdemeester no problem for bash completion.

Design LGTM, I don't see any trade-off in exposing this. Ping @docker/security-team FYI.

LGTM


Vayu: fix edk2 crash and other stuff

patched buttonsdxe ufsdxe and usbconfigdxe
updated acpi so booting into windows works
updated dtb
updated post build.py

Thanks for your work!
However, could you please make the commit history clearer ?
For example, squash the commits into less critical ones, as well as modify the commit message :)

Will do

did my best, for some reaeson wasnt allowed to squash commits before ur framebuffer merge


Hangs on  loading phantomjs...

phantomjs command works. mogod is started is started but it hangs at saying loading phantomjs.. i have left it for a while also to see if it loads at end but nothing

@MurWade Interesting. Have you tried running laika in verbose mode to get some more feedback? You can also try switching to gagarin.

Yes and this is the output i get
$ laika -V
[laika log] accepting the following extensions: (js)

injecting laika...
loading phantomjs...
[app touch log] [[[[[ ~/dev/models ]]]]]

[app touch log] => Started proxy.
[app touch log] => Started your app.
[app touch log]
[app touch log] => App running at: http://localhost:14461/

I also tried cloning the Hello-laika example and that also doesnt work. this is the output i get for that
~/hello-laika$ laika -V
[laika log] accepting the following extensions: (js)

 injecting laika...
 loading phantomjs...
 [app touch log] [[[[[ ~/hello-laika ]]]]]

 [app touch log] => Meteor server running on: http://localhost:19060/

I have the same problem (both with my own app and with the hello-laika example). I tried installing an earlier phantomjs, but still no joy.

@MurWade @yasuba If you guys are starting a new project, please try using Gagarin instead. If you already have a bunch of tests written in Laika and you don't want to rewrite them from scratch let me know and I will try to find time to investigate this issue.

Ok, will start again with gagarin - thanks @apendua .


Email send debug

This pull request changes the sending email address for the nightlog from *noao.edu to *noirlab.edu. Also sets debug level for the SMTP library to its highest level to make the logs more informative.
@daqiii @elliotta I added you two as reviewers, but mainly so that you'd see the new version right away with enough time to integrate before observing starts tonight.

So I'm guessing this addresses #2 as well?

Yeah. Number 2 and 4. Added in the development section on the side. The second half of issue number 4 isn't a problem, but rather a consequence of not syncing the NERSC logs to KPNO.

Sure.  Just pointing out you get a 2-for-1 bonus on this PR.


Potential storage issue under Windows

It looks like 03d5e32b6630b246d19bd9a75c7b2c2409f22739 may have caused a storage issue with running Reposilite under under Windows.
This was from a local built off of: eede3765864884eb07018854bd47c87b0bdf7a9f.
I was not receiving this error when running the binary release of 2.8.5.
Unfortunately I have not looked into the issue, but I wonder if it might be related to concurrent file access, which can be problematic under Windows if another thread or process still has the file open when it is being deleted (in order to be replaced).
11:46:32.361 ERROR | releases/com/github/node-gradle/node/com.github.node-gradle.node.gradle.plugin/2.2.3/com.github.node-gradle.node.gradle.plugin-2.2.3.pom.sha1: java.nio.file.AccessDeniedException: .\repositories\releases\com\github\node-gradle\node\com.github.node-gradl
11:46:23.401 ERROR | releases/com/github/node-gradle/node/com.github.node-gradle.node.gradle.plugin/2.2.3/com.github.node-gradle.node.gra
dle.plugin-2.2.3.pom: java.nio.file.AccessDeniedException: .\repositories\releases\com\github\node-gradle\node\com.github.node-gradle.nod
e.gradle.plugin\2.2.3\com.github.node-gradle.node.gradle.plugin-2.2.3.pom
        at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
        at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
        at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
        at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
        at java.nio.file.spi.FileSystemProvider.newOutputStream(Unknown Source)
        at java.nio.file.Files.newOutputStream(Unknown Source)
        at java.nio.file.Files.copy(Unknown Source)
        at org.panda_lang.reposilite.repository.RepositoryStorage.storeFileSync(RepositoryStorage.java:96)
        at org.panda_lang.reposilite.repository.RepositoryService.lambda$storeFile$0(RepositoryService.java:64)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Reposilite 2.8.5 is the latest stable version and you should use it to avoid such a problems for now :) Current changes on master are not stable yet (#258), but thanks for reporting this issue!

@sgebbie If you want to still help in the development process, could you tell me if the problem still occur? :)

The reposilite-test artifact seems to look fine.

Firstly, thanks for the quick response.
I've built 2aa6fff and tried using it from a simple Gradle build (just running gradle clean). I'm not seeing the access denied errors anymore, but I am seeing some other issues now. I've attached a copy of the logs:
reposilite-2.8.5.built.2aa6fff.jar.log.txt

Thanks! Well I think I'll replace these strange file locking api with just a simple extension .lock based mechanism


What's the purpose of this project?

Would love to know what problem this project wants to tackle. Happy to help as well!

Hello @ramsey-coding, the goal of llm-ls is to provide a common platform for extensions to be build on. The idea is to provide the heavy lifting to interact with LLMs so that extension code can be as lightweight as possible.
My todo list might help you understand what I'm trying to accomplish:
# Language server

- [ ] suffix percent of context window
- [ ] add context window total fill percent
- [ ] prompt telemetry
- [ ] oltp traces
- [ ] multi file support
- [ ] support for ollama
- [ ] support for llama.cpp
- [ ] filter bad suggestions (repetitive, same as below, etc)

## Additional commands

- [ ] refactor selected code block
- [ ] chat features
  - [ ] explain what this bit of code does

# VsCode

- [ ] status bar
- [ ] client side caching
  - match on beginning of string and line number?

# llm.nvim

# JetBrains

This was a great question because I couldn't figure out the exact role of this project either. Of course I understood that it acts as server interface or something for LLM but exact role definition was a mystery to me in the beginning. Can it be considered as an interface or abstraction layer between programming plugin and LLM endpoint?

It's a sophisticated prompt builder 😄

I've added some more info in the README, let me know if it's clear enough (feel free to open a PR / issue if not)


while having multiple selects, auto merge duplicate columns instead of repetition.

As a general rule, we avoid manipulating implicitly the query when not necessary, since there maybe some cases where the user want to select the same column twice for some reason.
So I don't see this will help too much.
Thanks for the suggestion anyway :)

duplicate columns without alias is an error in oracle.


fix typos and wording in ref-based RNASeq tutorial

@nsoranzo: thanks for the very fast review and the good catches

Thanks @wm75!


[WIP] PDB GA documentation

This is a placeholder PR for the docs for the PDB to GA effort: https://github.com/kubernetes/kubernetes/pull/81571

/milestone 1.17

Hi @mortent
I'm a docs release team shadow. This is a kind reminder since we're approaching the deadline for PR to be ready to be reviewed by Nov 15, 2019. Kindly update this PR, thanks a lot..

/milestone clear

/cc @guineveresaenger

@mortent you need to sign a CLA in order to contribute to Kubernetes
If you'd like to open a new PR with similar changes, please do feel free - you will nevertheless need to have your CLA in order I'm afraid.
/close


GOK-185 | Refactor. History and Examination to take chief complaint a…

…s question group

Attaching screenshots


Optimize contract for gas usage.

The proxy consumes too much gas with a current (https://github.com/ralexstokes/deposit-contract-verifying-proxy/commit/147ce5aa30a31f50f1e41ff3eb89ed7ab089edfb) estimate around 800k gas for one call to verifyAndDeposit.
About half of this is the deposit contract with a ceiling around 400k gas.
The current contract is not memory-efficient and we can likely realize large savings there.

An updated gas estimate with the new Solidity contract:
verifyAndDeposit: 636,293


Tab Bar background suddenly disappears

First of all, thanks so much for this lovely library! Saved me a lot of time.
I'm having a strange bug: The first time I start swiping through LazyPager in my Newsfeed, my tab bar background suddenly disappears. Switching tabs and coming back it's resolved, until it happens again in another instance.
I've tried setting anything tab bar related, setting scrollEdgeAppearance and so on, but it all comes down to the use of LazyPager. When I replace it with a native TabView, the bug is gone again.
It's nested inside GeometryReader → ScrollView → LazyVStack
Looking at your code, I can't see anything that could trigger this bug. Do you?

Maybe I can create a minimal working example that you can analyze or I can use a Apple code level support ticket.

Hey, Thanks for reaching out.
I think I can reproduce this. However I think it's an odd behavior of SwiftUI (unclear if it's a bug or not).
Here is some code based off of the simple example app in the repo.
It seems the tab bar becomes fully transparent when: the contained view overflows and is not in a scroll view.
Below I can repro the same behavior with both LazyPager and a simple Image view.
import SwiftUI
import LazyPager
struct SimpleExample: View {

    @State var data = [
        "nora1",
        "nora2",
        "nora3",
        "nora4",
        "nora5",
        "nora6",
    ]

    @State var show = false
    @State private var selectedTab = 0

    var body: some View {
        TabView(selection: $selectedTab) {

            Image("nora1")
            .tabItem {
                Image(systemName: "x.circle.fill")
                Text("broken")
            }

            ScrollView {
                Image("nora1")
            }
            .tabItem {
                Image(systemName: "checkmark.seal.fill")
                Text("Works")
            }

            LazyPager(data: data) { element in
                Image(element)
            }
            .ignoresSafeArea()
            .tabItem {
                Image(systemName: "x.circle.fill")
                Text("broken")
            }

            ScrollView {
                VStack {
                    LazyPager(data: data) { element in
                        Image(element)
                            .resizable()
                            .aspectRatio(contentMode: .fit)
                    }
                    .zoomable(min: 1, max: 10)
                    .ignoresSafeArea()
                    .frame(width: 500, height: 900)
                }
            }
            .tabItem {
                Image(systemName: "checkmark.seal.fill")
                Text("Works")
            }
            .tag(1)

        }
        .background(.red)

    }
}

struct SimpleExample_Previews: PreviewProvider {
    static var previews: some View {
        SimpleExample()
    }
}

Let me know if this helps or if you are seeing a different issue. I am happy to further investigate.

Hi Brian, thanks for your in-depth answer here. I guess the cases in your example are related.
After some more research I stumbled upon the modifier .toolbarBackground(.visible, for: .tabBar) which fixes the bug 🎉 .
In my case somehow the system thinks the nested scrollview of LazyPager is the one it should use for determining if the tab bar background should be hidden 🤷🏽♂.
Interestingly the good old UIAppearance APIs didn't change anything about the behavior.


ConnectEvent

Been using TikTokLive for a few months now and i love this project!
The last few days I am not even able to connect to the room!!
I tried some changes but the script runs forever without ever connecting to the room!
Not sure whats the ussue, If it is tiktok blocking but just letting know the community about my issue!
2 Days and i was not able to connect to the room once !
Thanks for the time and much love from Portugal <3

Hi, I need some more info. Perhaps code snippets or error logs.


Powertoys

I do a lot of batch image resizing but powertoys doesn't seem to be linking to Files UWP.
Maybe I'm missing something, but it's a feature I'd dearly like to see in this very svelt app.
Cheers
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING:

If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement.
If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement.
If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number).
If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement.
If I file something completely blank in the body, the core team may close my issue without further explanation or engagement.

All good? Then proceed!
-->
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?

Related to #1304

@RDavidN Thank you for opening this pull request. PowerToys will be available when #174 is implemented.

This has been implemented with #1754.


Help links/reveals showing as blue box

https://www.pivotaltracker.com/story/show/84920098

Closed on PT


Status bar items should be keyboard navigable

Once focus is on the status bar it should be possible to navigate left / right via keyboard so that focus jump over each element.
Destilled from https://github.com/microsoft/vscode/issues/95428
@bpasero let me know if you have ideas, pointers. We might run into the issue that you reverse the elements for your flex layout.

For your info, it seems that in Microsoft Word for example, navigating items in the status bar can be done with:

Next item: right arrow, down arrow, tab
Previous item: left arrow, up arrow, shift+tab

These six key combinations all wrap, i.e. it is not possible to escape from the status bar with tab. I think this is an important point.
IN VS Code, as tab is able to move across parts, I think it makes sense not to implement tab to navigate status bar items, as it might introduce confusion as of what tab is able to reach.

@leonardder agree with you. Tab should move focus out of the status bar, and we will only navigate with left / right. Up / down also do not make a lot of sense since visiually it is just one horisontal line imho.

Created a PR for this, interested parties can chime in https://github.com/microsoft/vscode/pull/97072

I really like this functionality. Would it be possible to focus an item by default though? In MS Office, the first entry gets focus by default and if you move focus through items, the focused entry is saved on the status bar so that when you move out/in with f6/shift+f6, the focused item remains the same.

@leonardder preservig focus makes sense, can you please file a new issue for that?
Focusing an item by default for the first time does not make so much sense since the inital F6 should read the whole status bar content, not only the first item. However if we adress your other concern - that we preserve focus than I think we should be good.

Focusing an item by default for the first time does not make so much sense since the initial F6 should read the whole status bar content, not only the first item.

Mm, this is currently not the case in NVDA. You can only read the status bar with object navigation commands. May be this is something we should fix in NVDA, though. What does Orca do in this case? @joanmarie

@leonardder  @isidorn  Pressing f6 orca reads only 'status bar', but not its content. To read the contents of the status bar I need to use the flat review mode or the arrows.

Strange that with VoiceOver this just works.
@joanmarie can we improve something on the VS Code side such that the actual content gets read, and not 'status bar'

I guess you could add aria-labelledby to the status bar containing ids of all the direct children, but only if no child has focus. I find that a bit tricky. From an IAccessible2 perspective, I'd say the content of the status bar should be the accValue of the status bar object and not the accName.

@isidorn I can do something in Orca and have started working on it (nothing yet committed: speech is easy, doing the braille is uncovering some issues related to the whole "named div" thing. So I'm probably going to wind up having both speech and braille dive down looking for the real objects to present. In this case links.)
In the meantime, something I noticed about the keyboard navigation: Once I've started arrowing amongst items in the status bar, cycling via F6 doesn't bring me back to the status bar; it brings me back to whatever was the last focused object in the status bar. The only way I've found to work around that is quitting and restarting VSCode, which is making debugging the change in Orca a bit more tedious. ;) Is this by design and/or is there a keystroke I can use to give focus to the status bar itself?

Ok, support landed in Orca master to present the newly-focused status bar in speech and braille.

@joanmarie It looks great! Thank you.

@joanmarie great. Yeah that is by design, more details here https://github.com/microsoft/vscode/issues/97241
Press esc to focus the status bar once the focus is on a status bar entry


zeekctl not on path of zeek user

Overview of the Issue
user should have tools available to it w/o knowing about how it works.
Zeeksuite version
0.0.2
OS, Architecture, and any other information you can provide about the
environment.
arch, 5.3 kernel

it actually is on path when user uses sudo ... -i (--login)...
creating task to use --login (-i) when using zeek user interactively.


feat(fuselage-hooks): useDocumentTitle hook

Proposed changes (including videos or screenshots)

Issue(s)

Further comments

Closing this one since we're going to have a different approach to change the document title as describe in this PR  #30680


Feature/remove add exceptions

There were two issues with adding a trackable when offline ably real-time connect() and channel.presence.get(true).
To address the first one, I've removed rethrowing connection timeout exception because we already handle reconnect.
For the second one, I have added a timeout to SubscribeToTrackablePresenceMessagesWorker. It is handled as a failure and is reattempted later.
Additionally, to make this task easier, I have renamed the three workers that are part of adding a trackable chain with names better reflecting what they do and removed an unused callback-based function to subscribe to presence messages.
Before merging this, I want to add a test for the connection timeout change
Resolves #871

Adding a note to highlight which NetworkConnectivityTest cases should be fixed by this issue. The TCP-level tests are now in main, so you can reproduce by merging in main and enabling these tests (they are currently disabled as they fail).
DisconnectAndSuspend and AttachUnresponsive are not currently in main, they're on #886
faultBeforeAdingTrackable[TcpConnectionRefused]
Fails because we throw timeout exception on track() when offline:
01-13 15:12:36.048 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:12:36.045: [DefaultAbly] Timeout while waiting for Ably to connect com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:12:36.049 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:12:36.048: [DefaultAbly] Failed to start Ably connection com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:12:36.054 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:12:36.052: [DefaultPublisher] Publisher track operation failed com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 19007:  attempt to add active Trackable while fault active - failed - com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly.connectSuspending(Ably.kt:1026)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly.access$connectSuspending(Ably.kt:246)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly$connectSuspending$1.invokeSuspend(Unknown Source:16)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
01-13 15:12:36.056 19291 19319 D PUBLISHING SDK IT: 	at java.lang.Thread.run(Thread.java:1012)

faultBeforeAdingTrackable[TcpConnectionUnresponsive]
Same as faultBeforeAdingTrackable[TcpConnectionRefused]
faultBeforeAdingTrackable[AttachUnresponsive]
Similar to faultBeforeAdingTrackable[TcpConnectionRefused] in that the initial track() call times out
and an exception is thrown. Difference is that the underlying timeout is on channe.attach() instead of
the initial connection
Important that we ensure we fix this underlying cause, as it's different to the other cases, even though
the user-visible exception is the same.
01-13 15:15:21.021 19291 20518 D PUBLISHING SDK IT: 19457:  13-01-23 15:15:21.020: [DefaultAbly] Failed to suspend enter presence for channel<EMAIL_ADDRESS>com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.023 19291 20448 D PUBLISHING SDK IT: 19398:  13-01-23 15:15:21.022: [DefaultAbly] Failed to enter the presence of channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097 com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.024 19291 20448 D PUBLISHING SDK IT: 19398:  13-01-23 15:15:21.023: [DefaultAbly] Failed to connect for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097 com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.027 19291 20448 D PUBLISHING SDK IT: 19398:  13-01-23 15:15:21.026: [DefaultAbly] Failed to connect for trackable bb25f6e2-340a-48f1-b0e8-2021d0ad9097 com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.029 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:15:21.029: [DefaultPublisher] Publisher track operation failed com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 19007:  attempt to add active Trackable while fault active - failed - com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: com.ably.tracking.ConnectionException: Attach timed out for channel tracking:bb25f6e2-340a-48f1-b0e8-2021d0ad9097
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.AblyHelpersKt.toTrackingException(AblyHelpers.kt:61)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly$enterPresenceSuspending$2$1.onError(Ably.kt:922)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at io.ably.lib.realtime.Presence.failQueuedMessages(Presence.java:896)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at io.ably.lib.realtime.Presence.setSuspended(Presence.java:948)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at io.ably.lib.realtime.ChannelBase.setSuspended(ChannelBase.java:588)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at io.ably.lib.realtime.ChannelBase$2.run(ChannelBase.java:431)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at java.util.TimerThread.mainLoop(Timer.java:563)
01-13 15:15:21.030 19291 19319 D PUBLISHING SDK IT: 	at java.util.TimerThread.run(Timer.java:513)

faultBeforeAdingTrackable[DisconnectAndSuspend]
The 10 second timeout waiting for Ably to connect kills the track() call.
Same as faultBeforeAdingTrackable[TcpConnectionRefused], but note that this is blocking
the next part of the test, where we allow connection after 2 minutes.
01-13 15:18:02.487 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:18:02.485: [DefaultAbly] Timeout while waiting for Ably to connect com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:18:02.489 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:18:02.487: [DefaultAbly] Failed to start Ably connection com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:18:02.493 19291 19398 D PUBLISHING SDK IT: 19040:  13-01-23 15:18:02.491: [DefaultPublisher] Publisher track operation failed com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 19007:  attempt to add active Trackable while fault active - failed - com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: com.ably.tracking.ConnectionException: Timeout was thrown when waiting for Ably to connect
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly.connectSuspending(Ably.kt:1026)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly.access$connectSuspending(Ably.kt:246)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at com.ably.tracking.common.DefaultAbly$connectSuspending$1.invokeSuspend(Unknown Source:16)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
01-13 15:18:02.495 19291 19319 D PUBLISHING SDK IT: 	at java.lang.Thread.run(Thread.java:1012)

@jaley I'm going to double-check the list of fixed integration tests that you mentioned in https://github.com/ably/ably-asset-tracking-android/pull/883#issuecomment-1382153308, since as I mentioned in https://github.com/ably/ably-asset-tracking-android/issues/907#issuecomment-1384524042 it seems like faultBeforeAddingTrackable[EnterFailedWithNonfatalNack] is also now passing on this branch. (Perhaps this fault was added after you wrote that comment, I'm not sure. Do you remember which commit of the integration tests you tested this branch with?)

Sorry @jaley, I think I might have misunderstood https://github.com/ably/ably-asset-tracking-android/pull/883#issuecomment-1382153308 – I thought you were saying that these were the test cases that you had observed as being fixed by this branch, but were those in fact your expectations for what would be fixed? Either way, I’ll compile an updated list of what’s fixed by this branch.

My understanding was that this pull request would stop the publisher’s track and add methods from being able to fail with a ConnectionException. But both of these methods are still documented as being able to do exactly this. Have I missed something?
Here are the ways in which it seems like these methods can still fail with ConnectionException:
PrepareConnectionForTrackableWorker
Calls ably.startConnection() and ably.connect().
What can go wrong with these Ably wrapper operations?

startConnection(): Although not mentioned in the docstring, my tests in #914 demonstrate that this can fail with a ConnectionException. The behaviour has changed in this PR but as it stands it can still throw ConnectionException.
connect(): This is documented as being able to fail with a ConnectionException.

What does it do if one of these Ably wrapper operations fails with a ConnectionException?

startConnection():

From looking at code: passes it to AddTrackableFailedWorker, which seems unexpected since the end result is that the caller of add or track receives the ConnectionException
From looking at tests: we have no tests for this

connect():

From looking at code: passes it to AddTrackableFailedWorker, which seems unexpected since the end result is that the caller of add or track receives the ConnectionException
From looking at tests: existing test that shows that it does exactly this

Does this PR fix the tests that James expected it to?

TODO — understand why the tests are behaving non-deterministically
TODO — understand why the tests aren’t timing out

Testing by merging commit f1557c2 of PR #886 into this branch.

faultBeforeAddingTrackable[TcpConnectionRefused] — Test has been running for ~4 mins now, all it’s doing is printing the following once a minute:
01-17 17:45:07.951 10304 10721 D PUBLISHING SDK IT: THREAD 252 is 'WebSocketConnectReadThread-252' [no Looper]
01-17 17:45:07.951 10304 10721 D PUBLISHING SDK IT: 252:  Connection error  java.net.ConnectException: failed to connect to localhost/<IP_ADDRESS> (port 13579) from /:: (port 58658): connect failed: ECONNREFUSED (Connection refused)

faultBeforeAddingTrackable[TcpConnectionUnresponsive] — Test has been running for ~4 mins now, all it’s doing is printing the following every ~75 seconds:
01-17 17:50:49.337 11094 11173 D PUBLISHING SDK IT: 141:  Layer4Proxy: proxy starting to run
01-17 17:50:49.340 11094 11173 D PUBLISHING SDK IT: 141:  Layer4Proxy: proxy trying to accept
01-17 17:50:49.377 11094 11355 D PUBLISHING SDK IT: THREAD 180 is 'Thread-42' [no Looper]
01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT: 180:  Layer4ProxyConnection: GET /?key=4v8EIQ.F3rJog%3AHRzgFlPm12ZrMHK2QN7MDqKHWKtTPrTc-ol1tXeSZOI
&v=1.0&format=msgpack&clientId=AatTestProxy_24d6ffb8-347c-4333-93be-a168dcd62679&heartbeats=false&agent=ably-java%2F1.2.22%20ably-asset-tracking-andro
id-publisher-tests%2F1.5.1%20android%2F33 HTTP/1.1
01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT: Connection: Upgrade
01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT: Host: localhost:13579
01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT: Sec-WebSocket-Key: xSkbsOYFLNpvFCgRxUsv8A==
01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT: Sec-WebSocket-Version: 13                                                                         01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT: Upgrade: websocket
01-17 17:50:49.386 11094 11355 D PUBLISHING SDK IT:
01-17 17:50:49.856 11094 11356 D PUBLISHING SDK IT: THREAD 181 is 'Thread-43' [no Looper]
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: 181:  Layer4ProxyConnection: HTTP/1.1 101 Switching Protocols
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: Date: Tue, 17 Jan 2023 22:11:48 GMT
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: Connection: upgrade
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: Sec-Websocket-Accept: EVi8lpK7nfY39SQZss6SsMzmPIE=                                                01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: Upgrade: websocket
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: X-Cache: Miss from cloudfront
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: Via: 1.1 826b4bc277e070a005bd57e6e653dfee.cloudfront.net (CloudFront)
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: X-Amz-Cf-Pop: GRU3-C1
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT: X-Amz-Cf-Id: eakl9P3KCbFKZx91shwjYZaMa4TN69ong_OJeANydgBkHuuYGOO9Rg==
01-17 17:50:49.872 11094 11356 D PUBLISHING SDK IT:

faultBeforeAddingTrackable[AttachUnresponsive] — On first run, process crashed after 2m 12s with some inscrutable error. Second run, crashed with this, after 3m 32s:
01-17 18:02:19.209 12324 12357 E TestRunner: ----- begin exception -----
01-17 18:02:19.210 12324 12357 E TestRunner: com.ably.tracking.ConnectionException: Timeout was thrown when waiting for channel to attach
01-17 18:02:19.210 12324 12357 E TestRunner: 	at com.ably.tracking.common.DefaultAbly.waitForChannelReconnection(Ably.kt:918)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at com.ably.tracking.common.DefaultAbly.access$waitForChannelReconnection(Ably.kt:235)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at com.ably.tracking.common.DefaultAbly$waitForChannelReconnection$1.invokeSuspend(Unknown Source:17)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
01-17 18:02:19.210 12324 12357 E TestRunner: 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
01-17 18:02:19.213 12324 12357 E TestRunner: ----- end exception -----
01-17 18:02:19.237 12324 12357 I TestRunner: finished: faultBeforeAddingTrackable[AttachUnresponsive](com.ably.tracking.publisher.NetworkConnectivityTests)

com.ably.tracking.ConnectionException: Timeout was thrown when waiting for channel to attach
at com.ably.tracking.common.DefaultAbly.waitForChannelReconnection(Ably.kt:918)
at com.ably.tracking.common.DefaultAbly.access$waitForChannelReconnection(Ably.kt:235)
at com.ably.tracking.common.DefaultAbly$waitForChannelReconnection$1.invokeSuspend(Unknown Source:17)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

faultBeforeAddingTrackable[DisconnectAndSuspend]
Seems to be periodically printing the following:
01-17 18:06:05.801 13115 13165 D PUBLISHING SDK IT: 119:  17-01-23 18:06:05.796: [DefaultAbly] Timeout while waiting for channel reconnection tracking:f114aa4f-7bb5-4c19-a6df-53cdb3eef524 com.ably.tracking.ConnectionException: Timeout was thrown when waiting for channel to attach
01-17 18:06:05.807 13115 13165 D PUBLISHING SDK IT: 119:  17-01-23 18:06:05.802: [DefaultAbly] Failed to send message for channel tracking:f114aa4f-7bb5-4c19-a6df-53cdb3eef524 com.ably.tracking.ConnectionException: Timeout was thrown when waiting for channel to attach

and then after 3m 8s it fails with the following:
01-17 18:07:46.032 13115 13146 E TestRunner: failed: faultBeforeAddingTrackable[DisconnectAndSuspend](com.ably.tracking.publisher.NetworkConnectivityTests)
01-17 18:07:46.051 13115 13146 E TestRunner: ----- begin exception -----
01-17 18:07:46.058 13115 13146 E TestRunner: java.lang.AssertionError: Expectation 'DisconnectAndSuspend: FaultActiveBeforeTracking' unfulfilled.
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.test.android.common.Expectation.assertFulfilled(Expectations.kt:55)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.test.android.common.BooleanExpectation.assertSuccess(Expectations.kt:60)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests$waitForStateTransition$1.invoke(NetworkConnectivityTests.kt:272)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests$waitForStateTransition$1.invoke(NetworkConnectivityTests.kt:263)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests.withResources(NetworkConnectivityTests.kt:306)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests.waitForStateTransition(NetworkConnectivityTests.kt:263)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests.access$waitForStateTransition(NetworkConnectivityTests.kt:84)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests$faultBeforeAddingTrackable$1.invoke(NetworkConnectivityTests.kt:135)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests$faultBeforeAddingTrackable$1.invoke(NetworkConnectivityTests.kt:131)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests.withResources(NetworkConnectivityTests.kt:306)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at com.ably.tracking.publisher.NetworkConnectivityTests.faultBeforeAddingTrackable(NetworkConnectivityTests.kt:131)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at java.lang.reflect.Method.invoke(Native Method)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.Suite.runChild(Suite.java:128)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.Suite.runChild(Suite.java:27)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.Suite.runChild(Suite.java:128)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.Suite.runChild(Suite.java:27)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
01-17 18:07:46.058 13115 13146 E TestRunner: 	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
01-17 18:07:46.066 13115 13146 E TestRunner: 	at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
01-17 18:07:46.066 13115 13146 E TestRunner: 	at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:444)
01-17 18:07:46.066 13115 13146 E TestRunner: 	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2361)
01-17 18:07:46.067 13115 13146 E TestRunner: ----- end exception -----
01-17 18:07:46.110 13115 13146 I TestRunner: finished: faultBeforeAddingTrackable[DisconnectAndSuspend](com.ably.tracking.publisher.NetworkConnectivityTests)

java.lang.AssertionError: Expectation 'DisconnectAndSuspend: FaultActiveBeforeTracking' unfulfilled.
at com.ably.tracking.test.android.common.Expectation.assertFulfilled(Expectations.kt:55)
at com.ably.tracking.test.android.common.BooleanExpectation.assertSuccess(Expectations.kt:60)
at com.ably.tracking.publisher.NetworkConnectivityTests$waitForStateTransition$1.invoke(NetworkConnectivityTests.kt:272)
at com.ably.tracking.publisher.NetworkConnectivityTests$waitForStateTransition$1.invoke(NetworkConnectivityTests.kt:263)
at com.ably.tracking.publisher.NetworkConnectivityTests.withResources(NetworkConnectivityTests.kt:306)
at com.ably.tracking.publisher.NetworkConnectivityTests.waitForStateTransition(NetworkConnectivityTests.kt:263)
at com.ably.tracking.publisher.NetworkConnectivityTests.access$waitForStateTransition(NetworkConnectivityTests.kt:84)
at com.ably.tracking.publisher.NetworkConnectivityTests$faultBeforeAddingTrackable$1.invoke(NetworkConnectivityTests.kt:135)
at com.ably.tracking.publisher.NetworkConnectivityTests$faultBeforeAddingTrackable$1.invoke(NetworkConnectivityTests.kt:131)
at com.ably.tracking.publisher.NetworkConnectivityTests.withResources(NetworkConnectivityTests.kt:306)
at com.ably.tracking.publisher.NetworkConnectivityTests.faultBeforeAddingTrackable(NetworkConnectivityTests.kt:131)

This pull request is causing the failing test mentioned in #907 (faultBeforeAddingTrackable[EnterFailedWithNonfatalNack]) to pass, since even though the presence enter operation fails the trackable still enters the online state. This is inconsistent with the expected behaviour described in #871:

If all of the operations required are in one of the following states:

still in progress; or
succeeded; or
failed for a retriable reason

then it's Offline.

On our today's call, we agreed that we need to implement some kind of a retry mechanism for certain Ably operations. As a general rule:

4xx error codes represent non-retriable operations
5xx error codes represent retriable operations.

The best place to add the retry logic would be the WorkerQueue but we have to decide whether it will be a general mechanism for retries or maybe something more use-case (or Worker) specific.


Avoiding the multiple clicks on Application Submission.

checking if the application already exists and returning a bool.
If multiple clicks detected, throw a HttpResponseNotFound.

I feel returning a "HttpResponseNotFound" can be confusing for the end user. Instead of showing a technical error or a message that something wasn't found, it's better to provide a user-friendly message that clearly explains the situation.
A more polished approach would be to inform the user that their action has already been completed successfully, and there's no need to click again. For example, you could display a message like: "Your action has been successfully processed. Please note, you don't need to repeat the request."
This way, the user understands that their action was fulfilled, without encountering an error or feeling like something went wrong. It improves the overall user experience and reduces confusion.


Updated version of glob-extra

@sipayRT, @eGavr

/ok

ok

Coverage remained the same at 83.62% when pulling 33f3853906cf466545999f07d932458f3c0103dd on glob-extra-update into 02d1726d9f8fcd1ce098f3ee3c3ff8ea67abf8a9 on master.


Fix ExtractDestination() for ColdStaking

What to test:

Cold Staking works correctly with this patch

Building with Ubuntu 20.04

Testing the cold staking now:

Will let this run for a while, will approve once I have had the cold staking running for about an hours

Good! It should also get tested that spendable and stakable balances are correctly shown, my tests were successful on that regard.

Good! It should also get tested that spendable and stakable balances are correctly shown, my tests were successful on that regard.

So far tha balances are correct on the UI as well, but will monitor it as it keeps staking.

@aguycalled "Pending" balance is only for when a TX adds balance but is not yet staked in a block correct?

yes

I've setup 2 cold staking nodes and 1 spending node, seems to be working nicely so far, will let these run for a while longer:

building with ubuntu 20.04 as well, will report any findings

when i try to send coins to the cold staking address the balance isn't correct.
steps:
create 2 wallets, create a coldstaking address v1 with wallet 1 benign spending and wallet 2 being staking
disable staking for both wallets to have better control
send multiple transaction from wallet 1 to the cold staking address
generate a block

so it looks like the staking wallet is showing the correct balance since actually there are only 2 groupings that went through? history shows all 5 though. window on the left is from spending wallet while on the right is the staking wallet

@chasingkirkjufell I did not run into any balance issues with my testing, can you give me steps to replicate?

I haven't been able to replicate it. Most likely case is that the first transactions where spent in the following (in case they were sent to a cold staking address with a spending address of that node). Will wait to hear more details to see if we can replicate/confirm.

I haven't been able to replicate it. Most likely case is that the first transactions were spent in the following (in case they were sent to a cold staking address with a spending address of that node). Will wait to hear more details to see if we can replicate/confirm.

I noticed that this issue is not related to this PR so I am going to approve this PR for now. Lke your said, it may be because of the outputs were spent again but the transaction history is confusing. For what it's worth, here are a bit more detailed steps.

creating 2 wallets and disable staking
connect 2nd wallet to first
generate 300 blocks on 1st wallet
create a coldstaking address v1 with wallet 1 spending and wallet 2 staking
send 5 txs to coldstaking address
generate more blocks
the tab will show all 5 txes but only 2 are actually valid. repair wallet or zapwallettxes does not fix it


tikv: qps drop after online unsafe recovery creating 600+ new regions

Bug Report

What version of TiKV are you using?

7.1
What operating system and CPU are you using?

Steps to reproduce

Create a cluster that has about 10 tikv nodes, generate some data (e.g 100GB per node), Create a placement rule so that a specific table_1  data are all in the 3 tikv nodes (let's say tikv 1 ~ tikv 3) . meanwhile having another table_2 data in the other 3 tikv nodes, tikv 4 ~ tikv-6.
Issuing traffic to table_2 only.  And then purposely bring down tikv1 ~ tikv 3.  As expected, traffic of table 1 is not impacted at all.
Then use online unsafe recovery to repair the cluster.
What did you expect?
After online unsafe recovery, the qps should not be dropped.
What did happened?
The qps is dropped for less than 5 minutes.
The reason is that after online unsafe recovery,  there're lots of new regions be recreated and then snapshot apply happen. This cause a snapshot apply spike which cause rocksdb busy and impact apply speed.

There are some region's replica is less than 3 which is expected after recovered by unsafe-recover, so it will trigger replicas adding action to make sure the whole cluster is in a safe state. I think 1) make replica number in a safe case is highest priority even has impact on the QPS, or serve queries with replica number is 1 is dangerous in terms of data persistence; 2) unsafe-recover is a rare case, and no necessary to control the adding replica speed and achieve stable QPS but sacrifice the data persistence.


Can create loops in Visualscript

Operating system or device - Godot version:
godot 2.2
Issue description (what happened, and what was expected):
I dont know if we should be able to do this

This is fine, it should not avoid you to do that. You will most likey get a
stack overflow anyway..
On Aug 27, 2016 19:39, "Daniel Ramirez"<EMAIL_ADDRESS>wrote:

Operating system or device - Godot version:
github 2.2
Issue description (what happened, and what was expected):
I dont know if we should be able to do this
[image: screenshot from 2016-08-27 17-33-37]
https://cloud.githubusercontent.com/assets/1103897/18030491/05ea0278-6c7d-11e6-9b36-9c2d902aefbd.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/6307, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z288lqJQIbWuG_X4hbZbJop0126-Xks5qkLyigaJpZM4JuzOB
.

thats good i thought it was a design problem (i was thinking that graph should always flow forward for some esoteric reason)

I don't think we should allow that. It's not immediately clear what it does and it looks ugly. It may even be hard to know what is the arrow connected to. Also you can do the same with a while loop.

Well for me it even looks kind of cool, I can imagine cond variable might be set after this if then program come back and check if he should go another way (the false one).

Consensus seems to be this is allowed behavior.


feat: rate limiter persistence

The goal with this change is to persist the rate limiters across reloads with the least invasive changes possible. To do this I first added a LimiterOptions structure to hold the current set of rate limiters. I then identified each call of tollbooth.New and moved the construction of the limiter without modifications to options.go. I assigned each limiter a distinct field to be referenced during the API object creation.
Next I needed to add an optional parameter to the NewAPI methods so I could store the new LimiterOptions onto the API object for reference during route construction. To do this without breaking all existing calls to NewAPI I used the options pattern. This makes the method accept a parametric set of values implementing a common interface, so future problems of similar nature can also be added as options.
I then replaced all the local anonymous limiter.Limiters made inline within the API route construction with each corresponding newly added field within the LimiterOptions struct.
What kind of change does this PR introduce?
Feature
What is the current behavior?
Currently we do not persist rate limiters when the config is reloaded.
What is the new behavior?
We persist rate limiters in memory across configuration reloads.

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

114 of 120 (95.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 58.03%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/serve_cmd.go
0
6
0.0%

Totals

Change from base Build<PHONE_NUMBER>9:
0.04%

Covered Lines:
9366

Relevant Lines:
16140

💛  - Coveralls

Oh also, what are the implications of this PR on #1746 (if any)? Will we adjust #1746 against the changes made in this PR?

@J0 Good question, I think both pull requests aim to pull in the same direction. This one may have more impact, I'll let @hf chime in on that. It may be worth hand merging the good bits into main after this is merged in.

Also feel free to remove the headings from the PR description -- those are mostly to guide external contributors.


Fix js compilation problems

After switching to Yarn, dashboard modals stopped working.

After updating packages with yarn materialize-css was switched to newer version (0.97.8), where modal plugin was refactored. So small js changes will fix this bug.

Fixed on branch demo-store


transition not applying

This is very similar to #175
I have a simple new app and I'm trying to apply animations, but I'm not seeing anything. Ideally, I was looking to get 'splash' route image to 'fly-to' the 'index' route image.
I assume I'm missing something very basic.

Thanks for putting together a demo to replicate your issues. I responded by doing a PR against your repo.
https://github.com/robpark/4animation/pull/1


Use spec.add_runtime_dependency 'rubocop', '~> 1.41'

Fix: https://github.com/rubocop/rubocop-factory_bot/issues/89

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[-] Added tests.
[-] Updated documentation.
[-] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

Quickmerging as we have the same in rubocop-capybara.

In the hindsight, we need a changelog entry to highlight this change.


getting ttl value

is it possible to get value of ttl from the response?

seems like I have to use advance method for that


patterns in the crafting grid

Issue description: i make the patterns in the pattern grid and put them in a crafter but wont appear in the crafting grid
What happens: I made a iron ingot patter using iron essence and I put it in the crafter attached to a crafting grid but when I go into the grid theres no option to craft multiple ingots
What you expected to happen: gives me then option to make stacks of ingots without having to do it manually
Steps to reproduce:
1.went into pattern grid and make an iron ingot pattern
2.went into crafter and placed the pattern inside
3.went into crafting grid and put iron ingot in the search bar but nothing appears that says craft
...
Version (make sure you are on the latest version before reporting):

Minecraft:
Forge:
Refined Storage:

Does this issue occur on a server? [yes/no]
If a (crash)log is relevant for this issue, link it here:
[pastebin/gist/etc link here]

Any screenshots would be useful to understand your problem.


Gruvified the old Onepunch theme.

Changes

I changed the colour scheme of my old theme.
Added better screenshots.
And I hope that font works this time.

PS. I need to study for my semester, for real though. Why am I even here. (╥_╥).
Color Scheme

Spicetify:

Based on :


[Backport 2.4] Fix error handling while reading analyzer mapping rules

Description
Rebased https://github.com/opensearch-project/OpenSearch/pull/5123.
Add new parseWordList method that takes a parser as a parameter. It reads custom rules from settings or a file, parses and handles errors. Make error messages less verbose for rules files outside config directory.
Signed-off-by: Rabi Panda<EMAIL_ADDRESS>By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

cc: @rursprung

Merged via https://github.com/opensearch-project/OpenSearch/pull/5141


Invalid recursive methods or functions

🔍 Search Terms
Invalid recursive methods or functions not detected as error by typescript compiler during compile time
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
// TypeScript compiler should detect invalid recursive functions and methods
// Invalid Recursions should not compile and should be reported as error during compile time
// Examples :
function testFunction(i:number) {
return testFunction(i); // compiler should warn this as invalid recursive function
}
let testFunction2 = function (i:number) {
return testFunction2(i); // compiler should warn this as invalid recursive function
}
let testFunction3 :(i:number)=>number = (i:number)=>{
return testFunction3(i); // compiler should warn this as invalid recursive function
}
testFunction(1); // compiler should warn this as invalid recursive function call
testFunction2(1); // compiler should warn this as invalid recursive function call
testFunction3(1); // compiler should warn this as invalid recursive function call
class Testing {
id:number=0;
test1():number{
return this.test1(); // compiler should warn this as invalid recursive method
}
}
const testing:Testing = new Testing();
console.log(testing.test1());// compiler should warn this as invalid recursive method call
//-----------------------------------------------------------------------------------------
// Correct Recursions should work fine and should not be reported as error by compiler
// Examples :
function factorial(x:number):number {
// if number is 0
if (x == 0) {
return 1;
}
// if number is positive
else {
return x * factorial(x - 1);
}
}
console.log(factorial(5));
📃 Motivating Example
// Invalid Recursions should not compile and should be reported as error during compile time
// Examples :
function testFunction(i:number) {
return testFunction(i); // compiler should warn this as invalid recursive function
}
let testFunction2 = function (i:number) {
return testFunction2(i); // compiler should warn this as invalid recursive function
}
let testFunction3 :(i:number)=>number = (i:number)=>{
return testFunction3(i); // compiler should warn this as invalid recursive function
}
testFunction(1); // compiler should warn this as invalid recursive function call
testFunction2(1); // compiler should warn this as invalid recursive function call
testFunction3(1); // compiler should warn this as invalid recursive function call
class Testing {
id:number=0;
test1():number{
return this.test1(); // compiler should warn this as invalid recursive method
}
}
const testing:Testing = new Testing();
console.log(testing.test1());// compiler should warn this as invalid recursive method call
//-----------------------------------------------------------------------------------------
// Correct Recursions should work fine and should not be reported as error by compiler
// Examples :
function factorial(x:number):number {
// if number is 0
if (x == 0) {
return 1;
}
// if number is positive
else {
return x * factorial(x - 1);
}
}
console.log(factorial(5));
💻 Use Cases
// Invalid Recursions should not compile and should be reported as error during compile time
// Examples :
function testFunction(i:number) {
return testFunction(i); // compiler should warn this as invalid recursive function
}
let testFunction2 = function (i:number) {
return testFunction2(i); // compiler should warn this as invalid recursive function
}
let testFunction3 :(i:number)=>number = (i:number)=>{
return testFunction3(i); // compiler should warn this as invalid recursive function
}
testFunction(1); // compiler should warn this as invalid recursive function call
testFunction2(1); // compiler should warn this as invalid recursive function call
testFunction3(1); // compiler should warn this as invalid recursive function call
class Testing {
id:number=0;
test1():number{
return this.test1(); // compiler should warn this as invalid recursive method
}
}
const testing:Testing = new Testing();
console.log(testing.test1());// compiler should warn this as invalid recursive method call
//-----------------------------------------------------------------------------------------
// Correct Recursions should work fine and should not be reported as error by compiler
// Examples :
function factorial(x:number):number {
// if number is 0
if (x == 0) {
return 1;
}
// if number is positive
else {
return x * factorial(x - 1);
}
}
console.log(factorial(5));

What do you want to use this for?
Java programmers can detect invalid recursive methods and functions in Intellij.
Swift programmers can detect invalid recursive methods and functions in Xcode.
But typescript programmers cannot detect invalid recursive methods and functions in VsCode or any other code editor.
Invalid recursion check should exist in typescript as well which will allow to catch bugs during compile time .

What shortcomings exist with current approaches?
Java programmers can detect invalid recursive methods and functions in Intellij.
Swift programmers can detect invalid recursive methods and functions in Xcode.
But typescript programmers cannot detect invalid recursive methods and functions in VsCode or any other code editor.
Invalid recursion check should exist in typescript as well which will allow to catch bugs during compile time .

What workarounds are you using in the meantime?
No workarounds at the moment for detecting typescript invalid recursive methods or functions during compile time .
As a result runtime error happens for invalid recursive methods or functions in typescript.

You really don't need to repeat the example code in every section of the template. This makes your issues incredible hard to read. I would suggest you to edit your issues to make them readable.

Can a flag be introduced in tsconfig.json to detect invalid recursive functions and methods like the one mentioned below ?
function testFunction( i : number ) { return testFunction(i); // compiler should warn this as invalid recursive function during compile time  }

TypeScript is not a linter.

TypeScript is not a linter.
Is there any eslint rule or any other vscode extention using which we can detect  invalid recursive functions and methods in TypeScript?

In Java we get warning in Intellij community edition for invalid recursive functions and methods. Can we get similar warning in VsCode while using TypeScript?

Can you please put your code in code blocks? Like this
```ts
code

Also if you're expecting TypeScript to behave like Java, you're just not going to have a good time in general.

function testFunction( i : number ) : number{
/*
compiler should warn the below line as invalid
recursive function during compile time
*/
return testFunction(i);
}

testFunction(5);

Is it possible to detect the above invalid recursive function as error or warning during compile time by typescript ?


Issue #336, ssh_config_file and ssh_known_hosts_file True behaviour with system transport

Description
See issue  #336, when passing True to the ssh_config_file and using the system transport, you now effectively get the same behaviour as the regular ssh client (no -F args are passed). That means that both the user and the system ssh config are respected. I also implemented the same change for the known_hosts_file.
Type of change

[X] New feature (non-breaking change which adds functionality)
[X] This change requires a documentation update

How Has This Been Tested?
Added necessary tests in test_base_base_driver.py, did a real-world test against a device
Checklist:

[X] My code follows the style guidelines of this project (no GitHub actions complaints! run make lint before
committing!)
[X] I have commented my code, pydocstyle and darglint are happy, docstrings are in google docstring format, and all
docstrings include a summary, args, returns and raises fields (even if N/A)
[X] I have added tests that prove my fix is effective or that my feature works, if adding "functional" tests please
note if there are any considerations for the vrnetlab setup
[X] New and existing unit tests pass locally with my changes

boom, LGTM, thanks a bunch @bennnnnnnn !!


auro-accordion: height not reset when prefers-reduced-motion enabled

Describe the bug
When prefers-reduced-motion is enabled, the height added to the accordion panel is not removed after the transition completes.

This causes issues when there is dynamic content inside of the accordion. For example, one of our pages has form fields that are added/removed inside an accordion based on a radio button selection. When reduced-motion is enabled, any newly added fields are cut off since the accordion still has a height set.
To Reproduce
Steps to reproduce the behavior:

Enable prefers-reduced-motion
Go to the accordion demo
Expand the accordion. Notice that height is not removed.

Expected behavior
The height does not persist when reduced-motion is enabled.
Desktop (please complete the following information):

OS: Windows 10
Browser: Chrome
Version: 1.4.0

I think the root issue is in WCSS:
https://github.com/AlaskaAirlines/WebCoreStyleSheets/blob/d61bb99026e44ff8415bf8fed3dd7b74eea9f4d9/src/_core.scss#L37-L40
By setting "transition: none", there is no transitionend event to listen to.
https://github.com/AlaskaAirlines/auro-accordion/blob/5238379521902e587592fd1eb542fd33e138e985/src/auro-accordion.js#L162
I've seen other CSS resets that set a very small transition duration instead to get around this issue, e.g.
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

Source

Unable to repro, can you include a video of what you see?

It only happens if you add content to the accordion after it's open. Here's a CodePen that repros the issue (GIF below). Clicking expand adds additional paragraphs -- if you have reduced motion on, the content is cut off because the height on the panel inside the shadow root was not removed.

@geoffrich thanks for the additional context. That makes sense.

Reopening because we need to update and release auro-accordion to fix the underlying issue. The core WCSS is imported into the component's shadow root.

:tada: This issue has been resolved in version 1.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Updated Fedora guides to use kubeadm and kube 1.10

This is a re-submission of changes to two guides for installing Kubernetes on Fedora using kubeadm. My original pull request (8009) was rejected because it was too close to the overhaul of the Kubernetes docs.
As I stated in the earlier pull request:
The two Fedora kube single-node and multi-node getting started guides were outdated. These two issues suggested the two docs be updated to use kubeadm:
#7302
#7278
I totally rewrote both of those documents to use kubeadm (as well as to reflect how the procedures work for Kubernetes 1.10).

/assign @heckj

@chrisnegus sorry to pile on here, but in addition to sorting out just which technical content should go in, we need to move these files (the /fedora subdirectory) to the /setup directory. Their current location is orphaned in the docs build. See PR #8937 for an example of what we're trying to do. If you would't mind moving them while you're working on the content, sig-docs would be most grateful.
For the future: we might want to think about how to manage the OS-specific getting started content, as well as the cloud provider content. Just a thought for now.
cc @steveperry-53 who's been working on de-orphaning.

FWIW I don't think this belongs in the main docs anymore but is here out of legacy.  I think it makes far more sense to link out to different provider hosted websites that want to outline their options.  Upstream k8s recommends and supports kubeadm, everything else is a docs maintenance burden b/c as solutions and people come and go the docs eventually rot.

@Bradamant3 👋

For the future: we might want to think about how to manage the OS-specific getting started content, as well as the cloud provider content. Just a thought for now.

That's at the top of my stack for Q3/Q4, working with @kubernetes/sig-cloud-provider.

@chrisnegus This PR requires significant work before it can be approved, mostly focused on scaling back the documentation footprint. Here's a summary of feedback so far:

Move Fedora content to /content/en/docs/setup/.

Focus on Fedora-specific changes only, linking out to kubeadm commands.

Do 1-2 while optimizing content to host elsewhere (e.g., Fedora's own site). Link out whenever possible.

Also please use code fences in Markdown rather than HTML tags for code samples.

My goal was to simply replace old Kubernetes on Fedora instructions with new ones. Although not in the new nav, those docs are still referenced from Picking the Right Solution. Perhaps you should just cut the links and I could drop this PR. As to whether we need to document Kubernetes setup for different operating systems , I'd be glad to participate in that discussion. I attended a meeting of the sig-cloud-provider you mentioned and they felt this was outside their scope.

/cc @cody-clark closing in favor of Cody's rework of Picking the Right Solution.


Provide a way to force ignore a mismatch when locking

It would be great to be able to force an ignore of a mismatch in package dependencies. At present you can't lock a configuration which has has a mismatch, even if the code works properly.
Describe your environment

OS Type: OSX
Python version: 3.6.3
Pipenv version: 9.0

Expected result
I would like to be able to run pipenv lock --ignore-mismatch to create a lockfile which ignores a mismatch generated in version dependencies. Some unhelpful packages include a maximum version in their install_requires, even though the version they're preventing you from working with doesn't exist yet.
Example
django-babel specifies a requirement for Django<1.12. The code works absolutely fine with Django 2.0, so this restriction is not relevant. At present the following sequence of commands will fail, and there's no way I can find to generate a lock file to solve it.
pipenv install django-babel
pipenv install "Django>=2.0"

Er, did you mean to close this with no feedback?

out of scope, at the moment. will revisit, for sure.

e.g. it's def on our radar

Thanks!

@kennethreitz I'm facing the same issue and it is very annoying.
Have you been able to propose a work around ?
I didn't found any mention of this on the doc

@mjtamlyn have you found a workaround ?

@nicolaspanel one simple workaround you can use is to put the dependency you want to override in your [dev-packages] and the thing you want to override it in [packages].
FYI tagging kenneth is not a very effective way to get help, but if you need more help you should say more about your situation