[SPARK-13850] Force the sorter to Spill when number of elements in th…

What changes were proposed in this pull request?
Force the sorter to Spill when number of elements in the pointer array reach a certain size. This is to workaround the issue of timSort failing on large buffer size.
How was this patch tested?
Tested by running a job which was failing without this change due to TimSort bug.

Can one of the admins verify this patch?

cc- @srowen, @JoshRosen

What is the root cause? Can you also add a regression test?

I am not 100% sure of the root cause, but I suspect this is happening when JVM is trying to allocate very large size buffer for pointer array. The issue might be because the JVM is not able to allocate large buffer in contiguous memory location on heap and since the unsafe operations assume contiguous memory location of the objects, any unsafe operation on large buffer results in memory corruption which manifests as TimSort issue.
Unfortunately, this issue is not reproducible consistently and I am not sure of the root cause. So I am not sure how can we have a regression test for it.
Also, please note that this change itself is a no-op unless you override the default value of numElementsForSpillThreshold, which is Long.MAX_VALUE.

Should we have a default value that's not Long.MAX_VALUE for this? What values do you guys typically set?

TimSort require a temporary buffer to store the shorter part, which could be half of the size of pointer array in worst case. This depends on the original order of rows, it's pretty hard to reproduce. I hit that twice and have a patch, but can't reproduce it anymore (without the patch).
The better solution should be only use 2/3 of the pointer array, left 1/3 as temporary buffer for TimSort.

@rxin - We have seen this issue go away when we limit the pointer array size within 1G. Updated the PR to set that as a default value.
@davies - There is another issue with the allocation of temporary buffer you mentioned.  That buffer is not being managed by the MemoryManager and we often see executor OOM because of that. I have opened a JIRA (SPARK-15391) for this. Would be great to have that issue fixed.

Do we still need this pull request given the other two patches?
https://github.com/apache/spark/pull/13336
https://github.com/apache/spark/pull/13318

@rxin After fixing those two, we still have some other limits (the number of elements should be less than 512 mm), especially for on-heap mode. There are:

the largest memory block is 8G in on-heap mode, so the number of elements should be less than 512M.
for both Radix sort and time sort, the underlying array could not 2G (or overflow), the number of records should be less than 1G
For sorted iterator, the underlying array could not be larger than 2G.

So we still need to check the number of elements, then do spilling, or the job could fail in unexpected way.

@rxin - In addition to @davies's point. This feature also controls largest contiguous memory block allocated on heap which is very useful to avoid OOM when operating on large data set. We have been seeing this issue of executor OOM due to failure to allocate large amount of contiguous buffer in memory due to defragmentation.

@sitalkedia I think it will trigger Full GC and eventually spilling in that case, could you provide more information on that (stacktrace or logging)?

@davies - Can you take a look?

Test build #3133 has started for PR 13107 at commit c5f5a69.

Test build #3133 has finished for PR 13107 at commit c5f5a69.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #61372 has started for PR 13107 at commit c5f5a69.

Test build #61372 has finished for PR 13107 at commit c5f5a69.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61372/
Test FAILed.

Fixed test cases.

Test build #61416 has started for PR 13107 at commit ed657a3.

Test build #61416 has finished for PR 13107 at commit ed657a3.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61416/
Test FAILed.

Test build #61423 has started for PR 13107 at commit cab4357.

Test build #61423 has finished for PR 13107 at commit cab4357.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61423/
Test FAILed.

Merged build finished. Test FAILed.

Test build #61484 has started for PR 13107 at commit 11dc238.

Test build #61484 has finished for PR 13107 at commit 11dc238.

This patch fails from timeout after a configured wait of `250m`.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61484/
Test FAILed.

jenkins retest this please.

Test build #61549 has started for PR 13107 at commit 11dc238.

Test build #61549 has finished for PR 13107 at commit 11dc238.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61549/
Test PASSed.

@davies - Addressed all comments and fixed test cases.

LGTM,
Merging this into master and 2.0, thanks!


Cannot download HTTP error

/usr/local/bin/youtube-dl --verbose http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=ruoCe4pPpPlussNa8IeeqqEEqual
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=ruoCe4pPpPlussNa8IeeqqEEqual']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.02.04
[debug] Python version 2.7.6 - Linux-3.13.0-37-generic-x86_64-with-LinuxMint-17.1-rebecca
[debug] exe versions: avconv 9.16-6, avprobe 9.16-6
[debug] Proxy map: {}
[generic] relinkerServlet: Requesting header
WARNING: Could not send HEAD request to http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=ruoCe4pPpPlussNa8IeeqqEEqual: HTTP Error 403: Forbidden
[generic] relinkerServlet: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 301, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1577, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 442, in error
result = self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 629, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

Hello luciano54b and the entire youtube-dl community,
I have investigated this problem and it seems that they just check for the
User-Agent HTTP header, I guess that they had put the User-Agent sent by
youtube-dl in a blacklist, so you can fool it using the --user-agent option,
e.g.:
$ youtube-dl --user-agent foobar 'http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=ruoCe4pPpPlussNa8IeeqqEEqual'
[generic] relinkerServlet: Requesting header
[redirect] Following redirect to http://creativemedia1.rai.it/podcastcdn/Fiction/RaiUno/Un_passo_dal_cielo_3/3493763_1800.mp4
[generic] 3493763_1800: Requesting header
[download] Destination: 3493763_1800-3493763_1800.mp4
[download]   0.1% of 1.43GiB at 503.33KiB/s ETA 49:44

Unfortunately I have just quickly looked to the code but can not write a patch
to it (I also do not know Python)... Can someone with more experience just
change the User-Agent to a widely used value please?
If not I will try to look more deeply in the source code in the next days.
Feel free to contact me for further testing.
Thank you for your attention!
Ciao,
L.

http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=ruoCe4pPpPlussNa8IeeqqEEqual is not a valid rai link. You should use original links, e.g. http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-cb27157f-9dd0-4aee-b788-b1f67643a391.html.

I was wrong... The issue is solved with the latest stable release (2015.04.17). Please note that it is better to use a rai.tv URL instead to manually search a  tag, e.g., for the video in the issue:
$ youtube-dl --verbose 'http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-4cff786b-3827-4de1-b0f9-560eaf3c6b57.html'
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-4cff786b-3827-4de1-b0f9-560eaf3c6b57.html']
[debug] Encodings: locale UTF-8, fs UTF-8, out None, pref UTF-8
[debug] youtube-dl version 2015.04.17
[debug] Python version 2.7.9 - NetBSD-7.99.9-amd64-x86_64-64bit-ELF
[debug] exe versions: none
[debug] Proxy map: {'perl_lwp_env': '1'}
[Rai] 4cff786b-3827-4de1-b0f9-560eaf3c6b57: Downloading webpage
[Rai] 4cff786b-3827-4de1-b0f9-560eaf3c6b57: Downloading JSON metadata
[Rai] 4cff786b-3827-4de1-b0f9-560eaf3c6b57: Downloading f4m manifest
[debug] Invoking downloader on u'http://uscreativemedia2-vh.akamaihd.net/z/podcastcdn/Fiction/RaiUno/Un_passo_dal_cielo_3/3493763_,800,1800,.mp4.csmil/manifest.f4m?auth=daEbydmbtcmcPc3a4djapbOcOd8aAb2bWaO-bvmtJ6-c0-EmtvAGp&aifp=V001&hdcore=3.7.0&plugin=aasp-<IP_ADDRESS>.44'
[download] Downloading f4m manifest
[download] Destination: Un passo dal cielo 3 - 4^ puntata del 29_01_2015-4cff786b-3827-4de1-b0f9-560eaf3c6b57.flv
[...]


Make a management command for deleting pending entities

Either per collection or for the whole system. Refs #118.

Handled by #122


Enable pydantic>=2.0 support

Currently our team is working in an environment which requires pydantic >= 2.0 and would like to include sqlmesh in its dependencies, but we have a version conflict here.
Looking at recent pull requests, I can see that work has already been merged to support Pydantic 2, see: https://github.com/TobikoData/sqlmesh/pull/1290. However if I inspect the setup.py file I find that there is forced version requirement of pydantic[email]>=1.10.7,<2.0.0, which means this support must not be enabled yet.
I did not see a pre-existing open issue on this topic so I made this one to watch progress. Let me know if I've missed something crucial here and if so feel free to close this issue.

@tanghyd despite the hardcoded pydantic support by default, we do support Pydantic 2 with this dependency:
pydantic[email]~=2.3.0

or below (they broke something in 2.4 as far as I remember). Can you try it?
In the meantime we'll make sure to fix setup.py.

@tanghyd despite the hardcoded pydantic support by default, we do support Pydantic 2 with this dependency:
pydantic[email]~=2.3.0

or below (they broke something in 2.4 as far as I remember). Can you try it?
In the meantime we'll make sure to fix setup.py.

Very prompt! Thank you very much

It seems like sqlmesh ui fails to run with an fresh virtual environment installed with sqlmesh==0.37.0 due to pydantic-settings not included alongside pydantic[email] in the setup.py dependencies, i.e.
ModuleNotFoundError: No module named 'pydantic_settings'

I imagine the fix should be something like including pydantic-settings in the setup.py dependencies (perhaps only as part of sqlmesh[web] dependencies), possibly conditional on the pydantic version (as I imagine you don't want to force this if someone is running pydantic<2.0 (?)).

It also seems like I am getting the following warning when running sqlmesh ui even after installing pydantic-settings, namely:
/home/user/mambaforge/envs/sqlmesh_env/lib/python3.10/site-packages/pydantic/_internal/_fields.py:127: UserWarning: Field "model_name" has conflict with protected namespace "model_".

You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.

So far I can't seem to see if this causes any tangible problems - it seems fine so far.

@tanghyd I wanted to let you know we decided to re-pin Pydantic to v1 since v2 is still relatively new. While v1 will be installed by default, you can still use Pydantic v2 with SQLMesh by installing it. We took a look to see if it's possible to configure setuptools to install v2 and pydantic-settings in a separate extras target, e.g. sqlmesh[web,pydanticv2], but couldn't find a solution.


SVC case sensitive

Hi,
I have been playing around with SVC.  I am thrilled by the wonders it performs.  I am not yet 100% sure how it all works.  Bear with me.
What I noticed is that after I train my model and I get very good results, it's all case sensitive.
For example when I match TAXI vs Taxi.  All my training is done in caps and if I enter caps I get the label I expect.  If I use initial caps I get a different result.  (Seems to be the most popular one)
Can I work around case sensitivity on the training model?  To work the same for any cases
Also, is there a way to see whether the match was an accurate one?
Thanks

You should first use mb_strtolower or something similar to prepare data before training. Although not always, sometimes you'll want the size of the characters to matter. For most problems, however, I would recommend normalizing the data. Remember to do the same before the prediction.
In SVC you can use predictProbability to check accuracy (remember to set probabilityEstimates param in SVC constructor).


[WIP] Parallel experiment mock IQ backend

Summary
Add support for parallel experiment to mock IQ backend.
Adding two new classes:

 MockIQParallelExperimentHelper(MockIQExperimentHelper) - a helper class for parallel experiment
MockIQParallelBackend(MockIQBackend) - A new backend to generate data for parallel experiment efficiently.

Details and comments

The  MockIQParallelExperimentHelper(MockIQExperimentHelper) will get list of experiment and helper. The compute_probabilities method will return all the information that MockIQParallelBackend need to generate data correctly like output statistics, qubit mapping and circuit length.
API documentation for  MockIQParallelExperimentHelper

class MockIQParallelExperimentHelper(MockIQExperimentHelper):

    def __init__(self, exp_list: List[CompositeExperiment], exp_helper_list: List[MockIQExperimentHelper] = None):

    def compute_probabilities(self, circuits: List[QuantumCircuit]) -> List[Dict[str, float]]:

The MockIQParallelBackend(MockIQBackend) will generate data and assign it to the relevant qubits. Because the output of parallel experiment can be divided to tensor products, I will generate data for each experiment individually.

As I said above, the call to circuits is problematic. But if we eventually decide that it remains, then we'll have to replace it with fetching the transpiled circuits.

@ItamarGoldman it's your turn. Right now I think there are three unresolved comments, two of them are related to documentation and one requires a bit of work (if you see that it becomes a lot of work then give up).


Add API for prepared queries

Fixes #49

Add tests
Add Adbc.Connection.prepare/2
Add Adbc.Connection.release/2
Add clause to Adbc.Connection.query/3 and Adbc.Connection.query!/3 that handles prepared query references
Prepared queries are represented as reference() type
Uses existing locking system

Not sure whether I am using the locking system correctly. I added clauses to handle the new no-op / no-result cases.

@dlindenkreuz can you please rebase this one? We have added automatic release and management for ADBC parts, so it should simplify this one.

To be clear, this means you don't need to use the lock system on prepare and you don't need release. Just prepare it and it will be released when GCed.

Rebased + removed locking mechanism.
However, tests don't pass anymore:
$ mix clean && mix test
[…]
> 'mix test' terminated by signal SIGSEGV (Address boundary error)

I expected that 8bb1dede is the culprit, but tests pass with f7c85cb7 reverted. Any idea how to debug this?

Huh, tests also fail on main for me.

@dlindenkreuz can you rm -rf _build and run tests again?

Just did so and got the same error on main and the PR branch.
My environment:

macOS 14.2.1 (23C71)
Elixir 1.15.7 (compiled with Erlang/OTP 26)
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>.5)

I found that if I run these tests individually, there will be no segfaults. But if I try to run serval tests together, it will crash, like
$ mix test test/adbc_connection_test.exs:212
$ mix test test/adbc_connection_test.exs:247
$ mix test test/adbc_connection_test.exs:271

I found that if I run these tests individually, there will be no segfaults. But if I try to run serval tests together, it will crash, like
$ mix test test/adbc_connection_test.exs:212
$ mix test test/adbc_connection_test.exs:247
$ mix test test/adbc_connection_test.exs:271

And in my environment tests also pass with https://github.com/elixir-explorer/adbc/commit/f7c85cb779dd193ec5b18729f5a665a61f8081b6 reverted
My environment:

macOS 14.1 (23B74)
Elixir 1.15.2 (compiled with Erlang/OTP 26)
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>.5)
CPU: Apple M2 Max

In my runs, it seems that calling AdbcConnectionRelease in destruct_adbc_connection_resource was the cause for these segfaults. Removing line 143 in c_src/adbc_nif_resource.hpp "fixes" the issue.

@cocoa-xu I did some more debugging and this happens the database process is killed. This means terminate never runs and the database is GCed before the connection.
I think we need to keep a chain of ref counting. Every time we instantiate a new connection, we should store the database instance inside res->private_data and increment its reference counter by one. When we deallocate, we should decrease it. I will give this a try but I am not sure if I am capable enough.

I pushed a fix, I can no longer see crashes and I was able to remove even more code. :)

I pushed a fix. @cocoa-xu, can you please sanity check 4cec86abcd0f839e36f4465d390dacf6d7341e63? I can no longer see crashes and I was able to remove even more code. :)
I am not sure if I should have used clone_ref(). At the same time, it may not be used anywhere in the codebase, so should we keep it around?

Tests now run without segfaults, but I now get errors when trying to obtain a prepared query reference:
  1) test query_pointer prepared query (Adbc.Connection.Test)
     test/adbc_connection_test.exs:255
     ** (MatchError) no match of right hand side value: {:error, "cannot access Nif resource"}
     code: {:ok, ref} = Connection.prepare(conn, "SELECT 123 + ? as num")
     stacktrace:
       test/adbc_connection_test.exs:258: (test)

Tests now run without segfaults, but I now get errors when trying to obtain a prepared query reference:
  1) test query_pointer prepared query (Adbc.Connection.Test)
     test/adbc_connection_test.exs:255
     ** (MatchError) no match of right hand side value: {:error, "cannot access Nif resource"}
     code: {:ok, ref} = Connection.prepare(conn, "SELECT 123 + ? as num")
     stacktrace:
       test/adbc_connection_test.exs:258: (test)

Hi @dlindenkreuz, I've added some commits, and it should address this issue :)

Works like a charm! Thank you @josevalim and @cocoa-xu!! 🎉

I pushed a fix. @cocoa-xu, can you please sanity check 4cec86a? I can no longer see crashes and I was able to remove even more code. :)
I am not sure if I should have used clone_ref(). At the same time, it may not be used anywhere in the codebase, so should we keep it around?

Hi @josevalim, I think it's okay to keep it as in https://github.com/elixir-explorer/adbc/commit/4cec86abcd0f839e36f4465d390dacf6d7341e63.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Adds charter pdf file

This PR replaces #228

closing as I do not have write permission to this repo any longer


Missing capitalisation of 'must'

If you are at it, could you fix the other occurrence of must in the document (in the OpenAPI object's field table, tags).

@ePaul if you mean

Not all tags that are used by the Operation Object must be declared

I think that "not all .. must be declared" isn't a case of MUST or MUST NOT. But it may be better to reword this as

Not all tags that are used by the Operation Object need to be declared

to avoid the ambiguity.

You are right, I somehow didn't read the full sentence. Your rewording seems fine.

Happy to fold in the other change if required.


iOS - Sign in - infinite spinner if login with old accounts

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:

Open app
Login

Expected Result:
User should be able to login
Actual Result:
User is unable to login. Infinite spinner
Issue repro after app reinstall
Workaround:
Unknown
Platform:
Where is this issue occurring?
Web
iOS ✔
Android
Desktop App
Mobile Web
Version Number:
<IP_ADDRESS>
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

https://user-images.githubusercontent.com/43996225/125712548-748ac26d-6753-4f02-9e7f-f78a8705b6f4.mp4
Expensify/Expensify Issue URL:
View all open jobs on Upwork

Triggered auto assignment to @johnmlee101 (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

@kavimuru  Can you re-test this? It seems like we had an issue with our backend which may have caused this

@johnmlee101  we are still able to repro.  Video
Can you try to login with:
<EMAIL_ADDRESS>Password1

Looks like the same issue happens on web, looking at the logs it seems to be an Auth issue: logs
The error is similar to https://github.com/Expensify/Expensify/issues/170673, so I'm guessing this is related to https://github.com/Expensify/Auth/pull/5747. cc @marcaaron

Hmm interesting. I've actually been seeing similar behavior for months locally. But the logs do make it seem like there is something we missed.

Is this only reproducible on iOS ?

I reproduced on web by using the credentials in https://github.com/Expensify/Expensify.cash/issues/4058#issuecomment-880900797

Alright so I did some investigating and thought it might have to do with the pinned reports NVP.
Here's what mine looks like atm

Ignoring the fact that there's a 0 in there for now 😄 ... we can see it's an array
tester's NVP

Maybe there was some migration at some point? I reset tester's NVP and was able to log in. So I think there's nothing to do on the code side, but unsure how many accounts have this old NVP and will be blocked from logging in.

Hmm interesting, I think if we can run a query to check it'd be worth it. Then if there are affected accounts we can add a migration.

Something like this should tell us who and how many
SELECT
    COUNT(*),
    GROUP_CONCAT(accountID)
FROM nameValuePairs
WHERE name='expensify_chat_pinnedReportIDs'
  AND JSON_TYPE(value) == 'object';

Honestly, I'm super confused how we were even able to end up with this NVP. It looks like the code that sets this was seeting a csv string before and then set an array but never object 🤷♂

After investigating it looks like there are only 3 affected accounts, and it seems that they're still able to load e.cash without any issues, so closing this one out. I'll clean up the 3 accounts in the internal issue.


jest-update

https://github.com/acr-lfr/generate-it/issues/119

The breaking change in 26 to 27 that affected this project was pretty much just that you can no longer have an async and done on 1 test.
So this:
  it('Should build without error', async (done) => {
    try {
      const ymlPath = path.join(process.cwd(), 'test_swagger.yml');
      await openapiNodegen({
        dontRunComparisonTool: false,
        dontUpdateTplCache: false,
        updateDependenciesFromTpl: false,
        mockServer: true,
        swaggerFilePath: ymlPath,
        targetDir: testServerPath,
        template: tplUrl,
      });
      done();
    } catch (e) {
      done(e);
    }
  });

had to become this:
  it('Should build without error', (done) => {
    const ymlPath = path.join(process.cwd(), 'test_swagger.yml');
    openapiNodegen({
      dontRunComparisonTool: false,
      dontUpdateTplCache: false,
      updateDependenciesFromTpl: false,
      mockServer: true,
      swaggerFilePath: ymlPath,
      targetDir: testServerPath,
      template: tplUrl,
    })
      .then(() => done())
      .catch(e => done(e));
  });

looks good - but the old callback style is old school. I would have gone the other way:
// the prev tests did this, which didn't really make sense
it('shouldnt explode', async (done) => {
  try {
    const exploded = await definitelyWontExplode();
  } catch (e) {
    done(e);
  }
  expect(exploded).toBe(false);
  done();
});

// this is using the old callback-style
it('shouldnt explode', (done) => {
  definitelyWontExplode()
    .then(exploded => {
      expect(exploded).toBe(false);
    })
    .catch(done);
});

// this is the future
it('shouldnt explode', async () => {
  const exploded = await definitelyWontExplode();
  expect(exploded).toBe(false);
});

all 3 are effectively the same, but the async one is probably the simplest as, by default, exceptions are considered to be failed tests.
also means that when we need to do async stuff (or we want to so that we don't end up with deeply nested promise chains) then we can use the same pattern everywhere

it's definitely the path of least resistance, but i think we should start using the async pattern for tests (expecially since we already have both)

closes #119

true, but if the openapiNodegen changes from a Promise to something else then you have to change the expected() output.. but i see what you mean

I'll just merge this into dev for now though, there is also the other PR 120 to be released to npm by the looks of things - i think you were going to give it a bash on a project when you found a minute


bugfix for you in sokol_imgui.h

sokol_imgui.h::simgui_render
change front to begin
       const size_t vtx_size = cl->VtxBuffer.size() * sizeof(ImDrawVert);
            const size_t idx_size = cl->IdxBuffer.size() * sizeof(ImDrawIdx);

            //const ImDrawVert* vtx_ptr = &cl->VtxBuffer.front();
            //const ImDrawIdx* idx_ptr = &cl->IdxBuffer.front();

            const ImDrawVert* vtx_ptr = cl->VtxBuffer.begin();
            const ImDrawIdx* idx_ptr = cl->IdxBuffer.begin();

Context on this issue: https://github.com/ocornut/imgui/issues/4528
The short version is that front() will assert when there are no vertices/indices associated with the command list, which can happen if you add a user callback without adding any widgets.

Also I think rather than switch to begin(), I believe this this preprocessor section can just be eliminated entirely:
https://github.com/floooh/sokol/blob/667df71044ecd19c218c93c5cbdb188c9ed6eeb8/util/sokol_imgui.h#L1927-L1932
The C version of that block is already in line with what the Dear ImGui-provided backends do.

Ok fixed in https://github.com/floooh/sokol/commit/cc20a3ba92246b852e1bb3a6734e0561fc733a55, I've removed the C++ block as suggested, and also added a couple ifs for the case that the number of vertices or indices ends up being 0.
Thanks for the bug report!


Improvement/dry provisioning

Dynamic provisioning in the house. This works around this issue: https://github.com/hashicorp/terraform/issues/953

There is a bug, but it's not in your code.  However, this seems like a good place to fix it.
The problem is in these four places:

https://github.com/dhs-ncats/cyhy_amis/blob/develop/terraform/cyhy_nmap_ec2.tf#L94
https://github.com/dhs-ncats/cyhy_amis/blob/develop/terraform/cyhy_nmap_ec2.tf#L101
https://github.com/dhs-ncats/cyhy_amis/blob/develop/terraform/cyhy_nessus_ec2.tf#L94
https://github.com/dhs-ncats/cyhy_amis/blob/develop/terraform/cyhy_nessus_ec2.tf#L101

In all of the above, the code references ${aws_instance.cyhy_nmap.id} or ${aws_instance.cyhy_nessus.id}, which is the first nmap/nessus instance.  What we want to do is reference the specific instance that matches the count variable:

${aws_instance.cyhy_nmap.*.id[count.index]}
${aws_instance.cyhy_nessus.*.id[count.index]}

Unfortunately, when I make that change, I run into this open Terraform issue:
https://github.com/hashicorp/terraform/issues/14536
Example:  In my local workspace, I have zero running nmap instances and I want to ramp up to three of them.  The existing code has no problem with this because every nmap_cyhy_runner_data_attachment references (incorrectly) the first nmap instance (${aws_instance.cyhy_nmap.id}).  The corrected code however fails with an error like this:
* aws_volume_attachment.nmap_cyhy_runner_data_attachment: 1 error(s) occurred:

* aws_volume_attachment.nmap_cyhy_runner_data_attachment[2]: index 2 out of range for list aws_instance.cyhy_nmap.*.id (max 2) in:

${aws_instance.cyhy_nmap.*.id[count.index]}

Anybody have any ideas on how to fix this?

The bug report you referenced says:

Replacing array syntax with element() function (as shown in comments in code) gives the desired behaviour.

Did you try that?

I missed that- trying it now.

That element() workaround worked- thanks @jsf9k. I had to make one other similar change to nmap.template and nessus.template get it to work.  I'm going to do a little more testing, then commit the changes.

@jsf9k , the element() workaround appears to have a problem.
Example: When I attempt to scale up from 1 to 2 nmap instances, Terraform wants to recreate nmap_cyhy_runner_data_attachment[0], which would trigger the destruction of the cyhy_nmap[0] instance (since that is how we safely destroy the volume attachment):
-/+ aws_volume_attachment.nmap_cyhy_runner_data_attachment[0] (new resource required)
      id:                                        "vai-3307678400" => <computed> (forces new resource)
      device_name:                               "/dev/xvdb" => "/dev/xvdb"
      instance_id:                               "i-06916a3ed89b85a52" => "${element(aws_instance.cyhy_nmap.*.id, count.index)}" (forces new resource)
      skip_destroy:                              "true" => "true"
      volume_id:                                 "vol-02311105b958b2c31" => "vol-02311105b958b2c31"

It is the same issue as mentioned in this comment on Terraform issue 14536.
We need to figure out how to get Terraform to avoid destroying the existing data attachment(s) in this scenario.


CycloneDX 1.4 support

Implement CycloneDX 1.4 support
Implement JSON and XML VEX data support
There is some missing pieces:

handle active/verified/false positive/etc...
some data from some tools are not compliant. Maybe be required to create data that comply with the specification (auto generate?).

References

https://github.com/sonatype-nexus-community/jake/issues/91
https://github.com/sonatype-nexus-community/jake/issues/93

⚠ it's a WIP, this need more work

@damiencarol I will look at it as soon as possible, please give me a chance before merging it 😄

no pb. @StefanFl please keep in mind the 2.7.0 release timeline

@damiencarol Please have a look at my changes in https://github.com/DefectDojo/django-DefectDojo/pull/5811/commits/ca14792826a2f6a9201da8c0383c1da59470d1e7 if you are happy with them.


Error while trying to use Javascript SDK in existing export script that was using our old Api Client

Description
node_modules/@extrahorizon/javascript-sdk/build/types/services/files/types.d.ts:75:40 - error TS2304: Cannot find name 'Blob'.
75     create(fileName: string, fileData: Blob | Buffer | ReadStream, options?: OptionsBase & {

Found 1 error.

You can ask Jonas Allard for a ZIP file of the export script where the error occurs.

## Steps to Reproduce
/

## Code example
/

```typescript

```

## Specifications

- Version: 3.1.0
- Platform: /
- Endpoint or service affected: /

This was resolved by bumping @types/node to a 16.x.x version.
But it was also resolved by edits to the tsconfig.json. Removed the lib option which was set to ["es7" ]


I think these are be quite useful, although I forgot that we can do this.
The annotations display in PomBase, but the qualifier is a bit strange:
https://www.pombase.org/gene/SPAC31A2.16
modified residue 329-419
should instead say
"residues bound"

This is weird because there's nothing in the config files (I looked at both Canto extensions and website display) for "residue" extensions on GO annotations. The "modified residue" phrase only appears under PSI-MOD in the website config, where it makes sense; I don't see how it's getting into the display for anything in the GO department.
So I'm not moving this to the config tracker ;)

This is weird because there's nothing in the config files

It's an awkward case that is currently hard coded.  The residues are displayed like extensions but aren't stored that way.  So there is a bit of special case code to handle it:
https://github.com/pombase/website/blob/fae1141244bc56dda66abbd450ccaaaddc4a7b2f/src/app/pombase-api.service.ts#L1223-L1229
I've changed the code and the fix should be visible soon.  I'll check later.

I've changed the code and the fix should be visible soon. I'll check later.

Turns out that the code I pointed out is obsolete and I've now removed it.  That was website code.  The "modified residue" text is in the code that processes the data from Chado to feed to the website.
Before I change that code: should the text be changed to "residues bound" just for MF annotations?  And is it all MF annotations or just a sub-set?

actually can we use the phrase "binding site" instead?
I think this will be quite useful. Users can figure it our from deletion phenotypes but it is quite tricky to do. If we know the binding region we should annotate it.
It only applies to MF "protein binding" (for the descendants, but we don't really use those)

It only applies to MF "protein binding" (for the descendants, but we don't really use those)

Thanks.  It's not quite a quick fix so I'm going to leave this for a while.  Let me know if it becomes more urgent.

I think I've fixed this now.  I'll check on Monday morning.
The name displayed for residue properties can now be configured using the extension_display_names field in the config file (pombase_v2_config.json):
    {
      "rel_name": "modified residue",
      "if_descendant_of": "GO:0005515",
      "display_name": "binding site"
    }


User is offered to be verified while its status is in Reward Approval Pending

The Issue
Steps to reproduce

Verify email address
Verify account with Twitter or Phone Number
Open Rewards activity

Expected behaviour
User should be informed its account is pending approval for rewards
Actual behaviour
User sees the same page as it is net yet been verified, allowing it to "Get Started" -verify wil Twitter, Phone Number or paying the fee- or go back.
This is both confusing for user who has yet ben verified and resource consuming for LBRY, as more verification requests would be performed to its servers because of user's confussion.
Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of the user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

Phone pending should work (or used to), and it should show them a splash screen about pending. Twitter may not, but that would be a bug on the api side which probably doesn't set the is_verified flag.


Revert "Attempt to fix Coveralls failures"

Reverts homebridge/homebridge-config-ui-x#1513

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>-1:
0.09%

Covered Lines:
2113

Relevant Lines:
4507

💛  - Coveralls


consider making --all only run on 0.10, 0.12, 4 and 5

:+1:

@mafintosh Would this mean a new major?

https://github.com/mafintosh/prebuild/commit/b0cdf3cee35b925928c5b18f25f1d557e2af9d1c


[Dashboard] Introduces Quorum Upgrade App

Video Demo testing out the webApp: https://drive.google.com/drive/folders/10FUIpMKiIhsD5VYozAxmV_Ieut_Rz2L5


allow stating share jail child with relative reference

fix https://github.com/owncloud/ocis/issues/3721

superseded by https://github.com/cs3org/reva/pull/2904


encode_cloudwatch_emf_payload: Support EMF adopted payload encoder

To handle EMF formatting for cmetrics context, we need to add emf payload encoder for cloudwatch_logs.

@cosmo0920 thanks for this.
I would suggest to rename the prototype of the API and remove the payload from the function names, e.g:
from cmt_encode_cloudwatch_emf_payload_create() to cmt_encode_cloudwatch_emf_create()

Thanks for your suggestion. I removed 'payload' from functions and files names.

🎉


TemplateDoesNotExist at /main_category/event-reports/ news/category_page.html

I have been able to replicate this issue. It only shows up when some items are found via search yet they should not be clickable.


[Feature] Backup and restore

⚠ absolutely a work in progress that's going to require a lot of testing, don't expect this one to get done too quick.
Description
This PR introduces backup and restoring of Speedtest Tracker's database and environmental variables.
Closes #294
To-do

[x] Support backup of MySQL (and MariaDB) databases
[x] Support backup of Postgresql database
[x] Support backup of Sqlite database
[x] Include the following files in the backup

[x] .env for any manually set environment variables
[x] config/speedtest.php to capture Speedtest Tracker's version

[ ] Support adhoc runs of backups
[ ] Support scheduled backups
[ ] Support different file drivers

[ ] local (via mounted volume)
[ ] s3 compatable like AWS S3, Backblaze etc

[ ] Support notifications (through existing channels) when a backup fails
[ ] Create a "backups" page in the admin panel to include

[ ] Editing of the backup schedule
[ ] Editing of the backup retention strategy
[ ] Listing existing backups
[ ] Deleting of existing backups

[ ] Create a "restore" page in the admin panel to include

[ ] 👀 might skip this to reduce complexity and get to a deployment faster
[ ] Uploading of backup .zip files to restore from
[ ] All the warnings to make sure you know what you're doing
[ ] Don't allow restoring from a backup if the version doesn't match the running container

[ ] Update documentation

[ ] Section on backups, and how they're different from exporting data
[ ] Section on restoring through the admin panel and manually

Changelog
Added

spatie/laravel-backup to handle backing up the database and files
gzip to the Docker images to support compression in the future

Screenshots
... tbd, will add screenshots of the backup and restore pages

Closing, will be using Filament's built in functionality.


chore(deps): update go to 1.21

Update to Go 1.21. Steps to reproduce:

go mod edit -go 1.21
go mod tidy
Manually edited: .github/workflows/ci.yml -> go-version: 1.21.x and appveyor.yml -> GOROOT: C:\go121
git commit
go get -u ./...
go mod tidy
go mod vendor
git commit & git push

By the way, Go was updated to 1.21 already in https://github.com/BitBoxSwiss/bitbox-wallet-app/commit/50c164cab4d0abdd49adfab92091058971ffe3f6, but you have found a few places where the number was not updated properly in https://github.com/BitBoxSwiss/bitbox-wallet-app/pull/2754, so that's nice!
In any case, as I mentioned in the other PR, please split the Go 1.21 fixes into a separate - this one seems to contain all the deps update stuff too.
Thanks!

So that I understand You correctly, You mean 1 commit that contains the 1.21 update and a second one for the dep updates?

I did a spit now. 2 commits, 1 with the Go update and the second one with the dependencies. I hope this time it's fine.

By the way, Go 1.22 is out too, and finally fixes the reference sharing in for loops:
https://go.dev/doc/go1.22
Would you be willing to make a (separate) PR to update to Go1.22? If you open the PR, I can make and push a new image based on it.

The instructions to reproduce this PR are amazing and made review a breeze. I got the same diff ❤

ack to copy the instructions and document in the README?

@thisconnect maybe not necessary anymore with https://github.com/BitBoxSwiss/bitbox-wallet-app/pull/2752, which will open PRs to bump deps automatically. You can consider extending this to handle the frontend deps too.


[#2622] api expose facebook page tokens via channels api

https://github.com/airyhq/airy/issues/2622

For now I just added the integration tests.

Add page-id page-token and account-id to metadata for FB and instagram sources and improve tests


Remove sync_blacklisted_event_names server queue message

Syncing the blacklisted events really only needs to trigger a worker
config sync. We can already do this for all servers in the region
by telling them to reload their settings.
cc @lfu

Marking this as WIP as I think I have an even better way to do this

I remember you saying that the provider code already handles updating their cache of blacklisted events on sync_config, but where does that live?

The event catcher implements #sync_blacklisted_events which is called by MiqWorker::Runner#sync_config

As a follow up we should probably get rid of that as well, and do something more generic like on_config_change


Migrate to ESM

The TS types state that the module is an ES Module, while it is actually a CommonJS module.
Is this open for fixes?

Hi @nikeee , so sorry to answer just now. I am not sure I understand where the problem is and how to fix it. If you have a solution PRs are welcome, thank you 🙏🏻

Can this package help us?

We have two options:

Port the library to ESM
Fix the type definitions in index.d.ts to match the actual module system used (commonjs)

Regardless of the solution taken, migrating to ESM might be worth it from a long-term perspective.

Did a PR: #319

Thank you @nikeee , I have to be honest, I feel reluctant to migrate to ESM now because I still see a lot of commonJS projects and I like having support for both module systems. I'll have to make a decision though otherwise this will never happen.


ERROR: Whoops. Looks like an internal server error.

yarn prisma deploy
ERROR: Whoops. Looks like an internal server error. Search your cluster logs for request ID: cluster:cluster:cjck2cdwu0007015057b7x7tw
{   "data": {     "addProject": null   },   "errors": [     {       "message": "Whoops. Looks like an internal server error. Search your cluster logs for request ID: cluster:cluster:cjck2cdwu0007015057b7x7tw",       "path": [         "addProject"       ],       "locations": [         {           "line": 2,           "column": 9         }       ],       "requestId": "cluster:cluster:cjck2cdwu0007015057b7x7tw"     }   ],   "status": 200 }

Hi, i'm getting the same error
I've also tried to nuke the local cluster but the errors persists
The last part of the logs:
  client Sending query to cluster local +29ms
  client http://localhost:4466/cluster +0ms
  client
  client       query($name: String! $stage: String!) {
  client         project(name: $name stage: $stage) {
  client           name
  client           stage
  client         }
  client       }
  client      +0ms
  client { name: 'entities-service', stage: 'dev' } +0ms

Creating stage dev for service entities-service...  client Sending query to cluster local +547ms
  client http://localhost:4466/cluster +0ms
  client       mutation addProject($name: String! $stage: String! $secrets: [String!]) {
  client         addProject(input: {
  client           name: $name,
  client           stage: $stage
  client           secrets: $secrets
  client         }) {
  client           project {
  client             name
  client           }
  client         }
  client       }
  client        +0ms
  client { name: 'entities-service',
  client   stage: 'dev',
  client   secrets: [ 'mysecret123' ] } +0ms
 !
Error: Whoops. Looks like an internal server error. Search your cluster logs for request ID: cluster:cluster:cjdc6df7x0003019131hpokze: {"response":{"data":{"addProject":null},"errors":[{"message":"Whoops. Looks like an internal server error. Search your cluster logs for request ID: cluster:cluster:cjdc6df7x0003019131hpokze","path":["addProject"],"locations":[{"line":2,"column":9}],"requestId":"cluster:cluster:cjdc6df7x0003019131hpokze"}],"status":200},"request":{"query":"      mutation addProject($name: String! $stage: String! $secrets: [String!]) {\n        addProject(input: {\n          name: $name,\n          stage: $stage\n          secrets: $secrets\n        }) {\n          project {\n            name\n          }\n        }\n      }\n      ","variables":{"name":"entities-service","stage":"dev","secrets":["mysecret123"]}}}
    at GraphQLClient.<anonymous> (/Users/rafaelribeirocorreia/.config/yarn/global/node_modules/graphql-request/src/index.ts:46:13)
    at step (/Users/rafaelribeirocorreia/.config/yarn/global/node_modules/graphql-request/dist/src/index.js:40:23)
    at Object.next (/Users/rafaelribeirocorreia/.config/yarn/global/node_modules/graphql-request/dist/src/index.js:21:53)
    at fulfilled (/Users/rafaelribeirocorreia/.config/yarn/global/node_modules/graphql-request/dist/src/index.js:12:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)

Please share prisma cluster logs 🙂

Had the same Internal Error on first prisma deploy attempt, prisma local nuke fixed the issue

updated documentation url:
https://www.prismagraphql.com/docs/reference/clusters/docker-aira9zama5

I'm closing this for now, as it seems resolved. Please open a new issue if you have a similar problem. Thanks!

Hi, where can I actually check that error?
 GraphQLError: Whoops. Looks like an internal server error. Search your server logs for request ID: local:api:cjjh0jbac05uo0997ev85380s

Thanks. Noted!


[all] Git Commit Message Style Guide

Git Commit Message Style Guide
This is only a suggestion/discussion about adopting a commit message style guide
The following text was transcripted from Udacity Git Commit Message Style Guide. It also can be combined with other ideas, such as commit message emojis.
Introduction
There are many opinions on the ideal style in the world of development. Therefore, in order to reduce the confusion on what style students should follow during the course of their projects, we urge all contributors to refer to this style guide for this project.
Commit Messages
Message Structure
A commit messages consists of three distinct parts separated by a blank line: the title, an optional body and an optional footer. The layout looks like this:
type: subject

body

footer

The title consists of the type of the message and subject.
The Type
The type is contained within the title and can be one of these types:

feat: a new feature
fix: a bug fix
docs: changes to documentation
style: formatting, missing semi colons, etc; no code change
refactor: refactoring production code
test: adding tests, refactoring test; no production code change
chore: updating build tasks, package manager configs, etc; no production code change

The Subject
Subjects should be no greater than 50 characters, should begin with a capital letter and do not end with a period.
Use an imperative tone to describe what a commit does, rather than what it did. For example, use change; not changed or changes.
The Body
Not all commits are complex enough to warrant a body, therefore it is optional and only used when a commit requires a bit of explanation and context. Use the body to explain the what and why of a commit, not the how.
When writing a body, the blank line between the title and the body is required and you should limit the length of each line to no more than 72 characters.
The Footer
The footer is optional and is used to reference issue tracker IDs.
Example Commit Message
feat: Summarize changes in around 50 characters or less

More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical (unless
you omit the body entirely); various tools like `log`, `shortlog`
and `rebase` can get confused if you run the two together.

Explain the problem that this commit is solving. Focus on why you
are making this change as opposed to how (the code explains that).
Are there side effects or other unintuitive consequences of this
change? Here's the place to explain them.

Further paragraphs come after blank lines.

 - Bullet points are okay, too

 - Typically a hyphen or asterisk is used for the bullet, preceded
   by a single space, with blank lines in between, but conventions
   vary here

If you use an issue tracker, put references to them at the bottom,
like this:

Resolves: #123
See also: #456, #789

👍

Many thanks!
However, I don't think we need this. I prefer to deal with and teach newbies rather than to make everyone read and comply with a long list of rules.

@JoseAlcerreca, this and the Fernando Cejas project became the main references in community about Android  architecture.
Several developers will start their own projects getting inspired by this one. Thus I believe that adopting some style will drive people how to organize their code history as well ;-)

We prefer small and frequent commits. If you enforce that style people will simply commit less often.

Hi, Any specific commit format to follow for addressing pull request review comments?


Make TIM4 16-bit on stm32g0b1

Currently it is incorrectly implemented as 32-bit timer.

If TIM4 is identical to TIM3 I think it is much more sense to derive it from TIM3:
_derive:
  TIM4: TIM3

Good point, done.


[Callout] Improve callout-style() mixin to support text and border colour

Something like:
@mixin callout-style($bg-color: $callout-background, $color: $callout-font-color, $border: $callout-border ) {
  $background: scale-color($bg-color, $lightness: $callout-background-fade);
  border: $border;
  color: $color;
  background-color: $background;
}

Even if you don't allow devs to specify multiple callout text/border/bg colour combinations in the settings file, it would still be handy to use the mixing to create your own callouts.
I can push a pull request if you are ok with this. Of course, callout-base() will have to be amended as well to remove the default border an colour from there.

We aimed to move away from mixins like this from Foundation 5 to 6—mixins that essentially just print CSS as-is. Moving forward our goal is that mixins are useful abstractions, which means they do something that isn't obvious enough for you to just do yourself. Admittedly, though, even the current callout-style() mixin doesn't quite pass this test, as all it does is set a background-color. So I could see deprecating it one day.
I wrote a post on the ZURB Blog explaining our new approach to Sass in more detail.


Array extension to group strings by its first letter and use it as sections

Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 4.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a changelog entry describing my changes.

          1 Warning

:warning:
Consider adding tests for new extensions or updating existing tests for a modified SwifterSwift extension

          1 Message

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

  Generated by :no_entry_sign: Danger

Hey @LucianoPAlmeida @akuzminskyi thanks for jumping in reviewing this 👍 I think that this extension is a little too niche for SwifterSwift and therefore I'm going to close this. @jason-ingenuity We appreciate the time you spent making this PR. 😃 I just think we'd like extensions that are geared a little more towards general use or simplifying a task done frequently.


Handle degree period time (semester, trimester etc.) + filtering

We'll consider this in the frontend-v2
@Mroik


Merge 5.0.x -> master

appveyor failure appears to have been transient - restarted

CLA signed by all contributors.

one more time with feeling


Canvas paths disappear on animated zoom start and only appear again when zoom ends

See http://jsbin.com/xoyiqifoki/edit?html,js,output or debug/vector/vector-canvas.html and zoom in/out. This was probably introduced in #3923
There might be a race condition in writing and reading this._map._animatingZoom (the important read for this issue is here https://github.com/Leaflet/Leaflet/blob/v1.0.0-beta.2/src/layer/vector/Canvas.js#L29, it's always undefined or false there), but an easy fix might be to just not call update() in _onZoomStart.

Fixed in https://github.com/Leaflet/Leaflet/pull/3950.


Fix ambiguous IP obfuscator config

A test discovered a pattern the IP obfuscator struggels with:
::ffff:<IP_ADDRESS>

Depending on the order of regular expression selected,
the result can be:
::ffff:<IP_ADDRESS>
x-ipv6-0000000001-x.128.0.1

Or:
::ffff:<IP_ADDRESS>
::ffff:x-ipv4-0000000001
x-ipv6-0000000001:x-ipv4-0000000001

Regular expressions aren't powerful enough to correctly
decide whether the input is ::ffff or ::ffff:10.
This problem can however be fixed by replacing ipv4
addresses first.
From go's documentation:

The iteration order over maps is not specified and is not guaranteed
to be the same from one iteration to the next.

https://golang.org/ref/spec#For_statements

/cc @arjunrn @tjungblu

/lgtm


[vcpkg_download_distfile] add FILE_DISAMBIGUATOR

also, add HEADERS to the docs
As part of #22668, I noticed that this was necessary.

Maybe FILENAME should really by a FILENAME_PREFIX

I'm also against adding this -- the user can instead simply change the FILENAME. This is actually why we have a filename argument instead of inferring it from the URL -- so that the user can use FILENAME to disambiguate with other possible downloads.
However, there's a more straightforward way to disambiguate this ~forever: subfolders based on SHA. We can use the first 2 or 4 characters of the SHA as a folder name under downloads.

However, there's a more straightforward way to disambiguate this ~forever: subfolders based on SHA. We can use the first 2 or 4 characters of the SHA as a folder name under downloads.

Subfolders would make it harder harder to distribute the pristine sources as a separate collection of files, e.g. to satisfy GPL requirements. Today such a collection can be simply dropped into the downloads folder.


Add version?

Is it possible to add the attribute version to module ?
https://www.python.org/dev/peps/pep-0396/

Yes, certainly. I will start including a __version__ in the next release.

Closed via 0.4.3.


ELECTION 2 feature branch

Feature branch for the milestone:"ELECTION 2: Finish first draft implementation of the ElectionModule"

This branch is to be used only as reference for the final implementation in the next sprint. Closing without merge, but keeping the branch.


Codereviewer : Comment Geneation model not using old file

The readme for codereviewer claims to using the oldfile in the comment generation task, but the run_finetune_msg passing in the raw_input parameter, which makes the finetuning to use the SimpleGenDataset instead of CommentGenDataset . SimpleGenDataset using only the diff and message. Let me know if I am missing something .

Sorry for not making it clear in readme. In our paper and experiments, we only use the code diff as input.


kubernetes-keyvault-flexvol vs secrets-store-csi-driver-provider-azure

Hello,
thank you for this project. Just got few questions:

Is  kubernetes-keyvault-flexvol being depcreated for this project?
Does this project contain all the functionalities of kubernetes-keyvault-flexvol + the following bug fixes/enhancements?
Can we already use this project in production?  or we have to stick with kubernetes-keyvault-flexvol for a while?

thanks a lot

Thanks for the question @aelmanaa

Is kubernetes-keyvault-flexvol being depcreated for this project?

Yes. As flexvol is getting deprecated in Kubernetes, we are deprecating kubernetes-keyvault-flexvol in favor of secrets-store-csi-driver-provider-azure.

Does this project contain all the functionalities of kubernetes-keyvault-flexvol + the following bug fixes/enhancements?

Yes. As soon as we have completed feature parity, we will add the deprecated label to the  kubernetes-keyvault-flexvol  project readme. Please expect this to happen some time this week.

Can we already use this project in production? or we have to stick with kubernetes-keyvault-flexvol for a while?

Since this project is still relatively new and requires users to migrate their existing solutions from flexvol to csi, I would advise to test this in dev and staging before running it in production.
cc @phillipgibson

Thank you for the answer.
I think this should be mentioned on kubernetes-keyvault-flexvol github page !

Closed via https://github.com/Azure/kubernetes-keyvault-flexvol/pull/191 Added deprecation message to kubernetes-keyvault-flexvol project README.


Don't require quoting the prompt

It would be 10% nicer if llm worked like echo and didn't require quoting the prompt. Perhaps this can be implemented in a backwards-compatible matter as an option that I could hide behind an alias. Or, I guess I can ask Claude to write me a bash script and use that..

Or, I guess I can ask Claude to write me a bash script and use that..

Ran across this just yesterday: https://two-wrongs.com/q 😊

See also related https://github.com/simonw/llm/issues/153#issuecomment-2310750496


OSX and Windows conda-package fixes

To ensure portability, I changed the following:

use int64_t instead of L or LL as only the explicit type works with MSVC, gcc and clang correctly
prefix size_t with std because on windows it is ambiguous (there's a size_t outside of std)
change the variables WITH_GUROBI and WITH_CPLEX to have values 0 or 1 as that works more consistently across all platforms

Additionally I added the windows conda build script, but for gurobi it currently uses a hard coded path.

This is outdated.


fix: The number format group separator is not present until numbers are larger

Description of change
In some languages the group separator for currency is not found until the test number is larger
e.g in Polish 1111 does not yield the separator, with 1111111 it does
Also added fallbacks for group and decimal separators in case they still are not found.
Type of change

Bug fix (a non-breaking change which fixes an issue)

How the change has been tested
Test on windows in polish
Change checklist

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@UmbahaSpodPaha


Make the lite RPC an HTTP server

Make lite RPC a http server which is capable of to handle request from solana CLI.
The main goal is not to support all the commands, but most of the basics atleast.

Followup issue #13


public_urls_iviewer

See https://trello.com/c/xEnlJAvF/20-docs-public-urls-for-iviewer
This adds OMERO.iviewer to the examples of public_url_filter settings.
This includes allowing all api URLs.
Currently the JSON api doesn't expose any info that is not available via webclient URLs (listing P/D/I, S/PW) but if we add e.g. list all Experimenters to the JSON API then we may want to exclude those URLs in these filters. Alternative is to only allow listing Experimenters & Groups for admins so the JSON API more closely reflects client permissions instead of server permissions.
Staged at https://ci.openmicroscopy.org/job/OMERO-DEV-merge-docs/ws/src/omero/_build/html/sysadmins/public.html

@jburel : i.e. good to merge?

yes
I will create a card for iviewer

https://trello.com/c/tTakQzQI/5-readme-add-link iviewer card


Issue #28 : Fixed overlapping desc text in card

Fixed, the overlapping text in the card.
Now, it is responsive and doesn't overlap.

closed #28


Update Platformio library registry to latest uClock version?

Hi @midilab ,
This is not urgent but if it is possible to update uClock to the latest version in the Platformio Library Registry, it would be greatly appreciated. It is currently at version 0.10.6 https://registry.platformio.org/libraries/midilab/uClock/versions
The registry should show<EMAIL_ADDRESS>instead of<EMAIL_ADDRESS>I am able to install the latest uClock version manually in the platformio.ini file if I pull the repo directly (shown below) but others wanting the latest version of uClock may end up installing older version from the Platformio Registry. Thank you!
[env:teensylc]
platform = teensy
board = teensylc
framework = arduino
lib_deps =  https://github.com/midilab/uClock.git

hey @m-r-m-s,
The best way of doing this is via pull request, send one with your changes after a last test and i will merge it.

hey @midilab Sounds good! I am testing latest uClock version now and will report back. Thanks!

in that case you can pull the changes to support from your side, as long as all pull is tested also from your side, because i dont have platformio to later test and dont want to support it by my self.


the output data coordinates

Recently I tested the algorithm on my own Lidar point cloud, and get some awesome prediction seen from the open3D.
When I open the .txt  output, I am a little bit confused.
The benchmark of 3D object from kitti use dimensions and locations in camera coordinates, so I guess our output is in camera coordinates as well.  I'd like to have the output box in Lidar coordinates, so according to the equation x = P2 * R0_rect * Tr_velo_to_cam * y I use Tr_velo_to_cam^-1* R0_rect ^-1*P2^-1  to obtain prediction result in Lidar coordinates, but the output looks like a line instead of a box.
I am wondering if I understand it correctly, and thank you for any advice or suggestion.

Hi @Juuustin, the equation you used is projecting velo points to the image instead of the camera coordinates.  kitti_dataset.py contains some projection functions which might help: https://github.com/WeijingShi/Point-GNN/blob/2baf24f9556907f23e2e4018f1b756dac3f6c497/dataset/kitti_dataset.py#L1008

Hi @Juuustin, the equation you used is projecting velo points to the image instead of the camera coordinates. kitti_dataset.py contains some projection functions which might help:
https://github.com/WeijingShi/Point-GNN/blob/2baf24f9556907f23e2e4018f1b756dac3f6c497/dataset/kitti_dataset.py#L1008
Edit:
The projection matrices are computed in the same file as well:
https://github.com/WeijingShi/Point-GNN/blob/2baf24f9556907f23e2e4018f1b756dac3f6c497/dataset/kitti_dataset.py#L483

Hi @WeijingShi , thank you for your reply and it is very helpful. Now I can obtain the 3d box in Lidar coordinates, but it seems there is a drift between the Lidar points and 3d box, I am wondering if it is possible to obtain the coordinate of predicted box from the open3D directly to compare it with my calculated result, looking forward to hearing from you soon~

Hi @Juuustin, the box corner coordinates are computed in the following line before visualization:
https://github.com/WeijingShi/Point-GNN/blob/2baf24f9556907f23e2e4018f1b756dac3f6c497/run.py#L454
They are in the camera coordinates. The cam_to_velo() function should be able to convert them to velo coordinates.

Hi, @WeijingShi , thank you for your help, finally I find that the reason for my drift is because of the wrong calibration of Lidar point cloud, the output from Point GNN is very accurate, thank you for your good job.


Udp Arma 3 Problem

Servers Arma 3 not query. Produce this error from the website https://gamerlabs.net/query/:
"Could not connect to UDP socket"

Im looking into the issue now, please stand by :D

Hmm i will need to debug this issue further, however some servers work and some dont :P
https://api.gamerlabs.net/?type=arma3&host=server2.fragzonegaming.co.uk&port=2302

Thank you very much!! Now work fine. I love this tool you do a very good job congratulations!

Thank you very much :)
I do it to support sonic :P

What is a server that it does not work for?

Sonic its been solved mate :D

My server is  Arma 3 ip:188 165 200 127 and this is the port 2302 but it now works correctly. Anyway when he failed not worked any server.
Thanks for your support =)

https://api.gamerlabs.net/?type=arma3&host=<IP_ADDRESS>&port=2302

Perfect!! =) Thank you!!!

Sonic ill submit a pull request later with a little tweak so above maxplayers is players count


fix tests

Pull Request Test Coverage Report for Build 664809243

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 662350126:
0.0%

Covered Lines:
2809

Relevant Lines:
2809

💛  - Coveralls


CMake Tools and cpptools integration

Hi there, there's been quite a lot of stuff going on in the cpptools extension recently (the official C/C++ extension, that everyone using CMake is probably using :p) and I was wondering if we could make CMake Tools and cpptools work a bit better together.
For the moment, to use intellisense, you need to create a c_cpp_properties.json file, and in this file you need to specify the includePath and the defines you want to use. Both things that CMake knows perfectly well. So, that would be reeeeeaaally nice if CMake Tools could have the possibility to take over this file and update it depending on the currently selected build type ! Especially on big projects like the ones I'm working on where I have something like 50+ include paths to maintain and tens of defines, changing for each build type !
What do you think ? Does it seems feasible ? (as usual, I'll try to implement that as a POC, but in the meantime, wanted to share the idea)

There is another extension which does what you're asking for, CMake Tools Helper by @maddouri.
🤔 Was thinking about it this morning: should they be merged or kept separately?
On one hand they may have different responsibilities: CMake Tools is a language-agnostic, brings functionality of running CMake to VS Code, while Helper introduces support for particular language (C++) and integrates with particular extension (from cpptools from Microsoft).
One the other hand, there are already some assumptions on cpptools and having single complete solution provides much better user experiencer than need to install 4 different extensions.
Besides, CMake is used for C++ project in 90% cases (my wild guess. other languages just complementary).
Detecting presence of cpptools dynamically is fairly easy.

Related discussion is going in #174.

Ah, didn't know about CMake Tools Helper. Currently testing this. If it works, I think I'll close this issue.
I think it's still reasonable to let another extension handle this, and keep CMake Tools as simple as possible.

Hmm, I've been trying to get CMake Tools Helper to work correctly, and I didn't have much chance.
Also the fact that it doesn't support the "all" target (which is the target I'm usually using) is a big show stopper for me.
Adding basic c_cpp_properties.json generation is pretty easy (I've done it already) and works fine. The problem is for the "all" target. On my project, I simply join the include paths and defines of all my targets in this case, but I can see how this would be really bad on other setup :P
I think a reasonable approach would be to add a "cmake.cpptools.defaultTarget" (or something equivalent) that would be used any time the current target is "all". And if this option is not set, just notify the user via a popup, log or whatever. What do you think ?

Hello,
Thank you @ytimenkov for mentioning the Helper extension :)
@dcourtois I will try to answer your questions here, but feel free to take the discussion to the Helper extension's repo https://github.com/maddouri/vscode-cmake-tools-helper if you have suggestions/bug reports ;)

Handling the "all" target: I agree that it's a shame I don't handle it in the extension. l am open to using all the includes/defines... perhaps I'll add an option like "cmake_tools_helper.all_target_behavior: "null|all_includes_defines"
c_cpp_properties.json: The whole point of the extension is to handle this file for you, you shouldn't be editing it. (the extension will overwrite it if you change the CMake target... more details on the extension's readme/marketplace page)
Standard includes/defines: again, it's a shame, but I couldn't find a way to get them from CMake Tools. If you have a solution to get them from anywhere, please consider sharing it (if you want, you can simply open an issue in https://github.com/maddouri/vscode-cmake-tools-helper containing your solution. I'll handle the implementation ;)

I hope it helps!

Hi. The only real question that I had was : does specifying a default target in the settings to use when a special target (e.g. all, install, etc) is select seems appealing to anyone reading this PR ?
To specifically answer your 3 points :

I don't want those options: null is out of the question, most of the time I'm on "all" target, and I want my intellisense to work. And all_include_defines is also not realistic for big projects: we have something like 10 targets producing various helper tools, each linking with various libraries, etc. If I were to add all the include paths of all the targets, I would include half of the world ... As I said: setting a "defaultTarget" is working perfectly even for big projects: this setting can go to the workspace settings and be embedded with the project, and it works as soon as the user specify an invalid target.

I'm not  manually editing it, the purpose of the issue, and what I did on my repo was to do that automatically, like your extension, so I don't really understand this point ?

for this one, I need to check how the cpptools extension works, but if I can get it to tell me what the current compiler is, it should be pretty straightforward: all compilers have command line options to dump their standard include paths.

And to clarify : I like when things are simple. If CMake Tool Helpers would have worked on my project,   I would have been happy to use it. But as it stands, it doesn't. And doesn't tell me why (no popup, no log) And it doesn't handle "all" anyway. So if I need to spend time investigating why something doesn't work, and eventually fixing things myself, I will tend to do it on CMake Tools since that would allow me to only have 1 extension to install.

WIP of cpptools integration here : https://github.com/dcourtois/vscode-cmake-tools/tree/feature/cpptools_integration (I will add a pull request when the last glitches are fixed. See the end of the comment)
Features:

Allow full control of the configuration of what's in c_cpp_properties.json (e.g. you can configure the intellisense mode and all the options of the file in the settings)
Automatically update the file when the built type changes and when the target changes. If something's wrong (invalid target or whatever) the user is notified.
For all targets that do not have include paths, defines, etc. (basically all target of type META : "all", "install", etc.) you can specify another target name to fallback to in the settings.
You can specify additional include paths in the settings to handle standard include paths (didn't find a way to get the standard include paths from CMake)
All of the above is optional. You can disable the integration with cpptools with a simple boolean (it's actually disabled by default)

I still need to fix some corner cases (in some cases the c_cpp_settings.json file is not created / updated correctly, need to fix that) but basically it's working like a charm.

You can check it here: #201

VSC now supports compilation databases. Could CMake Tools just set this according to the current config (build-directory)?


🐛 Bug Report: Getting 200 even with an expired token

📜 Description
We are getting a 200 response even if the token is expired.
I see that auth-node token params are not having the exp claim:  https://backstage.io/docs/reference/plugin-auth-node.tokenparams/
Is this a known issue?

👍 Expected behavior
see description
👎 Actual Behavior with Screenshots
see description
👟 Reproduction steps
see description
📃 Provide the context for the Bug.
No response
🖥 Your Environment
Our service is not using service to service auth
yarn backstage-cli info
`OS:   Linux <IP_ADDRESS>-microsoft-standard-WSL2 - linux/x64
node: v20.11.0
yarn: 1.22.19
cli:  0.25.1 (installed)
backstage:  1.22.0
Dependencies:
@backstage/app-defaults                                          1.4.7
@backstage/backend-app-api                                       0.4.0, 0.5.10
@backstage/backend-common                                        0.15.2, 0.18.2, 0.19.4, 0.20.1
@backstage/backend-dev-utils                                     0.1.3
@backstage/backend-openapi-utils                                 0.1.2
@backstage/backend-plugin-api                                    0.4.0, 0.6.9
@backstage/backend-tasks                                         0.4.3, 0.5.14
@backstage/catalog-client                                        1.5.2
@backstage/catalog-model                                         1.4.3
@backstage/cli-common                                            0.1.13
@backstage/cli-node                                              0.2.2
@backstage/cli                                                   0.25.1
@backstage/config-loader                                         1.6.1
@backstage/config                                                1.1.1
@backstage/core-app-api                                          1.11.3
@backstage/core-compat-api                                       0.1.1
@backstage/core-components                                       0.13.10
@backstage/core-plugin-api                                       1.8.2
@backstage/e2e-test-utils                                        0.1.0
@backstage/errors                                                1.2.3
@backstage/eslint-plugin                                         0.1.4
@backstage/frontend-plugin-api                                   0.5.0
@backstage/integration-aws-node                                  0.1.8
@backstage/integration-react                                     1.1.23
@backstage/integration                                           1.8.0
@backstage/plugin-api-docs                                       0.10.3
@backstage/plugin-app-backend                                    0.3.57
@backstage/plugin-app-node                                       0.1.9
@backstage/plugin-auth-backend-module-atlassian-provider         0.1.1
@backstage/plugin-auth-backend-module-gcp-iap-provider           0.2.3
@backstage/plugin-auth-backend-module-github-provider            0.1.6
@backstage/plugin-auth-backend-module-gitlab-provider            0.1.6
@backstage/plugin-auth-backend-module-google-provider            0.1.6
@backstage/plugin-auth-backend-module-oauth2-provider            0.1.6
@backstage/plugin-auth-backend-module-oauth2-proxy-provider      0.1.1
@backstage/plugin-auth-backend-module-okta-provider              0.0.2
@backstage/plugin-auth-backend                                   0.20.3
@backstage/plugin-auth-node                                      0.2.19, 0.4.3
@backstage/plugin-bitbucket-cloud-common                         0.2.15
@backstage/plugin-catalog-backend-module-azure                   0.1.28
@backstage/plugin-catalog-backend-module-bitbucket-cloud         0.1.24
@backstage/plugin-catalog-backend-module-github                  0.4.7
@backstage/plugin-catalog-backend-module-msgraph                 0.5.16
@backstage/plugin-catalog-backend-module-scaffolder-entity-model 0.1.6
@backstage/plugin-catalog-backend                                1.16.2
@backstage/plugin-catalog-common                                 1.0.20
@backstage/plugin-catalog-graph                                  0.3.3
@backstage/plugin-catalog-import                                 0.10.5
@backstage/plugin-catalog-node                                   1.6.1
@backstage/plugin-catalog-react                                  1.9.3
@backstage/plugin-catalog                                        1.16.1
@backstage/plugin-events-node                                    0.2.18
@backstage/plugin-github-actions                                 0.6.10
@backstage/plugin-org                                            0.6.19
@backstage/plugin-permission-common                              0.7.12
@backstage/plugin-permission-node                                0.7.20
@backstage/plugin-permission-react                               0.4.19
@backstage/plugin-proxy-backend                                  0.4.7
@backstage/plugin-scaffolder-backend-module-azure                0.1.1
@backstage/plugin-scaffolder-backend-module-bitbucket            0.1.1
@backstage/plugin-scaffolder-backend-module-gerrit               0.1.1
@backstage/plugin-scaffolder-backend-module-github               0.1.1
@backstage/plugin-scaffolder-backend-module-gitlab               0.2.12
@backstage/plugin-scaffolder-backend                             1.20.0
@backstage/plugin-scaffolder-common                              1.4.5
@backstage/plugin-scaffolder-node                                0.2.10
@backstage/plugin-scaffolder-react                               1.7.1
@backstage/plugin-scaffolder                                     1.17.1
@backstage/plugin-search-backend-module-catalog                  0.1.13
@backstage/plugin-search-backend-module-pg                       0.5.18
@backstage/plugin-search-backend-module-techdocs                 0.1.13
@backstage/plugin-search-backend-node                            1.2.13
@backstage/plugin-search-backend                                 1.4.9
@backstage/plugin-search-common                                  1.2.10
@backstage/plugin-search-react                                   1.7.5
@backstage/plugin-search                                         1.4.5
@backstage/plugin-tech-insights-backend-module-jsonfc            0.1.41
@backstage/plugin-tech-insights-backend                          0.5.23
@backstage/plugin-tech-insights-common                           0.2.12
@backstage/plugin-tech-insights-node                             0.4.15
@backstage/plugin-tech-insights                                  0.3.21
@backstage/plugin-tech-radar                                     0.6.12
@backstage/plugin-techdocs-backend                               1.9.2
@backstage/plugin-techdocs-module-addons-contrib                 1.1.4
@backstage/plugin-techdocs-node                                  1.11.1
@backstage/plugin-techdocs-react                                 1.1.15
@backstage/plugin-techdocs                                       1.9.3
@backstage/plugin-user-settings                                  0.8.0
@backstage/release-manifests                                     0.0.11
@backstage/test-utils                                            1.4.7
@backstage/theme                                                 0.2.19, 0.4.4, 0.5.0
@backstage/types                                                 1.1.1
@backstage/version-bridge                                        1.0.7`
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

Hi @camilamaia
Could you please help with this one as well?
thanks

Hi @ana-c-stefan, pretty sure this is a known bug that never got logged.
It would be really helpful to properly fill in the details in the issue though. People will search and find this but not be able to tell if they have done the same steps and setup. Can you please include the output from yarn backstage-cli info as part of the environment details. Can you also update the description to say if you setup service to service auth as per this: https://backstage.io/docs/auth/service-to-service-auth/ ?

Hi @awanlin
Thanks, I updated what you requested.
 Is this then an issue bigger than what we thought?
How can we fix this?

This is the current design, it's always important to read over the documentation, this would be helpful to read: https://backstage.io/docs/overview/threat-model. Now there is work being done to change this to be more secure by default, you can track that work here: https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution

Gonna close this. We have now shipped improvements to auth across the 1.24 to 1.26 releases that adds a default auth policy to Backstage backends which blocks unauthenticated requests.


Bug 1185433: Hide unlisted and disabled add-ons from search results.

This probably needs a test.

This looks much better! Thanks!
Needs to fix the current failing tests, and yeah, maybe add one (or more) tests.
r+wc

OK, I added a couple of tests, and renamed the search methods to search_public(), search_with_unlisted() and .search() to avoid having to update dozens of tests which aren't actually related to add-on search at all. I had to change the manager we passed to index_objects so it would update unlisted add-ons.
I also added a migration to reindex the add-ons in ES.
Can you have another look?

A few remaining nitpicks ;)
Thanks!
r+wc

Excellent! As soon as travis is finished (and green), r+


Documentation popup doesn't display C# XML documentation properly

C# XML doc comments don't get rendered as they deserved by VsCode's inline doc popup. Namely:

The Examples section is missing;
The See Also section is missing;
The exceptions are listed, but without documentation;
Lists are poorly displayed;
Tables are poorly — let's stay polite — displayed;
The generic type parameter in the inline code snippets is missing (see below);
Inline code snippets are not rendered in monospace font;
Code snippets are not highlighted;

Code
class Example {
    /**

        <para>
            This is a summary paragraph.
        </para>
        <para>
            This is another summary paragraph.
        </para>

    <remarks>
        <para>
            This is a remark paragraph.
        </para>
        <para>
            Let's now make a simple list:
        </para>
        <list type="bullet">
            <item>One</item>
            <item>Two</item>
            <item>Three</item>
        </list>
        <para>
            Let's now make a paragraph list:
        </para>
        <list type="bullet">
            <item>
                <para>
                    This is a one paragraph.
                </para>
            </item>
            <item>
                <para>
                    This is a two paragraph.
                </para>
            </item>
            <item>
                <para>
                    This is a three paragraph.
                </para>
            </item>
        </list>
        <para>
            Let's now make a definition list:
        </para>
        <list type="bullet">
            <item>
                <term>One</term>
                <description>The first term defined.</description>
            </item>
            <item>
                <term>Two</term>
                <description>The second term defined.</description>
            </item>
            <item>
                <term>Three</term>
                <description>
                    <para>
                        The third term defined.
                    </para>
                    <para>
                        This one is defined over two paragraphs.
                    </para>
                </description>
            </item>
        </list>
        <para>
            There are also number lists:
        </para>
        <list type="number">
            <item>One</item>
            <item>Two</item>
            <item>Three</item>
        </list>
        <para>
            There are also table lists:
        </para>
        <list type="table">
            <listheader>
                <term>Action</term>
                <term>Description</term>
                <term>Power Consumption</term>
            </listheader>
            <item>
                <term>Forward</term>
                <term>Move forwards in a straight line.</term>
                <term>50W</term>
            </item>
            <item>
                <term>Backward</term>
                <term>Move backwards in a straight line.</term>
                <term>50W</term>
            </item>
            <item>
                <term>RotateLeft</term>
                <term>Rotate to the left.</term>
                <term>30W</term>
            </item>
            <item>
                <term>RotateRight</term>
                <term>Rotate to the right.</term>
                <term>30W</term>
            </item>
            <item>
                <term>Dig</term>
                <term>Tells the robot to dig and obtain a soil sample.</term>
                <term>800W</term>
            </item>
        </list>
        <para>
            Let's also use with some inline <c>new Example().Sample<int>(0);</c> code.
        </para>
    </remarks>
    <typeparam name="T">
        <para>
            This is a T paragraph.
            The type refers to the type of the parameter <paramref name="x"/>.
        </para>
    </typeparam>
    <param name="x">
        <para>
            This is a parameter paragraph.
        </para>
    </param>
    <returns>
        <para>
            This is a return paragraph.
        </para>
    </returns>
    <exception cref="ArgumentException">
        <para>
            This is an exception paragraph.
        </para>
    </exception>
    <exception cref="DllNotFoundException">
        <para>
            This is another exception paragraph.
        </para>
    </exception>
    <example>
        <para>
            Let's also use with some block code:
        </para>

            int f() {
                return new Example().Sample<int>(0);
            }

    </example>
    <example>
        <para>
            Another example:
        </para>

            int f() {
                var a = new Example();
                var b = a.Sample<int>(0);

                return b;
            }

    </example>
    <seealso cref="Example"/>
    **/
    public int Sample<T>(T x) => 0;
}

Expected

This is a summary paragraph.
This is another summary paragraph.
Returns
This is a return paragraph.
Exceptions
ArgumentException
This is an exception paragraph.
DllNotFoundException
This is another exception paragraph.
Remarks
This is a remark paragraph.
Let's now make a simple list:

One
Two
Three

Let's now make a paragraph list:

This is a one paragraph.

This is a two paragraph.

This is a three paragraph.

Let's now make a definition list:

OneThe first term defined.
TwoThe second term defined.
ThreeThe third term defined.This one is defined over two paragraphs.

There are also number lists:

One
Two
Three

There are also table lists:

Action
Description
Power Consumption

Forward
Move forwards in a straight line.
50W

Backward
Move backwards in a straight line.
50W

RotateLeft
Rotate to the left.
30W

RotateRight
Rotate to the right.
30W

Dig
Tells the robot to dig and obtain a soil sample.
800W

Let's also use with some inline new Example().Sample<int>(0); code.
Examples
Let's also use with some block code:
int f() {
    return new Example().Sample<int>(0);
}

Another example:
int f() {
    var a = new Example();
    var b = a.Sample<int>(0);

    return b;
}

See Also

Example

Actual

This is a summary paragraph.
This is another summary paragraph.
This is a remark paragraph.
Let's now make a simple list:

One

Two

Three

Let's now make a paragraph list:

This is a one paragraph.

This is a two paragraph.

This is a three paragraph.

Let's now make a definition list:

One – The first term defined.

Two – The second term defined.

Three –
The third term defined.
This one is defined over two paragraphs.

There are also number lists:

One

Two

Three

There are also table lists:
Action – Description – Power Consumption –
Forward – Move forwards in a straight line. – 50W –
Backward – Move backwards in a straight line. – 50W –
RotateLeft – Rotate to the left. – 30W –
RotateRight – Rotate to the right. – 30W –
Dig – Tells the robot to dig and obtain a soil sample. – 800W –
Let's also use with some inline new Example().Sample(0); code.
Returns:
This is a return paragraph.
Exceptions:
ArgumentException
DllNotFoundException

I'm using "csharp.semanticHighlighting.enabled": true
VsCode 1.77.3, commit 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
C# extension 1.25.4

See also #3884

The  is not working, too (https://github.com/OmniSharp/omnisharp-vscode/issues/5130).

Agreed, The  only works if placed inside , and even that has a lot of weird backslashes.
Here's my case :
    /// Value-type enumerator for traversing a <see cref="Coord3D"/> row-first
    ///
    /// // Equivalent to the following nested loops
    /// for(Coord3D c = offset; c.d2 < offset.d2 + size.d2; c.d2++) {
    ///     for(c.d1 = offset.d1; c.d1 < offset.d1 + size.d1; c.d1++) {
    ///         for(c.d0 = offset.d0; c.d0 < offset.d0 + size.d0; c.d0++) {
    ///             yield return c;
    ///         }
    ///     }
    /// }
    ///
    ///
    public struct Coord3DRowMajorCubeIterator : IEnumerator<Coord3D> { /* bla bla bla */ }

And here's how it shows :

Would love to see this improved, bumping this


add rocking chair icon

Co-authored-by: b0b90<EMAIL_ADDRESS>

This is the rocking chair icon which @b0b90 has provided in #350. I have optimized the paths and formatted the file svg file to match the Icon Design Guide.

How about tilting it a bit? 🤷🏻

@mittalyashu I didn't manage to tilt the icon without breaking the guidelines while keeping the proportions.
Feel free to adapt the icon.


Update useControlledState for StrictMode

The current useControlledState has side effects, this causes an issue StrictMode
See initial work here https://github.com/adobe/react-spectrum/compare/tests-strict-mode#diff-927eebaa6f590e895634eae7f762db38e91f5f30a71fb8960c620cabfa59d058L50
Closes https://github.com/adobe/react-spectrum/pull/1375, https://github.com/adobe/react-spectrum/issues/1440, #1611
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

An update, so far neither this nor the original behavior is quite correct. We're still looking into it.
Here's a codesandbox with some tests that show how both implementations fall short in different ways
https://codesandbox.io/s/jolly-cache-8esil?file=/src/App.js

Closing because we've determined we cannot implement this feature and the current implementation has a bug, we'll be deprecating the set state callback functionality, see https://github.com/adobe/react-spectrum/issues/2320 for details along with its PR to deprecate which shows how we'll work around this issue for ourselves


Fixed GetValueAtTime returns type

Changes
Changed Vector3Curve GetValueAtTime returns type from Array to Tuple
Checks
By submitting your pull request for review, you agree to the following:

[X] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[X] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[X] To the best of my knowledge, all proposed changes are accurate.

Bump

Thanks for the contribution! I made various touch-ups to the phrasing but I'm keeping the return type of GetValueAtTime() as "Array". Although the summary stated "tuple" (which I've corrected), printing type() for the returned value reveals it's a table (array), not a tuple.
local function testVector3Curve()
	local curve = createVector3Curve()
	-- sampling the curve at a given time (returns a vector3)
	local test = curve:GetValueAtTime(0) -- returns 1, 1, void
	print(type(test))  --> table


Restoring occasionally fails, and the solution opens with no document tabs at all

Investigation pending
Workaround: Close solution, run bd restore again, reopen solution.

I'm seeing this happen occasionally even when I haven't used the tool, so it may be that Visual Studio itself corrupts the .suo (or both do). bd has acted as a backup several times when my window layout would have been lost otherwise.
I'm not sure this fully exonerates it, though.

I'm pretty convinced now that Visual Studio randomly loses the document window information all by itself, and I'm not very surprised about that.


CSS

#CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

A dark blue header and footer have been added using CSS, as well as four boxes with a shadow.


Steps misidentified in final section

In the final section "Start the virtual device and get the IP", step 6 says "Steps 5-7 only apply when...".  It should read steps 6-8.

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

ID: 2773d821-d006-8772-5c1a-34c82cb7812c
Version Independent ID: e1271f82-2b73-c022-7c40-08d55473da8c
Content: Tutorial on provision Azure Data Box Gateway in VMware
Content Source: articles/databox-online/data-box-gateway-deploy-provision-vmware.md
Service: databox
Sub-service: gateway
GitHub Login: @alkohli
Microsoft Alias: alkohli

@cjtmed Thank you for bringing this to our attention. We are evaluating this and will make an update to the documentation as appropriate.

@cjtmed Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@cjtmed Thanks for your feedback! I have fixed the issue in PR:https://github.com/MicrosoftDocs/azure-docs-pr/pull/131441 and the change is merged. The change should go live shortly.
#please-close


[Bug Title here] the chat bot and bottom to top button overlaps

What happened?
the chat bot and bottom to top button overlaps
How can we reproduce this bug?

Desktop Information (Optional)
No response
Urgency (Optional)
High priority
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Too easy issue, just botyom attribute needed to be changed!!


Add like button for each comment and onclick test function.

Looks like all of this functionality is implemented and updated in the following PR. Do we need this one anymore?


Research allowing of external content modification with a nice editor

Please describe the problem that your request should resolve.
Research the possibility of allowing the Marketing team to modify the text on the website without contacting developers (most likely using a headless CMS).
Requirements:

Marketing can easily modify the text on the website (not the layout or components structure)
The editor should support internalization

Do we have some clue about how frequent the changes will be?
If it's gonna be often, then some CMS would make sense.
But why would we like to change it frequently? Most of the hint's content is timeless.
Currently, I think the most simplistic solution is to handover the changes from marketing to devs or instruct the marketing team to edit through GH

The outcome of the research has been posted on the confluence page called "External aeScan content modification" for internal approval

We concluded on not to implement it


chore: upgrade vitest to 0.34.6

The errors in the previous PR #2190 appear to be caused by the following reasons, though not confirmed:

Error: Definitions of the following identifiers conflict with those in another file

vitest v1 requires vite v5, but mud uses vite v4.

Error: Cannot find module 'rollup/parseAst' or its corresponding type declarations.

vite v5, installed via vitest v1, doesn't support moduleResolution: node10, which mud uses. This is because vite v5's rollup doesn't fully support node10.
mud's moduleResolution issue is tracked at https://github.com/latticexyz/mud/issues/2051.

Error: Cannot find name 'WeakKey'

Recent versions of vitest require typescript v5.2 or newer, but mud uses v5.1.

Regarding the toEqualTypeOf problem, it seems there is no easy fix at the moment. toMatchTypeOf is a looser alternative than toEqualTypeOf, as it allows extra properties, but it works.