slowness errors when running tests

I just started running the tests provided.  I got these errors.  I noticed that a previous issue (#18) discusses failing tests for slowness.  What should be done about this?
======================================================================
ERROR: test_scrape_all_example_files (tests.test_everything.ScraperExampleTest)
Finds all the $module_example* files and tests them with the sample
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/freespace/home/umeboshi/.virtualenvs/juriscraper-py2/local/lib/python2.7/site-packages/vcr/cassette.py", line 109, in __call__
    function, args, kwargs
  File "/freespace/home/umeboshi/.virtualenvs/juriscraper-py2/local/lib/python2.7/site-packages/vcr/cassette.py", line 124, in _execute_function
    return self._handle_function(fn=handle_function)
  File "/freespace/home/umeboshi/.virtualenvs/juriscraper-py2/local/lib/python2.7/site-packages/vcr/cassette.py", line 148, in _handle_function
    return fn(cassette)
  File "/freespace/home/umeboshi/.virtualenvs/juriscraper-py2/local/lib/python2.7/site-packages/vcr/cassette.py", line 117, in handle_function
    return function(*args, **kwargs)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_everything.py", line 212, in test_scrape_all_example_files
    warning_msg = warn_or_crash_slow_parser(t2 - t1)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/juriscraper/lib/test_utils.py", line 58, in warn_or_crash_slow_parser
    max_duration=max_duration)
SlownessException: This scraper took 16.8416581154s to test, which is more than the allowed speed of 15s. Please speed it up for tests to pass.

======================================================================
ERROR: test_bankruptcy_court_dockets (tests.test_pacer.DocketParseTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_pacer.py", line 817, in test_bankruptcy_court_dockets
    self.run_parsers_on_path(path_root)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_pacer.py", line 811, in run_parsers_on_path
    warn_or_crash_slow_parser(duration, max_duration=1)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/juriscraper/lib/test_utils.py", line 58, in warn_or_crash_slow_parser
    max_duration=max_duration)
SlownessException: This scraper took 1.16746807098s to test, which is more than the allowed speed of 1s. Please speed it up for tests to pass.

======================================================================
ERROR: test_district_court_dockets (tests.test_pacer.DocketParseTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_pacer.py", line 822, in test_district_court_dockets
    self.run_parsers_on_path(path_root)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_pacer.py", line 811, in run_parsers_on_path
    warn_or_crash_slow_parser(duration, max_duration=1)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/juriscraper/lib/test_utils.py", line 58, in warn_or_crash_slow_parser
    max_duration=max_duration)
SlownessException: This scraper took 1.11986112595s to test, which is more than the allowed speed of 1s. Please speed it up for tests to pass.

======================================================================
ERROR: test_parsing_history_documents (tests.test_pacer.PacerDocketHistoryReportTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_pacer.py", line 610, in test_parsing_history_documents
    self.parse_files(path_root, '*.html', DocketHistoryReport)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/tests/test_pacer.py", line 569, in parse_files
    warn_or_crash_slow_parser(duration, max_duration=2)
  File "/freespace/home/umeboshi/workspace/freelaw/freelawmachine/juriscraper/juriscraper/lib/test_utils.py", line 58, in warn_or_crash_slow_parser
    max_duration=max_duration)
SlownessException: This scraper took 2.38739514351s to test, which is more than the allowed speed of 2s. Please speed it up for tests to pass.

----------------------------------------------------------------------
Ran 70 tests in 197.571s

FAILED (errors=4, skipped=13)
Test failed: <unittest.runner.TextTestResult run=70 errors=4 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=70 errors=4 failures=0>

I guess there's three approaches here:

Get a faster computer or network connection.

Dig into the code to figure out why its too slow. The purpose of the tests is to make sure that we don't have any really big HTML that we're parsing or really slow XPath queries. Usually if a test fails it's because of the HTML and the easiest fix is to edit the test HTML to make it smaller and thus faster.

Disable the slowness tests (they're disabled during continuous integration, for example).

regarding your second point @mlissner, some really slow scraper tests are the result of the said tests making live network requests.  I've cleaned up multiple tests that were doing this, and there may be more out there.  This would be the first thing I'd look into (run test for specific scraper with wifi/ethernet disabled).

I chose to just disable the slowness tests entirely, similar to how travis environment is detected.  I'm sending a PR your way.  Since y'all seem to be using this internally, would it be better to set a "TEST_SLOWNESS" environment variable to enable these tests and just emit a warning, or ignore completely by default?

I wouldn't want to ignore them completely because they do force us to make things faster. At the same time, I don't want to bug people with them. I guess that means they should just emit warnings as a middle ground.

@arderyp, it looks like juriscraper.opinions.united_states.state.coloctapp may be accessing the network.  Just working on PR, so I haven't had time to take a good look, just noticed network usage when performing test.
All tests pass when slowness check is disabled.  :)

yeahhhhh, colo is just a disastrous site with a disastrous scraper.  Avoiding network connections during tests of colo/coloctapp might be difficult given the current test infrastructure.  See: https://github.com/freelawproject/juriscraper/blob/master/juriscraper/opinions/united_states/state/colo.py#L42-L45


Using Packit in GitHub Merge Queues

Description
When using GitHub Merge Queues  you need have required jobs in your branch settings to cause failures to remove PRs from the queue. GitHub also requires the name of the required jobs to be the same on PRs and when ran on the branch so it can do this.
Currently the PR job title is something like testing-farm:fedora-39-x86_64 but the branch job name is testing-farm:<BRANCH NAME>:fedora-39-x86_64 this causes GitHub to kick the PR out of merge queue since it timeouts on waiting on PR job names (testing-farm:fedora-39-x86_64` ) to finish, which will never happen since the branch jobs are named differently. Thus rendering it impossible to use Packit with merge queues.
We would like some way to Packit tests with Merge Queues. However, I'm not 100% certain how solve this considering #1808.
Benefit
Users can use GitHub Merge Queues with Packit.
Importance
No response
What is the impacted category (job)?
General
Workaround

[ ] There is an existing workaround that can be used until this feature is implemented.

Participation

[ ] I am willing to submit a pull request for this issue. (Packit team is happy to help!)

Thanks @Mab879 for the details. It looks like we need to provide a way for users to set the status name. As with similar values, it might be good to provide variables for the user to construct anything.
@mfocko any idea how to make this work?

@mfocko any idea how to make this work?

:classic: Python programming… just add another railway junction to the code I mean, handle this prefix specifically when constructing the status names…

I've slightly changed the title to cover what is needed from Packit side:

[ ] Create a new config option (?status_name) in Packit repository.
[ ] Use this config option in the service and provide a basic set of variables to template it.
[ ] Document the functionality itself with all the variables but also the Merge Queues so people can find it easily when trying to set this up.

notes from the refinement discussion
@mfocko: I would be careful about going with the status_name, since it easily allows fixing this issue, but at the cost of potentially opening the “can of worms”, because it is customizable; we've reiterated to the current status checks naming because of various issues (Copr builds both on PR and on merge (branch push trigger); labels; stg v. prod), this makes it an easy fix with consequences of multiple bugs caused by the service depending on the naming… Please take this in account.
As per the templating, I would base it off our current “scheme”:

target/chroot, e.g. centos-stream-10-x86_64
job type, e.g. rpm-build
labels (wondering about the undefined, maybe undefined would actually do; also possibility of multiple labels being defined)
trigger (branch name, pr, release, etc.)

This would be desirable for the containers team too. We're now looking at adding CentOS Stream 10 downstream jobs so we now have to include the packages key which ends up appending to the job name, would be great to be able to silence that.


OCM-2643: Allow default ingress configurations

Tested with 4.14.0-ec.2 in candidate channel

/retest

/hold
would be merged after framework changes

/retest

/retest

/hold cancel

/lgtm

/retest

/lgtm

/retest

@tsorya thank you for the great work here
/approve
/lgtm

/retest

/lgtm


Support RBAC

Looks good to go, no rbac related errors, not that there is any test directly interacting with RBAC due to it being an external service which we can't reach or really simulate from within the testsuite.

@brauner can you review?


How do you update only sub-domains instead of the root domain in Python?

So far this package works fine for updating my A/AAAA records for my root domain, but how do I use it only for updating certain sub-domain A/AAAA records?

Can you give an example how you use porkbun-ddns?
Do you use docker? Docker compose? Or the CLI Client?

Currently I am using porkbun-ddns in python with cron.
from requests import get
from socket import getaddrinfo, AF_INET, AF_INET6
from porkbun_ddns import PorkbunDDNS
from porkbun_ddns.config import Config, DEFAULT_ENDPOINT

API_KEY = ''
SECRET_API_KEY = ''

query4_address = getaddrinfo('domain.com', None, AF_INET)[0][4][0]
query6_address = getaddrinfo('domain.com', None, AF_INET6)[0][4][0]

my_ipv4 = get('https://api.ipify.org').text
my_ipv6 = get('https://api6.ipify.org').text

if (query4_address != my_ipv4) or (query6_address != my_ipv6):
    config = Config(DEFAULT_ENDPOINT, API_KEY, SECRET_API_KEY)
    porkbun_ddns_ip = PorkbunDDNS(config, 'domain', public_ips=[my_ipv4, my_ipv6])

    porkbun_ddns_ip.update_records()
else:
    print("DNS records are up to date.")

Currently I am using porkbun-ddns in python with cron.
from requests import get
from socket import getaddrinfo, AF_INET, AF_INET6
from porkbun_ddns import PorkbunDDNS
from porkbun_ddns.config import Config, DEFAULT_ENDPOINT

API_KEY = ''
SECRET_API_KEY = ''

query4_address = getaddrinfo('domain.com', None, AF_INET)[0][4][0]
query6_address = getaddrinfo('domain.com', None, AF_INET6)[0][4][0]

my_ipv4 = get('https://api.ipify.org').text
my_ipv6 = get('https://api6.ipify.org').text

if (query4_address != my_ipv4) or (query6_address != my_ipv6):
    config = Config(DEFAULT_ENDPOINT, API_KEY, SECRET_API_KEY)
    porkbun_ddns_ip = PorkbunDDNS(config, 'domain', public_ips=[my_ipv4, my_ipv6])

    porkbun_ddns_ip.update_records()
else:
    print("DNS records are up to date.")

To set subdomains you can do the following:
subdomains = ['subdomain1', 'subdomain2','subdomain3']

for subdomain in subdomains:
    porkbun_ddns.set_subdomain(subdomain)
    porkbun_ddns.update_records()

If you want to set the root domain in the same loop use:
subdomains = ['@', 'subdomain1', 'subdomain2','subdomain3']

for subdomain in subdomains:
    porkbun_ddns.set_subdomain(subdomain)
    porkbun_ddns.update_records()

Also have a look at the entry point of the docker file:
https://github.com/mietzen/porkbun-ddns/blob/616e16dae84a4ffe3f4aadbcdfd08254e2f1ba9c/Docker/entrypoint.py#L46
I close the issue but feel free to leave another comment if you got further questions.


Use ~/.s3cfg for non AWS S3

Feature Request
The documentation only shows AWS style configuration for S3 upload/download and doesn't appear to accept other methods.
Desired behaviour
It would be desirable to use the ~/.s3cfg supported by tools like s3cmd.
[default]
access_key = XXXXXXXXXXXXXXXXXXX
encrypt = False
host_base = radosgw.XXX.XX.XX
host_bucket = %(bucket)s.radosgw.XXX.XX.XX
progress_meter = False
secret_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXX
use_https = True

Actual behaviour
com.amazonaws.AmazonClientException: Unable to load AWS credentials from any provider in the chain

Steps to reproduce the behaviour
Use a non-AWS S3 implementation with a ~/.s3cfg instead of ~/.aws/config and ~/.aws/credentials
Environment (Browser or OS and Dockstore version)
Dockstore 1.1 CLI.

@keiranmraine could you link to a document that lists some of the features/advantages of this configuration format as opposed to the standard AWS config? (Maybe more precisely, what behaviour in the client or specifically s3cmd are you interested in?)
Note to self: this is probably related to #524 , we should allow file provisioning to accept plug-ins, perhaps an optional s3cmd plugin might be the right way to go here

I guess it could be a documentation thing, but s3cmd will work with AWS S3 or other variants using this method.  I don't think the same is true for the .aws/config approach.
It's one less config file to worry about as I'm assuming people won't be wanting to spawn AWS instances from a dockstore run.
If in the short term it's possible to configure a non-AWS S3 using the AWS method that's fine, I was under the impression you couldn't change the authentication method though.
Currently working round this by presenting S3 as a filesystem for uploads:
$ s3fs /radosgwtest -o passwd_file=s3fs.cfg -o url=http://radosgwtest.....ac.uk -o use_path_request_style -o bucket=test_bucket

Ok, poked around a bit.
We currently support an alternative S3 endpoint, you can have a Dockstore config file that looks like the bottom of
token: dummy
server-url: https://www.dockstore.org:8443
use-cache = true
cache-dir = /media/large_volume/dockstore_cache

[s3]
endpoint =  https://object.cancercollaboratory.org:9080

And this does work when talking to our collaboratory S3 api, so you can upload to a location other than the official AWS S3 endpoints.
However, we don't support changing authentication type and it doesn't look like the AWS S3 SDK that we rely upon does either. So I think more custom configuration would probably mean that we should implement  a pluggable provision system with s3cmd as a good example.
Note to self: it looks like s3cmd supports a wealth of configuration that isn't normally present in the aws cli/java sdk http://s3tools.org/kb/item14.htm

@denis-yuen , which dockstore config file does the above go into?  I'll see if this works.  The alternate auth type seemed to be required to get s3fsworking.

It looks like you can tell the AWS SDK to point to a different endpoint, you would put the above [S3] section into ~/.dockstore/config. However, we do not support an alternate authentication type, it might even be possible that the AWS SDK doesn't support alternatives since AWS doesn't really use that.

Note to self: Implementation of s3cmd pluggin related to #524

FYI, this works but fails after the file is downloaded...
I set the endpoint as you indicated, put my ceph-S3 credentials into ~/.aws/credentials and ran a test.
16:24:14.327 [main] INFO  io.dockstore.common.FileProvisioning - found custom S3 endpoint, setting to https://cog.sanger.ac.uk
[##################################################] 100%
16:24:30.453 [main] INFO  io.github.collaboratory.LauncherCWL - DOWNLOADED FILE: LOCAL: insilico_21.bam URL: s3://MapTest/insilico_21.bam
16:24:30.571 [main] INFO  io.dockstore.common.FileProvisioning - found custom S3 endpoint, setting to https://cog.sanger.ac.uk
com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: tx00000000000000000ac17-0058862e3e-50570c-default), S3 Extended Request ID: 50570c-default-default
	at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1389)
	at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:902)
	at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:607)
	at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:376)
	at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:338)
	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:287)
	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3826)
	at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1143)
	at io.dockstore.common.FileProvisioning.downloadFromS3(FileProvisioning.java:125)
	at io.dockstore.common.FileProvisioning.provisionInputFile(FileProvisioning.java:242)
	at io.github.collaboratory.LauncherCWL.copyIndividualFile(LauncherCWL.java:722)
	at io.github.collaboratory.LauncherCWL.doProcessFile(LauncherCWL.java:702)
	at io.github.collaboratory.LauncherCWL.pullFilesHelper(LauncherCWL.java:659)
	at io.github.collaboratory.LauncherCWL.pullFiles(LauncherCWL.java:586)
	at io.github.collaboratory.LauncherCWL.run(LauncherCWL.java:185)
	at io.dockstore.client.cli.nested.AbstractEntryClient.handleCWLLaunch(AbstractEntryClient.java:1028)
	at io.dockstore.client.cli.nested.AbstractEntryClient.launchCwl(AbstractEntryClient.java:968)
	at io.dockstore.client.cli.nested.AbstractEntryClient.checkEntryFile(AbstractEntryClient.java:857)
	at io.dockstore.client.cli.nested.AbstractEntryClient.launch(AbstractEntryClient.java:930)
	at io.dockstore.client.cli.nested.AbstractEntryClient.processEntryCommands(AbstractEntryClient.java:247)
	at io.dockstore.client.cli.Client.run(Client.java:704)
	at io.dockstore.client.cli.Client.main(Client.java:796)

But the file exists and md5 matched
$ s3cmd get s3://MapTest/insilico_21.bam
download: 's3://MapTest/insilico_21.bam' -> './insilico_21.bam' (486828427 bytes in 5.6 seconds, 83.57 MB/s)
$ md5sum insilico_21.bam
12554316412b03524913455ea1134ef9  insilico_21.bam
$ md5sum datastore/launcher-1ce35420-6f26-4563-8f77-9b9494eac025/inputs/348906ec-3200-4030-a09c-f8a33cd4e9c8/insilico_21.bam
12554316412b03524913455ea1134ef9  datastore/launcher-1ce35420-6f26-4563-8f77-9b9494eac025/inputs/348906ec-3200-4030-a09c-f8a33cd4e9c8/insilico_21.bam

@keiranmraine If I understand correctly, it sounds like s3://MapTest/insilico_21.bam downloaded correctly, but the next file it attempted to download from S3 failed, perhaps due to an incorrect path (or for some APIs, an authentication error manifests as a file not found to avoid not exposing information).
You should be able to get more details on what the next file is by running with dockstore --debug

@denis-yuen , all is well.  There are secondary files for the BAM, the error message could do with indicating which file it is trying to pull as the output I provided was from a --debug output.
So this all works provided you put the endpoint in ~/.dockstore/config in my case no port:
[s3]
endpoint = https://XXX.sanger.ac.uk

and add include the tokens in the ~/.aws/credentials
[default]
aws_access_key_id = XXXXXX
aws_secret_access_key = XXXXXX

@garyluu  I think the remaining task to finish this one off it to get your s3cmd plugin deployed on artifacts.oicr.on.ca


Get rid of Python 2

Python 2 is slowly being phased out with Jan 01, 2020 being the day of its death (meaning: no further upstream support whatsoever). As many Linux distributions and other operating systems slowly begin to remove things related to Python 2, it might be recommendable to drop Python 2 support from Vim as well, especially since you removed "old" operating systems a while ago for very similar reasons.
That should be doable by (mostly) just deleting if_python.c and greping for ifdef PYTHON (Makefiles) and FEAT_PYTHON (the actual sources) as far as I could see.

I strongly disagree. While I've often been bemused at Vim's support for very old systems—witness that the support for Win9x and Win3.1 was only removed a couple of years ago or that Python 1.4 support was only just removed—removing Python 2 support is very much premature.
I'm still running Python 2 code in production. It's only in the last six months that I've been able to use Python 3 for new projects. I am far from alone in this. I recommend waiting until at least 2022 before removing Python 2 support.

Please, don't. I like my vim8 builds on RHEL-7. I know that removing support for Python 1.4 now has been ridiculous, but unless there are some compelling reasons, there is still some life in Python 2. Yes, I hate it, yes, I blame RH management for the ridiculous decision not to include Python 3 in RHEL-7 proper (I don't want to have vim dependent on EPEL packages, there are too many people who don't use EPEL), but this is the world we live in.

Clarification: This was not meant to be done immediately.

Then it shouldn't clutter the issue tracker. That should be used for actionable issues, for the long term plans there should be some TODO, or something. 569 issues is just too many for one human being to deal with.

okay that did not work. Closing anyhow. Please report again in 3 years ...


RedisAdvancedClusterAsyncCommandsImpl.msetnx reports true if any key was set not all keys

The website (http://redis.io/commands/msetnx) clarify that msetnx return 1 only if all keys were set.It means that the msetnx method  returns true only if all slots of msetnx returned true.But in your code,it returns true if one of them returned true

While this is a bug in the return type you should be aware this is a distributed operation. MSETNX executed on a single node with a mixed set of existing and non-existing keys will not set the non-existing keys if a key of the operation already exists. That's different with the MSETNX cluster operation. It can't guarantee atomicity so some keys might get set on one node while another node does not set any keys at all.


newbie

Hi..
Sorry to ask, I am no golang expert
found this project while I was looking for wrk2 on M1 arm
trying to compile, it runs, no errors, but where is the exe?
am I doing anything wrong?

Hi @orefalo,
We built this as a library to help benchmark code like gRPC services, or any other service that doesn't have an HTTP API, thus can not be tested with wrk2.
We never got to properly productise it, and create a main function for it.
You can call the BenchmarkCmd from your main to create a benchmark, providing it a request function, or use it as an example.
Hope this helps

Thank you


Setting existingSecret not respected by schema setup/update jobs [Issue #261]

What was changed
This PR fixes the issue described in Issue #261.
Why?
It prevents setting up temporal with an existing existing secret to bootstrap a cassandra cluster's schemas.
Checklist

Closes #261

How was this tested:

helm template temporal . \
  --values values/values.cassandra.yaml \
  --set server.config.persistence.default.cassandra.existingSecret=someExistingSecret \
  --set server.config.persistence.visibility.cassandra.password=aPasswordInstead
  --set schema.setup.enabled=true \
  --set schema.update.enabled=true

Any docs updates needed?

none

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the bug fix!


Feature Request: printer resource should have the ability to set a default paper size

Cookbook version
4.2.2
Platform Details
Windows 10
Scenario:
would like the ability to set a default paper size when I configure a printer
some thing like
windows_printer 'Magic Printer' do
  driver_name 'HP LaserJet 500 color MFP M570 PCL6 Class Driver'
  location 'Basement'
  ipv4_address '<IP_ADDRESS>'
  papersize 'A4'
end

Current work around is in PowerShell
windows_printer 'MagicPrinter' do
  driver_name 'HP LaserJet 500 color MFP M570 PCL6 Class Driver'
  location 'Basement'
  ipv4_address '<IP_ADDRESS>'
  action :create
  notifies :run, 'powershell_script[Set_Papersize_MagicPrinter_to_A4]'
end

powershell_script 'Set_Papersize_MagicPrinter_to_A4' do
  code <<-EOH
  Set-PrintConfiguration -PaperSize A4 -PrinterName MagicPrinter
  EOH
end

@kmf Now that this resource is in Chef Infra Client itself we're not going to be further expanding upon it here. I think there's a lot we could do with the printer resources to make them more usable and this is a great example. Can you file this issue in the chef/chef repo please?

Done.
@tas50 https://github.com/chef/chef/issues/9674

Thanks @kmf


Rect mark does not display with defined domain and only one data point

Found that if I explicitly define the domain for a histogram with a rect mark and the dataset only has one data point, no bar is visible. Expected behavior is that the bar should show up within domain as a skinny bar.
Here's a notebook demonstrating the issue.

The problem is that the rect has zero width because the domain of the data is trivial (collapsed). You can see the rect by setting a negative inset:

Plot.plot({
  x: {
    domain: [6, 9],
    label: "Trade volume (log₁₀) →"
  },
  y: {
    grid: true
  },
  marks: [
    Plot.rectY(aapl.slice(0, range), Plot.binX({y: "count"}, {inset: -1, x: d => Math.log10(d.Volume)})),
    Plot.ruleY([0])
  ]
})

One way to fix this is to set a fixed interval for the bin transform, such as 0.1. This means that the bin width will be 0.1 instead of 0, even if there’s only one value being binned.

Plot.plot({
  x: {
    domain: [6, 9],
    label: "Trade volume (log₁₀) →"
  },
  y: {
    grid: true
  },
  marks: [
    Plot.rectY(aapl.slice(0, range), Plot.binX({y: "count"}, {x: d => Math.log10(d.Volume), interval: 0.1})),
    Plot.ruleY([0])
  ]
})

A different way of fixing this is to specify the domain explicitly to the bin transform (in addition to or instead of the scale), so that it knows the range that the bins should cover. However, you’ll also currently need to specify a count of thresholds yourself, since d3.thresholdScott has a bug (noticed thanks to you!) where it returns NaN if the domain is trivial.

Plot.plot({
  x: {
    domain: [6, 9],
    label: "Trade volume (log₁₀) →"
  },
  y: {
    grid: true
  },
  marks: [
    Plot.rectY(aapl.slice(0, range), Plot.binX({y: "count"}, {x: d => Math.log10(d.Volume), domain: [6, 9], thresholds: 10})),
    Plot.ruleY([0])
  ]
})

It might be nice if the bin domain could default to the scale domain, but that’s not usually possible since binning is a transform which happens prior to scale construction. And it’s more common that the scale domain is imputed from the binned domain than vice versa.

Thanks, appreciate the explanation and glad to help!

One more thing: you can omit the redundant domain option on the x scale if you set the filter option to null on the bin transform, such that the bin transform includes empty bins to span the entire domain. Like so:

Plot.plot({
  x: {label: "Trade volume (log₁₀) →"},
  y: {grid: true},
  marks: [
    Plot.rectY(aapl, Plot.binX({y: "count", filter: null}, {x: d => Math.log10(d.Volume), domain: [6, 9]})),
    Plot.ruleY([0])
  ]
})


Hotfix/issue-316

This change is

Current coverage is 58.67% (diff: 68.18%)

Merging #352 into master will decrease coverage by 0.02%

@@             master       #352   diff @@
==========================================
  Files          1911       1911
  Lines         97620      97654    +34
  Methods           0          0
  Messages          0          0
  Branches      12130      12140    +10
==========================================
- Hits          57303      57299     -4
- Misses        37302      37340    +38
  Partials       3015       3015

Powered by Codecov. Last update 6860d75...6581100

The request will be not merged for now. It solves only the message, but the problem is more complex.


chain.run doesn't necessarily return a str

https://github.com/hwchase17/langchain/blob/2667ddc6867421842fe027f1946644f452de8eb3/langchain/chains/base.py#L386-L393
when I have this:
chain = create_structured_output_chain(Categorization, llm, prompt, verbose=True)
response = chain.run(trx_description)

my response object is a dict not a str, but I got misled by the type assistance making me think it was a str.

Hi @Connoropolous! Could you provide a more detailed reproducer?

sure do you mean a complete script?

from langchain.document_loaders.csv_loader import CSVLoader
from langchain.embeddings import OpenAIEmbeddings
from langchain import PromptTemplate, OpenAI, LLMChain
from langchain.chat_models import ChatOpenAI
from pydantic import BaseModel, Field
from typing import Optional
from langchain.chains.openai_functions import (
    create_openai_fn_chain, create_structured_output_chain
)
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate
from langchain.schema import HumanMessage, SystemMessage
from langchain.vectorstores import Chroma
import os

os.environ["OPENAI_API_KEY"] = ""

embeddings = OpenAIEmbeddings()
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.5)
loader = CSVLoader(file_path="./food-flavours.csv")
food_data = loader.load()
db = Chroma.from_documents(food_data, embeddings)
retriever = db.as_retriever(search_kwargs={"k": 1})

system_message = """
You are a helpful assistant. When the user passes in a food, reply with what kind of flavour the food has.
"""

class Food(BaseModel):
    """Food."""
    flavour: str = Field(...,
                             description="The flavour profile of the food")

# STRUCTURED OUTPUT CHAIN
prompt_msgs = [
    SystemMessage(
        content=system_message,
    ),
    HumanMessagePromptTemplate.from_template("{input}"),
]
prompt = ChatPromptTemplate(messages=prompt_msgs)
chain = create_structured_output_chain(Food, llm, prompt)

def find_related_food_flavour_from_list(food: str):
    response_json = chain.run(food)
    response_string = response_json["flavour"]
    # get the similar documents using cosine similarity
    top_flavour = retriever.get_relevant_documents(response_string)
    return top_flavour[0]

in the example
    response_json = chain.run(food)
    response_string = response_json["flavour"]

it is response_json that is incorrectly typed as a str

Thanks! Will take a look at it :)

Hello @baskaryan! I noticed that you added a docstring to the run method in the langchain/langchain/chains/base.py file. However, it seems that the docstring is incorrect, and the type annotation may also be inaccurate. The method doesn't always (or perhaps never) return a string. Even in the example notebook "opeanai_functions.ipynb," the output is a dictionary. I can fix that but I am wondering do we want it to return a dict (change docstrings etc.) or do we want to unpack a single string output from that dict?

Hi @Connoropolous, the create_structured_output_chain returns the output in dictionary format. Where as create_openai_fn_chain returns it in string format.
So, for the fix if you want a string as return value you can use the following code:
from langchain.chains.openai_functions import create_openai_fn_chain
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate
from langchain.schema.messages import SystemMessage, HumanMessage
from pydantic import BaseModel, Field
from typing import Optional
class RecordDog(BaseModel):
"""Record some identifying information about a dog."""
name: str = Field(..., description="The dog's name")
color: str = Field(..., description="The dog's color")
fav_food: Optional[str] = Field(None, description="The dog's favorite food")

llm = ChatOpenAI(model="gpt-3.5-turbo-0613", temperature=0,openai_api_key="Your Key")
prompt_msgs = [
SystemMessage(content="You are a world class algorithm for recording entities"),
HumanMessage(content="Make calls to the relevant function to record the entities in the following input:"),
HumanMessagePromptTemplate.from_template("{input}"),
HumanMessage(content="Tips: Make sure to answer in the correct format"),
]
prompt = ChatPromptTemplate(messages=prompt_msgs)
chain = create_openai_fn_chain([RecordDog],llm,prompt)
chain.run("Donthula Sumanth is 5 years old and loves chicken")
This outputs:
#->RecordDog(name='Donthula Sumanth', color='5 years old', fav_food='chicken')
Moreover, as you have raised I have fixed the code langchain/langchain/chains/base.py to say in comments and definition so that create_structured_output_chain will return a dict.

And I have updated the documentation for Examples also to eliminate confusion.
Updated files langchain/chains/base.py and langchain/chains/openai_functions/base.py. Created a pull request #7620 to fix the code

please refer to Getting structured outputs example in the link if it would be helpful.

seeing two issues here:
one is the structured output chain isn't actually returning pydantic objects even when initialized with one, which is a bug. opened #7622 to fix
the base chain type hints are incorrect. will update that next!

Hi, @baskaryan! Changing the type hints should be straightforward. Based on the other issues I've observed, it seems like you have plenty of other tasks to handle :) . If @Connoropolous doesn't want or have the time to address that, I can easily take care of it in the evening.

I am a bit too fresh with python I think, I will defer, though I’d normally contribute

@baskaryan, I have done some further investigation today. In general, when we instantiate the chain object using chain = create_structured_output_chain(Person, llm, prompt, verbose=False, output_parser=SomeCustomParser()), the return value of the run method can vary depending on the specific output_parser being used. So it would be nice to update both the docstring and the type annotations. I guess it would also be beneficial to clarify that the run method has the potential to return either a single string or a more complex output when utilized with wrappers like create_structured_output_chain. What are your thoughts on this?

Output parsers can return any type T from parse(). Would updating the return type of BaseLLM.run() to Any be too crude? It seems better than keeping an incorrect type hint.

I don't have any concern over next steps here, so I'm just going to close this.


Dry-Run Issues

[x] Chown and chmod 755 personal-ansible
[x] Remove sudo from "| sudo bash" new machine script
[x] . /etc/profile needed in yarn before yarn globals

this is only needed in the initial script before the file is loaded
it is in the .travis.yml file but not the main scripts

[ ] Dock size of 24
[ ] Chown and chmod 755 ~/.local/bin (does this happen when sudo is removed from "| sudo bash"
[ ] Startup apps not set

/usr/bin/flameshot
/opt/../ticktick

[ ] Shell settings

Before the user theme can be set, the extension 'User Themes' needs to be enabled

[ ] Change Travis jobs to use make bootstrap

Closed per successful merge of https://github.com/iancleary/personal-ansible/pull/94


Make functions that are used by tests public.

This change is

Previously, orizi wrote…
I'd rather not upgrade the tests edition more than make these pub.

So a user can't use the latest edition if he needs those functions?


🚧 Add Nanopool backup plugin definition DEV-944

This re-introduces a plugin definition that points to Nanopool. This exists as a fallback option in the event NiceHash has complete pool outages.

I'm going to keep this in the WIP holding pattern. It's ready to go, but we really don't need it in the absence of NiceHash, Ethermine, and Flypool issues. The backend is undergoing a significant overhaul, and this may be declined once those changes are live.


chore: refactor SignedTransaction::check_and_execute()

We should refactor and remove the allow:
https://github.com/astriaorg/astria/blob/70046bd984c43fc2c0b505acf2cfefec24f1e2c7/crates/astria-sequencer/src/transaction/mod.rs#L157-L161
┆Issue Number: ENG-876

Not sure when this was fixed but the exception was no longer needed here: https://github.com/astriaorg/astria/pull/1368/commits/c57b461ba03fa44ac01d5fdbcf1c6882060c0d2c


#8535 - Removed Page.get_static_site_paths and its test

Please check the following:

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[ ] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

hey! @sagarsangwan  i think its already been covered by https://github.com/wagtail/wagtail/pull/8536,
Advice for future contributions please read the issue and investigate if its been worked on or a PR has already been opened for it.
thank you, all the best for future contributions.

Closing as duplicate.


accessibilityLabel missing

I'm using this component in our app but have found that it does not uses accessibilityLabel.
I need to have accessibilityLabel set to my Appium end-to-end tests to work.

Hey @ide. I'm going to close this issue as #69 is merged.
Just one question, are you going to make a official release on npm ?

@josenaves hi, I published 2.2.0 to npm.

Thank you for let me know @ide !


Add allowlist to python

Docs Build status updates of commit de37d76:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docsms-allowlist/python-allowlist.txt
:white_check_mark:Succeeded

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


Github Actions for Linux, MacOS and Windows

Is it ready now or you have something more to add? PR is still in the draft mode.

This is ready now.

Thank you, merged.


Query utility for events

As a User, I want an easy way to query for components of the entities involved in a collision, so that it is easier to read/update components as part of the reaction to the event.
Here is how usage could look like:
fn damage_system(
  mut event_reader: Local<EventReader<CollisionEvent>>,
  events: Res<Events<CollisionEvent>>,
  mut damageables: Query<&mut Hp>,
  bullets: Query<Bullet>,
) {
  event_reader.iter(events)
    .flat_map(|event| event.query(&mut damageables, &bullets))
    .for_each(|(mut hp, bullet)| {
       hp.take_dmg(bullet.dmg());
    });
}

Closing in favor of #207


Creating Function App from VS Code not working "Failed to get latest templates: "net472" is not supported for Azure Functions version "~1".

Hi there,
I am trying to set up local development for my Azure Function on VS Code but I am getting the following error:
Failed to get latest templates: "net472" is not supported for Azure Functions version "~1".
I am running v1.12.1 for the Azure Functions extension on VS Code. I also tried v1.12.0.

It looks like you need to update "Azure Functions: Project Runtime" setting. The setting id is azureFunctions.projectRuntime. ~4 is the recommended runtime version for functions in all languages.
https://learn.microsoft.com/en-us/azure/azure-functions/functions-versions

Hey there, thanks for the response. Looks like I am running on Runtime version <IP_ADDRESS>86 and still running into this issue

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!

Hi there,
Sorry for late response.
I verified that my project runtime setting is ~4:

However, I am still seeing the same error:

I'm not sure why VS Code is not picking up the v4 runtime version even though I set it to that.


setup.py: Use proper hyphenation of pip-api

Replaces pip_api with pip-api.

Split off from #24 . This simplify testing , other pytest-reqs fails its own requirements without also adding name normalisation logic everywhere.

We should be normalizing the name instead, see #47.

So you are using this projects setup.py as part of the test suite?

Not sure I follow... CI is currently passing without this change.

But you are not merging this PR.  Do you want to keep setup.py using pip_api ?  Why?


[ENH] refactor repetitive clone tests with pytest.mark.parametrize

The tests starting with test_clone_, in tests.test_base, are repetitive and should use pytest.mark.parametrize.
Should be easy enough, good first issue!

@fkiraly picking this up.


Describe your use case
合并卡住，合并超时等问题排查起来需要很多的经验，很难入手
Describe the solution you'd like
期望obdiag 可以支持一下合并场景的问题排查
Describe alternatives you've considered
No response
Additional context
No response

https://github.com/oceanbase/oceanbase-diagnostic-tool/discussions/24

排查文档：https://open.oceanbase.com/blog/9712436320


Update github-token-available-permissions.md

Why:
Closes [issue link]

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[x] I have added the 'writer impact' label
[x] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

This PR appears to have been opened accidentally. I'm going to close it now, but feel free to take a look at the contributing.md to learn how to contribute in this repo. You can open a discussion if you have any questions or check out issues with the help wanted label. :sparkles:
Thanks for your interest in improving our docs!


Allow passing author as attribute (for http anchors)

This way we can correctly generate the p mention tag to the original author (which might be a different pubkey than the root event's)

Done


params md5 encrypted

Hello , I have a post request , app_key will need to be signed , the signature rule is all the params after sorting with  md5 encrypted, I want to use interceptors , will be how to better use

Please ask usage questions on Stack Overflow.


ArrayIndexOutOfBoundsException in getCookieMap

From<EMAIL_ADDRESS>on May 19, 2011 10:29:37
What version of the product are you using? On what operating system? 1.1.7 Please provide any additional information below. getCookieMap expects all cookies to be key value pairs. This in not necessarily so. Cookies can be keys only resulting in an ArrayIndexOutOfBoundsException in CookieMatcher.getCookieMap.
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=69

From<EMAIL_ADDRESS>on May 21, 2011 08:30:11
Thanks for pointing this out. I'll fix it for the next release.
Status: Accepted

From<EMAIL_ADDRESS>on May 22, 2011 01:43:20
Status: Fixed


Add helm chart

Add helm chart, linked to https://github.com/Frooodle/Stirling-PDF/issues/335

Awesome work, I will have this merged on weekend once I verify it on my system

Hi jr-instantsystem,
We are updating Stirling-PDF's license to MPL 2.0 (Mozilla Public License Version 2.0) to continue fostering our open-source commitment while introducing more flexible usage of the project.
What We Need From You:
In order to transition to the MPL 2.0 license, we need the explicit consent of all our contributors.

If you're comfortable relicensing your contributions for this specific PR under MPL 2.0, please respond with:
I, jr-instantsystem, grant permission to relicense my contributions from this PR to Stirling-PDF under the Mozilla Public License 2.0.
If you'd prefer to give blanket permission for all of your contributions to Stirling-PDF (be it through pull requests, commits, or any other form of contribution) rather than on a PR-by-PR basis, please respond with:
I, jr-instantsystem, grant permission to relicense all my contributions to Stirling-PDF under the Mozilla Public License 2.0.

What does this do and why?
As your old code was contributed under a different license it legally cannot move to a new license without your permission, and since we dont want to lose your code we wanted to reach out. Remember this project is remaining open-source!.
Deadline:
If we dont receive a response, or if you decline, unfortunately, we will have to remove your contributions from Stirling-PDF before the license change, which is scheduled  in coming months.
Thank You!
Your contributions are invaluable, and we hope to continue having them in Stirling-PDF under the new license. Feel free to ask if you have any questions or concerns about this change.
Best,
Frooodle
Stirling-PDF Maintainer

@jr-instantsystem  any reply otherwise your commit may be removed!

@jr-instantsystem  ?

I, jr-instantsystem, grant permission to relicense my contributions from this PR to Stirling-PDF under the Mozilla Public License 2.0.

Sorry, totally missed the previous notif :)


[2.0] Lower Pimple dependency to 2.1 or 2.0 in composer.json

Silex 2.0 is fully compatible with Pimple 2.1, so there is no need to require 3.0. Wouldn't it be better to require Pimple 2.1 or 3.0 instead of 3.0 only?
Some packages still depend on Pimple 2.x and it's difficult to install them with Silex 2.0 due to this.

You cannot make this happen before 2.0

Hello @astax-t
2.0 => no service provider interface
2.1 => broken C implementation cause renaming class and using class alias
3.0 => same as 2.1, but without class aliasing => working c extension
I am sure @henrikbjorn dlike to explain you better why he "hates" 2.1 ;-)

Closing for the reasons explained by @dominikzogg an others.


Accessibility review

Work through the plugin and make sure all our UI contributions are accessible to users with less than perfect sight, mobility, etc. E.g.

Tab order makes sense
Screen readers work
Dialogs work with larger fonts
Keyboard equivalents are available and standard

etc.
File bugs as needed to fix issues discovered.
We may be able to reserve some time with one of our accessibility experts.

I can request our local accessibility expert for support

Thanks @YnR That would be helpful.


[spaceship] handle new app status

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ ] I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.
[x] I've added or updated relevant unit tests.

Motivation and Context
There are changes in app statuses on Appstore Connect and in OpenAPI spec (https://developer.apple.com/documentation/appstoreconnectapi) as mentioned in https://developer.apple.com/news/releases/?id=02082024e and https://github.com/fastlane/fastlane/issues/21877.
There is a new enum AppVersionState for AppStoreVersion  and there is also a new enum State for AppInfo.
AppStoreVersion was also enhanced with reviewType property.
Description
After new Appstore Connect API release AppStoreVersion has two properties related to state: AppVersionState and AppStoreState. Similarly AppInfo has State and AppStoreState.
As written in release notes https://developer.apple.com/documentation/appstoreconnectapi/app_store_connect_api_release_notes/app_store_connect_api_3_3_release_notes
appStoreState attribute is now deprecated and replaced with appVersionState in the object [AppStoreVersion.Attributes]
...
appStoreState attribute is now deprecated and replaced with state in the object [AppInfo.Attributes]

There is a change in meaning of statuses https://developer.apple.com/news/releases/?id=02082024e:
Ready for Sale has been renamed to Ready for Distribution, and now indicates that your app can be published. To view if your app is available on the App Store, visit Pricing and Availability.
Developer Removed from Sale, Removed from Sale, and Pending Agreement are no longer app statuses.

Some observations:

When app is removed from sale by developer, instead of DEVELOPER_REMOVED_FROM_SALE, we will get an AppStoreVersion with attributes:

"appStoreState" : "READY_FOR_SALE",
"appVersionState" : "READY_FOR_DISTRIBUTION",

and the only way to see if the app is live or removed is to check available territories using Pricing and Availability list or use  URL: https://appstoreconnect.apple.com/iris/v2/appAvailabilities/<XXXXXXX>?include=territoryAvailabilities&limit[territoryAvailabilities]=200  request (currently not implemented in fastlane)

When developer program membership is expired, instead of PENDING_CONTRACT status for released version, we will get an AppStoreVersion with attributes:

"appStoreState" : "READY_FOR_SALE",
"appVersionState" : "READY_FOR_DISTRIBUTION",

and when we check in Pricing and Availability, territories are available but with status CANNOT_SELL as in example:
"type" : "territoryAvailabilities",
    "id" : "...",
    "attributes" : {
      "available" : true,
      ...
      "contentStatuses" : [ "CANNOT_SELL" ]
    },

Testing Steps
N/A

@lacostej Thanks for review.
There are several different things that I would like to mention, so I'll list them with numbers to be able to discuss it further, some of those things should be discussed outside of this pull request.

I think that new statuses could be applied in filtering methods in App model and in Deliver::SubmitForReview.
It looks like the change could be applied 1 to 1, of course along with renaming property used filter in requests.
That would require testing deliver, uploading and downloading metadata, screenshots, generating html summary,  downloading dsyms, actions (SetChangelogAction, AppStoreBuildNumberAction), Precheck::RuleProcessor

Those high level methods that you propose could be useful. If we want to check if app is removed from sale we would have to implement a new request for checking app availability territories
https://developer.apple.com/documentation/appstoreconnectapi/read_app_availablity_territories.
Implementing new endpoint (v2) will require changes to client, as it has v1 hardcoded in hostname.
https://github.com/fastlane/fastlane/blob/385a15f74cc617d2a483790575de17cba6d66665/spaceship/lib/spaceship/connect_api/tunes/client.rb#L22
I tried getting app availability data using deprecated v1 api, but without luck.

I think that we should skip checking app availability to understand if it's PENDING_CONTRACT.
There is a lot of content statuses possible https://developer.apple.com/documentation/appstoreconnectapi/territoryavailability/attributes. I noticed that there is the same content status (CANNOT_SELL) for both cases - when account membership is expired or app is removed from sale, .
A better way of checking membership expiration would be checking portal teams status (active or expired).
https://github.com/fastlane/fastlane/blob/385a15f74cc617d2a483790575de17cba6d66665/spaceship/lib/spaceship/portal/portal_client.rb#L42-L51

And one more thing which I think is important, even though not related to this PR.
Fastlane currently updates territory availabilities when uploading metadata (Deliver::UploadPriceTier) using a deprecated method, by modifying App
https://developer.apple.com/documentation/appstoreconnectapi/modify_an_app
https://developer.apple.com/documentation/appstoreconnectapi/appupdaterequest/data/relationships.
Price tier is also updated in this request and also it is a deprecated method.


[Feature request] Match theme in library window

While searching for a fix for #3 I came across this  theme which manages to customise the library window, would you be interested in doing the same?

I'll see what I can do


Error: Specified argument was out of the range of valid values. (Parameter 'index')

Please include the following with each issue:
1. Describe the bug
When starting a debugging session of a downloaded snapshot using the "AL: Show all snapshots" action, I am represented with the error message Specified argument was out of range of valid values. (Parameter 'index') after selecting the wanted snapshot.

DebuggerServices_<IP_ADDRESS>431.log
DebuggerServices_<IP_ADDRESS>09.log
2. To Reproduce
Steps to reproduce the behavior:

Create an empty extension with the app.json content listed below
Initialize a snapshot debugging session
Finish the snapshot debugging session after executing the required actions in the web client
Select the snapshot using "AL: Show all snapshots" action in VSCode

This error is not reproducible for every scenario. This is the first time we were able to observe this issue. We already tried using different installations of VS Code, on Windows 10 and Windows 11 environments. All combinations display the same error.
{
  "id": "c396b8ca-0b37-4133-af07-8ec4feb9b2bd",
  "name": "Debug",
  "publisher": "Default publisher",
  "version": "<IP_ADDRESS>",
  "brief": "",
  "description": "",
  "privacyStatement": "",
  "EULA": "",
  "help": "",
  "url": "",
  "logo": "",
  "dependencies": [
    {
      "id":  "<custom app id>",
      "name":  "<custom app name>",
      "publisher":  "<custom app publisher",
      "version":  "<IP_ADDRESS>"
    }
  ],
  "screenshots": [],
  "platform": "<IP_ADDRESS>",
  "application": "<IP_ADDRESS>",
  "idRanges": [
    {
      "from": 50000,
      "to": 99999
    }
  ],
  "resourceExposurePolicy": {
    "allowDebugging": true,
    "allowDownloadingSource": true,
    "includeSourceInSymbolFile": true
  },
  "runtime": "12.0",
  "features": [
    "NoImplicitWith"
  ]
}

the above listed app.json is a default extension we internally use for debugging purposes. This extension works in multiple environments, incl. OnPrem and SaaS customers.
3. Expected behavior
A debugging session should start, stopping execution at any available and valid breakpoints.
4. Actual behavior
Upon loading the debugging session the above listed error message is shown. Any further action cancels the debugging session.
5. Versions:

AL Language: <IP_ADDRESS>431 & <IP_ADDRESS>09
Visual Studio Code: 1.88.1 Commit: e170252f762678dec6ca2cc69aba1570769a5d39
Business Central: Version: BE Business Central 23.5, SCC (Platform 23.0.18591.0 + Application 23.5.16502.16589)
List of Visual Studio Code extensions that you have installed:

AL Language extension for Microsoft Dynamics 365 Business Central
AL CodeActions
AL Formatter
AL Toolbox
AL Variable Helper
AZ AL Dev Tools/AL Code Outline
Live Share
Peacock
Postman
Remote - SSH
Remote - SSH: Editing Configuration Files
Remote Explorer
Todo Tree
waldo's CRS AL Language Extension
WSL

Final Checklist
Please remember to do the following:

[X] Search the issue repository to ensure you are reporting a new issue

[X] Reproduce the issue after disabling all extensions except the AL Language extension

[X] Simplify your code around the issue to better isolate the problem

Internal work item: AB#538643

Looks like a mismatch in symbols with your local file and the server file. Maybe clean your symbol cache and download symbols with the snapshot endpoint (snapshot config).

Cleaning the symbols cache was the first thing we tried. Unfortunately, the issue persisted afterward.
Download was only done with the snapshot config, as this one is the only configuration available in the launch.json.
The extension in question is also only used for debugging and, thus does not contain any objects.
We additionally followed the below process, which we usually do when we encounter issues with debugging/symbols in general.

remove the .alpackages folder from the project
reload window
Download symbols from the environment to debug
reload the window again
start debugging session (initialize snapshot in this case)

Unfortunately, none of the above options helped with the situation

The fix for this issue has been checked in to the master branch. It will be available in the bcinsider.azurecr.io/bcsandbox-master Docker image starting from platform build number 25.0.22131.0 and VS Code Extension Version 14.0.1085764.
If you don’t have access to these images you need to become part of the Ready2Go program: aka.ms/readytogo
For more details on code branches and docker images please read:
https://blogs.msdn.microsoft.com/nav/2018/05/03/al-developer-previews-multiple-releases-and-github/
https://freddysblog.com/2020/06/25/working-with-artifacts/


chore: Add cluster name to outputs

Description
Sometimes it's useful to have this value as output, for instance, when using terragrunt and use this module as dependency of another module.
Motivation and Context
Just adds the output with cluster name. Useful when using module as dependency of another module.
Breaking Changes
No breaking changes
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects
[x] I have executed pre-commit run -a on my pull request
[x] I have tested and validated these changes using production cluster :)

that won't do what you think it does - you would need to take an implicit dependency on the cluster ARN in this case https://github.com/hashicorp/terraform-provider-aws/blob/f75b604ed2ccc1618be162393b623de3f232bb57/internal/service/kafka/cluster.go#L597
but we can output the name - see note on change though to get generated name


Remove 5.1 Bio-Formats jobs from the Contributing page

This development line is now unmaintained and the jobs are due for removal in
the upcoming months

Keep the B-F 5.1. docs jobs?

Our policy with docs jobs is usually slightly different from the code jobs. Happy to clean the ci-docs page as well if we decide we are not maintaining these /cc @hflynn

I can't see us doing a 5.1 docs release now, may as well clean those up too.

Staged at http://www.openmicroscopy.org/site/support/contributing-staging/ci-bio-formats.html.

Also staged at http://www.openmicroscopy.org/site/support/contributing-staging/ci-docs.html.

Good to merge.

Live contributing docs updated and I've also added the BF 5.1.x docs link to https://www.openmicroscopy.org/site/support/previous/ with a note that they will not be updated.


Upgrade protoc and proto-gen-java

This fixes an issue where it's not possible to run on an M1 Mac because amd binaries are not available on the older versions.

@myurtoglu @yolocs since you're also working on upgrades. I'm hoping this makes it so I can actually run locally again 😄

@myurtoglu @yolocs since you're also working on upgrades. I'm hoping this makes it so I can actually run locally again 😄

Sure 😄


Manually migrate assimp to 5.4.3

To unblock https://github.com/conda-forge/gz-sim-feedstock/pull/64 . The automatic bot migration is blocked by https://github.com/conda-forge/dartsim-feedstock/issues/97 .

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

fyi @jslee02


Disc. - Show repo maintainer on repo pane?

Repo maintainers are to be listed in readme's going forward as per @Sidorakh's suggestion, closing


Set up cronjob to renew SSL

Manually renewed as per now because it expired today.
Set up cron job to run every month. SSL renewing requires sudo, so it is installed as root.
crontab
#renew ssl
0 0 1 * * /home/emil/renew_ssl.sh

renew_ssl.sh
#requires sudo!

#renew ssh cert
letsencrypt renew

#restart apache
/etc/init.d/apache2 restart

Guess we will know if it works on 1st of May because we can see whether the cert was updated or not, or whether the server crashed. :)


libtensorflow1 dependency via FreshPorts broken

Hello,
Just to let you know, at the moment the libtensorflow1 dependency on FreshPorts is broken, so photoprism cannot be installed using ports or from the prebuilt binary.

Hi,
you can use a pkg package from here: https://github.com/psa/libtensorflow1-freebsd-port - that works for me.

Ah, I see it is already being dealt with. Sorry for the noise.

Thanks @jan666 I will do that.

PS: Thank you so much for the port!


Disk-backed chunk storage

Is there a reason why chunk storage is only in-memory?
We're still in the process of checking out plexdrive but I can see the this being our main bottleneck.
The comments in storage.go seem to be hinting towards disk caching, but doesn't seem to be implemented right now. Could someone provide some more info on what the plan was?
eg:

// Clear removes all old chunks on disk (will be called on each program start)

// Store stores a chunk in the RAM and adds it to the disk storage queue

I haven't thoroughly checked out the code and all the edge cases, but unless there are big concerns or issues that I'm missing I'd be very interested in giving disk-caching a shot. Any suggestions/hints/ideas would be greatly appreciated.

Disk caching was implemented already, but with the multi-threaded solution it was not fast enough, so I wanted to add a RAM cache which async syncs to disk.
This is still the idea, but due to the lack of time I cannot implement it myself.
Also I've experimented with a rust version of plexdrive, because I think it could get a lot faster, but hey... I don't have the time to finish it right now.
All in all the project is stalled right now and I think I'll continue development in november/december (winter).

Hey, @dweidenfeld thanks for the quick response.
I wasn't trying to get you to implement this, I was just wondering what your plans were for this.
I've hacked together a simple version with disk caching, and I'll try to optimize it a bit and I'll probably add a hybrid (memory with async disk writes) solution as the one you described with different stack sizes for memory and disk.
First iteration of a simply disk cache implementation: https://github.com/geoah/plexdrive/commit/db87b3d32b9491d97672dedad13de82595583e1d

Nice.. Thank you for your support.
Please be aware of the following issues I had with disk caching:

race conditions / synchronization issues
performance decreases initially
performance decreases over time


Fix errors in py sdk io utils and add unit tests

Minor changes to utils.py, this should be aligned with what the source APIs are actually expecting.
Also added unit tests and fixed code snippets in apache website for io guidance.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run Python PreCommit

Run Python PreCommit

R: @chamikaramj
Found more errors in the document example, mind take another look?

LGTM. Thanks for fixing these.


Add named value for PolymorphicType (to optionally replace scope.TableName)

Use case 1:
Hamster has 2 type of toys, preferred and the other.
Use case 2:
School has hall photo and set of individual photos for classrooms.
To save both types of sub-object into one table you need to set relation on something else than table name.
Solution - add "value" into struct tag:
type Hamster struct {
	Id           int
	Name         string
	PreferredToy Toy `gorm:"polymorphic:Owner;value:hamster_preferred"`
	OtherToy     Toy `gorm:"polymorphic:Owner;value:hamster_other"`
}

Thank you for your PR, did some changes, need to rename the tag name to polymorphic_value


Add -h for help

sonic_pi -h was my first try getting some help, I think it desserves to be allowed. Please correct me if my patch is wrong.

I totally overlooked -h, thanks for this! Your patch is extremely welcome :)

I've released v0.1.0 with this change included. Thanks again for contributing!


Test passes sometimes and fails sometimes

One of the tests  for property event stamping in the new EventSpec in the test refactor branch is behaving very strangely. Sometimes, the test passes, and other times, the test fails, saying that the event was not stamped by the property.
This is seriously confusing me, it would be awesome if I could get a second pair of eyes on it.

Fixed upstream in dev branch.


v2

Base branch for v2 release.

It would need to refactor Typer.Type.getAllInheritances: React.Component.tags is not added to ReactModal.tags.

Better merging this ASAP and focusing on ReScript...

Let's name it alpha and merge it to main. Node.js bindings (#163) and ReScript support (#32) will be worked on on later alpha/beta releases.


USHIFT-1804: Report OK status for IP and SSH in offline scenarios

A follow-up fix on #2518

/test metal-periodic-test

/lgtm
/hold
Unhold when ready

/unhold
The remaining problem in the periodic test is about FDO sos-report failure.
It will be fixed in another PR.

/override ci/prow/metal-periodic-test


Updating readme from branch example

Updates
I updated the readme file. __ Please__review and accept.

Thougths
I probably shouldn´t, but okat 👍


Change event is only triggered twice when watching one file

I want to watch file and only handle change event, but it is only triggered twice, when I change the watched file with third time, it can not handle change event, my code is here:
var chokidar = require('chokidar');
var path = require('path')
function registerFileChangeListener()
{
let testfile= path.join(__dirname, '../test.txt')
let watcher = chokidar.watch(testfile)
watcher.on('change',(path,stats)=>
{
console.log(path +'  is changed')
})
}
registerFileChangeListener()
But it can fix this issue by adding
{
usePolling:true
}
I　am not sure why this happen.

Cannot reproduce on Windows 7.1, Node 6.9.1, Chokidar 1.6.1

I do not try on windows. but it happens on Ubuntu

Also cannot reproduce on Arch, Node 7.1.0, Chokidar 1.6.1

I have been hitting this error as of lately, I'm on v1.6.1 as well
The exact problem I'm hitting is that some files, with really long paths have their change events emitted twice. While files with shorter closer paths have their change event triggered only once.

My issue turned out to be an EMFILE one

Experiencing that here.


docker slack invite page is not working

I want to join slack channel soi  visited the registration page and found this error
See this for more reference
https://community.docker.com/registrations/groups/4316

Hey there - please use http://dockr.ly/slack to sign up. Thanks!

Hey there,
Please use this link to join: http://dockr.ly/slack
On Tue, Feb 26, 2019 at 5:02 PM Sourabh Pruthi<EMAIL_ADDRESS>wrote:

I want to join slack channel soi visited the registration page and found
this error
See this for more reference
https://community.docker.com/registrations/groups/4316
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/community/issues/101, or mute the thread
https://github.com/notifications/unsubscribe-auth/AR3Fv7ZSJoc4YM-lYoh30af2x1A2a7Qjks5vRdk9gaJpZM4bTdwp
.

--
Karen Bajza
Program Manager, Developer Relations
https://www.docker.com/dockercon/

thanks @karenbajza , do you want me to close this issue as it is resolved

That would be perfect, thank you!
On Wed, Feb 27, 2019 at 5:44 PM Sourabh Pruthi<EMAIL_ADDRESS>wrote:

thanks @karenbajza https://github.com/karenbajza , do you want me to
close this issue as it is resolved
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker/community/issues/101#issuecomment-468102501,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AR3Fv2lrpBhacFEunlMbF5at6Io7Yzi8ks5vRzRrgaJpZM4bTdwp
.

--
Karen Bajza
Program Manager, Developer Relations
https://www.docker.com/dockercon/

@karenbajza is this something you can still assist with?
For reference, there's a 2000 usage limit on the invite URLs. I'm guessing the existing URL hit that limit.
https://slack.com/help/articles/201330256-Invite-new-members-to-your-workspace#share-an-invite-link

I guess someone saw the request as the URL was updated. So as of right now it's working. http://dockr.ly/slack

@jesseconnr yes, should be fixed now.

Still not working

Slack link not working now

Slack is still not working.

This is not working for me

mh https://dockercommunity.slack.com/ says

<EMAIL_ADDRESS>doesn’t have an account on this workspace.

Afaik, one needs an invite into a Slack workspace to join it. http://dockr.ly/slack is broken again.

Still not working.

Just use the Docker Discord server instead. Slack is dead.
https://discord.gg/sKqzB9eF3n

Okay, thanks for the heads up.
On Fri, Sep 30, 2022, 1:53 PM Quinn Comendant @.***>
wrote:

Just use the Docker Discord server instead. Slack is dead.
https://discord.gg/sKqzB9eF3n
—
Reply to this email directly, view it on GitHub
https://github.com/docker/community/issues/101#issuecomment-1263855128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2VCSQVCF6NIZ5RFS3ZD7QLWA4SKBANCNFSM4G2N3QUQ
.
You are receiving this because you commented.Message ID:
@.***>


npm run build error

npm run build
✘ [ERROR] "vite-plugin-pages-sitemap" resolved to an ESM file. ESM file cannot be loaded by require. See https://vite.dev/guide/troubleshooting.html#this-package-is-esm-only for more details. [plugin externalize-deps]

Npm version issue


Dev: Android - Console error on select "Here" in concierge message

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Click "+" button
Create public room
Send any message
Wait for concierge message
Click on "here" (text with blu color and underline)

Expected Result:
here should not be have any console error
Actual Result:
There is console error on click of "here" in concierge message.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: Dev: 1.3.42-7
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/27115d44-53d1-42bc-acd8-760411e5edd0
Expensify/Expensify Issue URL:
Issue reported by: @niravkakadiya25
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689671219791719
View all open jobs on GitHub

Reproducible:
https://github.com/Expensify/App/assets/78416198/bf8c79d6-6e29-4982-ad7d-5831c338b828

Proposal
Please re-state the problem that we are trying to solve in this issue.

Problem is that we are getting a Promise error when we press on here in the conierge message, which basically redirects to Display Name page.

What is the root cause of that problem?

The root cause of the problem is that we are getting /settings/profile/display-name url in AnchorForCommentsOnly/index.native.js file.
So when opening the url using Linking.openURL(props.href). It throws error as there's no domain attached.

What changes do you think we should make in order to solve the problem?

What we can do is that we can add change the onPress function such that it calls Navigation.navigate() function with the url as a parameter.
This will redirect to the Display Name page.

Code Changes

Previously

const onPress = () => (_.isFunction(props.onPress) ? props.onPress() : Linking.openURL(props.href));

Updated

const onPress = () => {
    if (_.isFunction(props.onPress)) {
        return props.onPress();
    } else if (props.href && props.href.startsWith('/')) {
        return Navigation.navigate(props.href);
    }
    Linking.openURL(props.href);
};

We might need to handle back navigation as well from display name page as currently it will take us to Profile > then settings > then the chat report screen.

What alternative solutions did you explore? (Optional)

N/A

asked in slack as this is one for the dev environment https://expensify.slack.com/archives/C049HHMV9SM/p1689783369475699?thread_ts=1689671822.535099&cid=C049HHMV9SM

assigning eng as I can't reproduce on Dev.

Ugh! i did not mean to add the overdue label, so removing that!

@johnmlee101 please could you help with reproducing this on dev - we said here to ask engineers with these kind of bugs. thank you!

bump @johnmlee101 please could you get to this one when you have a moment?

Reproduce steps for Android:

login into any new account.
Remove the display name - first name and last name from profile.
Now create a public room without any members and send any message.
You should get a here message, press on it and verify that you get an error and nothing happens.

Expected:

User should have been navigated to Profile name page.

Yep reproduced

Thanks @johnmlee101 - assigning external.

@zanyrenney  I think we can hold this on https://github.com/Expensify/App/issues/21207. The link sent by Concierge should be fixed to be an absolute url.
cc @youssef-lr

Thanks!

@youssef-lr i'm going OOO, seeing as this is on hold, i won't assign a bug buddy, if this needs movement whilst I am away though, please feel free to reapply label. Thanks!

Still on hold, I believe

Still on hold for https://github.com/Expensify/App/issues/21207

Still on hold

Same ^

Still on hold!

changing to weekly whilst this is on hold.

@zanyrenney The #21207 issue is closed so can we remove the hold ?

@sakluger Related to https://github.com/Expensify/App/issues/21207. Should we close this one as well? I don't see a better solution than fixing the url that Concierge is sending.

We should close this one as well!


Refactoring Video Code for Event

Refactoring Video Code for Event (closes issue #839).
Changes

Updated  src/_includes/macros/video-player.html to be support various video types.
Removed  src/_includes/macros/youtube.html  because it is no longer needed.
Updated src/events/_event-post-macros.html  to use new video-player macro and correct error regarding event summary state.
Updated src/events/_event.html to correct error regarding event summary state.
Updated src/static/css/main.less to add video-player styles.
Updated src/static/css/pages/bureau.less to remove code which was partitioned into video-player.less.
Updated src/static/css/pages/event.less to remove unnecessary code.
Updated src/the-bureau/index.html to use video-player macro.
Updated 'src/careers/application-process/index.html' to use new video-player macro.
Added src/static/css/video-player.less to partition video-player styles.
Updated src/static/js/modules/youtube.js to use new video-player styles.

Testing
Visit http://localhost:7000/events/summer-consumer-advisory-board-meeting-in-omaha-ne/
Screenshots

Review
@anselmbradford
@KimberlyMunoz

This looks like a great refactoring! Just some minor stuff as you see fit + Kurt's comments. :+1: otherwise from me.

Looks like everything has been addressed. :+1:


Add support for a border below section headers in Sidebar and Panel

This fixes #157343
Eg:

It allows for a border to be places below section headers.
In the screenshots above, I have added the border manually in settings.json. This is default to null for all themes since I wasn't sure how it would look with the high contrast themes when I was creating it, but looking at the screenshot above, I think you could make a case for enabling it.

Does this only add borders for the bottom of each section header? My impression was that you wanted top and bottom. I also noticed that the sidebar section header border top doesn't get applied to the first/top one.
FWIW I didn't see any impact when adding a value "panelSectionHeader.border".

Is this PR still active?


k8s/contiv-vpp.yaml: switch to vpp-cni & vpp-ksr

This PR switches the deployment to the newly added Docker images.

Coverage decreased (-0.04%) to 76.785% when pulling b976b89c4f64b647e7f9e528395247d3be477055 on unclejack:switch_to_vpp-cni into 9726993c9f3cbae139b7a26806b21d45be451934 on contiv:master.


Dashboard not registering events and broadcasts

Hello!
After trillions of years of banging my head I managed to get the dashboard to somewhat work locally. When a listener registers the dashboard now visually shows that, however.. when I trigger an event it doesn't go through.
For example if a user likes a post, or I trigger some testing event I made like this through tinker:
>>> event(new App\Events\PusherTest("please work"))
=> []

The code for the event:
<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;

class PusherTest implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $message;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct($message)
    {
        $this->message = $message;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel('testing');
    }
}

Here is the broadcasting.php:
        'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'encrypted' => false,
                'host' => '<IP_ADDRESS>',
                'port' => 6001,
                'scheme' => 'http'
            ],
        ],

Here is the bootstrap.js:
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    cluster: process.env.MIX_PUSHER_APP_CLUSTER,

    encrypted: false,
    wsHost: window.location.hostname,
    wsPort: 6001,
    disableStats: true,
    enabledTransports: ['ws'],
});

Absolutely any sort of help is much appreciated because I am really struggling with this. It's killing my website so much, I can't progress further...
I tried following a bunch of tutorials and forum posts and other issues, but none helped me with this new problem I encountered.

Don't mind me.. I just forgot to turn on horizon facepalm
The events were being queued up, once it was turned on, a billion notifications broadcasted..
On the server the supervisor takes care of that so I forgot to start it on the dev environment.


Fix Leaky Subscriptions

Whew, so we:

Created a Result for wrapping errors in nested streams
Had some fruitful discussions about our handling of streams
Fixed the leaky subscriptions.

Hooray!
Closes #24
@navinsivakumar FYI

@gino-m looks like  I can't delete this branch  since it's protected.
It's safe to delete since we've merged it.


fix: avoid create pluginconfig in the tranlsation of route (#836)

Type of change:

[X] Bugfix
[ ] New feature provided
[ ] Improve performance
[ ] Backport patches

What this PR does / why we need it:

Pre-submission checklist:

[ ] Did you explain what problem does this PR solve? Or what new features have been added?
[ ] Have you added corresponding test cases?
[ ] Have you modified the corresponding document?
[ ] Is this PR backward compatible? If it is not backward compatible, please discuss on the mailing list first

ci need re-run @tao12345666333

Need some test cases to make sure the plugin_config_id is not written now.

ok, I will add more test cases today.

Codecov Report

Merging #845 (5aada25) into master (de52243) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #845      +/-   ##
==========================================
+ Coverage   32.12%   32.16%   +0.04%
==========================================
  Files          70       70
  Lines        7724     7706      -18
==========================================
- Hits         2481     2479       -2
+ Misses       4968     4954      -14
+ Partials      275      273       -2

Impacted Files
Coverage Δ

pkg/kube/translation/apisix_route.go
22.16% <100.00%> (+0.33%)
:arrow_up:

Continue to review full report at Codecov.

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

e2e test need to re-run @tao12345666333

ci error below:
• Failure [70.707 seconds]
ApisixRoute Testing
/home/runner/work/apisix-ingress-controller/apisix-ingress-controller/test/e2e/ingress/resourcepushing.go:28
  service is referenced by two ApisixRoutes [It]
  /home/runner/work/apisix-ingress-controller/apisix-ingress-controller/test/e2e/ingress/resourcepushing.go:502

  	Error Trace:	resourcepushing.go:607
  	            				runner.go:113
  	            				runner.go:64
  	            				it_node.go:26
  	            				spec.go:215
  	            				spec.go:138
  	            				spec_runner.go:200
  	            				spec_runner.go:170
  	            				spec_runner.go:66
  	            				suite.go:79
  	            				ginkgo_dsl.go:238
  	            				ginkgo_dsl.go:213
  	            				e2e_test.go:26
  	Error:      	"[%!s(*v1.Upstream=&{{45e6c8e6 ingress-apisix-e2e-tests-default-428202328_httpbin-service-e2e-test_80 Created by apisix-ingress-controller, DO NOT modify it manually map[managed-by:apisix-ingress-controller]} roundrobin vars  <nil> [{<IP_ADDRESS> 80 100}] http <nil> <nil> <nil>})]" should have 0 item(s), but has 1
  	Test:       	ApisixRoute Testing service is referenced by two ApisixRoutes

maybe it need to re-run once again. @tao12345666333

Wait for #859 to fix CI.

https://github.com/apache/apisix-ingress-controller/pull/859 has been merged. Re-run the CI.

ping @tokers @gxthrj  for review, thanks

Actually, I found I had covert the plugin config name to plugin id in the apisixRouteController.
https://github.com/apache/apisix-ingress-controller/blob/master/pkg/ingress/apisix_route.go#L240

It's been a long time and I almost forgot what I had done

@tao12345666333
The case check the ingress lb status is updated ran failed.
Please re-run.

@tao12345666333
Ingress case check the ingress lb status is updated run failed.

let me re-run it

CI is green. Wait for @tokers  approval


Bulk import with CSV file

Fixes: #931

An additional field in the import form implemented by a new CSVFileField class. CSV parsing and validation logic extracted form CSVDataField to be reused. A csv file upload tab is added to the view, separate html forms for the existing csv text tab and the new file upload tab to keep validation separated.
Parts copied from CSV file upload in Netbox.

Thank you for the pull request! For reference, this is partly based on https://github.com/netbox-community/netbox/pull/6561 by @abigley, I believe. I'll try to find time to review this today.


Frontend | Setup Linting & Pre-commit hooks

Linting and pre-commit hooks are both practices aimed at improving code quality and maintaining consistency in software development projects. They help developers catch errors early in the development process and enforce coding standards.

What is Linting ?
Linting refers to the process of running a program that analyzes your code for potential errors, bugs, stylistic issues, and deviations from a specified coding standard. Linting tools, often called linters, are especially useful in identifying syntactical and semantic errors which can be easily overlooked by developers,

What are Pre-commit Hooks ?
Pre-commit hooks are scripts that run automatically before a commit is made to a version control system (such as Git). The goal of these hooks is to catch issues such as failed tests, coding standard violations, or linting errors before they are committed into the codebase.

What needs to be done ?
Essentially, follow the steps mentioned here

@All - Linting has been added to frontend.
Linting will be executed automatically whenever a commit is made.
Also, you can now run the following commands to fix formatting on your code.
# frontend only
npm run lint-fix
npm run format


Feat:  Storybook configs + Checkbox component.

Depends on https://github.com/vtex/faststore/pull/1496
What's the purpose of this pull request?

[x] Configure Typescript SASS and TS loaders.
[x] Brings custom storybook components to  @faststore/ui.
[x] Move Checkbox Component from @faststore/ui to @faststore/components.
[x] Move Checkbox Styles and stories from nextjs.store to @faststore/ui.

Question: Should we move the Checkbox props (e.g. partial) to @faststore/ui?

[ ] bring props from nextjs.store to @faststore/ui

How to test it?
run yarn storybook in package/ui folder and verify the Checkbox component.
Starters Deploy Preview

References

Question: Should we move the Checkbox props (e.g. partial) to @faststore/ui?

From what we have discussed so far, we should bring all the props to faststore/components. Just be aware, check if it's a prop for the Checkbox component or CheckboxField


Enable passing generic type for presence state when calling channel.presenceState()

Chore
Describe the chore
Update the types for channel.presenceState() to accept a generic type for the "presence" state.
channel.on('presence', { event: 'sync' }, () => {
	/**
	* Currently returns `RealtimePresenceState` with no option to configure
	* the generic that already exists on the internal `Presence` type.
	*/
	const presenceState = channel.presenceState();
});

Enabling users to pass a generic would reduce the amount of type casting required to work with presence state.
interface MyPresenceState {
	extra: string;
}

channel.on('presence', { event: 'sync' }, () => {
	/**
	* Pass `MyPresenceState` that gets passed to the internal `Presence` type
	* using the same default as `Presence` uses already
	*/
	const presenceState = channel.presenceState<MyPresenceState>();
});

Taking this further, it feels like it should be possible to stamp the presence type at the point that the channel is created, then it could be enforced in the channel.track() method as well as the returned state.
Additional context
This felt like a chore rather than a feature request but please let me know if it should be in a different category.

...stamp the presence type at the point that the channel is created, then it could be enforced in the channel.track() method as well as the returned state.

@agubler feel free to create another issue so we can track this


Multiple fixes (monthly-2022-01 tag) (#225)

Remove the traces on custom type and update to based on Node v16

webpack 5 migration

Rm eslint related dev-dependencies & use URLSearchParams over querystring

Updated to the latest polkadot-js libs

Integrate with prettier

Friendlier connection failure message.

Refactored current selected account into SubstrateContext

bugfix

Fix console warning

Update README

Update to solve a yarn berry issue

Opened this PR by mistake 😬


Build instructions for Windows

are you retarded it's a jar file just run it if it doesn't work open command prompt go to the folder using cd then put the command java -jar ArrayVisualizer.jar then that is it


Did Exchange with DIDComm v2

InvitationV2
https://identity.foundation/didcomm-messaging/spec/#invitation
RFC 0587: Encryption Envelope v2
https://github.com/hyperledger/aries-rfcs/tree/main/features/0587-encryption-envelope-v2

Done


table_reader ERROR:NCTable parser:File has invalid utf-8 encoding

Hello,
I have an Error with some .t Tables:
ERROR:NCTable parser:File has invalid utf-8 encoding
I think the TNC format encoding is not utf-8
I change in table_reader.py line 302 from
            with table_file.open(mode="r", encoding="utf-8") as tfp:
to
            with table_file.open(mode="r", encoding="ANSi") as tfp:
and it works again
testet on iTNC530 and TNC640
thanks

Thank you,I will make add your fix and publish a fixed version shortly!

fixed in v1.3.3


Automatic teleport!!

I have several worlds in my minecraft multiverse-core...and sometimes i just teleport to a random world...just like that. no commands or anything...Whats wrong Can you hel ME!!

This isn't a direct issue with Multiverse, what other plugins do you have?

I have a lot...but how do i fix this? I will open a Rôle Pley server soon and I don't want poeple to teleport just like that!!??

I want to help you, but it's one of your plugins so you could disable them one by one until it stops happening and delete the bad plugin, or I can help you find the plugin that does this, the name is nearly always a pointer.

Update @Jamesthebest77

Closing with no response.


feature_request(links): Pelican templates

1. Summary
It would be nice, if remark-validate-links will support Pelican templates, which have the form {variable}.
Or at least ignored them.
2. Argumentation
I use in my Markdown articles these templates:

{filename}
{static}
{attach}

remark-validate-links show warnings. I need to disable remark-validate-links completely, that use templates.
3. Data

Kira_remark-valdate-links__pelican_article_templates--non-valid_demo.md

[![KiraGoddess]({static}/KiraFolder/KiraGoddess.png)]({static}/KiraFolder/KiraGoddess.html)

4. Expected behavior
No warnings.
5. Actual behavior
D:\Kristinita>remark Kira_remark-valdate-links__pelican_article_templates--non-valid_demo.md --use remark-validate-links --no-stdout
Kira_remark-valdate-links__pelican_article_templates--non-valid_demo.md
  1:1-1:92  warning  Link to unknown file: `%7Bstatic%7D/KiraFolder/KiraGoddess.html`  missing-file                     remark-validate-links
  1:2-1:53  warning  Link to unknown file: `%7Bstatic%7D/KiraFolder/KiraGoddess.png`   missing-file                     remark-validate-links

‼ 2 warnings

Thanks.

Similar to https://github.com/remarkjs/remark-lint/issues/202
This would be a good parser extension for remark itself.
It may be possible to reuse https://github.com/djm/remark-shortcodes configured to use {} are the markers.
Then add a follow up plugin that can replace the shortcode with the variable/path as Pelican would resolve it.

You could try something like this through a syntax extension indeed, for short codes. However, it’s impossible to totally support real template languages, as they could generate other markdown constructs.
For example, say we have a fictional template language where in {foo}[link](url) the {foo} part would expand to !, we’d now have an image instead of a link.

Closing this as it’s not an issue that needs to be solved here!


Add integration test for issue creating

Would it be possible to check that the issue was actually created? (by models.AssertExistsAndLoadBean(..), or if that's not possible by making a GET request to view it)

@typeless Also, thank you for adding integration tests! I appreciate your willingness to do unglamorous-but-important tasks like writing tests.

@ethantkoenig I have added a GET request to check the existence of the issue page. And I don't quite understand how AssertExistsAndLoadBean is used here.

LGTM

LGTM


Implement retriggering of pull from upstream

To be consistent with other jobs, people should be able to retrigger pull_from_upstream job as well.

[ ] discuss and decide where this should be possible (e.g. via issues in dist-git, issue_repository, see #1536)
[ ] implement it
[ ] document it

Ideas from the architecture on where to trigger the pull from upstream:

issue in dist-git repo

enabling the issue tracker via web UI doesn't seem to work

comment in (any) dist-git PR (we already react to these)

Outcome: do it via dist-git comments.

Ideas from the architecture on where to trigger the pull from upstream:

A possible another way: running packit pull-from-upstream while being in a dist-git clone.

A possible another way: running packit pull-from-upstream while being in a dist-git clone.

That wouldn't be so easy to implement, packit CLI is not a client for Packit Service, I guess we would have to implement an (authenticated?) API endpoint in Packit Service for that.

@ptoscano but if you would be interested in a CLI command, there is the packit propose-downstream that can be run in the upstream clone (but it requires user's credentials)


Added support for Vault

What does this PR do?
This PR adds support for Vault PKI
Motivation
Vault PKI can be an excellent replacement for LE inside a private network infrastructure.
See also #2855
More

[ ] Added/updated tests
[ ] Added/updated documentation

Additional Notes
This PR is currently WIP

I used the ACME provider as a template for the vault provider. But right now, i didn't find the point, where a KV is used as storage backend in cluster mode. Any hints? ;)

As the current master branch and 2.0 don't have support for KV's, i will suspend to working on this PR until it is back. I have rebased the PR on the current master branch. @ldez is there information how one could help (re)implementing KV's?

Thank you :+1:
Sorry for the late answer, we think that the KV support is out of the scope of this PR.
Then could rebase on the v2.0 branch and add some tests?

@tbe any news ?

@tbe any news ?

Sorry for the long silence. I have two other high priority projects ongoing right now. I will not be able to continue the work in the next 3 weeks. After that i will finish the PR.

@tbe any news ?

I'm really keen on this too! Can we merge this in?

This would be a great feature to have!

@tbe last call, any news ?

The PR was opened since one year now.
Despite several reminders, there has been no progress.
The code of Traefik has now changed a lot.
We will close this PR, but the subject is not abandoned, we leave open the issue attached to this PR.
Thank you for your understanding.


Pull in update dates for workflows from bitbucket and gitlab

Feature Request
Desired behaviour
Currently exists for github only.

Functional, but flawed with
DockstoreAPI - 1.5.0-alpha.6
DockstoreUI - 2.2.0-alpha.4
See #1492


[DO NOT REVIEW] bypass PS PageCache for compaction_level0_phase1

refs https://github.com/neondatabase/neon/issues/8184

So, interesting test failures:
https://neon-github-public-dev.s3.amazonaws.com/reports/pr-8543/10147986168/index.html
test_pageserver_compaction_smoke[release-pg16]

fixtures.pageserver.http.PageserverApiException: IoError: Failed to read immutable buf: timeout: there were page guards alive for all page cache slots

Looking at the test code:
https://github.com/neondatabase/neon/blob/c96e8012ce2472964f7dff13110d57f7ba5db2b4/test_runner/regress/test_compaction.py#L39-L43
Why are we running out of page cache slots?
I think it's because each delta layer's iterator holds one BlockLease::PageReadGuard open here:
https://github.com/neondatabase/neon/blob/a4434cf1c0b42133de1196c8adc5468637bbb8eb/pageserver/src/tenant/disk_btree.rs#L301-L303

blocked on e2e failures: https://neondb.slack.com/archives/C059ZC138NR/p1722420565719369

Post-merge testing / validation update:

CI pipeline duration: from ~30min to
Validation overhead in staging

CI pipeline duration
No impact beyond noise on regress tests duration:
Before: https://github.com/neondatabase/neon/actions/runs/10168623495/job/28124265193
After: https://github.com/neondatabase/neon/actions/runs/10180033285/job/28157886382
Staging basic testing
Before
Setup: pump a bunch of data into a fresh staging project with 2 vCPUs. Pumping a lot of data creates compaction work for the pageserver. Watch the Pageserver's Page Cache Dashboard before and after deploying this PR.
To create a bunch of compaction work, I ran
admin@neon-us-east-2-pgbench:~$ pgbench -i -s 3424 -I dtG 'postgresql://neondb_owner:<MASKED>@ep-flat-bonus-w2d18yi4.us-east-2.aws.neon.build/neondb?sslmode=require'

It ran from 11:58 UTC to +850s = 12:12UTC.
However, above pgbench ingests data faster than compaction, and we don't have compaction backpressure, so we run into
 skipping image layer generation due to L0 compaction did not include all layers.

until 2024-07-31 13:42:32.909
The grafana logs from that compaction run are here.
The last iteration that then actually created image layers took 1379 seconds 🤯.
There are more image layer creations after that.
Anyways, not the problem of this PR.
PageCache dashboard during this period:

After
The PR merged as tag 5753 at 12:17 and deployed to staging via this pipeline which finished deploying at  at 13:57.
I deleted the above project to stop the image layer creations.
Then I created a new staging project and repeated above pgbench against it.
postgresql://neondb_owner:<MASKED>@ep-lucky-hill-w2y61c8c.us-east-2.aws.neon.build/neondb?sslmode=require

Started at ~14:02 ended after 825s at 14:15.
Staging has validation mode enabled, so, we'd expect the PageCache footprint to still show up. We laid out expectations in the PR description.
Same pageserver (pageserver-23)
The compactions do take a bit longer, about 3.5min before vs about 4.5 min after.
Cant' identify expected changes in

higher CPU usage
VirtualFile read bytes

That could be due to to the fact there was concurrently running load on that pageserver-23 during the "before" run, though: