fix:prevent goroutine leakage for pkg/k8s/watchers

Use the ctx passed to ciliumClusterwideEnvoyConfigInit instead of wait.NeverStop.
reference https://github.com/cilium/cilium/pull/21913
@tommyp1ckles @aanm @joamaki

Thanks for the PR. The code doesn't compile right now, so I would suggest that we keep it in draft until you are able to address the CI failures and push a fresh version that passes the initial smoke tests. Then, please mark the PR "Ready for review" and we can take a fresh look.

Use the ctx passed to ciliumClusterwideEnvoyConfigInit instead of wait.NeverStop. reference #21913

@

Thanks for the PR. The code doesn't compile right now, so I would suggest that we keep it in draft until you are able to address the CI failures and push a fresh version that passes the initial smoke tests. Then, please mark the PR "Ready for review" and we can take a fresh look.

I pushed again, but CI still failed, how to pass?

Most jobs failed during image pull. The image pull details link shows that the build failed and has the details of the make target failure. It should be reproducible with make locally.

Thanks for the PR. The code doesn't compile right now, so I would suggest that we keep it in draft until you are able to address the CI failures and push a fresh version that passes the initial smoke tests. Then, please mark the PR "Ready for review" and we can take a fresh look.

Ready for review
Thanks
@joestringer

I won't look just yet, but just to let you know: To mark a PR ready for review, click this button at the bottom of the page:

You can remove the mention in the title, since that title will eventually become a release note.

I marked this as release-note/misc since it looks like this will only ensure that certain goroutines are cleaned up during shutdown, and when that occurs the agent will exit anyway. If you think that there could be any user-facing impact from this PR, please describe how that impact could occur (ideally with some example observations from an environment where you observed this).

I marked this as release-note/misc since it looks like this will only ensure that certain goroutines are cleaned up during shutdown, and when that occurs the agent will exit anyway. If you think that there could be any user-facing impact from this PR, please describe how that impact could occur (ideally with some example observations from an environment where you observed this).

I refer to this https://github.com/cilium/cilium/pull/21913

I clicked ready for review and renamed the PR per https://github.com/cilium/cilium/pull/22362#issuecomment-1333396731.

I will run CI, then assigned reviewers can take a look.

/test

I will run CI, then assigned reviewers can take a look.

@tommyp1ckles 😄😄

From a function api level, I would say this behaviour might be a bit unintuitive. If I was to change the top level initK8sWatchers call to take a Context with a timeout, my expectation that that would just constrain how long it takes for the init procedure to complete, not how long the k8s controllers end up running for (i.e. if someone changed the global timeout expecting to constraint init times...)
Anyway, I see that this pattern is already being followed so otherwise it lgtm (might be worth adding a note about this behaviour)

There are many failures, but the jobs have expired. I would suggest rebasing your PR against master, then we can re-run CI again and try to establish whether CI is identifying code issues with the PR or not.

There are many failures, but the jobs have expired. I would suggest rebasing your PR against master, then we can re-run CI again and try to establish whether CI is identifying code issues with the PR or not.

Pushed it  again, all CI check pass
Thanks😄

/test

@joestringer
How about this PR?
Thanks

/test

A couple of tests were still failing, so I clicked the rebase button and re-triggered full CI.

A couple of tests were still failing, so I clicked the rebase button and re-triggered full CI. Let's see what CI says after that.

Do you need me to rebase and push again?

A couple of tests were still failing, so I clicked the rebase button and re-triggered full CI. Let's see what CI says after that.

I rebase and push again ,alll CI is ok now

Each time you rebase, it hides the results of the last CI run. If we cannot see the results of the CI run, then we cannot merge the PR. I will run the CI again, then we can see whether the CI passes or not. Please hold back on rebasing for now.

/test


different highlights on win10 and on linux Debian

Why different syntax highlights on win10 and on linux Debian? What happened on linux? Extensions on two computers indentical.

VSCode 1.4;
OS win10:

VSCode 1.4;
OS Linux Debian "Jessie":

@ivatih Are you using the same theme? F1 > Preferences: Color Theme. At one point we shipped with Dark (Visual Studio) as the default and then we shipped with Dark+ (default dark) as the default. Depending on when you installed VSCode you might have one or the other even if you didn't touch the theme setting, as the update process maintains the current selected theme.


Benchmarking Chatglm3-6B on Xeon SPR:  Forward() expected at most 5 arguments but received 6

Issue happens during benchingmarking ChatGLm3-6B, using run-spr.sh and config test_api as bigdl_ipex_int4.
Environment:]
pip install --pre --upgrade ipex-llm[all] && \
# Fix CVE-2024-22195

pip install Jinja2==3.1.3 && \

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cpu && \

pip install intel-extension-for-pytorch==2.2.0 && \

pip install oneccl_bind_pt==2.2.0 --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/cpu/us/ && \

pip install transformers==4.36.2

Error:

This issue will be fixed by pr-10678


Fix #459: support migrating proxies

The changes to support proxies are many since a lot of bugs were found along the way while fixing this. Commits have been separated to make reviewing simpler. Here's the breakdown:

Initial commit adds Gateway migration steps and tasks unit tests, missing from the project, to guarantee this area has coverage and does not break from now on.
A report entry is added indicating APIs are not identified via an ID and not their name as in Mule 3.
The main fix is introduced for HTTP proxies along with E2E tests covering their templates (both with and without domains)
E2E tests are modified to leave migrated apps in the target folder to facilitate reviewing test failures.
Coverage for RAML/REST proxies is added, the same fix applied, and a name clashing issue resolved to fully support the migration of such proxies.

Hi, @holiday-sunrise! The main change here starts after the Fix #459: apply proxy migration task to apps commit. The initial commit adds unit tests for the gateway migration steps and tasks that were missing but are required to validate from now on we don't break anything there. I separated everything into commits that can be individually reviewed since the change was big and required lots of testing.

Ok now it's clear


doc change for Port 10250 has to be opened? #37918

writing my FAQ for "Port 10250 has to be opened? #37918"

@axelgMS : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@sauryadas @zr-msft @jluk - Would one of you be able to review this PR from February? Thanks!

thank you @axelgMS for the PR!
I was able to incorporate your changes and feedback from the linked issue in another PR.
#Please-close


[ISSUE-#7105] Replace common-lang3 StringUtils with dubbo-common StringUtils in NacosRegistry

What is the purpose of the change
For-#7105

Codecov Report

Merging #7106 (e27487e) into master (bd43fa7) will decrease coverage by 0.08%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #7106      +/-   ##
============================================
- Coverage     60.07%   59.99%   -0.09%
  Complexity      506      506
============================================
  Files          1028     1028
  Lines         41531    41487      -44
  Branches       6038     6008      -30
============================================
- Hits          24951    24890      -61
- Misses        13813    13829      +16
- Partials       2767     2768       +1

Impacted Files
Coverage Δ
Complexity Δ

...org/apache/dubbo/registry/nacos/NacosRegistry.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...bo/config/event/listener/LoggingEventListener.java
37.50% <0.00%> (-25.00%)
0.00% <0.00%> (ø%)

...va/org/apache/dubbo/remoting/TimeoutException.java
0.00% <0.00%> (-22.23%)
0.00% <0.00%> (ø%)

...bbo/common/bytecode/CustomizedLoaderClassPath.java
28.00% <0.00%> (-16.00%)
0.00% <0.00%> (ø%)

...ava/org/apache/dubbo/config/DubboShutdownHook.java
63.82% <0.00%> (-10.64%)
0.00% <0.00%> (ø%)

...che/dubbo/remoting/transport/mina/MinaChannel.java
39.47% <0.00%> (-10.53%)
15.00% <0.00%> (-1.00%)

...mmon/threadpool/support/fixed/FixedThreadPool.java
80.00% <0.00%> (-7.50%)
0.00% <0.00%> (ø%)

...moting/transport/netty4/NettyEventLoopFactory.java
30.00% <0.00%> (-6.37%)
0.00% <0.00%> (ø%)

.../threadpool/support/limited/LimitedThreadPool.java
83.33% <0.00%> (-5.56%)
0.00% <0.00%> (ø%)

...mmon/threadpool/support/AbortPolicyWithReport.java
85.00% <0.00%> (-5.00%)
0.00% <0.00%> (ø%)

... and 33 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #7106 (e27487e) into master (bd43fa7) will decrease coverage by 0.08%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #7106      +/-   ##
============================================
- Coverage     60.07%   59.99%   -0.09%
  Complexity      506      506
============================================
  Files          1028     1028
  Lines         41531    41487      -44
  Branches       6038     6008      -30
============================================
- Hits          24951    24890      -61
- Misses        13813    13829      +16
- Partials       2767     2768       +1

Impacted Files
Coverage Δ
Complexity Δ

...org/apache/dubbo/registry/nacos/NacosRegistry.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...bo/config/event/listener/LoggingEventListener.java
37.50% <0.00%> (-25.00%)
0.00% <0.00%> (ø%)

...va/org/apache/dubbo/remoting/TimeoutException.java
0.00% <0.00%> (-22.23%)
0.00% <0.00%> (ø%)

...bbo/common/bytecode/CustomizedLoaderClassPath.java
28.00% <0.00%> (-16.00%)
0.00% <0.00%> (ø%)

...ava/org/apache/dubbo/config/DubboShutdownHook.java
63.82% <0.00%> (-10.64%)
0.00% <0.00%> (ø%)

...che/dubbo/remoting/transport/mina/MinaChannel.java
39.47% <0.00%> (-10.53%)
15.00% <0.00%> (-1.00%)

...mmon/threadpool/support/fixed/FixedThreadPool.java
80.00% <0.00%> (-7.50%)
0.00% <0.00%> (ø%)

...moting/transport/netty4/NettyEventLoopFactory.java
30.00% <0.00%> (-6.37%)
0.00% <0.00%> (ø%)

.../threadpool/support/limited/LimitedThreadPool.java
83.33% <0.00%> (-5.56%)
0.00% <0.00%> (ø%)

...mmon/threadpool/support/AbortPolicyWithReport.java
85.00% <0.00%> (-5.00%)
0.00% <0.00%> (ø%)

... and 33 more

Continue to review full report at Codecov.

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


refactor(import alias ~/): replaced relative path imports with new  website import alias with ~/

What is it?

[x] Feature / enhancement
[ ] Bug
[ ] Docs / tests

Description
Added new import alias ~/ for the docs.
Placed generic components into a components folder to facilitate imports with the alias.
Updated all imports throughout the docs to use ~/ when possible (sometimes I could use it because of the nx monorepo).
Tested thoroughly in dev and prod to check that everything still works properly.
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Amazing job @maiieul! Merging.


Add Diesel to the README

Since crates that might support R2D2 are not necessarily one to one with
a particular database backend (Diesel and rust-postgres both are
adapters for Postgresql, Diesel will eventually support other
databases), I've restructured the table to just associate the r2d2
adapter with the backend crate

Thanks!


ALignment with GOLD tokens

https://github.com/steelthreads/agds-next/blob/526b39db34a4d5c7f57f090aa87401b3bfac3adc/packages/ag-branding/src/palette.ts#L4
the conventions for token label structure in GOLD are:
color-foreground-action,
colordark-foreground-action etc
But we have used:
LightForegroundAction,
DarkForegroundAction etc
I understand the use of camelCase but don't understand the departure from the naming convention - why don't we align?

I understand the use of camelCase but don't understand the departure from the naming convention - why don't we align?

Basically because color seemed redundant. Everything defined here is a color. Also I wanted to align the light vs dark token naming.
This is a case where the original tokens from gold were defined in a global scope (because that's how sass works) so the variable names themselves needed to include color so that it was clear what the variable was for.
Its much easier to create name spaces in javascript, so instead of color-foreground-action we can say color.foreground.action (or palette etc.)

but color and colordark fro GOLD refer to the context/palette of the parent container not the childs style


ImageMagick 7

Our Drupal website uses ImageMagick to convert images to the AVIF format and we noticed transparent pixels were replaced by black pixels.
Apparently this is fixed in ImageMagick 7 : https://alexwlchan.net/2023/check-for-transparency/
However, ImageMagick 7 does not seem to be available in Debian yet.

We also tried to use GD but the version in Docksal does not seem to support AVIF.
As a workaround, we might add cavif-rs to our image.


Use uWSGI instead of gunicorn

This should improve performance

Might not be advisable anymore now that uwsgi is in "maintenance mode" and the author himself questions the maintainability and future of the project: https://github.com/unbit/uwsgi/issues/2407


Rating and endorsement are not showing properly

After the rating update, the rating and the endorsement appears as 0 with any user when you search for it

Already fixed here.

Fine, I see, but why does the API Endpoint keep returning me 0 as value?

Oops, I forgot about site endpoint. It will be updated soon.

Just did the deploy. The output looks awesome. Thanks again @seilem. Should be fixed - if not please feel free to re-open


DPOTrainer ignores training & evaluation data if there are more than 2 responses

Hello!
First of all, thank you @younesbelkada and @lvwerra for maintaining this work, and thank you @kashif for spearheading the valuable DPO implementation.
Bug overview

The DPODataCollatorWithPadding processes batch_size samples at once, yielding batch_size chosen-rejected pairs. However, batch_size samples may have much more than batch_size pairs.

Details
The issue originates in the DPODataCollatorWithPadding.__call__ method:
https://github.com/lvwerra/trl/blob/7f297b38c665e6d2357dfd5ba552ef685afe1302/trl/trainer/utils.py#L328-L345
The break will pre-emptively stop processing of all pairs in features to ensure that the output has a length of batch_size. Because of this, any training or evaluation data with more than 2 responses will result in data not being used.
How to reproduce
See reproduction steps
Replace DPODataCollatorWithPadding.__call__ with this variant, which tracks how many samples are used and how many are ignored:
    def __call__(self, features: List[Dict[str, Any]]) -> Dict[str, Any]:
        batch = []
        done = False
        for feature in features:
            prompt = feature["prompt"]
            responses = feature["responses"]
            pairs = feature["pairs"]

            for p in pairs:
                if not done:

                    batch_element = self.tokenize_batch_element(prompt, responses[p[0]], responses[p[1]])
                    batch.append(batch_element)

                    done = len(batch) == self.batch_size
                    self.included += 1
                else:
                    self.ignored += 1

        print(f"{self.ignored / (self.ignored + self.included):%} of training pairs are ignored.")
        return self.collate(batch)

and add
    included: int = 0
    ignored: int = 0

to the list of dataclass fields of the DPODataCollatorWithPadding.
Then, run this script, which uses a dummy dataset with many responses:
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments
from trl import DPOTrainer
from datasets import Dataset

model = AutoModelForCausalLM.from_pretrained("gpt2")

model_ref = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")
tokenizer.pad_token = tokenizer.eos_token

train_dataset_dict = {
    "prompt": [
        "trl",
        "is",
        "pretty",
        "great",
        "but",
        "it",
        "has",
        "a",
        "small",
        "bug",
    ],
    "responses": [
        [
            "good",
            "bad",
            "worse",
            "horrible",
            "not good",
            "poor",
            "awful",
            "substandard",
            "unsatisfactory",
        ],
    ]
    * 10,
    "pairs": [
        [(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8)],
    ]
    * 10,
}
train_dataset = Dataset.from_dict(train_dataset_dict)

training_args = TrainingArguments(
    per_device_train_batch_size=4,
    remove_unused_columns=False,
    output_dir="./tmp",
    report_to="none",
    num_train_epochs=10,
)

dpo_trainer = DPOTrainer(
    model,
    model_ref,
    args=training_args,
    beta=0.1,
    train_dataset=train_dataset,
    tokenizer=tokenizer,
)

dpo_trainer.train()

Towards the end of training, you'll see that 85.00% of all pairs have been ignored in this example.

Proposed fixes
Before I start working on it, I'd like to discuss my proposed changes:
The fix
Spread out the training and evaluation datasets into a Dataset of prompt, chosen, rejected columns right in the DPOTrainer.__init__. This requires some small changes throughout this work, but will work conveniently otherwise: each dataset element will be one training sample. It also has a drawback: prompts and responses will need to be tokenized multiple times, unless we immediately store the prompt-chosen-rejected dataset in a tokenized way.
Alternative input structures
prompt, chosen, rejected
Beyond that, I can also implement a more drastic change: require the user to provide a Dataset with prompt, chosen, rejected columns.
prompt, responses, chosen | pairs
A less drastic change is to allow users to provide a chosen column like:
"chosen": [0, 1, 0, 0]

where the chosen is simply the index of the best response, instead of pairs like:
"pairs": [
        [(0, 1)],
        [(1, 0)],
        [(0, 2), (0, 1)],
        [(0, 1), (0, 2), (0, 3)],
    ]

Internally, we can use this chosen to create the same pairs. This is simpler for most users, but is less powerful, as the pairs approach allows for a ranking (e.g. also say that although response 1 is best, response 2 is better than response 3). I propose that the input dataset should either have a pairs or chosen column.
What now?
I would love some feedback on your thoughts on:

Is the proposed fix (internal prompt, chosen, rejected columns) a good idea?
Should we change the input structures to prompt, chosen, rejected, prompt, responses, chosen | pairs, or keep it as-is?

Tom Aarsen

thanks @tomaarsen for the report. I know of the batch issue but didn't realize it would be so bad for this use case... let me review your kind proposal and brainstorm. in the original code, the batch collation occurs on the dataset preparation side...

Hi @tomaarsen! I'm new to the repository and I'm wondering if you could help me understand the issue you identified. I thought the current datasets only have 2 responses per prompt? (the chosen response and the rejected response). That is, I thought len(pairs) = len(responses) = 2 for all batches. In that case, the code should work fine, or did I misunderstand anything?
Thanks!

@liutianlin0121 no the dataset can potentially have more than one preference per prompt and in the collator, i am looping over each prompt and when the result has the required batch size i return from that prompt/preference example and move onto the next, meaning that for an example where there are many pairs, currently the collator is just not using them...

Hi @tomaarsen! I'm new to the repository and I'm wondering if you could help me understand the issue you identified. I thought the current datasets only have 2 responses per prompt? (the chosen response and the rejected response). That is, I thought len(pairs) = len(responses) = 2 for all batches. In that case, the code should work fine, or did I misunderstand anything?
Thanks!

@kashif's response is correct. Here's a bit more information that should clear it right up: https://huggingface.co/docs/trl/main/en/dpo_trainer#expected-dataset-format

Tom Aarsen

@tomaarsen  @liutianlin0121  at the moment I am tending towards setting the default data format for the DPO to be "prompt", "chosen", and "rejected" keys and let the individual dataset helpers create these dicts. Then I believe everything should work with the DPO collator... let me send you a PR for review?

Thanks both! 👍

@tomaarsen  see #540 what do you think?

I'll give it a try

Looks good, works well. I'll give my remaining feedback in the PR itself


MediaFusion | ElfHosted

Addon Manifest URL
https://mediafusion.elfhosted.com/manifest.json
Addon Description

This is a public, ElfHosted instance of MediaFusion for the Stremio community - Enjoy! (reasonable rate-limits apply)
Watch Tamil, Hindi, Malayalam, Kannada, English, and dubbed movies & series with the MediaFusion add-on. Created by Mohamed Zumair - Source Code on GitHub.
ElfHosted is an open-source PaaS built and run by geeks, which self-hosts your favorite streaming apps for you, automatically and easily.
Individual, hosted MediaFusion instances are available (say, if you need to add your private trackers) from $0.05/day, with $10 free credit for new accounts.
Why use ElfHosted Stremio addons?

✅ Highly-available, open-source infrastructure /
✅ Active contributors to r/StremioAddons subreddit and Discord
✅ Geek out over public performance metrics

🔎 Advanced Scraping Capabilities
Tap into a world of content with our enhanced scraping features:

🏎 Formula Racing: Exclusive scraping from TorrentGalaxy for all your racing needs.
🎥 TamilMV: Specialized scraping for regional contents.
🌟 TamilBlasters: Dedicated access to an extensive library of regional content.
📺 TamilUltra & MHDTVPlay: Get the best of Live TV channels right at your fingertips.
🔄 Prowlarr Integration: Supercharge your scraping streams with Prowlarr's powerful integration.
🌊 Torrentio Streams: Optional scraping streams directly from Torrentio/KnightCrawler streams for even more variety.

🎬 Streaming Provider Integration
Seamless playback from a diverse array of torrent and cloud storage services:

📥 Direct Torrent (Free)
🌩 PikPak (Free Quota)
🌱 Seedr.cc (Free Quota)
☁ OffCloud (Free Quota)
📦 Torbox (Free Quota)
💎 Real-Debrid (Premium)
🔗 Debrid-Link (Premium)
✨ Premiumize (Premium)
🏠 AllDebrid (Premium)

🛠 Enhanced Additional Features
Our addon comes packed with features designed to elevate your streaming experience:

🔒 API Security: Fortify your self-hosted API with a password to prevent unauthorized access.
🔐 User Data Encryption: Encrypt user data for heightened privacy and security, storing only encrypted URLs on Stremio.
📋 Watchlist Catalog Support: Sync your streaming provider's watchlist directly into the MediaFusion catalog for a personalized touch.
⚙ Stream Filters: Customize your viewing experience with filters that sort streams by file size, resolution, seeders and much more.

Language of Content
None
Choose Labels

[X] anime
[X] asian drama
[X] bollywood
[ ] cartoons
[X] debrid support
[X] http streams
[X] live tv
[ ] metadata
[ ] misc
[X] movies
[ ] music
[ ] nsfw
[ ] podcasts
[ ] radios
[ ] subtitles
[X] torrents
[X] tv shows
[ ] video games

Why always this addon stuck my tv and always have to turn it off from power to fix it,and it doesnt read addon subtitles,only embeded,thanks

Why always this addon stuck my tv ,google tv,android 12,and always have to turn it off from power to fix it,and it doesnt read addon subtitles,only embeded,thanks

This issue has been fixed on v3.9.0

Live Streams onky work on when using web.stemio
But they do not work on stremio on the firetv, please help me

@Bigfella707 explained it here: https://github.com/mhdzumair/MediaFusion/issues/180

Keeps saying torrent not downloaded even if it's working on everything else

Not many links generate for live events, most have none

Pikpak provider says I have invalid credentials.
I have a pikpak premium account linked to a Google account and set a password inside the app.
Those are the credentials I use but still cannot get anything

Pikpak provider says I have invalid credentials.
I have a pikpak premium account linked to a Google account and set a password inside the app.
Those are the credentials I use but still cannot get anything

Same problem here for Pikpak.
Tried on various accounts including regular emails and Google account. It only worked once for each account, after that I got invalid credentials. If it's invalid, why would it work the first time?

It was due to not fully handle the exception in pikpak api, just pushed some changes into PikPak API library and will include the changes into MediaFusion.  https://github.com/Quan666/PikPakAPI/pull/58
Also note that, the PikPak doesn't have an official API, We set up the API based on the tracing the application and website request. It sometimes failed due to captcha errors. This is now handled separately instead of showing Credential Error.

Is there a way to install it with 2 debrids? for example with RD and AD at the same time

Is there a way to install it with 2 debrids? for example with RD and AD at the same time

Nope currently you can't do that. You can install multiple time with different streaming provider. This is due to the character limitation in the url as we adding more config options. We're plan to migrate this option soon. After that will think about adding that functionality


vsprintf replacement with engine vairant

resolves first issue in
https://github.com/GarageGames/Torque3D/issues/1515#issuecomment-184446719

Correct! thanks Az.


'Routing' was used instead of 'DNS'

Resolved incorrect word in description for custom DNS.

@da5is : Thanks for your contribution! The author(s) have been notified to review your proposed change.


docs: "How this library works"

Add docs page with internal information about how the library and mixer communication work.
Also reference this blog post: https://blechtrottel.net/en/jswebsockets3.html (they also mentioned this project)

done in 16528874d4a203d4f2623379e702c0e7838453a7


[VS Code] Starting collaboration session: Already connected to a workspace.

Error:
Starting collaboration session: Already connected to a workspace.
Steps to Reproduce:
1.
2.

Version Data

extensionName
VSLS

extensionVersion
1.0.379

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.35.0

platformName
Linux

platformVersion
4.15.0-51-generic

Duplicate of #2253. A fix will be in the update coming this week.


Prioritize date_start when defining WCS and coordinate frame

As pointed out by @yjzhu-solar, in EIS SW Note 9, Section 2.4, it states that,

The FITS headers, however, do not include the time of each exposure, and thus the pointing keywords should be tied to a time that is also provided in the header. The best time to use is the one contained in the DATE OBS keyword, the start time of the raster. This means that all the pointing data in the FITS headers need to be positions at that time.

Previously, EISMap was overriding .date in order to prioritize date_average, the midpoint of the raster, clearly in contrast to the above statement about how the pointing keywords are defined. As such, this PR does two things:

Removes the overriding of .date. Now, EISMap.date will fall back to that in sunpy.map.GenericMap which will prioritize DATE-OBS and DATE-BEG before DATE-AVG.
Adds a reference_date property which always prioritizes date_start. (see below for rationale of why this was added).

This fix is somewhat complicated by the fact that date handling in sunpy was recently overhauled (see sunpy/sunpy#7682 for more information). However, with these fixes, EISMap should still use the correct date in both current and future versions of sunpy:

In versions prior to sunpy v6 (i.e. 5.1.x and below), .date is used to to define the WCS as well as coordinate frame. As such, with this PR, .date_start will now be used to define the WCS and coordinate frame.
In version 6.0 of sunpy and beyond, .reference_date is used to define the coordinate frame. Additionally, on the WCS, the dateavg property is set to to .reference_date such that the start date of the raster is appropriately prioritized.

I've also adjusted and simplified the tests for the date handling in EISMap as most of that testing is now covered in GenericMap anyway.
Regarding the definitions of the EIS pointing keywords, two questions:

That SW note is rather old. Is this all still true?
That SW pertains to the full raster files. Does it still hold for the FITS files that are produced after fitting? I'm not sure why it wouldn't be, but figured I would ask the question.

Great questions! We do have all of the pointing and timing information in the EIS level-1 HDF5 files, which are loading into .meta['date_obs'] and .meta['pointing'] in the EISCube objects (and copied over to the the meta information in the full EISFitResults object). I did some tests today and can confirm that, yes, the pointing information we are saving in EISPAC is consistent with the corrected coordinates given in the SSW routines. Specifically, the coordinates are given for the full EIS FoV as seen at the start of the raster (date_obs of the first exposure). Therefore this PR should give the correct coords using SunPy maps.
As to @yjzhu-solar's point about solar rotation, I am told that adjustments for rotation are done on the spacecraft side, rather than the instrument side. Almost all on-disk rasters should be taken while the spacecraft actively tracking and adjusting for rotation while off-limb observations are typically taken without tracking. The tracking mode is indicated by the tr_mode key in the original fits header (or the .meta['index'] in an EISCube). As best as I can tell, "FIX" and "TR0" indicate no tracking while "TR1" - "TR4" indicate different tracking modes (not sure at the moment what each mode means). Unfortunately, the tr_mode keyword is not currently exported the EISMap or ".fits" files saved by EISPAC, but this can be corrected easily.
Thanks for catching this! Since correcting the default timestamps may affect coordinate conversions to/from an EISMap, do you think we should raise an warning in the console to notify users of the change?

Thanks for catching this! Since correcting the default timestamps may affect coordinate conversions to/from an EISMap, do you think we should raise an warning in the console to notify users of the change?

It's a fair point that this is a breaking change, but I would claim this is really a bugfix and is the way it should've worked from the start (I really should have read the accompanying software note before assuming these were defined at date_avg!). If you want to make users aware of this change, I would stick a note in the changelog or release notes for whatever release this makes it into.

As best as I can tell, "FIX" and "TR0" indicate no tracking while "TR1" - "TR4" indicate different tracking modes (not sure at the moment what each mode means). Unfortunately, the tr_mode keyword is not currently exported the EISMap or ".fits" files saved by EISPAC, but this can be corrected easily.

Thank you for pointing out the correct FITS keyword! Should we determine the timestamp to use based on this keyword? Is it better to issue a warning about the solar rotation tracking status and the decision on which timestamp to use?

Finally merging this in and will start work on updating the fits header for better compliance with the FITS-4 standard (see #100) and include more spacecraft- and instrument-specific keywords (such as the tr_mode key mentioned here).


Implement volume metrics

Is your feature request related to a problem? Please describe.
It seems the current CSI driver does not implement standard Kubernetes volume metrics / volume stats, e.g. kubelet_volume_stats_used_bytes or kubelet_volume_stats_available_bytes. Therefore, it is not possible to easily monitor e.g. free space on PVCs with Prometheus.
Describe the solution you'd like
The CSI driver should expose volume stats so that we can monitor our PVCs (or, if it is already possible, describe this in documentation, as there is nothing on this subject)..
Describe alternatives you've considered
Currently the only way to monitor PVCs state is to use workarounds, like create a bash exporter container for each PVC or application, periodically run df command and expose a custom metric via a separate ServiceMonitor.

Implemented


Adds code to conf.py to fetch and use material from thicket-tutorial

This PR adds code to docs/conf.py to fetch, run, and use the notebooks from thicket-tutorial when building the Thicket docs with Sphinx. conf.py now contains 3 variables to track content we want:

tutorial_target_branch: a string which specifies the branch of thicket-tutorial to use
tutorial_notebooks: a dictionary where keys are the paths to the desired notebooks relative to the root of thicket-tutorial and values are paths to where the executed notebooks should be dumped
extra_python_packages: a list of extra PyPI packages to be appended to the end of the requirements.txt file from thicket-tutorial

The new code will then do the following:

Clone thicket-tutorial into a temporary directory created with tempfile from the Python standard library
Copy requirements.txt from the clone into Thicket's docs directory
Append the contents of extra_python_packages to the copied requirements.txt
Iterate through each notebook in tutorial_notebooks, run the notebook through Papermill, and dump the executed notebook into its destination from tutorial_notebooks

This PR also includes minor changes to the Makefile in docs to delete executed notebooks and requirements.txt when a user runs make clean.
Finally, huge credit to @vanessalama09. Her work on a similar PR in thicket-tutorial (LLNL/thicket-tutorial#23) was integral in helping me come up with this idea.

Unfortunately, we cannot use this because ReadTheDocs does not allow us to use a Docker container inside the Docker containers they use to build the documentation.


Parsley 2.2.0-rc4 fails with RequireJS

I'm sad to report that my initial assessment of Parsley 2.2.0-rc4 working with RequireJS appears to be premature.  Here's a public page where you can see this issue live:
http://imawhale.com/apply
If you click on the "Next" button, most of the time, nothing happens.  The code for the "Next" button is this:
$('#form-next-button').on('click', function(e) {
    e.preventDefault();
      if (false === $('#application-form').parsley().validate('form-section' + (currentSlide + 1) ))
        return;
    $('#form-section' + (currentSlide + 1)).hide();
    currentSlide++;
    if (currentSlide > 4)
    	currentSlide = 4;
    $('#form-section' + (currentSlide + 1)).fadeIn();
    updateFormControls();
});

It dies in the call to parsley().validate()
The Parsley script is properly loaded without errors, and everything else works properly with RequireJS... but about 80% of the time when you reload the page, the validate() call above appears to do nothing.
The form validation is initiated by the data-parsley-validate on the <form> and the field groups are properly tagged with data-parsley-group to group them.
All of this works if Parsley is loaded via a <script> tag, and not via RequireJS.  Help?

@marcandre For what it's worth, my guess is that because it's sporadic in nature, that the bug it somehow timing related.  Perhaps a race condition somewhere when the script is instantiated via RequireJS?

I took a couple of minutes to look at it.
It's systematic. If you reload when the form is not visible, then scroll to the form, it doesn't work. If you reload when the form is visible, it works.
There's got to be some kind of javascript going on and messing with the form, maybe copying it / detaching it / I don't know for sure, but parsley keeps some references to jQuery elements (_ui.$errorClassHandler) and in the cases where it doesn't work, these point to elements that are no longer on the page (same elements, but different data-parsley-id).
In short, there's some screwed up interaction with whatever you're using to hide/display the form when scrolling. Maybe binding the form manually at the right time, instead of using data-parsley-validate, would resolve your issue. Good luck.

@marcandre Wow, thank you for looking into this.  It was indeed as you expected, apologies for the erroneous report.


Strengthen odata server security using Helmet

Dear CAP Developers
During a Security Review of our CAP-apps we found out that the default oData-Server is only secured against CSRF exploits and that we need to implement further security ourselves, for example by using Helmet (see Expressjs Security Best Practices).
Therefore I propose that some of those security best practices will be implemented in the default odata-server and in the meantime if there would be an example on https://cap.cloud.sap/ in order to make people aware of this gap, that would be great.
Thanks,
Ben

Hi @bkrencker,
The dev team has updated the docs for Node.js providing a new section Best Practices > Securing Your Application. Hope that helps and solves the issue?
Best regards,
Iwona

Hi Iwona
Yes that's great, thanks!
Best regards,
Ben
Von: Iwona Hahn<EMAIL_ADDRESS>Gesendet: Freitag, 19. Juni 2020 12:02
An: sapmentors/cap-community<EMAIL_ADDRESS>Cc: Krencker Benjamin<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Betreff: Re: [sapmentors/cap-community] Strengthen odata server security using Helmet (#87)
Hi @bkrenckerhttps://github.com/bkrencker,
The dev team has updated the docs for Node.js providing a new section Best Practices > Securing Your Applicationhttps://cap.cloud.sap/docs/node.js/bestpractices. Hope that helps and solves the issue?
Best regards,
Iwona
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/sapmentors/cap-community/issues/87#issuecomment-646550482, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM6XG5M3EE734WKCWH4HY5LRXMZRJANCNFSM4OA4ECUA.


Implement backups

Implement manual backups (hourly, daily?).
realm-backup SOURCE TARGET
SOURCE is the data directory of the Realm Object Server (typically configured in /etc/realm/configuration.yml under storage.root_path).
TARGET is the directory where the backup files will be placed. This directory must be empty or absent when the backup starts for safety reasons.
After the backup command completes, TARGET will be a directory with the same sub directory structure as SOURCE and a backup of all individual Realms.

A rough implementation of automated, daily backups has been implemented.
Since this is a work in progress, it is only enabled when the ENABLE_BACKUPS=true environment variable is set.

This still needs compatibility with the default user (#8), as well as reading the database path from the configuration file and finally being able to customize the backup and cleanup schedule.


MAINTAINERS: add NXP collaborator

Add @Dat-NguyenDuy to NXP collaborators.
cc @dleach02 @mmahadevan108

Ok with this addition, but I think we should discuss splitting out the maintainers definition by platform. Renesas and Microchip both do this: https://github.com/zephyrproject-rtos/zephyr/blob/main/MAINTAINERS.yml#L2535

It was proposed not so long ago but the NXP decision was to keep a single entry in maintainers file (https://github.com/zephyrproject-rtos/zephyr/pull/60969#issuecomment-1660218244 just conclusion mentioned there). Perhaps we could revisit this and come up with the update in a follow up pr.


[Bug]: Small inconsistency with cw: single letter words

Make sure you have done the following

[X] I have updated to the latest version of the plugin.
[X] I have read the README.
[X] If the issue is about cw or dw, I have read the note on w in operator pending mode.

Bug Description
If we'd want to have backwards compatibility with regular cw, then this case is not covered:
c<cmd>lua
^  cursor on first letter

ce on the single letter word c initates a change word of the whole chunk c<cmd.
I'm talking about ce here because that's described as the "vanilla nvim cw behaviour".
Reproduction & Sample Text
c<cmd>lua
^  cursor on first letter

command cefoo<Esc>
Actual text after: foo>lua
Expected text after foo<cmd>lua
neovim version
0.9.5

Special Settings
No response
Thanks for the nice plugin, I think your notion of insignificant punctuation is right. If this issue is just annoying, then let's close it, I just thought it was interesting to discuss this.

bump


Adding security testing job

In addition to adding a new pipeline stage, this also improve the job descriptions, fixes the layout of the dsl, and reduces the complexity of the credentials.  Rather than working around the fact that you can't pass a credential parameter down the pipeline (you can but it won't bind unless it's globally scoped), it just has the credential parameters at the point they are needed and relies on default names (unless you change them).
May have an impact on training course instructions i.e. where to add the parameters.

Is this line correct? https://github.com/Accenture/adop-cartridge-docker/pull/3/files?w=1#diff-3135ba3887142379aefbab6c0a4d126fR547
Also, there's a lot of whitespace changes that are getting picked up - are those tabs that are becoming spaces (which is OK)?

Hi @nickdgriffin thanks for reviewing.  Yes the whitespace changes were replacing tabs.  Hopefully the latest version of the file universally displays nicely.  The change of the variable to dockerhub was intentional since currently the code makes no attempt to consider alternative docker registries (and I didn't try to improve that).

@NinjaPT @RobertNorthard I made the changes we discussed:

Bye bye image and container test
BDD renamed to container test
Image build logs docker inspect output (to console)
re-order container test before vulnerability


GitHub links are broken on hyper.is/plugins page.

When navigating to the hyperpower plug-in page, the GitHub links on the bottom of the page are broken.
Image of the cursor hovering over GitHub icon.

Image of the cursor hovering over 'VIEW SOURCE CODE' link.

I think this might be an issue with the site itself. The links are fine at https://hyper.is/plugins/hyperpower, they are only broken on the page where you get by clicking on View source code (and the source code is not displayed.


Support container link

This patch supports container linking to docker-registry.
If you have registry as a container on the same docker instance,
You can connect it using container linking. Alias is "registry".
e.g.
--link CONTAINERID_OR_NAME:registry

:+1: this would be very usefull

need rebase!


Fix unit test errors from tensorflow-datasets==4.9.0

Summary

The recent change from tensorflow-datasets==4.8.3 to 4.9.0 makes unit test errors for Windows and MacOS: https://github.com/openvinotoolkit/datumaro/actions/runs/4618774184
Limit to tensorflow-datasets<4.9.0

How to test

Checklist

[ ] I have added unit tests to cover my changes.
[ ] I have added integration tests to cover my changes.
[ ] I have added the description of my changes into CHANGELOG.
[ ] I have updated the documentation accordingly

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below).

# Copyright (C) 2023 Intel Corporation
#
# SPDX-License-Identifier: MIT

Codecov Report
Patch coverage: 72.07% and project coverage change: -0.03 :warning:

Comparison is base (3e0cbf0) 78.88% compared to head (943cd03) 78.86%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #915      +/-   ##
===========================================
- Coverage    78.88%   78.86%   -0.03%
===========================================
  Files          210      210
  Lines        25065    25145      +80
  Branches      5032     5036       +4
===========================================
+ Hits         19773    19830      +57
- Misses        4159     4179      +20
- Partials      1133     1136       +3

Flag
Coverage Δ

macos-11_Python-3.8
?

ubuntu-20.04_Python-3.8
78.86% <72.07%> (-0.02%)
:arrow_down:

windows-2019_Python-3.8
?

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

Impacted Files
Coverage Δ

datumaro/plugins/data_formats/kitti_raw/base.py
84.44% <ø> (ø)

...tumaro/plugins/data_formats/sly_pointcloud/base.py
88.99% <ø> (ø)

...ugins/data_formats/datumaro_binary/mapper/media.py
86.66% <50.00%> (-1.71%)
:arrow_down:

datumaro/components/media.py
81.16% <72.44%> (-2.30%)
:arrow_down:

datumaro/components/exporter.py
86.29% <100.00%> (+2.21%)
:arrow_up:

datumaro/plugins/data_formats/datumaro/base.py
93.66% <100.00%> (ø)

datumaro/plugins/data_formats/datumaro/exporter.py
94.91% <100.00%> (-0.03%)
:arrow_down:

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

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

https://github.com/openvinotoolkit/datumaro/actions/runs/4618774184

Please see https://github.com/openvinotoolkit/datumaro/actions/runs/4618774184


[Question] Fail to publish stream via https

Sorry for my English, I use srs-stack for livestreaming video, I deployed to AWS EC2, opened the port according to the instructions (8000/udp, using WebRTC - WHIP) and with http it runs fine, but after pointing the domain and configuring https with let's encrypt , the domain name has been accessed but when I published the stream I received this error (Image below). Am I missing any steps?

你可以选择中文版本，Issue可以用中文提交，会自动翻译。
回到你的问题，你是否完成了Usage第一步：开放UDP 8000端口，是否可以用网页打开WHIP推流？

You can choose the Chinese version, and issues can be submitted in Chinese; they will be automatically translated.
Returning to your question, have you completed the first step under Usage: opening UDP port 8000, and are you able to open WHIP streaming through a web page?
TRANS_BY_GPT4

I have solved it. I realized my domain is configured  through Cloudflare, I tried editing the DNS record to "DNS Only" instead of "Proxied" and it worked. I will close this issue, thanks for replying

是的，如果你选择CF的Proxied模式，那么CF会托管这个域名的所有流量，那么UDP 8000肯定是不能用的，选择DNS Only就可以了。


Discord Bug Report: hyment

Reported on: 2022-03-26T16:47:08.862000+00:00
Bug Description:
User with Portis wallet cannot connect their wallet to the app successfully. Rewards do not load and their deposited positions do not show up either.
Attachments:
content_type: image/png
filename: appbadger.png
height: 913
id:<PHONE_NUMBER>33354516
proxy_url: https://media.discordapp.net/attachments/863051342436499498/957319809333354516/appbadger.png
size: 155209
url: https://cdn.discordapp.com/attachments/863051342436499498/957319809333354516/appbadger.png
width: 1239

not an api issue


Upgrading docker version in CI testbeds

Currently we have two setups with 17.06 and 17.03.02 docker.
Docker stable release 17.09.0-ce (2017-09-26) is out and 17.03.02 should be upgraded to 17.09 (TOT - https://docs.docker.com/release-notes/docker-ce/)
/CC @tusharnt

Upgraded docker version on Photon VMs to  17.09.0-ce. Closing this issue.


Update blocked asking for new permissions?

I received a notification this morning saying that the update of this extension was blocked until I authorized additional required scopes ("Update blocked pending authorization of new scopes").  However, when I click the "Authorize" button, it does not list any additional new scopes (notice that nothing is listed after the colon).
A new version of CI/CD Tools for VSTS Extensions is available and now requires these permissions:

By clicking Authorize, you authorize this extension on behalf of all users in this organization.

Can you help me understand:

What scopes are currently authorized for this extension (can't find a way to view this)
What NEW scopes are now required (Authorize dialog doesn't specify any)?

You can see the old permissions here:
https://github.com/Microsoft/vsts-extension-build-release-tasks/commit/f12d4b5a170f58b8ad060ddf8a065c93f92e121e#diff-807f48e9e32f775acf3cc8ec88d5a518


Disable link concealing?

Since the issue of link wrapping and virtual text can't be fixed, can I disable concealing markdown links at all? When I do the following, it doesn't work. The concealing is only disabled if I disabled the plugin entirely.
    opts = {
			link = {
				enabled = false
			},
    }

You asked this same question in this discussion: https://github.com/MeanderingProgrammer/render-markdown.nvim/discussions/231, and seem to have ignored my answer.

I forgot 😢😢😢


[FEATURE] Create Table of Content component

As a user I want to have an open/close widget containing a table of content.
Acceptance criteria (AC)

[ ] create an accessible open/close widget (maybe using details/summary tag)
[ ] use dummy text, like title, heading 1, heading 2, heading 3, ...
[ ] the widget should be visible on the right side of the page
[ ] create a dummy content page with headings and paragraphs
[ ] when clicking on a heading in the widget it should bring me to the section of the page
[ ] only use as much as CSS as needed (concentrate on functionality)

Additional information
For the dummy text, you can use a lorem ipsum generator https://www.lipsum.com/

Can this be assigned to me? @YuriDevAT

Happy to have you contributing to this project, @Chizycodes 😄


⚠ TiendaEnLinea has degraded performance

In ce7b792, TiendaEnLinea (https://www.fahorro.com/) experienced degraded performance:

HTTP code: 200
Response time: 6377 ms

Resolved: TiendaEnLinea performance has improved in fb99049.


Add test coverage for text-selection div

During the tests, we only do ref tests of the rendering output, but we don't check for the generated text divs. Would it make sense to change the test runner, such that it creates a ref image of the actual PDF page first and then hides the canvas and displays the text divs by setting the text color to black and creates another ref image to compare on?

Is it possible to capture DOM text as an image?

Good point. There is http://html2canvas.hertzen.com/, but that seems not really to take a screenshot. Wondering how the layout things are tested in FF.
@cgjones, do you know this? Is there a way to get the current page content as an image? Is there a way to do this from within the browser.


use latest librtmp

as stated there: http://rtmpdump.mplayerhq.hu/ we should use the git repository, as the sources tar ball are very outdated

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: jeremad sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Implement TCO to avoid stack ovverflow

There is a recursion loop between stateSelfClosingStartTag and stateSelfClosingStartTag which in the worst case consumes 2 stack frames per input character.
We avoid this recursion by manual implementing tail call optimization (TCO) which a go compiler does not do automatically.
Also add a unit test to reproduce the problem in the first place.
This fixes #16

Ping @anuraaga @manojgop @ns-sundar

There is a sister PR here https://github.com/libinjection/libinjection/pull/36

I have pushed a commit which I think makes this more idiomatic to Go and readable for future authors, TCO is a feature of compilers, not of code.
@jcchavezs This repo needs to migrate to our standard tooling. Can we create a magefiles repo in the org to not copy-paste?

And yeah, IMO the long term refactor seems to be to make sure there is only one top-level processing loop where state transitions happen, rather than happen state transitions and iteration to happen piecemeal within different functions.

Yeah we can create standard magefiles inside corazawaf. At least for lint,
test, format, tidy this should do the trick.
On Mon, 27 Mar 2023, 03:21 Anuraag Agrawal, @.***>
wrote:

And yeah, IMO the long term refactor seems to be to make sure there is
only one top-level processing loop where state transitions happen, rather
than happen state transitions and iteration to happen piecemeal within
different functions.
—
Reply to this email directly, view it on GitHub
https://github.com/corazawaf/libinjection-go/pull/17#issuecomment-1484328670,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXOYAW5DJPGKUCERRO7233W6DTR7ANCNFSM6AAAAAAWHBVQNI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@anuraaga @jcchavezs what is the state of this change? are we pushing this one and then doing a better change?

Merging.


Meta+Tab+Tab not working as before

Hello!
I'm using config at https://github.com/canadaduane/meta-mac/blob/main/keyd/default.conf
As of https://github.com/rvaiya/keyd/commit/39696b946484e70530e9a42b5c03e0e2a6d157bc, hitting tab more than once while meta is held no longer works as expected (this remains true for me if I check out master head as well). With two tab presses, I'm expecting the Gnome app switcher to let me switch "two apps" from most recent. It may also be because of https://github.com/rvaiya/keyd/commit/f87d356ff414947e9dd3b75add5ba93459d3d733 but for some reason I was unable to run make on that version.
Lastly, I recently re-installed my operating system, so it's also possible I did something dumb when re-installing meta-mac/keyd.
Here is the sequence of events recorded when I hit "meta+(tab tab)". It seems the "not working" version sends an additional tab or maybe it's the opposite?:
 It seems your config was relying on undefined behaviour, namely that swap(layer, M-tab) would not release meta after executing M-tab as long as layer had M in its modifier set. Fixing this might be a bit involved. Fixing this might be a bit tricky. I will have to give it some thought.

There is one other subtle bug that seems to have been introduced--and it may be related (unsure as yet):
When I swap between apps using Cmd+Tab, occasionally the focus does not follow. It's strange, because even clicking on the window with the mouse does not give the window focus. (To get focus back, I have to switch back to original app, then switch again--usually I get focus the 2nd time).
I suspect some kind of complex interaction between the application switcher, keyd, and maybe even gdm, but I haven't been able to pin it down yet.

I suspect it is a symptom of the same problem. I've modified what I believe to be the the offending behaviour in the latest commit. Can you see if it fixes the problem?

Success! With regard to Meta+(Tab Tab), this restores the original working behavior, thank you!
WRT the second issue (focus lost on occasion), it seems I still have a problem, but I can't say whether it's keyd or not.
Is there a way to disable the additional 'ctrl' down/up presses, perhaps just to eliminate that as a possible cause of the issue?

Doing that might have a few other implications (which don't immediately come to mind). I doubt the additional control is causing the problem. You could always disable keyd and see if you can reproduce it. My gnome install is borked (it has randomly decided to segfault) so I can't reproduce this at the moment. My suspicion is that it may have something to do with the application specific remapping logic. If you can't reproduce it while keyd isn't running, the next thing to try is to reproduce it while keyd-application-mapper isn't running.

Also was having this issue in gnome when using alt+tab. I'm not using swap, but this config:
[alt]
# Direction keys with alt pressed.
w = A-up
s = A-down
d = A-right
a = A-left

Latest commit fixed alt+tab for me also. Thank you.

I will open a separate ticket for the mysterious focus problem. Thanks again for tab switching joy!


[Improvement] Default value optimization for 0.8

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
We have developed features to improve the performance of Uniffle. But most of them are turned off by default. Now we will prefer to turn on some config options by default.
How should we improve?
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

rss.server.single.buffer.flush.enabled true
rss.server.single.buffer.flush.threshold 128M

rss.coordinator.select.partition.strategy CONTINUOUS

Maybe we can make these parameters as default value. @leixm These config options are related to you. Could you raise three pull requests to modify them one by one? (1)
rss.server.single.buffer.flush.enabled true
rss.server.single.buffer.flush.threshold 128M

(2)
rss.coordinator.select.partition.strategy CONTINUOUS

(3)
rss.server.max.concurrency.of.per-partition.write 30

Sure, i will raise PRs later.

I will make the client compress type as ZSTD by default.

I will make the client compress type as ZSTD by default. cc @jerqi

It's ok for me if we have verified in the production environment.

I will make the client compress type as ZSTD by default. cc @jerqi

It's ok for me if we have verified in the production environment.

ZSTD has been applied in our production for 1 year by default

I will make the client compress type as ZSTD by default. cc @jerqi

It's ok for me if we have verified in the production environment.

ZSTD has been applied in our production for 1 year by default

OK.


tox

Use tox on the project

perhaps @dunossauro could land us a hand

Closed in favor of using azure pipelines


Version 3.0

Added Test Mandate XML to allow usage of the Salesforce Migration Assistant plugin in a more complex Test Class setup.
Fixed bug where the wrong SHA1 was retrieved of the PR target branch due to wrong local git state.
Improved stability
Upgraded dependency junit to v4.12
Upgraded dependency org.json to v2.0
Upgraded dependency force-wsc to v36.0.0
Upgraded dependency force-partner-api to v36.0.0
Upgraded dependency force-metadata-api to v36.0.0
Added dependency commons-beanutils v1.7.0
Added dependency commons-configuration v1.10
Fixed NullPointerException in case previousCommit is "null" when in mode "SMAGit.Mode.PRB" using SMAGit.getPrevCommit() value instead.
Added Custom Settings option to store deployment information and the target org (JenkinsCISettings__c).

Please ignore this PR as I did with the wrong user.


Operators Refactor

Use options to pass in execution options for operator calls
@MichaelDeng03 please look at the changes I made to demo/server. Apparently some mypy errors made it through the cracks for Container that I filled just to pass linter.
Rename celery to run-async because underlying technology not as important as what it's for.
Adapted orchestrator.py to use new Operator refactor, where run-async is passed through to use in Operator.

Póge

I think we excise webapp/demo

:open_mouth:

ok

i'm down lol

let's do it in another PR

We can give swole lad the lines removed


ENH : Added quotes for str method on EpicsMotor

Added quotes round string in str method so this can be used to create the object.

I just found something else which I think comes from pyepics. The EpicsSignal comes back as:

EpicsSignal(value=296.68, read_pv=, write_pv=None)

the <PV ...> is not a real repr. should we subclass PV from pyepics and overwrite that?

Sorry problem with html parsing
EpicsSignal(value=296.68, read_pv=<PV 'XF:23ID1-ES{TCtrl:1-Chan:A}T-I', count=1, type=time_double, access=read/write>, write_pv=None)

We could subclass it, or just change epics.PV._fmtsca (scalar format) and _fmtarr (array format) on library initialization. I assume your preference would be something like PV(pvname='XF:23ID1-ES{TCtrl:1-Chan:A}T-I', ...)?
To be fair, our reprs aren't correct either since we can't recreate the object from the string.
My issue with doing it properly is that real reprs can get terribly verbose and not show what you would really want as an ophyd user. Say you have an EpicsSignal, sig, and type just that in IPython session, you'll see its repr, unless you force it into a string. A proper repr implementation would only show the PV names that it uses, while str would show whatever information we deem useful (value, etc.). The real question is then: does the utility of recreating objects from repr strings outweigh this?

Hi Ken,
yes my preference would be PV(pvname = …) for the __repr__.
I though that if you have a __str__ method then that is shown when the user prints or even just types it in IPython. So we can have verbose __repr__ strings and nice __str__ strings
S
On Jan 6, 2015, at 10:22 AM, K Lauer <notifications<EMAIL_ADDRESS>wrote:
We could subclass it, or just change epics.PV._fmtsca (scalar format) and _fmtarr (array format) on library initialization. I assume your preference would be something like PV(pvname='XF:23ID1-ES{TCtrl:1-Chan:A}T-I', ...)?
To be fair, our reprs aren't correct either since we can't recreate the object from the string.
My issue with doing it properly is that real reprs can get terribly verbose and not show what you would really want as an ophyd user. Say you have an EpicsSignal, sig, and type just that in IPython session, you'll see its repr, unless you force it into a string. A proper repr implementation would only show the PV names that it uses, while str would show whatever information we deem useful (value, etc.). The real question is then: does the utility of recreating objects from repr strings outweigh this?
—
Reply to this email directly or view it on GitHubhttps://github.com/NSLS-II/ophyd/pull/42#issuecomment-68878650.

If we can find another reason to subclass epics.PV, let's go that route. As it is, I think just replacing those strings should suffice.
A quick check shows IPython and Python behave similarly with repr/str:
In [1]: class A(object):
   ...:     def __repr__(self): return 'repr'
   ...:     def __str__(self): return 'str'
   ...:

In [2]: a = A()

In [3]: a
Out[3]: repr

In [4]: str(a)
Out[4]: 'str'

Mmm that is unfortunate it would be much better if the str was returned at the ipython prompt. Do I have the understanding of __str__ and __repr__ backwards?
Perhaps we should just put in the __repr__ for the PV the actual name as PV(‘pv_name’).
S
On Jan 6, 2015, at 10:42 AM, K Lauer <notifications<EMAIL_ADDRESS>wrote:
If we can find another reason to subclass epics.PV, let's go that route. As it is, I think just replacing those strings should suffice.
A quick check shows IPython and Python behave similarly with repr/str:
In [1]: class A(object):
...:     def repr(self): return 'repr'
...:     def str(self): return 'str'
...:
In [2]: a = A()
In [3]: a
Out[3]: repr
In [4]: str(a)
Out[4]: 'str'
—
Reply to this email directly or view it on GitHubhttps://github.com/NSLS-II/ophyd/pull/42#issuecomment-68881717.

Please do not pollute the object model by subclassing from pyepics classes. I still think composition is the right approach here…

No argument there.

Mmm that is unfortunate it would be much better if the str was returned at the ipython prompt. Do I have the understanding of __str__ and __repr__ backwards?

Check here and maybe even here

attn @danielballan regarding IPython display hooks.


[feature request] Item or Gold cost for recruitment

Recruiting villagers should cost a randomized item or gold amount. This would mean that recruiting villagers would be a mini-quest where you need to get the items they want. These items could be related to the biome they are found in.

Added in new update :)


Prefixes error

some of groups have a prefix, the messages delivery to the Discord it's really not readable, any solutions?

got some warn on the consoles

Fixed in 6d502c13d53a4ccdfa3cf4c05f737e881e6050c4


Installed this to use Existing WhisperX installation Conda (that uses my Nvidia GPU) and chose GPU option, but it only uses CPU

The Gui won't let me switch to CPU. Did I miss something? The instance of WhipserX from the command line IS using my Nvidia GPU.
I'm using Windows 11.

Hi,
if you confirmed to use GPU when asked by the program, then this behavior is not expected. However, you should be able to solve it in the following way: check your config.json file inside the configs folder and make sure there is actually a field named "gpu_support" and is set to true, like this:
{
    "env_name": "<YOUR_ENVIRONMENT_NAME>",
    "gpu_support": true,
    "auto_update": true
}

Rerun the GUI and you should be able to select the "cuda" option for GPU.
Note that this will work if your environment was set up correctly and Pytorch for GPU is installed. So, if that didn't work, I suggest you select to create a new environment, as it's the recommended way. To do that, first delete the config.json file, then run the whisper-gui.bat file as if it was the first time.
Let me know if you have more trouble and, if so, attach the logs that appear in the terminal when you set up the program for the first time, so that I can know exactly when the bug appears.
I hope this helps.

Thank you for the response, but strangely enough I don't appear to have a config.json file in that folder or anywhere else...I only have these two files in the config folder:

Because I lack it entirely as if I "deleted" it (as per your instructions above), I ran the whisper-gui.bat
and got this error/result:

??

Seems an error when trying to install additional dependencies. I will look into it and try to recreate the error.

Thanks. Let me know if you need anything else from me.

Hi, I could replicate your error on Windows, should be solved now. I suggest you delete your config.json file if you had one, and run the whisper-gui.bat again selecting to create a new environment.
However, I realized some errors may raise due to the latest releases of some packages:

RuntimeError: Unsupported model binary version: this is easy to fix, just delete the downloaded whisper model (inside models/whisperx/ and let the GUI install the latest version of that model.
RuntimeError: Library cublas64_12.dll is not found or cannot be loaded: Unfortunately, this error seems to be a problem with the latest major release of CTranslate2, which allowed support for cuda 12 but now it seems to have problems with cuda 11. I hope they fix it soon, I will stay tunned.

For now, this last error only happens on Windows for me, I had no problems running the program on Linux. Maybe you could find a workaround with WSL.

Thanks for the details! I guess I'm stuck waiting for CTranslate2 to be fixed.... :-(
I can try WSL...I have Ubuntu installed, but I have WhisperX already working via command line in Windows. I guess I can reinstall everything there for now.

I've posted an issue in the CTranslate2 repo: OpenNMT/CTranslate2#1630
Let's hope they fix it soon :)

I saw this elsewhere.....if it helps...

I think I've already tried number 1, and it still had a problem...but I'm gonna double check that. I will let you know!

Hmm, well I just ran whisper-GUI.bat and it asked me to update, and enable auto-updates and then started up. I can select CUDA now, so I guess it's all working now! :-)
One more question..how do I set --chunk_size 6 --task translate to work via this GUI for a given video/audio file? I use that command flag often for most of the videos I process through Whisper-X.
Thank you for all the help and info.

I'm glad it's working for you now!
About --task translate, it's still not an available option in the GUI, but I will take it into account for a future update, thanks for pointing it out!
I'm closing this issue as it's been solved. Feel free to open a new issue for a new suggestion for this project or if you encounter any more bugs. Thanks.

Hello, your code is very good. I would like to ask how to add localization options. I want to translate the interface into Chinese.

Also, when the subtitles and audio files are forced to align, if the wav2vec2 model of the corresponding language is selected for processing, will the effect be better than the current general model?

Every time I run the .bat file, I get this message: "torchvision is not available - cannot save figures". What is going on? Is there anything I need to do?

Hello, your code is very good. I would like to ask how to add localization options. I want to translate the interface into Chinese.

Hi, thank you!
I also wanted to add an option to change the language. We can work on that together, if you want, just tell me and we open a discussion page in this repo and talk about it.

Also, when the subtitles and audio files are forced to align, if the wav2vec2 model of the corresponding language is selected for processing, will the effect be better than the current general model?

Yes, I would say the transcription should be more accurate.

Every time I run the .bat file, I get this message: "torchvision is not available - cannot save figures". What is going on? Is there anything I need to do?

This is fine, not a problem. Just a warning you can avoid by installing torchvision, but you can safely ignore it.

Nice. How to add the corresponding wav2vec2 model to the options? Does it mean to modify the corresponding item in the code? If so, how?

Wav2vec2 is an alternative, different model to Whisper. If we were to use it, we would need to add an option to choose between both, and modify some functions like _transcribe() and add a function transcribe_wav2vec2().
Are you interested in contributing?

How?

To contribute, you can fork this repo, make your own changes and then merge it with mine via pull request.
Or we can simply discuss ideas in a discussion page.

Hi, master. I have seen that you updated the whisper-gui code. How do we update it and what command is used?

Every time I turn it on, it says it can't be updated. What's going on?

Can I update it manually using commands?

The command to update it is git pull origin master.
The script is trying to run git fetch to look for updates, but for some reason it seems to fail for you. Try manually and tell me if you can.

OK, I will try

It  doesn't work

ok, you need to go first to the path where your whisper-gui repository is. You can do it with cd path\to\your\repository or going directly to the folder where you have it, right click and open the Terminal there.
Once you see that the path appears as C:\....\whisper-gui, then you can run git pull, or directly run the whisper-gui.bat, now it should work.

git pull https://github.com/Pikurrot/whisper-gui
Should I go to the program root directory and run this command using cmd?

The URL is not necessary, but yes, from the directory where your program is

It doesn't work

Your repository seems to have the wrong name. I don't know how you have it organized, so I suggest you clone the repo again with git clone https://github.com/Pikurrot/whisper-gui.git in the directory you want. Then it should work fine.
If you do this, bring your config.json file from the old to the new repository by manually copy-paste.  Also, if you had any saved outputs or downloaded models, bring them too (they are in folders outputs and models).
This is the easiest way I think, as I don't know your problems

OK, I'll try

You should see it there.
Make sure you executed the program of the repository you just cloned, and not another one.
You cloned the repo in its latest version, and you are able to execute it. I don't know what's the issue you are having then.
Sorry I can't be of much help :(

Okay, after I delete all the files in the original folder, I run this command again and it succeed. Thank you.

Nice, glad you found the way!
I'm closing this issue now, open a new one if you ever have a different problem.
Thank you! :smiley:

It would be perfect if I could select the alignment model for the corresponding language of the audio content.

Wav2vec2

An alignment model of the same language of the transcription is already loaded automatically. It is also the language you select in "Advanced Options".
If you mean an option to use a custom alignment model, like Wav2vec2, I will take note for a future update.

Nice, can't wait to try it.

a custom alignment model, like Wav2vec2, that is pretty good.


extend command: yammer group list

Hi guys,
I would like to extend the current yammer group list and add a new parameter to filter the group by userId on top of the existing parameters.
Options

Option
Description

--userId <userId>
Filters the group by userID

Implements this endpoint
Just assign it to me.

I assume the userId should be optional, right? If so, let's change it to [userId] to clearly indicate that it's not required.

Hey @plamber, are you still working on this?

Yes

@waldekmastykarz I have issues at this moment to focus on this project I was used to do a couple of months ago. Therefore, I wanted to ask you if it would be possible to remove me from this task. Maybe somebody else in the community is taking it up before me.
I will come back to these commands and other commands working on them if nobody else is doing it and if I have the necessary time to focus on them if you do not mind.

Sure thing!  Haven't noticed it. Closing the issue


Adding total number of pastes to home

It would be cool showing total number of pastes created on the website right after all other stats in the home page.
I recommend adding a new field to Statistic model and incrementing it on each new submission (or via the cronjob, among other statistics updates).

Kinda cool! There might be a huge migration to Tailwind. Not sure if I plan for it for now! :)


Adding configuration for time required to downscale depoloyments

Currently I believe there's not such configuration where we can tell how much time to wait for deployments to scale down to zero.
Can someone point me to where exactly we have setup timeout loops ?
Will raise a pr for this feature ^
Use-Case
Have different types of workloads which require different scale down timeouts.
Tell us more what you'd like to achieve
Specification
Tell us in detail how this feature should work

KEDA Core has this as part of the ScaledObject for scaling to 0 as per cooldownPeriod so it should be feasible to do this.
For the rest, it's up to the HPA to define when to scale in if I'm not mistaken - Correct @JorTurFer / @zroubalik?

The request from @Kaitou786 in https://github.com/kedacore/http-add-on/discussions/550 is for scaling to 0 so cooldownPeriod should work.

Will raise a pr for this 🙌

yeah, cooldownPeriod is for the scaling from/to 0, the rest of the scaling is modified by the advanced section of the HPA, in KEDA core we have support to it in the ScaledObject, maybe it's something we can expose here too

@JorTurFer Let's do on a feature-per-feature basis to avoid making it too complex and ensure it works properly with this add-on (ie scaling mechanics/scenarios, etc)

after trying this feature out with v0.4.0 I created a HTTPScaledObject
apiVersion: http.keda.sh/v1alpha1
kind: HTTPScaledObject
spec:
  host: host.mydomain.com
  replicas:
    max: 1
    min: 0
  scaleTargetRef:
    deployment: mydeployment
    port: 80
    service: mysvc
  scaledownPeriod: 600
  targetPendingRequests: 100

apparently the cooldownPeriod is never being put into the ScaledObject
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
spec:
  advanced:
    restoreToOriginalReplicaCount: true
  maxReplicaCount: 1
  minReplicaCount: 0
  pollingInterval: 1
  scaleTargetRef:
    kind: Deployment
    name: mydeployment
  triggers:
  - metadata:
      host: host.mydomain.com
      scalerAddress: keda-add-ons-http-external-scaler.keda:9090
    type: external-push

did I miss something?

Fixed in #587

I've just been hit by this too. When will the fix be released? I'm on chart version 0.4.1 and it doesn't seem to be passed through.

the chart v0.4.1 still contains app version v0.4.0 so we will need an update on both http-add-on and the chart

You can use a specific docker tag, we have reintroduced the docker tag generated from commit sha, so you can use ityo have those changes. We don't plan to release another version soon, we released 0.4.0 10 days ago.
Tag 8b1df1f doesn't have any breaking change yet, so you can use it for having the fix

I'm probably wrong, but I believe this was an error with the chart not the underlying app, so a docker tag won't help in this situation?

Hi @BottlecapDave ,
I don't think so, ScaledObjects are generated by the app as part of HTTPScaledObject processing. I mean, if the error isn't that the value is missing in the HTTPScaledObject (and I have understood that this case is related with the ScaledObject), the app is the responsible for generating them.
What is the problem you are facing exactly? Maybe it's similar but not the same

just for protocol I figured out the first usable image tag after merging #587
I only need to pass these values to the keda-http-add-on Helm chart:
images:
  tag: 8b1df1f

you probably can use canary tag too but this was the first tag after fixing the ScaledObjects bug.
Thank you all

yeah, @holygrolli is right.
I don't recommend to use canary directly because any breaking change could introduce a problem in your clusters, using a fixed tag is better for stability


added leibniz formula for calculating pi in c++

Description
Added the Leibniz formula for calculating the value of the mathematical constant pi. The value of pi is the sum of a series and the value becomes more and more accurate if we increase the number of terms to be considered.

@kelvins Thank you , It was a pleasure contributing to this repository.


[NEW] Add erase feature in drawing

Closes #1938 #2021
New Features
On Clicking eraser widget you can erase from the canvas
On long pressing the eraser widget the whole canvas got cleared
Also, the size of eraser can be increased/decreased using stroke width
Bug Fixes
Not able to select black color in color pallete
GIF

New GIF

@filipedelimabrito pls review

Updated @filipedelimabrito  Pls review


limit price bug for small numbers

If I enter a quantity and then go to limit price and enter a limit price of .01...it changes to show 1 in the limit price (same if i enter .05...shows 5)
***It works correctly if i enter 0.01

fixed


Changed Audit Trail trimming task to delete all records in one batch

I've changed the Audit Trail trimming task to delete all records in one batch, rather than iterating through the table records. This will be a far more efficient method of clearing up the audit trail.
I brought in ITransactionManager instead of changing IRepository to support multiple deletions, as this would have less of an impact on the codebase.

Makes a lot of sense to me.


kibana 5.6.12 security update

I think the latest tagged bosh release includes kibana v5.6.4. Could it please be bumped to 5.6.12?
Looks like there's a pretty big CVE which needs to be addressed.
https://discuss.elastic.co/t/elastic-stack-6-4-1-and-5-6-12-security-update/149035

Hi @thelangley ! I just published new release. Please check releases page.

This is completely amazing. Thanks so much. We're rolling out to our lab now :)


CAN'T STOP THE FEELING! (Original Song from DreamWorks Animation's "TROLLS") by Justin Timberlake unsupported.

Check if issue with swaglyrics or whether song lyrics unavailable on Genius.

stripper -> Justin-Timberlake-CANT-STOP-THE-FEELING-Original-Song-from-DreamWorks-Animations-TROLLS
version -> 1.1.0

added


Problem understanding (and using) the two-way-bound data of "selected-object" attribute

Hello there,
I've been trying to understand how the selected-object attribute works. In the README it says:

Either an object in your scope or callback function.
If you set an object, it will be two-way-bound data as usual.
If you set a callback, it gets called when selection is made.
As far as I understand, two-way-bound data or Two-Way Data Binding (as AngularJs' Docs call it) is:

Changes to View updates Model
Changes to Model updates View

The first definition works just fine: After selecting an item from the suggestions list in the View, the object set in the selected-object is updated.
The second definition doesn't seems to work. After setting/changing theselected-object object's content, the View doesn't change.
After looking a lot for solutions on this, I found a conflicting information in the issue #82, where @ghiden says:

From the original angucomplete and even this -alt, you can't 2-way bind.
It's design makes really difficult to do 2-way bind.

There's also a similar situation in the issues #108 and #143.

I have also found a few issues that point to initial-value as a solution for similar (but not equal) cases. But this solution is just a One-Way Data Binding and cannot update the View if the object set to this attribute is updated after it's set for the first time.
So, it seems that it's just a wrong information in the README, but it would be good to confirm that.
In any case, I can see a few use cases that this would be necessary:

Dependent input fields (i.e.: A zip code input field that sets another angucomplete-alt's input fields, like state or city, contents)
Common options highlighted suggestions (i.e.: A toggle buttons group with the most common items that users use to select from the suggestions list. Instead of searching for an item in the angucomplete-alt's input field, the user will just click one of the buttons and the field would be automatically filled)

I know that it has been said that "It's [this component] design makes really difficult to do 2-way bind.", but as UX Design today is saying that typing with suggestions is better than select menus for long list of options, this may be something to start to thing about.
Also, please let me know if I can help with something or maybe if I can find the solution in another place. ;)
Cheers!

Sorry for the confusion. I'll update the README. No wonder people keep asking me why 2-way data binding isn't working.

Hey,
i was just reading this, while searching for some answers for the data binding. So I'm just asking my question here.
If 2-way binding isn't working, there is no way one could reset the 'selectedObject' from the controllers scope right ?

@nixoschu That's right. It's only one way from directive to controller.

I'm closing the issue, since the README has been updated and there's no plans to make it work in other way. Thanks.


runtime: significant regression in pthread_cond_timedwait performance on Darwin

What version of Go are you using (go version)?
Custom build of go1.11beta1
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/nathan/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/nathan/Go"
GORACE=""
GOROOT="/Users/nathan/Go/go"
GOTMPDIR=""
GOTOOLDIR="/Users/nathan/Go/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/pj/99_s_zrd5tx0fv6pkqjzstkw0000gn/T/go-build818492431=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Compiled CockroachDB, ran basic kv load generator against it.
What did you expect to see?
Comparable (hopefully better!) performance to go1.10.
What did you see instead?
A large (~30%) throughput reduction. Comparing CPU profiles between 1.10 and go1.11beta1 revealed a significant increase in time spent in runtime.pthread_cond_timedwait:
go1.11beta1

go1.10

A git blame of runtime.pthread_cond_timedwait indicated that https://github.com/golang/go/commit/5b5473c6bf0b91fef76e21493c70754144ff0214 could be the cause of the regression. Re-running my benchmark with a binary compiled with and without that commit confirmed it to be cuprit.
cc. @randall77

To clarify, runtime.pthread_cond_timedwait was introduced in 5b5473c and is now dominating the cost of calling runtime.semasleep. On the same workload, runtime.semasleep consumes 0.39% of CPU before 5b5473c and 35.32% after.

runtime.pthread_cond_timedwait doesn't do anything suspicious except call straight into libc's pthread_cond_timedwait. We must be seeing some effect in there.

CC @randall77
We changed the way we handle condition variables to be more compatible with Darwin mechanisms.  There may not be much we can do here.

runtime.pthread_cond_timedwait doesn't do anything suspicious except call straight into libc's pthread_cond_timedwait. We must be seeing some effect in there.

Or perhaps we're not calling pthread_cond_timedwait correctly. Based on a cursory read it seems pthread_cond_timedwait wants an absolute time (i.e., gettimeofday() + ns), but we're passing in ns directly. That seems wrong.
I haven't spent more than about 5m looking at this so it's possible I'm entirely off base.

And, indeed, replacing pthread_cond_timedwait with pthread_cond_timedwait_relative_np seems to resolve the problem.
diff --git a/src/runtime/os_darwin.go b/src/runtime/os_darwin.go
index 5019b9423c..ff375004a3 100644
--- a/src/runtime/os_darwin.go
+++ b/src/runtime/os_darwin.go
@@ -45,7 +45,7 @@ func semasleep(ns int64) int32 {
 		if ns >= 0 {
 			var t timespec
 			t.set_nsec(ns)
-			err := pthread_cond_timedwait(&mp.cond, &mp.mutex, &t)
+			err := pthread_cond_timedwait_relative_np(&mp.cond, &mp.mutex, &t)
 			if err == _ETIMEDOUT {
 				pthread_mutex_unlock(&mp.mutex)
 				return -1
diff --git a/src/runtime/sys_darwin.go b/src/runtime/sys_darwin.go
index ef5aef1929..f0d0815903 100644
--- a/src/runtime/sys_darwin.go
+++ b/src/runtime/sys_darwin.go
@@ -287,10 +287,10 @@ func pthread_cond_wait_trampoline()

 //go:nosplit
 //go:cgo_unsafe_args
-func pthread_cond_timedwait(c *pthreadcond, m *pthreadmutex, t *timespec) int32 {
-	return libcCall(unsafe.Pointer(funcPC(pthread_cond_timedwait_trampoline)), unsafe.Pointer(&c))
+func pthread_cond_timedwait_relative_np(c *pthreadcond, m *pthreadmutex, t *timespec) int32 {
+	return libcCall(unsafe.Pointer(funcPC(pthread_cond_timedwait_relative_np_trampoline)), unsafe.Pointer(&c))
 }
-func pthread_cond_timedwait_trampoline()
+func pthread_cond_timedwait_relative_np_trampoline()

 //go:nosplit
 //go:cgo_unsafe_args
@@ -348,7 +348,7 @@ func closeonexec(fd int32) {
 //go:cgo_import_dynamic libc_pthread_mutex_unlock pthread_mutex_unlock "/usr/lib/libSystem.B.dylib"
 //go:cgo_import_dynamic libc_pthread_cond_init pthread_cond_init "/usr/lib/libSystem.B.dylib"
 //go:cgo_import_dynamic libc_pthread_cond_wait pthread_cond_wait "/usr/lib/libSystem.B.dylib"
-//go:cgo_import_dynamic libc_pthread_cond_timedwait pthread_cond_timedwait "/usr/lib/libSystem.B.dylib"
+//go:cgo_import_dynamic libc_pthread_cond_timedwait_relative_np pthread_cond_timedwait_relative_np "/usr/lib/libSystem.B.dylib"
 //go:cgo_import_dynamic libc_pthread_cond_signal pthread_cond_signal "/usr/lib/libSystem.B.dylib"

 // Magic incantation to get libSystem actually dynamically linked.
diff --git a/src/runtime/sys_darwin_amd64.s b/src/runtime/sys_darwin_amd64.s
index 5522a86a1f..142933585d 100644
--- a/src/runtime/sys_darwin_amd64.s
+++ b/src/runtime/sys_darwin_amd64.s
@@ -447,13 +447,13 @@ TEXT runtime·pthread_cond_wait_trampoline(SB),NOSPLIT,$0
 	POPQ	BP
 	RET

-TEXT runtime·pthread_cond_timedwait_trampoline(SB),NOSPLIT,$0
+TEXT runtime·pthread_cond_timedwait_relative_np_trampoline(SB),NOSPLIT,$0
 	PUSHQ	BP
 	MOVQ	SP, BP
 	MOVQ	8(DI), SI	// arg 2 mutex
 	MOVQ	16(DI), DX	// arg 3 timeout
 	MOVQ	0(DI), DI	// arg 1 cond
-	CALL	libc_pthread_cond_timedwait(SB)
+	CALL	libc_pthread_cond_timedwait_relative_np(SB)
 	POPQ	BP
 	RET

I'm going to verify this more scientifically. Assuming it withstands scrutiny, I'll clean it up and submit a CL.

Results from a slightly more scientific experiment that involved running the kv generator that Nathan mentioned in the original description:
go1.10

_elapsed___errors_____ops(total)___ops/sec(cum)__avg(ms)__p50(ms)__p95(ms)__p99(ms)_pMax(ms)
  120.0s        0         564521         4704.1      3.4      2.5      5.0     35.7     88.1

d6a27e8edcd992b36446c5021a3c7560d983e9a6 (current master)

_elapsed___errors_____ops(total)___ops/sec(cum)__avg(ms)__p50(ms)__p95(ms)__p99(ms)_pMax(ms)
  120.0s        0         351106         2925.9      5.5      3.4     11.5     60.8    218.1

patch

_elapsed___errors_____ops(total)___ops/sec(cum)__avg(ms)__p50(ms)__p95(ms)__p99(ms)_pMax(ms)
  120.0s        0         574159         4784.5      3.3      2.5      4.5     33.6     88.1

I'd say we've found our culprit. Preparing a patch now.

Solid catch! Glad this wasn't an issue in libc itself and that we'll be able to resolve it shortly.
Out of curiosity, how did you find out about pthread_cond_timedwait_relative_np? I can see it in the global symbol table of /usr/lib/system/libsystem_pthread.dylib now that I know what to look for, but that's about it. It's not referenced at all in the pthread documentation. Instead they just have a long (but easy to miss) rationale about why pthread_cond_timedwait doesn't take a relative time measurement.

Heh, I was reading the libpthead source code. The link is in the CL if
you’re curious. You can also see the function declaration in pthread.h.
On Fri, Jun 22, 2018 at 10:35 PM Nathan VanBenschoten <
<EMAIL_ADDRESS>wrote:

Solid catch! Glad this wasn't an issue in libc itself and that we'll be
able to resolve it shortly.
Out of curiosity, how did you find out about
pthread_cond_timedwait_relative_np? I can see it in the global symbol
table of /usr/lib/system/libsystem_pthread.dylib now that I know what to
look for, but that's about it. It's not referenced at all in the pthread
documentation. Instead they just have a long (but easy to miss) rationale
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_timedwait.html
about why pthread_cond_timedwait doesn't take a relative time measurement.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/26019#issuecomment-399634256, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA15IEsWsNpgeDPD9M_L2gkzqePNYbIgks5t_dOkgaJpZM4U0kMF
.

Wow, thanks for the investigation and patch!
In case anyone else sees this, I observed ~200% CPU utilization + heavy fan usage on Mac, by starting a HTTP server that opened some Postgres connections. With this patch applied, the CPU usage from my Go binary is at 0%.


Enable user to  collect and create storage adapter,  Tag VMKernel for NVMe/TCP services.

This PR will enable user to collect inventory for available storage adapters and VMKernel adapters in the environment, this inventory collection process will help user to know details about each storage and kernel adapter if a new adapter is required for the storage services. User can use the additional command to Tag a VMkernel adapter for NVMe/TCP services and create a storage adapter using one of the physical NIC.
The changes in this PR are as follows:

Collect detail inventory of available storage adapters in the environment.
Collect detail inventory of available VMkernel adapters in the environment.
Tag a VMkernel Adapter for NVMe/TCP services.
Create a storage adapter using one of the physical NIC for upload link.

I have read the contributor guidelines and have completed the following:

[x] Formatted the code using VSCode default formatter for PowerShell.
[x] Tested the code end-to-end against an SDDC.
[x] Documented the functions using standard PowerShell markup and applied AVSAttribute to newly exported functions.

@srajmohan24 can you review and merge this PR ?


ESP Bluetooth Proxy Integration

Hi !
Any change to use the ESP Bluetooth Proxy Integration ? Thanks a lot

This is already possible. I'm using this integration with it

Hi Patrik !
Thanks a lot !


Thank you for the plugin

A few issues --

First, compiling on Windows is a bit of a nightmare. There's no "cat" and no "rimraf". Have to use concat-cli, although rimraf is available as a CLI. It might be better to make a file to combine/remove files instead of using the CLI.

The uglify CLI uses an old method, although it still works, I guess.

Need to install the concat-cli CLI for the build to work.

Vulnerabilities? Auto-fixed.

Reason for re-compiling: I wanted to add a function that would modify a single image, since Javascript code tends to load images on the fly.

My scripts property in package.json:
	"scripts": {
		"start": "http-server",
		"prepare": "run-s clean wrap minify compile bundle",
		"clean": "rimraf dist && mkdir dist",
		"wrap": "concat-cli -f source/wrapping.js.start.txt libwebpjs/dist/webp.js source/wrapping.js.end.txt -o dist/dwebp.raw.js",
		"minify": "uglifyjs -cm < dist/dwebp.raw.js -o dist/dwebp.js && rimraf dist/dwebp.raw.js",
		"compile": "tsc",
		"bundle": "browserify -p [ tsify ] source/webp-hero.polyfill.ts > dist/webp-hero.polyfill.bundle.js",
		"test": "exit 0"
	},

And then devDependencies:
	"devDependencies": {
		"browserify": "16.2.3",
		"http-server": "0.11.1",
		"npm-run-all": "4.1.3",
		"tsify": "4.0.0",
		"typescript": "3.0.1",
		"uglify-js": "3.4.7",
		"concat-cli": "4.0.0",
		"rimraf": "2.6.3"
	}

My function (edited):
    async polyfillGroup({imageList, force = false}: {imageList?: Array<HTMLImageElement>, force?: boolean} = {}): Promise<void> {
		if (!force && await detectWebpSupport()) return undefined
		let hero = this
		for (const image of imageList) {
			let src = undefined
			if (image['srcNext'] !== undefined) {src = image['srcNext']} else {src = image.src}
			if (!(/.webp$/.test(src))) continue
			if (this.cache[src]) {image.src = this.cache[src]; continue}
			try {
                		const webpdata = await loadBinaryData(src)
                		const tryNow = async function () {
					const pngdata = await hero.decode(webpdata)
					image.src = hero.cache[src] = pngdata
				}
				if (!hero.busy) {
					tryNow()
				} else {
					let testInterval = window.setInterval(function () {
						if (!hero.busy) {window.clearInterval(testInterval); tryNow()}
					}, 50)
				}
			} catch (error) {
				console.error(`error decoding webp image "${src}"`, error)
				throw error
			}
		}
	}

hello @agamemnus
partly in response to your issue, i have updated and refactored webp-hero significantly :)
<EMAIL_ADDRESS>
compiling on windows

the webp-hero build is now more cross-platform and should build on windows (no longer uses cat, and uses locally-installed rimraf and mkdirp)
the concatenation logic (to build the webp.js commonjs module) has been moved inside the libwebp docker container build

uglify cli old method

uglify is no longer being used (it stopped working for some reason, it was stalling)

replace cat usage with cross-platform concat-cli

done

npm security vulnerabilities

all packages updated, all vulnerabilities fixed

want to add function to modify single image

class WebpHero has been replaced by WebpMachine
class WebpMachine has method polyfillImage which you can use to polyfill a single <img> element for more direct control
functions like loadBinaryData and detectWebpSupport are now made available

some more info about major changes since v0.0.0-dev.12 in the changelog

I will check it out. Thank you.


[Apache] Create Apache website hugegraph.apache.org

Feature Description (功能描述)
guide:
https://incubator.apache.org/guides/sites.html
templates:
https://infra.apache.org/project-site.html
https://github.com/apache/apache-website-template
guidelines:
https://infra.apache.org/website-guidelines.html
websites for reference:
https://kafka.apache.org/ (https://github.com/apache/kafka-site)
https://dubbo.apache.org/ (https://github.com/apache/dubbo-website)

如何将gitbook迁移到hugo：

https://skyao.io/learning-hugo/docs/introduction/why-hugo.html
https://www.jianshu.com/p/ccc408147dce
https://blog.perillaroc.wang/post/2019/2019-03-31-migrate-from-gitbooks-to-hugo/

consider use docsy as the hugo theme

use docs repo to record website things in future


Add "JSON mode" or other machine-friendly mode for hive run

For hive2boinc or other uses of hive as a component of other scripts/programs, it would be nice to have a run mode that prints machine-friendly rather than human-friendly output, e.g. as JSON.
For hive2boinc, necessary fields would be

success or failure state
output directory & stdout/stderr files or content
address that computed the workunit
some metric of resources expended on the workunit, either as cpu + ram + disk or as a unified "credits" metric

Currently the human-friendly output from hive run

already has a distinct success state, but distinguishing between different error states requires complex manual parsing.
already has output directory & stdout/stderr files or content
doesn't have any way of getting the address that computed the workunit
doesn't have any metric of resources expended