Fix certificate request logic

Preface
Using the Let's Encrypt addon, a new certificate cannot be requested (e.g. if you add or remove domains) if you've already generated a certificate. This is problematic if you have renamed your host, or moved to a new domain, or in the case of any of a number of other reasons that you need to generate a new certificate.
Original configuration and initial request result
Below is a redacted copy of my configuration, likely similar to most users:
email<EMAIL_ADDRESS>domains:
  - hass.example.com
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
  provider: dns-cloudflare
  cloudflare_email<EMAIL_ADDRESS>  cloudflare_api_key:<PHONE_NUMBER>abcdef0123456789abcdef01234

Resultant log data following starting the Let's Encrypt addon:
[17:31:59] INFO: Selected DNS Provider: dns-cloudflare
[17:31:59] INFO: Use propagation seconds: 60
[17:32:03] WARNING: Use CloudFlare global key (not recommended!)
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-cloudflare, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for hass.example.com
Waiting 60 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges
Non-standard path(s), might not work with crontab installed by your operating system package manager
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /data/letsencrypt/live/hass.example.com/fullchain.pem
   Your key file has been saved at:
   /data/letsencrypt/live/hass.example.com/privkey.pem
   Your cert will expire on 2020-05-28. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /data/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Modified configuration and subsequent request result
If we change the configuration to use a different domain, such as moving to a subdomain, using a different domain, or adding additional domains, the addon fails to request a new certificate (for reasons later discussed).
email<EMAIL_ADDRESS>domains:
  - hass.example.com
  - homeassistant.example.com    # Note the additional second domain here
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
  provider: dns-cloudflare
  cloudflare_email<EMAIL_ADDRESS>  cloudflare_api_key:<PHONE_NUMBER>abcdef0123456789abcdef01234

Resultant log data following starting the Let's Encrypt addon:
[17:37:53] INFO: Selected DNS Provider: dns-cloudflare
[17:37:53] INFO: Use propagation seconds: 60
[17:37:57] WARNING: Use CloudFlare global key (not recommended!)

 I understand this is to to avoid re-requesting a certificate every time the addon is started, however through passing some flags to the certbot command the same result can be achieved while also allowing for a certificate to be expanded.
I recommend changing the code to always use certbot certonly instead of certbot renew as the latter does not provide a facility to expand certificates. Through passing command flags to certbot certonly, you can still ensure a new certificate is only requested when the previous certificate is close to expiration (30 days) but also request a new one if domains are changed. This PR will suffice to accomplish that through the use of the --keep-until-expiring flag (to ensure that we don't request a certificate too early) and the --expand flag (to ensure that domains being changed results in a new certificate being issued). See the code for the changes made, which also includes minor cleanups to improve readability of the commands and duplicate passing of the --config-dir and --work-dir flags (in the if [ "$CHALLENGE" == "dns" ]; then section).
I validated the changes this pull request implements by using a modified run.sh and starting the addon.
Modified configuration (and run.sh) and subsequent request result
email<EMAIL_ADDRESS>domains:
  - hass.example.com
  - homeassistant.example.com
  - home-assistant.example.com    # Note the additional third domain here
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
  provider: dns-cloudflare
  cloudflare_email<EMAIL_ADDRESS>  cloudflare_api_key:<PHONE_NUMBER>abcdef0123456789abcdef01234

Resultant log data following starting the Let's Encrypt addon:
Shown below, the script now properly captures the two (one from the failed attempt, and one from from the second edited config above) domains and adds them to the new certificate request.
[19:12:35] INFO: Selected DNS Provider: dns-cloudflare
[19:12:35] INFO: Use propagation seconds: 60
[19:12:39] WARNING: Use CloudFlare global key (not recommended!)
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-cloudflare, Installer None
Renewing an existing certificate
Performing the following challenges:
dns-01 challenge for homeassistant.example.com
dns-01 challenge for home-assistant.example.com
Waiting 60 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /data/letsencrypt/live/hass.example.com/fullchain.pem
   Your key file has been saved at:
   /data/letsencrypt/live/hass.example.com/privkey.pem
   Your cert will expire on 2020-05-28. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Same configuration and final request result
For the final test, I left the last edited configuration in place.
email<EMAIL_ADDRESS>domains:
  - hass.example.com
  - homeassistant.example.com
  - home-assistant.example.com
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
  provider: dns-cloudflare
  cloudflare_email<EMAIL_ADDRESS>  cloudflare_api_key:<PHONE_NUMBER>abcdef0123456789abcdef01234

I started the addon again and was presented with a proper exit, without requesting a new certificate.
[19:19:55] INFO: Selected DNS Provider: dns-cloudflare
[19:19:55] INFO: Use propagation seconds: 60
[19:19:59] WARNING: Use CloudFlare global key (not recommended!)

I like to keep it simple :)

This should work. What do you think?

This should work. What do you think?

Great, I was trying to avoid the code test failures going forward (since the code is now not passing) but if that works for you, that's fine by me!
How about the rest of the PR? Still need to call certbot certonly instead of certbot renew (unless that's still in the pipeline to be merged).

We can avoid a shellcheck issue if that make no sense

So this code is fine for you and reflect the issue they it should solve now?

We can avoid a shellcheck issue if that make no sense
So this code is fine for you and reflect the issue they it should solve now?

Looks good here. Will keep an eye on it in case there's any unforeseen issues.


Feature Request: Add Language Search to Dropdown Menu

Describe the desired feature
I would like to propose a new feature for the language selection menu in the App Inventor UI. Currently, users have to scroll through a long list of languages to find the one they need. My suggestion is to add a text input field at the top of the dropdown menu where users can type the name of the language to quickly find and select it.
Give an example of how this feature would be used
A teacher or student using App Inventor could start typing "Polski" in the text input field at the top of the dropdown menu. As they type, the list of languages would filter to show only those matching the typed text, allowing them to quickly and easily select Polski from the dropdown menu.
Why doesn't the current App Inventor system address this use case?
The current system requires users to manually scroll through a potentially long list of languages, which can be time-consuming and cumbersome, especially as more languages are added. There is no way to quickly search and filter the list of languages.

Why is this feature beneficial to App Inventor's educational mission?
This feature would improve the user experience by making it easier and faster for teachers and students to select their preferred language. By streamlining the language selection process, it supports App Inventor's educational mission by making the tool more accessible and user-friendly, especially in multilingual classrooms.
Additional Note
I am eager to work on implementing this feature. Could you please guide me on how to proceed? I have cloned the repository and set up the codebase locally.

i really want to work on this issue,could you really assign this to me??

I am Really Want to implement This feature in the website can you please assign this task to me.

@HenriquesLee can you assign me this issue?

I want to work on the dropdown menu feature issue and have some ideas for enhancing the functionality. Could you please assign this to me? I’ll ensure the code aligns with the project’s standards 🙂.


Option to append [in] to param when function parameter is const

Description
If a function parameter has the keyword const, the generated documentation could have [in] appended to param to denote it as an input. This can be toggled as an optional feature.
Code example
size_t some_function(const char * buf, const size_t buflen, char *bufout);

Expected result
/**
 * @brief
 *
 * @param[in] buf
 * @param[in] buflen
 * @param bufout
 * @return size_t
 */
size_t some_function(const char * buf, const size_t buflen, char *bufout);

Actual result
/**
 * @brief
 *
 * @param buf
 * @param buflen
 * @param bufout
 * @return size_t
 */
size_t some_function(const char * buf, const size_t buflen, char *bufout);

I'm also having this issue with syntax highlighting. As soon as I add [in], [out], or [in,out] all the syntax highlighting vanishes

@bcaddy that is not an issue of this addon.
This is a problem with https://github.com/microsoft/vscode-cpptools syntax highlighting for Doxygen.

Thanks for letting me know!


Clicking on city but getting region

Description
I am trying to shallowly inspect divisions layer. When trying to click on city Kragujevac in central Serbia. I get information about region instead of the city which is within that region. Since divisions are overlapping is there a way to get information about all divisions covering the location where I clicked or at least the smallest one?
What browser are you seeing the problem on? What version are you running?
Edge
The OS you're using
Windows 11
Steps to reproduce
Go to Kragujevac. Click on "Kragujevac" you will get information about region Central Serbia instead of information about city Kragujevac.
The browser URL at the time you encountered the bug
https://explore.overturemaps.org/#16.42/44.012921/20.919302

The problem here is not isolation by layer, it is having overlapping features within that layer. If I click on Kragujevac with DivisionArea type enabled, I am effectively clicking within the area of these 5 division areas (08568f62bfffffff01a51457e0ffd448, 08568f62bfffffff019c83960b44e2fd, 08568f62bfffffff01bf51eb8704904c, 085251237fffffff012047ab2595f4e9, 085640683fffffff014bde13651bf8ab) since there is no logical way of deducing what I want I would need to have either filter to remove all except one or checklist or some other mechanism of filtering or to get all of them. Clicking on Kragujevac might as well be me wanting to inspect country Serbia, but I am still getting region.

I see! We do have issue #110 as an improvement to allow for 'disambiguation' of what is clicked on- right now it is very hard to tease features apart and view individual things if they're occluded by other features.


VueRouter 4.0.8 esm-browser build broken

Version
4.0.8
Reproduction link
https://codepen.io/JCH77/pen/ExWmjNy
Steps to reproduce
Use esm-browser builds
Import Vue 3.0.11 => OK
Import VueRouter 4.0.8 => The following error occurs :
Uncaught TypeError: Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../".
What is expected?
VueRouter esm-browser build import success
What is actually happening?
VueRouter esm-browser build import fail

Please search existing issues before opening one.
Duplicate of #694


Mysql error truncation when i put prefix hexa in perm

Description
Hi, when i put some hexadecimal code une permission prefix like prefix.50.&8● &#9a4dff
When i update my perm i have some MySQL error in console :
Reproduction steps
juste put hexadécimal prefix in some group
Expected behaviour

Environment details
Debian 9
Spigot 1.16.3
java version "1.8.0_151"
Luckperm 5.3.3 and lastest vault and essentials stable release
Thanks you to read me

Try updating the table encoding to utf8-mb4 in your MySQL panel.
Also, you're using an outdated version of LuckPerms.

Try updating the table encoding to utf8-mb4 in your MySQL panel.
Also, you're using an outdated version of LuckPerms.

In deed : updating encoding to utf8mb4_bin has solve the issue thnaks you  and have a good day :)


Pycall install to lib instead of using GNUInstalldir

In GitLab by @jbigot on May 4, 2020, 09:56

mentioned in commit 970fe327b39a6c64e9018e3a8fa15806f29084a4

mentioned in commit e56d163a1977de27c1f77639c6cdb7eddd4373ce

closed via merge request !239

closed via commit e56d163a1977de27c1f77639c6cdb7eddd4373ce


API response not persitent. Unavailable after looping through

api = API(application='sandbox_1', user='sandbox_1', header='US')
api_resp = api.buy_browse_search(q=search, sort='price', limit=5)
print('*** begin loop 1')
for row in api_resp:
    # for record in api.buy_browse_search(q=search, sort='price', limit=5):
    print(row)
# after loop api_resp content is not available
print('*** begin loop 2')
for row in api_resp:
    print(row)
# at end of all loops last row is available
print('*** after all loops')
print(row)

The API response is not available for the second loop. A new API call is necessary to retrieve the api_resp for the second time.
Is this the expected behavior?

That is expected behaviour.
The eBay Rest library automatically converts any call that returns a list of records to a Python Generator. The generator is designed to minimize memory consumption and enable you to start processing the first results while the latter are still being gathered.
The catch is that eBay has a safety limit for how many records it will return from a single call. If you add a counter and it always hits the same multiple of 100, you might be missing out on records. The remedy is to use a more restrictive filter or add sorting criteria to put the most important results first.
The ReadMe should be updated to document this behaviour. Before doing so, I will research the actual limit. I have a vague memory of it being 10 to 20 thousand.

The next release will include this change to the ReadMe.


MACD

Just trying to wrap my head around this. Any help will be appreciated!  I have a pretty simple data set:
[{minute: 1, closing: 112}, {minute: 2, closing: 112.5},...]

and so on.
According to the docs for MACD:
    let macdInput = {
                values            :[112, 112.5],
                fastPeriod        : 12,
                slowPeriod        : 26,
                signalPeriod      : 9,
                SimpleMAOscillator: false,
                SimpleMASignal    : false,
            };

Is my assumption for values in macd input correct? I am just plugging in the closing prices for each minute in there as shown above in my sample data.
Am i missing something?

yes it is correct.

Thanks!


PKGBUILD for Archlinux

Is your feature request related to a problem? Please describe.
The problem was that I did not like the use of a script to install daytona outside of my package manager on ArchLinux.
Describe the solution you'd like
I have created the PKGBUILD needed for installation on ArchLinux..  The PKGBUILD  uses the source code from the latest release and builds the package on the user's device.

Hi @raininja, thanks for raising the issue.
While we do appreciate your efforts in trying to ease the installation process for Arch users, there are some thing you need to consider when distributing Daytona.
I recommend you read through our packaging guidelines and let me know if you have any questions.
I would still leave this issue open until we publish an official distribution to the Aarch registry.
Thanks for understanding!


Fix no space after package list

https://travis-ci.community/t/broken-build-with-trusty/6419

+1 lgtm.  This was broken in the last commit: https://github.com/travis-ci/travis-build/commit/5ec0319d89b469e5c3afee01348b163359450d1e

@BanzaiMan can we please merge?

Sorry about the breakage, I forgot that the trailing space was important there 🙈
This fix LGTM


WebPDFLoader not working

Hi, I am having problems with parsing PDF in the web/browser (no server/nodejs) which seem to be possbile according to the documentation: https://js.langchain.com/docs/integrations/document_loaders/web_loaders/pdf.
This is the code I am using, I also tried to use a custom pdf.js build which works in case of using it directly. However, when I try to use the WebPDFLoader I always get the error of missing the fs module, see screenshot below. Any idea?
import * as PDFLib from 'pdfjs-dist/build/pdf';
import { WebPDFLoader } from "langchain/document_loaders/web/pdf";
PDFLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${PDFLib.version}/pdf.worker.min.js`;
export async function handlePDFFile(selectedFile) {

  // Load PDF document into array buffer
  const arrayBuffer = await selectedFile.arrayBuffer();

  const loader = new WebPDFLoader(arrayBuffer, { splitPages: false });
  // const loader = new WebPDFLoader(arrayBuffer, {
  //   pdfjs: ()=>{
  //       PDFLib.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${PDFLib.version}/pdf.worker.min.js`;
  //       return PDFLib;
  //   },
  // });
  const pdfDocument = await loader.load();

  // // Load the PDF document using PDF.js natively
  // const arrayBufferUint8 = new Uint8Array(arrayBuffer);
  // const pdfDocument = await PDFLib.getDocument(arrayBufferUint8).promise;

  return pdfDocument
}

PS: Unfortunately, I don't have access to the webpack.config.js in my case.
Thanks,
Patrick

If you're using Next.js and you encounter this issue, you can follow these steps:
1-Create a folder in the root called mocks and create a file named fs.js. Add the following code:
module.exports = {};

2- open your next config  add this followind snippet:
const path = require('path');
module.exports = {
  webpack: (config, { isServer }) => {
    if (!isServer) {
      // Fix for pdf-parse issue with 'fs' module on client-side
      config.resolve.alias['fs'] = path.resolve(__dirname, './mocks/fs.js');
    }
    return config;
  },
}`
 leave a 👍 if this is helpful and 👎 if it is irrelevant.

Sorry for the late response - can you also try just using yarn add pdf-parse and not importing it? It might just be that pdf-parse build?
I've used it successfully here in a Next.js project:
https://github.com/jacoblee93/fully-local-pdf-chatbot/blob/main/app/worker.ts#L5
Please reopen if that doesn't fix it.


Active tab

Hey guys,
Thanks for the great work. I've been playing around with the library and got stuck trying to activate a given tab pane on load. Is there a way to do this via props or should I just use the active tab class?
Thanks!

sorry, i'm not very clear about your question.
You want to active custom tab via props? such like active Tab2 below?
<at-tabs>
  <at-tab-pane label="Tab1" name="name1">

Content of Tab Pane 1

  </at-tab-pane>
  <at-tab-pane label="Tab2" name="name2">

Content of Tab Pane 2

  </at-tab-pane>
  <at-tab-pane label="Tab3" name="name3">

Content of Tab Pane 3

  </at-tab-pane>
</at-tabs>

Hi there,
Yes, I would like to know how to programatically activate a given tab.
I've seen other frameworks exposing an 'active' prop to do this.
Any tips?

Yes, its in the docs, you can do two-way data binding by settings the v-model attribute in the <at-tabs> with the value of the name of one of the <at-tab>s that are inside it

Thanks @diego-lipinski-de-castro that worked.

This is not working anymore, what happened?


Sub-resource id changes for no reason

Godot version:
3.2 beta1
Issue description:
Could be another case of #30538, dunno (judging from https://github.com/godotengine/godot/issues/30538#issuecomment-548158299, it could be revived). I noticed that sometimes my resources still shuffle, even though it should be fixed. I just
found a test case that reproduces it 100%, so I think it's time to open an issue about it.
Steps to reproduce:

Open the reproduction project
Open "Nodes/UI/InGame/UI.tscn" scene
Open the same scene in some external text editor
Go to line 162. Notice the animation has id=16
Save the scene in Godot
Animation is now id=15

This always happens.
Minimal reproduction project:
ReproductionProject.zip
(this is a dump of my game with irrelevant parts removed)

Have this issue too, today i compiled tools beta2, will keep an eye on this issue as it affects mergability of different branches of my project.

Not sure if related, but AnimatedSprite's animations can move around.

I'll add this issue to 3.2 milestone, because similar pointless changes happen A LOT (and the other similar issue had 3.2 too). While you can, heh, just discard these changes, there's always a risk of discarding your work and it's... uncomfortable.


Don't install the auto updater package on windows import

Why are we removing this now and why did we have this step in the first place?

We stopped including auto updates in images a while ago, apparently we missed updating the importers.


build: add quarkus-operator-sdk-bom

Quarkus Operator sdk use a different version of fabric8 k8s client than the one provided by Quarkus BOM. This could lead to compilation issue and consumer projects must add fabric8 BOM before the Quarkus one and manually update the version when Quarkus Operator updates.
This add a Quarkus Operator Sdk BOM so that consumer didn't have to manage fabric8 or quarkus BOM.
Related to #123

What is needed to finish this work?

What is needed to finish this work?

Not that much.
With the current design, users will just replace the quarkus bom import with the operator sdk one
<dependencyManagement>
      <dependencies>
-      <dependency>
-        <groupId>io.quarkus</groupId>
-        <artifactId>quarkus-bom</artifactId>
-        <version>${quarkus.version}</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
+      <dependency>
+        <groupId>io.quarkiverse.operatorsdk</groupId>
+        <artifactId>quarkus-operator-sdk-bom</artifactId>
+        <version>${quarkus-operator-sdk.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
      </dependencies>
</dependencyManagement>

There is one cons. as far as i know, plugins version cannot be managed with bom, so the io.quarkus:quarkus-maven-plugin still needs to be aligned with the version of quarkus used by the operator sdk which is now hidden in the bom. I don't know how to expose it.
I have a similar PR for 1.9.x on the way, if that suits you.

Couldn't update the original branch so ended up creating a new PR. See #159.


classOf[Array[Unit]] is different for JVM and Scala.js 1.0

On JVM, classOf[Array[Unit]].getName is [Lscala.runtime.BoxedUnit;
On Scala.js 1.0 it's [Ljava.lang.Void;
This is an obscure corner case but technically a regression in Scala.js 1.0

Hi! This is by design. In Scala.js 1.x, the boxed class corresponding to the primitive class Unit is java.lang.Void --- just like the boxed class for Int is java.lang.Integer.
So just like (5: Any).isInstanceOf[Integer] is true, so is ((): Any).isInstanceOf[Void]` is true.
This change simplified the fundamental design of Scala.js, and we considered it better than the JVM behavior. The existence of scala.runtime.BoxedUnit, and its observability, is an artifact of compiling for the JVM, not an intentional feature. While we usually favor consistency over improvements, this particular inconsistency was worth it for the design simplification.

See also #3535 for the rationale.

Maybe we could list that difference in documentation among other semantic differences?

Yes, indeed. I submitted a PR at https://github.com/scala-js/scala-js-website/pull/491.


labels in snapshot should be added to the draw function.

What is the expected enhancement?
import qiskit.extensions.simulator
qr = qiskit.QuantumRegister(2)
cr = qiskit.ClassicalRegister(2)
circuit = qiskit.QuantumCircuit(qr, cr)
circuit.h(qr[0])
circuit.cx(qr[0], qr[1])
circuit.snapshot('test')
circuit.cx(qr[0], qr[1])
circuit.h(qr[1])
circuit.draw()
         ┌───┐      ░
q3_0: |0>┤ H ├──■───░───■───────
         └───┘┌─┴─┐ ░ ┌─┴─┐┌───┐
q3_1: |0>─────┤ X ├─░─┤ X ├┤ H ├
              └───┘ ░ └───┘└───┘
 c3_0: 0 ═══════════════════════

 c3_1: 0 ═══════════════════════

should have test written somewhere.

I think this is a duplicate of: https://github.com/Qiskit/qiskit-terra/issues/1298 I'm going to close it and we can just track it there

sure but I would close the other or edit it as we dont use load, save, extra. Just snapshot is the one we need.

I think this issue actually could be close in the other and clearly written as a good first contribution.
Add snapshot label to circuit.draw()
@1ucian0 and @mtreinish what do you think?
ps. [Yes it applies to all drawers]

@jaygambetta sure sounds good to me. My only hesitation for a good first contribution label is that for the latex drawer I never actually found a good way to implement the label on top of the barrier in latex because of how we draw barriers it might require qcircuit patches. But, now that I think about it that's probably fine, adding barriers to first qcircuit and then terra was one of my first qiskit contributions.

Sure! I think it would help the first contributor if there is a clear expected result in advance. Would it be okey to draw snapshot as following (for the case of text)?
          ░ snapshot
 q_0: |0>─░──────────
          ░
 q_1: |0>─░──────────
          ░
 q_2: |0>─░──────────
          ░


Fix/criadoperez

Updated references and repositories that were no longer valid.

Codecov Report

Merging #1207 (2cd31d3) into master (9b6f576) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1207   +/-   ##
=======================================
  Coverage   64.82%   64.82%
=======================================
  Files         122      122
  Lines        8383     8383
  Branches     1540     1540
=======================================
  Hits         5434     5434
  Misses       2841     2841
  Partials      108      108

Continue to review full report at Codecov.

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

Thanks very much for the fixes 😃


Added pending progress bar to Scan page

Close Upload Modal when Scan is done uploading
Supressed ES Lint warnings

Proposed changes

Related issues

Checklist

[ ] I consider the submitted work as finished
[ ] I tested the code for its functionality
[ ] I wrote test cases for the relevant uses case
[ ] I added/update the relevant documentation (either on github or on notion)
[ ] Where necessary I refactored code to improve the overall quality

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

I was hoping the front end build time would increase. Also the false that contain /* refactor */ are files that Secutree need to take a look at

@r-joyce care to deploy


Periodic Expected to find project 'project_<whatever>' in build targets (only got )

Version(s)
❯ scli version
Scala CLI version: 1.0.0-RC1

Describe the bug
I don't have a clear reproduction of this as it happens somewhat infrequently, but enough times now for me to create an issue. It seems to happen when I merge in a pr for a project, switch back to main, and then pull the latest changes. When I try to run any scala-cli command again it seems to fail. I then clean everything and it will continue to fail even though there is no .scala-build left.
The only thing that seems to fix it is if I exit the bloop server, and then re-start it. So it seems like Bloop is holding on to some sort of state that it shouldn't. This is what it looks like when this happens:
https://user-images.githubusercontent.com/13974112/233855478-fd1ae0e6-f9e7-48d6-8d98-575613e789d0.mov
Expected behaviour
I'd expect for this to never happen. If there is no local .scala-build, then there shouldn't be any way for Bloop to still be holding onto some old state for the project when I try to compile it.

I just ran into this and running scala-cli bloop exit --power fixed it


Bibliographic reference 5.3

Related Issue

https://github.com/digitallinguistics/spec/issues/328
https://github.com/digitallinguistics/spec/issues/327
https://github.com/digitallinguistics/spec/issues/282

Description

Added a citationKey field and a link field. Also clarified the difference between link and url. Added example data that is meant to be temporary.

Changelog

NEW: add BibliographicReference.link
NEW: add BibliographicReference.citationKey
CHANGE: update BibliographicReference.url description and title for clarity
UPDATE: update example data
CHANGE: minor version bump

Pull Request Checklist

[x] Open an issue for the change, if one is not open already. NOTE: It is a good idea to wait until your suggested change is approved by a maintainer before writing any code.

[x] Fork the repository and clone it to your computer.

[x] Create an issue branch for the changes you are making. You should only make changes on this branch for the issue you are currently working on.

[x] Install Node.js. Use the latest LTS release. If you need to manage multiple versions of Node.js on your computer, install nvm or nvm windows.

[x] Install project dependencies by running npm install from the command line in the project root.

[x] Update the project documentation (README.md, CONTRIBUTING.md, etc.) to reflect the changes you plan to make, if applicable.

[x] Write or update (failing) tests for the changes you are going to make (if needed). Tests only need to be written for issues that cannot be checked using the example data in the schemas.

[x] Make changes to the schemas or code. The schemas are located in /schemas/yaml. Do not update the schemas in schemas/json, or your changes will be overwritten.

[x] Increment the version number for any schemas you made changes to.

[x] Update the "description" field of any schemas / properties that you change.

[x] Update examples in the affected schemas to reflect the changes you made.

[x] Get the latest changes from the master branch and resolve any conflicts that arise. Run the tests again.

[x] Build the project (npm run build)

Generates JSON versions of the schemas
Regenerates the project documentation

[x] Run the tests (npm test) and fix issues that arise. If you find an issue that is unrelated to the one you are working on, open a new issue for it.

[x] Check the project documentation for your changes

[x] Open a pull request from your issue branch into the master branch. See GitHub's advice on How to write the perfect pull request.

[ ] Wait for a reviewer to provide feedback

[ ] Address any changes requested by the reviewer. While working on your pull request, you can write [ci skip] in each of your commit messages to skip automated testing, until you are ready to test your code.

[ ] Wait for your pull request to be merged.

[ ] Delete your issue branch.

[ ] Celebrate!!! :fireworks: Your work is complete! Thank you for your valuable contribution to DLx!

This PR will be mergeable after the GeoJSON FIX PR is merged. https://github.com/digitallinguistics/spec/pull/330/files#diff-d72ba87428e5b870f7c0783b9f08e8cc

Examples have been updated and all tests are passing. This one looks good to go.


Re-work Function MetaDataManager to make all metadata writes only by the leader

(If this PR fixes a github issue, please add Fixes #<xyz>.)
Fixes #
(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)
Master Issue: #
Motivation
Currently Function Metadata topic is not compacted, which means that in a long running system, with sufficient number of function submissions/updates/state changes, the startup lag for workers to read from beginning increases linearly.
However the current mechanism of Function Metadata topic writes does not lend itself to compaction. This is because all workers write into the topic and only one of them wins(it need not be the last).
This pr makes a first stab at simplifying the current workflow. Now, upon a function submission/update/state change, the workers simply pass that request to the leader. The leader is the arbitrer of what goes in(just like it is today) and is the only one writing to the function metadata topic. The rest of the worker still continue to tail the topic to receive the appropriate updates. The leader does not have the tailer, and instead directly updates in in-memory state when it writes to the metadata topic.
Modifications
Describe the modifications you've done.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (yes / no)
The schema: (yes / no / don't know)
The default values of configurations: (yes / no)
The wire protocol: (yes / no)
The rest endpoints: (yes / no)
The admin cli options: (yes / no)
Anything that affects deployment: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Move this change to 2.6.2, because the #8143 depends on it.


How to run SSSP?

I run algorithm SSSP by using dataset  whose structure is edge list and only have two arguments.And the dataset is downloaded from  http://snap.stanford.edu/data/index.html .But the result of program shows the value of all verices is 0. So how to test algorithm SSSP in your paper?Please help.

I just found that  you set  the weight of all vertices in  completeEntryCuSha(cusha-UserStructures.cuh) as 0 when running SSSP. Am I right?

The SSSP example expects the 3rd argument in the edge-list to be the edge weight. If such thing does not exist, it assumes the edge weight to be 0, as it is shown in line 38 in user_specified_pre_and_post_processing_functions.hpp.


ecp5: Make -abc9 the default

abc9 gives substantially better area on almost any non-trivial design by virtue of using wide LUTs in a vaguely sensible way. Several third party frameworks like LiteX have been using it as default for a while, so it seems time for it to be the default for everyone - and give them a better impression of the capabilities of the open source tools!
Fixes #1323

What about iCE40?

I don't consider myself the "owner" of synth_ice40 enough to make such a decision, but if there is a consensus for that I'm happy to do that too.

I'm very much in favor of doing the switch for iCE40 as well, since there is no downside that I know of, and the QoS improves massively.

Regarding third party users: nMigen currently does not add -abc9 on its own, both as a matter of policy (the policy being "nMigen does not add any toolchain options essential for correct synthesis"), and because it breaks nMigen used together e.g. with Yosys in Debian stable, which I got an actual report for IIRC.
So this PR (and any follow-up for iCE40) would benefit all developers using nMigen who do not already use -abc9, where my experience is that few people are aware that it exists and makes a huge difference.

I have a number of concerns with making this default:
* `abc9` is still currently in flux and is far from stable in terms of features, attributes, etc.

Quite frankly this applies to the whole of the Yosys, nextpnr and trellis flow....

* `synth_ecp5 -abc9` has timing numbers (and thus optimises) only for the 5G variant

In practice the lack of any absolute timing constraints and the fact each variant is proportionately similar means this is a small issue, I can add exact per-device numbers. This also doesn't change abc9 being a strict improvement over abc for any device.

* Not all arrival timings are present, e.g.:

  * `TRELLIS_DPR16X4` https://github.com/YosysHQ/yosys/blob/2ec6d832dc07a68157721715785d469feabbb6ed/techlibs/ecp5/cells_sim.v#L118
  * `TRELLIS_RAM16X2` https://github.com/YosysHQ/yosys/blob/2ec6d832dc07a68157721715785d469feabbb6ed/techlibs/ecp5/cells_sim.v#L71
  * https://github.com/YosysHQ/yosys/blob/2ec6d832dc07a68157721715785d469feabbb6ed/techlibs/ecp5/cells_sim.v#L220
  * etc.?

Noted, will add these -  TRELLIS_RAM16X2 is a sim-only primitive that isn't directly instantiable, but the EBR primitive probably needs them too.

* Are all box timings present?

Other than the missing arrival times above; yes

Quite frankly this applies to the whole of the Yosys, nextpnr and trellis flow....

Indeed. But why add more chaos on top? I'm well aware that abc9 is currently a bit of a mess and I accept that's entirely on me (a refactoring is on the roadmap once it's feature complete), so I'm careful about taking on the load of supporting users that expect it to work out of the box, versus developers who appreciate and accept the risk of using this experimental feature. The resolution to this would be (a) other maintainers (to whom I would apologise profusely for the state of the code), or (b) more time for me to mature it further.
Off the top of my head, abc9 still needs:

Sequential synthesis
Required time support
Method to change abc9 script without breaking apart synth_*
More upstream fixes
which will also likely bring some more short-term breakage.

In practice the lack of any absolute timing constraints and the fact each variant is proportionately similar means this is a small issue, I can add exact per-device numbers. This also doesn't change abc9 being a strict improvement over abc for any device.

I understand that this is difficult, and there are many factors why it won't provide a big benefit, but users should be made aware of that.

TRELLIS_RAM16X2 is a sim-only primitive that isn't directly instantiable

Can you add a comment to this effect please?
Regarding arrival times and box timings, what about these guys? https://github.com/YosysHQ/yosys/blob/2ec6d832dc07a68157721715785d469feabbb6ed/techlibs/ecp5/cells_sim.v#L153-L159
https://github.com/YosysHQ/yosys/blob/2ec6d832dc07a68157721715785d469feabbb6ed/techlibs/ecp5/cells_sim.v#L305-L324

This also doesn't change abc9 being a strict improvement over abc for any device.

@eddiehung I would like to emphasize this part as much as possible. The QoS with plain abc is so low, that (IIRC) I got only slightly worse results by straightforwardly mapping fine gates to LUTs and then greedily merging LUTs, and slightly better results with my essentially proof of concept flowmap pass. I think the QoS in the default workflow makes Yosys look bad for no particularly good reason.
If your view is that abc9 requires major work to be usable as a default that will not happen soon, and abc isn't going to be improved at all, then I propose making flowmap the new default flow in the interim, and incrementally adding features currently exclusive to abc9 to it (non-unit delay model, whiteboxes, ...). The core pass is in a good shape right now, and any additions can be vetted and enabled one by one instead of in a single major change.

This also doesn't change abc9 being a strict improvement over abc for any device.

@eddiehung I would like to emphasize this part as much as possible.

Indeed. My argument is that robustness is something that should also be taken into account, and I'm personally not fully convinced that it is mature enough. If others are and are willing to help maintain it as I continue to add new features then I would feel a lot more comfortable. There are some areas which abc9 will continue to underperform with respect to abc, namely retiming.

The QoS with plain abc is so low, that (IIRC) I got only slightly worse results by straightforwardly mapping fine gates to LUTs and then greedily merging LUTs, and slightly better results with my essentially proof of concept flowmap pass. I think the QoS in the default workflow makes Yosys look bad for no particularly good reason.
If your view is that abc9 requires major work to be usable as a default that will not happen soon

I wouldn't go as far as to say not soon. It is probably my top item but it is slow progress and I am being stretched thin so I don't want to make any promises I can't keep.

and abc isn't going to be improved at all, then I propose making flowmap the new default flow in the interim, and incrementally adding features currently exclusive to abc9 to it (non-unit delay model, whiteboxes, ...). The core pass is in a good shape right now, and any additions can be vetted and enabled one by one instead of in a single major change.

I have no objection to that, nor am I involved in flowmap's development.

The main reason flowmap beats abc is it maps no wide LUTs, only LUT4s whereas abc1 is obscenely wasteful at using wide LUTs. Adding -nowidelut would probably get a similar area gain but at the expense of a 10-15% Fmax drop.
I do agree, if abc9 is unlikely to be stable for the foreseeable future, I'd rather put time into flowmap and use that too.

The main reason flowmap beats abc is it maps no wide LUTs, only LUT4s whereas abc1 is obscenely wasteful at using wide LUTs.

I'm a bit confused here--flowmap has a -maxlut k option so it should map LUTs up to that many inputs. Is there something else to that?

flowmap would also need to know that a LUT5 costs twice the area as a a LUT4, for example (this is the limit of abc1), and also ideally know that a LUT5 is slower than a LUT4 (this is what abc9 adds)

In order to see a flowmap based flow as the default for ECP5, I'd like to see a feature set roughly similar to abc9 - I don't think any of this is too much work though, I may well even be able to get much of it done before abc9 is stable.

trivial whitebox aware logic optimisation (freduce would probably be the basis of this)
LUT library support with per-input delays per LUT type rather than a single unit delay
whitebox delay aware mapping
some kind of area recovery (I think this is a WIP right now?)

Nice to haves would be

more sensible whitebox mapping
use of LUT4+mux structure in a better way than just a LUT5 (eg mapping some functions of up to 9 inputs to it)
retiming

In order to see a flowmap based flow as the default for ECP5, I'd like to see a feature set roughly similar to abc9

We're in agreement here. I'm happy to discuss any improvements to it whever it's convenient. I'll be able to work on flowmap myself once I finish my current simulator work--that is, cxxsim and improved concurrency semantics for nMigen pysim.

flowmap would also need to know that a LUT5 costs twice the area as a a LUT4, for example (this is the limit of abc1), and also ideally know that a LUT5 is slower than a LUT4 (this is what abc9 adds)

LUT library support with per-input delays per LUT type rather than a single unit delay

For the record, abc[1] supports the same *.lut file as abc9 -- it's just not used right now. There's no public information on how to use the same *.box files (delay propagation through white/black-boxes) though, if indeed it does support doing so.

Closing this for now while we consider the best way forward.

@eddiehung

Off the top of my head, abc9 still needs:

Sequential synthesis

This was added in #1181.

Required time support

This was added in #1661.

Method to override abc9 script without breaking apart synth_* (currently thinking of using the scratchpad)

This was added in #1582.

More upstream fixes

Not sure about those, but they should surely be added by now (even considering the glacial pace of ABC development).
With all this in mind, would you still be opposed to making ABC9 the default for ECP5 (and possibly Xilinx, but not iCE40, considering #1792)?

Sequential synthesis

This was added in #1181.

I would correct that statement and say that the raw capability for architectures to support sequential synthesis was added by #1181, but so far that capability is only realised for Xilinx.
I'm well aware that it is a bit of a manual PITA to add this for other arches, so on my roadmap is to make the whole thing automatic but that involves adding some other Yosys enhancements.
While this isn't critical, I'd like to try and achieve feature parity with the existing abc flow before superseding it with abc9.

More upstream fixes

Not sure about those, but they should surely be added by now (even considering the glacial pace of ABC development).

Specifically, there are two known upstream issues.
One which prunes away the wrong flops under sequential synthesis with multi clock domains, to which I proposed a fix here: https://github.com/berkeley-abc/abc/pull/65
Another is that "&mfs" still occasionally fails, and this has been reported upstream too.
Of course, both of these can be worked-around, but equally, if things aren't fully working to the best of my knowledge why push it?

With all this in mind, would you still be opposed to making ABC9 the default for ECP5 (and possibly Xilinx, but not iCE40, considering #1792)?

Without intending to sound rude: please help me understand why you're pushing for it to become default? My concern is that making it default will only cause a wider set of users to hit some of the known issues above, to which the rest of us will have to suggest the workaround is to go back to abc.

Sequential synthesis

This was added in #1181.

I would correct that statement and say that the raw capability for architectures to support sequential synthesis was added by #1181, but so far that capability is only realised for Xilinx.

Okay, but my general impression is that most people don't know -retime even exists. Sure, it's nice to have, and useful, but if people don't know it exists they are no worse off for it. Even when it's used it's generally not as effective as just running nextpnr with a new seed.

I'm well aware that it is a bit of a manual PITA to add this for other arches, so on my roadmap is to make the whole thing automatic but that involves adding some other Yosys enhancements.

That'd be nice.

While this isn't critical, I'd like to try and achieve feature parity with the existing abc flow before superseding it with abc9.

I really don't think it's critical at all to be honest. My general experience with ABC versus ABC9 is that ABC is better (in Fmax/area) when targeting LUT4s, while ABC9 handles larger LUTs more efficiently; that makes them complimentary, rather than competitive.

More upstream fixes

Not sure about those, but they should surely be added by now (even considering the glacial pace of ABC development).

Specifically, there are two known upstream issues.
One which prunes away the wrong flops under sequential synthesis with multi clock domains, to which I proposed a fix here: berkeley-abc/abc#65
Another is that ABC's &mfs still occasionally fires an ABC assertion, and this has been reported upstream too.
Of course, both of these can be worked-around, but equally, if things aren't fully working to the best of my knowledge why push it?

Because at the rate of ABC's development, they won't be fully working this time next year either >.>

With all this in mind, would you still be opposed to making ABC9 the default for ECP5 (and possibly Xilinx, but not iCE40, considering #1792)?

Without intending to sound rude: please help me understand why you're pushing for it to become default? My concern is that making it default will only cause a wider set of users to hit some of the known issues above, to which the rest of us will have to suggest the workaround is to go back to abc.

Sure, and there's the risk of unknown bugs lurking in there, too. But for ECP5 (at least in the default wide-LUT mode) there is a very distinct advantage to using ABC9 over ABC in Fmax and area, and for a lot of the users that will be the entirety of their Yosys experience. It'd be nice to give ABC9 a "fallback to ABC" mode for the rare case of ABC9 bugs, but my general opinion is that the present number of bugs is in no way an indicator of future bugs, and if really necessary there's the option of maintaining a small ABC downstream.
I'm not arguing this for the sake of the power users, I'm arguing it for the majority who don't even know what ABC9 does.

Sequential synthesis

This was added in #1181.

I would correct that statement and say that the raw capability for architectures to support sequential synthesis was added by #1181, but so far that capability is only realised for Xilinx.

Okay, but my general impression is that most people don't know -retime even exists. Sure, it's nice to have, and useful, but if people don't know it exists they are no worse off for it. Even when it's used it's generally not as effective as just running nextpnr with a new seed.

There's -dff (which gives flops to ABC and asks it to use information gleaned from reachable states to compute and merge identical signals) and there's -retime which actually moves the flops.

More upstream fixes

Not sure about those, but they should surely be added by now (even considering the glacial pace of ABC development).

Specifically, there are two known upstream issues.
One which prunes away the wrong flops under sequential synthesis with multi clock domains, to which I proposed a fix here: berkeley-abc/abc#65
Another is that ABC's &mfs still occasionally fires an ABC assertion, and this has been reported upstream too.
Of course, both of these can be worked-around, but equally, if things aren't fully working to the best of my knowledge why push it?

Because at the rate of ABC's development, they won't be fully working this time next year either

And unfortunately that's out of my hands. I can't in good faith bless something that has known bugs, particularly one that can give a incorrect result (and which took me a significant amount of time to debug). Others can pull the trigger if they so wish, but there's a limit to what I can support.

With all this in mind, would you still be opposed to making ABC9 the default for ECP5 (and possibly Xilinx, but not iCE40, considering #1792)?

Without intending to sound rude: please help me understand why you're pushing for it to become default? My concern is that making it default will only cause a wider set of users to hit some of the known issues above, to which the rest of us will have to suggest the workaround is to go back to abc.

Sure, and there's the risk of unknown bugs lurking in there, too. But for ECP5 (at least in the default wide-LUT mode) there is a very distinct advantage to using ABC9 over ABC in Fmax and area, and for a lot of the users that will be the entirety of their Yosys experience.

I'm afraid I disagree here. I would say a lot of users are new to Yosys, and it's those users -- non power users -- that I want to provide something that works. That blinks. That works out of the box, for hobbyists and teachers and students. They aren't trying to push their designs to minimise delay or area. Those who are ready to climb outside of the sandbox can then start playing with more advanced and experimental features.

It'd be nice to give ABC9 a "fallback to ABC" mode for the rare case of ABC9 bugs, but my general opinion is that the present number of bugs is in no way an indicator of future bugs, and if really necessary there's the option of maintaining a small ABC downstream.
I'm not arguing this for the sake of the power users, I'm arguing it for the majority who don't even know what ABC9 does.

I think we agree that no-one needs to know what ABC9 does, and they will never need to if it works out of the box. That's where I'm trying to drive this towards.

@eddiehung I see your arguments, but the absolute minimum that I believe should be done is indicating somewhere that for advanced use, -abc9 should be considered. When I was working on my PCIe stack, the ECP5 synthesis results without ABC9 were so abysmal (#1323) that I did all of that work using Lattice Diamond. If I was aware that using ABC9 was an option, I would not have ended up telling a few people that for now, they should avoid the FOSS stack for this kind of work!


Avalonia app does not run on Ubuntu

After Avalonia updating to the latest alpha (0.4.1-build2658-alpha) app does not work on Ubuntu. It crashes with the following exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Avalonia.Gtk.GtkPlatform' threw an exception. ---> System.DllNotFoundException: libglib-2.0-0.dll

ControlCatalog app is not working too due to the same error.

Remove windows-targeted GTK-related binaries from your output directory.


Cannot convert object to primitive value error in dependency

Version
Tell us which versions you are using:

react-native-router-flux v4.1.0 (v3 is not supported)
react-native v0.56.0

Expected behaviour
Build works
Actual behaviour
Build fails when creating static bundle for release on
/node_modules/rx/dist/rx.all.js: Cannot convert object to primitive value
what would cause this? it seems like I have added no new routes and the error came up out of the blue. I only am posting here because rx.js is a dependency from
react-native-router-flux#opencollective#inquirer#rx
since this only occurs on the build I am having a hard time tracking down what might cause this issue, any help appreciated. Thanks
Steps to reproduce
For non-obvious bugs, please fork this component, modify Example project to reproduce your issue and include link here.
1.
2.
3.

Are you able to reproduce it with the Example or ReduxExample code provided? It might be something else in your app affecting it.
There is no enough information here to help you - please provide a way to reproduce the error - here, both examples are building on ios and android.

you were right it was unrelated to this library, my mistake and thanks for responding

No worries, glad you got it working.


enabled storage backend file

Here is a pull request just enabling the file storage for vault.  I've modified the defaults along with the template for easier "switching".  This will not affect an existing setup or any existing defaults as they remain set for consul.
Also, I will show logs below that show that hitting the health endpoint fails (as in returns a 501)  as the existing playbook is written.
curl of health endpoint
curl -s http://<IP_ADDRESS>:8200/v1/sys/health
{"initialized":false,"sealed":true,"standby":true,"performance_standby":false,"replication_performance_mode":"unknown","replication_dr_mode":"unknown","server_time_utc":1542486267,"version":"0.11.3"}

Ansible run with -vvvv set for Vault API reachable? task
FAILED - RETRYING: Vault API reachable? (28 retries left).Result was: {
    "attempts": 3,
    "cache_control": "no-store",
    "changed": false,
    "connection": "close",
    "content": "{\"initialized\":false,\"sealed\":true,\"standby\":true,\"performance_standby\":false,\"replication_performance_mode\":\"unknown\",\"replication_dr_mode\":\"unknown\",\"server_time_utc\":1542486683,\"version\":\"0.11.3\"}\n",
    "content_length": "200",
    "content_type": "application/json",
    "date": "Sat, 17 Nov 2018 20:31:23 GMT",
    "invocation": {
        "module_args": {
            "attributes": null,
            "backup": null,
            "body": null,
            "body_format": "json",
            "client_cert": null,
            "client_key": null,
            "content": null,
            "creates": null,
            "delimiter": null,
            "dest": null,
            "directory_mode": null,
            "follow": false,
            "follow_redirects": "safe",
            "force": false,
            "force_basic_auth": false,
            "group": null,
            "headers": {
                "Content-Type": "application/json"
            },
            "http_agent": "ansible-httpget",
            "method": "GET",
            "mode": null,
            "owner": null,
            "regexp": null,
            "remote_src": null,
            "removes": null,
            "return_content": false,
            "selevel": null,
            "serole": null,
            "setype": null,
            "seuser": null,
            "src": null,
            "status_code": [
                "200"
            ],
            "timeout": 30,
            "unsafe_writes": null,
            "url": "http://<IP_ADDRESS>:8200/v1/sys/health",
            "url_password": null,
            "url_username": null,
            "use_proxy": true,
            "validate_certs": true
        }
    },
    "json": {
        "initialized": false,
        "performance_standby": false,
        "replication_dr_mode": "unknown",
        "replication_performance_mode": "unknown",
        "sealed": true,
        "server_time_utc":<PHONE_NUMBER>,
        "standby": true,
        "version": "0.11.3"
    },
    "msg": "Status code was 501 and not [200]: HTTP Error 501: Not Implemented",
    "redirected": false,
    "retries": 31,
    "status": 501,
    "url": "http://<IP_ADDRESS>:8200/v1/sys/health"
}

I don't know how you want to work around the 501 on the endpoint check.  Perhaps allow 501 to be an ok return code then do a check of the json return values.

ping

Thanks!


Need to resolve how firewall ports are opened for Ceph

The PoC mistral workflow is manually opening Ceph ports in the firewall using iptables, and the intent is puppet-ceph will completely manage the firewall. However, the mistral workflow that stands up the Ceph cluster (using ceph-ansible) executes before puppet-ceph. In other words, we have a chicken-and-egg dilemma.

Closing. This has been moved to bugzilla. https://bugzilla.redhat.com/show_bug.cgi?id=1432566


Issue with the transformation to unconstrained space with new sampler interface

Hey!
I was trying to use a new sampler interface to sample from a conditional distribution and stumbled upon a problem with the transformation to unconstrained space. Shortly, when my uniform prior has only positive values, the potential for the conditional distribution returns only infs and the sampling doesn't work.
Here is a minimal example to reproduce the problem:
num_dim = 4

prior = BoxUniform(low=[.1,.1,.1,.1], high=[4,4, 4,4])

def linear_gaussian(theta):
    return theta + 1.0 + torch.randn_like(theta) * 0.1

simulator, prior = prepare_for_sbi(linear_gaussian, prior)
inference = SNPE()
theta, x = simulate_for_sbi(simulator, prior, 1000)
posterior_estimator = inference.append_simulations(theta, x).train()

potential_fn, theta_transform = posterior_estimator_based_potential(
    posterior_estimator, prior=prior, x_o=torch.tensor([2,2,2,2])
)

from sbi.analysis import conditonal_potential
conditioned_potential_fn, restricted_tf, restricted_prior = conditonal_potential(
    potential_fn=potential_fn,
    theta_transform=theta_transform,
    prior=prior,
    condition=torch.as_tensor([.0, .0, .0, 1.0]), # the first three values are arbitrary and are ignored internally
    dims_to_sample=[0, 1, 2],
)

mcmc_posterior = MCMCPosterior(
    potential_fn=conditioned_potential_fn,
    theta_transform=None,
    proposal=restricted_prior,
)
cond_samples = mcmc_posterior.sample((100,))

The workaround I found so far is not to use the parameters transformation, but mb there is a more general solution.
from sbi.analysis.conditional_density import ConditionedPotential

condition=torch.as_tensor([.0, .0, .0, 1.0]).view(1,4)
transformed_condition = condition#theta_transform(condition)
conditioned_potential_fn = ConditionedPotential(potential_fn, transformed_condition, [0,1,2])

mcmc_posterior = MCMCPosterior(
    potential_fn=conditioned_potential_fn,
    theta_transform=None,
    proposal=restricted_prior,
)
cond_samples = mcmc_posterior.sample((100,))

Thanks for reporting this! A fix is on the way at #709


[Site]: route /plugins, has styled error

Current State
Description of the current state/issue:
the sidebar style is position: fixed, When the page is scrolled to the bottom, the sidebar will overlap with the footer
Link to the page:
https://apisix.apache.org/plugins/
Screenshots (if relevant):

Desired State
Description of the change you are proposing:
use Affix type, dynamically calculate the height of parent elements instead of the whole document
Would you like to fix this issue?
Yes! Count me in

Looks like a styling error, the image above is what it looks like in my monitor, maybe it can be fixed by just changing the css rules?


aiohttp.test_utils.make_mocked_request should accept regular dict as headers [easy]

Currently aiohttp.helpers.make_mocked_request doesn't support headers value type other than CIMultiDict. If you try to pass regular dict as headers and try to use such mocked request you will get error similar to:
test_aio.py:6: in handler
    assert request.headers.get('token') == 'x'
../../../stuff/aio-libs/aiohttp/aiohttp/helpers.py:442: in __get__
    val = self.wrapped(inst)
../../../stuff/aio-libs/aiohttp/aiohttp/web_reqrep.py:214: in headers
    return CIMultiDictProxy(self._message.headers)

TypeError: CIMultiDictProxy requires CIMultiDict instance, not <class 'dict'>

This can be easily fixed by adding here something like:
    if headers:
        hdrs = headers
        if not isinstance(hdrs, CIMultiDict)
           hdrs = CIMultiDict(hdrs)
        raw_hdrs = [
(k.encode('utf-8'), v.encode('utf-8')) for k, v in headers.items()]

plus add test for this case.

If nobody took it, I'll take it

If nobody is working on it, I'll take it.

Seems someone else is already working on it...

Fixed by #1073

@argaen, thanks!

You're welcome :).


Custom binding error

I created an HTTP triggered function with an output binding of type Azure Table Storage. Here is the function.json definition:
{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "$return"
    },
    {
      "type": "table",
      "dataType": "string",
      "direction": "out",
      "name": "table",
      "tableName": "commitsTable",
      "connection": "AzureWebJobsStorage"
    }
  ]
}

I see the following error when trying to run locally:
Executing 'Functions.PushEvent' (Reason='This function was programmatically called via the host APIs.', Id=a079f757-06a1-4ca0-b2fd-6eb41f4e8953)
[5/6/19 5:38:18 AM] Executed 'Functions.PushEvent' (Failed, Id=a079f757-06a1-4ca0-b2fd-6eb41f4e8953)
[5/6/19 5:38:18 AM] System.Private.CoreLib: Exception while executing function: Functions.PushEvent. System.Private.CoreLib: Result: Failure
[5/6/19 5:38:18 AM] Exception: FunctionLoadError: cannot load the PushEvent function: unknown type for table binding: "table"
[5/6/19 5:38:18 AM] Stack:   File "/usr/local/Cellar/azure-functions-core-tools/2.7.1149/workers/python/deps/azure/functions_worker/dispatcher.py", line 232, in _handle__function_load_request
[5/6/19 5:38:18 AM]     function_id, func, func_request.metadata)
[5/6/19 5:38:18 AM]   File "/usr/local/Cellar/azure-functions-core-tools/2.7.1149/workers/python/deps/azure/functions_worker/functions.py", line 179, in add_function
[5/6/19 5:38:18 AM]     f'unknown type for {param.name} binding: "{desc.type}"')
[5/6/19 5:38:18 AM] .

I expected this to work since the issue here - https://github.com/Azure/azure-functions-python-worker/issues/66 has been closed.

@asavaritayal #66 laid the foundation for the unstructured bindings, but we didn't explicitly enable support for arbitrary binding types, only the bindings that are supported (registered) otherwise.  If this is desired, I can make a PR to enable this behavior.

@elprans the primary purpose of https://github.com/Azure/azure-functions-python-worker/issues/66 was to enable bindings that are not supported out of the box in Functions. The current functionality does not provide any net new addition to the platform. I'll re-open the issue to track the work required.


Routing by hostname

Routing jobs by the path can be painful and harmful. Here's why:
For instance, if we were about to deploy WordPress to Racetrack, we'd need to deploy it at the non-root path, ie. /pub/job/wordpress-job/0.0.2/. This is required by Racetrack due to path routing done by PUB.
However, WordPress doesn't seem to work with the non-root base path (or at least I wasn't able to achieve it).
This is not about just the WordPress. Drupal commits the same sin. I was finally able to deploy it to Racetrack by doing some weird HTML output rewriting, which is unreliable and can't be generalized.
Furthermore, jobs can be accessed either by its exact version /pub/job/adder/0.0.2/, alias /pub/job/adder/latest/ or a wildcard /pub/job/adder/0.0.x/ so what we really need is to serve a job at wildcarded /pub/job/adder/*/ URL path. Again, this is not supported by common applications.
The only cure I see is not to do path routing at all. Instead jobs could be routed by hostname.
That is: hostname adder-0-0-2.pub.dev-racetrack-cluster.example.com/, which is a part of HTTP request, could be parsed by PUB.
I know it requires a lot of effort to be done by the infrastructure providers (k8s ingress, wildcarded HTTPS certificates) and local testing might become more complex with the addition of a local DNS server. However, Racetrack would become wide open to nearly any kind of application.
(This is not urgent, it's rather nice-to-have feature)

Path rewriting breaks front-end apps
Here's a detailed explanation why the problem exists due to path rewriting. It is common to many front-end apps, like Drupal, WordPress or pgAdmin.

A job is hosted by Pub at base URL: /pub/job/drupal-job/0.0.2/ (to distinguish it from other jobs)
A target application (eg. Drupal) awaits for the requests at the root path, so docker proxy job rewrites the URL and trims down the prefix, transforming /pub/job/drupal-job/0.0.2/index.html into /index.html and it passes the request to the target container.
A target frontend app doesn't know it's being proxied and generates absolute paths in its HTML content:<link rel="stylesheet" href="/assets/style.css" />

The HTML page goes back to user's browser, which tries to load a CSS file, so it makes another request to Pub for /assets/style.css
Pub rejects that request with 404 Not Found as it's invalid job URL.

Note that while the issue occurs in almost any kind of front-end apps, there are exceptions (like Sphinx or HUGO) that are "proxy-friendly" and work well thanks to using relative paths inside its HTML/JS contents.

In general, to address this issue, we need to find a way of putting additional information to HTTP request that allows Racetrack to distinguish a job, and dispatch the request to appropriate place. HTTP request looks usually like this:
GET /pub/job/adder/0.0.3/docs HTTP/2
Host: racetrack.dev.example.com
accept-encoding: deflate, gzip, br, zstd
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
accept-language: en-US,en;q=0.9,pl;q=0.8,da;q=0.7
cache-control: max-age=0
cookie: racetrack_sessionid=***; X-Racetrack-Auth=***
sec-ch-ua: "Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
sec-fetch-dest: document
sec-fetch-mode: navigate
sec-fetch-site: same-origin
sec-fetch-user: ?1
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

Possible options:

Path: "/pub/job/adder/0.0.3/docs" - this is a current approach, it isn't perfect though, as described above
Host name: "Host: adder-0-0-2.pub.dev-racetrack-cluster.example.com" - has certificate difficulties as described above
Host port: "Host: racetrack.dev.example.com:8565" - Each job will get a unique port number. Should work even with HTTPS, but Infrastructure target has to support opening new ports on demand (eg. new port in Kubernetes' Ingress Controller, plus opening new port on Cloudflare and the firewalls). One drawback is that user doesn't know what job he's really looking at as all he sees is just a random port number 8565.
Cookie: "cookie: job=adder:0.0.3" - Bad idea. Cookie is persistent between requests, but it won't allow opening more than one tab in a browser as it's shared.
Custom header: "X-Job: adder:0.0.3" - Bad idea. This header will be cleared out after making a new request through the browser.
Additional Query param: "/index.html?racetrack_job=adder:0.0.3" - It might break when a browser redirects you to the other absolute URL, clearing out this query param

Currently, the best way I see is to go with hostname subdomains.
This would be an optional feature for extraordinary apps, working only with the infrastructure targets that supports it (local Docker doesn't even know about hostnames).
There would be 2 steps required:

Ask your Kubernetes operator to create a subdomain for you. Infrastructure targets would be responsible for subdomain issuing. This would be a long step, that has to be done outside of Racetrack.
Claim hostname in a job manifest - separate field which instructs Racetrack to route a job by this hostname if it occurs.


No highlighting for Haskell type signatures

Syntax highlighting for Haskell doesn't seem to highlight type signatures. GitHub highlights like this, for comparison:

main :: IO ()
main = putStrLn $ hello

hello :: String
hello = "hello" ++ "world"

...but as far as I can tell, the only highlighting for Haskell is on keywords and strings.
(Additionally, there's no highlighting for infix operators like $ or + --- Sublime (for example) highlights these --- but as they're technically functions, would I be right in assuming that that's a design decision? There's also no highlighting for =, which probably should be highlighted.)

@sourrust happens to be our Haskell expert so I'll trust his judgment on usefulness and feasibility of implementing it.
(We don't highlight single-letter operators as a general rule, it makes for a really noisy highlighting.)

I'm not sure which style you are using, but there are some styles that don't implement the css classes for hljs-type and hljs-title -- which are the two classes used inside of type signatures. With a quick search I see 23 of the 50 that actually have Haskell type classes defined to a color.
If you want to sent in a pull request to fix it for the style you are using you can and it is welcome. However with there being 27 styles missing a color, specifically for types, I currently don't have the time to look up the set color for each style.

Ah, cool, maybe that's the problem then! I'm happy to investigate that and send a pull request if need be.

So I tested some things out, and it seems that the indentation in front of the code was making it not highlight. If I remove that indentation, it works fine, so this isn't a problem after all.


How to Retrieve QUIC Connection ID from HTTP/3 Client in quic-go

Hello,
I am currently exploring QUIC for a side project, where I use the quic-go library to create a pool of HTTP/3 clients. My goal is to map each HTTP/3 client to its underlying QUIC connection ID. This mapping is essential for tracking connections easily using qlog or pcap capture.
However, I am unable to find a way to retrieve the QUIC connection ID from an HTTP/3 client. After creating an HTTP/3 client using the DialAddr, I need to access the connection ID of the underlying QUIC connection.
I would greatly appreciate guidance on how to achieve this, or if there is an existing method or workaround that I can use. If this functionality is not currently supported, it would be a valuable addition to the library for managing HTTP/3 connections more effectively.
Thanks
Sai Teja

There are 2 ways:
The easiest way would be to implement your own ConnectionIDGenerator (it's a field on the Config), which would put your application in control of issuing new connection IDs.
Alternatively, you could implement some methods on the ConnectionTracer, and observe which connection ID is getting used.
Hope that helps!


Improve Spanish traduction in vue section

[ X] I have read freeCodeCamp's contribution guidelines.
[ X] My pull request has a descriptive title (not a vague title like Update index.md)
[ X] My pull request targets the master branch of freeCodeCamp.
[ X] None of my changes are plagiarized from another source without proper attribution.
[ X] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congrats @Vergara92 on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


API for assigning sequence for a property

Currently EF is asking for DefaultSequence in order to generate a new value for Id properties. On databases such as Npgsql it is a convention to have a sequence associated to Id properties. Could there be a way such that such a sequence could be assigned per property in OnModelCreating?
Also could there be a standard way to turn automatic value generation from EF's side to let the database make a new value on its own if T-SQL's identity or PostgreSQL's bigserial are used in the Table ? This was the default in EF6

Forget the first paragraph since this is configurable per property in OnModelCreating.

I'm running into the same problem. I'm deploying to azure which doesn't support sequences and I just want to use an identity column instead. I've tried the combo of GenerateValueOnAdd(true).StoreComputed(true)  doesn't seem to make a difference. I'm on Beta4

@cwoolum modelBuilder.ForSqlServer().UseIdentity();

Aah, that works. Thanks!


add a translation to Korean Language

I can help with a Korean translation and if you have any ideas on how to do it let me know.
Thanks

@bsg-bob First of thank you very much!
You have most of it right, it just needs the original front matter from the chapter you are translating with the lang: attribute changed. And make sure it has the ref: attribute as well.
I'll try and add them for the ones you already translated.
Thanks again!

There is also the description: attribute in the front matter that you can translate if you get a chance. It is a short description of the chapter but if it is left out then it just takes the first few lines from the chapter.

Let me know once it is good to go let me know and I'll merge the PR.

Btw, we can merge and publish a couple of chapters at a time. So whenever you feel ready to publish a few of them together, let me know.

It's OK, merge please!
Thanks

It's OK, merge, pleases!
Thanks

Awesome! Merging.
Just a heads up, if you are copying the front matter from a chapter that doesn't have a ref: or lang: attribute, add it there as well. This is what shows the link on the original chapter to the translation.

@bsg-bob It is live! 🎉
I clicked around to make sure the translations look okay. But have a look and let me know if something is off.

Tweeted it out as well - https://twitter.com/Anomaly_Inv/status/1133073945387786241

@bsg-bob It is live! 🎉
I clicked around to make sure the translations look okay. But have a look and let me know if something is off.

The "what is aws lambda" Korean page is missing. Please check.

Ah I see. Merged.


Create Directory.Build.props

Codecov Report
Patch and project coverage have no change.

Comparison is base (cb58243) 94.98% compared to head (69a4736) 94.98%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #32   +/-   ##
=======================================
  Coverage   94.98%   94.98%
=======================================
  Files          16       16
  Lines         299      299
=======================================
  Hits          284      284
  Misses         15       15

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


README: Format a line of code using Markdown, not RDoc

This change formats a piece of code in the README using Markdown (not RDoc, which it was).

Markdown PRs are the best kind of PR ;)


Iterators and IAsyncEnumerable

Since C# added direct support for IAsyncEnumerable<T> (and the System.Interactive extensions provide a lot of useful high-level "LINQ" functionality on top of it), it makes a lot of sense to directly project the ITwitterIterator<T, U> to IAsyncEnumerable<T>. I implemented very simply in an extension method of my own, but it might be something useful to add directly to the Iterators themselves (and possibly may be slightly more efficient in some cases to do so, albeit I have not looked directly at Iterator source code to verify this possibility).
Here's my very simple extension methods as example/demonstration:
    public static class TweetinviExtensions
    {
        public static async IAsyncEnumerable<T> ToAsyncEnumerable<T>(this Tweetinvi.Iterators.ITwitterIterator<T> iterator)
        {
            while (!iterator.Completed)
            {
                foreach (var item in await iterator.NextPageAsync())
                {
                    yield return item;
                }
            }
        }

        public static async IAsyncEnumerable<T> ToAsyncEnumerable<T, U>(this Tweetinvi.Iterators.ITwitterIterator<T, U> iterator)
        {
            while (!iterator.Completed)
            {
                foreach (var item in await iterator.NextPageAsync())
                {
                    yield return item;
                }
            }
        }
    }

Thanks for sharing, I am not yet aware of the benefit of the IAsyncEnumerable but I will definitely look into it.

No rush. In a quick nutshell, if it helps: IAsyncEnumerable<T> is when IEnumerable<T> and Task<T> joined forces, and just as System.Linq provides a bunch of useful operations on top of IEnumerable<T> there are libraries like System..Linq.Async (in the NuGet package System.Interactive.Async) which provide all of the same operators and more. The C# compiler also supports them in the ability to build async generator functions (using the yield return keyword in an async marked function), which is why the example extension methods are so small, because just like IEnumerable<T> generator functions and async functions with Task<T>, C# does a lot of useful boring plumbing for you. (That's where some of the most likely benefits may be to writing the Iterators more directly as IAsyncEnumerable<T> where an async generator function makes sense and cleans up the code.)


version 0.0.9

Note: version v0.0.8 was previously tagged, but somehow CMake/doc were not updated.


skyway-0.0.1

Please add the following dependency to the rosdep database.
Package name:
skyway
Package Upstream Source:
TODO link to source repository
Purpose of using this:
establish WebRTC connection with SkyWay Platform
Links to Distribution Packages

Debian: https://packages.debian.org/

https://github.com/ntt-t3/skyway_for_ros

Ubuntu: https://packages.ubuntu.com/

https://github.com/ntt-t3/skyway_for_ros

Fedora: https://packages.fedoraproject.org/

not available

Arch: https://www.archlinux.org/packages/

not available

Gentoo: https://packages.gentoo.org/

not available

macOS: https://formulae.brew.sh/

not available

Alpine: https://pkgs.alpinelinux.org/packages

not available

NixOS/nixpkgs: https://search.nixos.org/packages

not available

openSUSE: https://software.opensuse.org/package/

not available

Checks

[x] All packages have a declared license in the package.xml
[x] This repository has a LICENSE file
[x] This package is expected to build on the submitted rosdistro

Sorry. I made a mistake and am taking it down.


Add gpu support tests

This seems a bit silly.... but I was looking through this for a good hour before just testing if this XML somehow introduce an edge case into collins lshw parser... and even without the GPU modifications it still is throwing a ton of errors. Likely should look into this more to make sure we didn't find a more sinister bug however I just copied the lvm config and adding some GPUs to it and everything was happy.
Not sure if you fixed it and I didn't notice but the UI is now showing up 100% correct as well with the initial asset page showing nothing and the hardware properly showing 4 GPUs.

This seems a bit silly.... but I was looking through this for a good hour before just testing if this XML somehow introduce an edge case into collins lshw parser... and even without the GPU modifications it still is throwing a ton of errors. Likely should look into this more to make sure we didn't find a more sinister bug however I just copied the lvm config and adding some GPUs to it and everything was happy.

Yikes, I didn't think our XML would be the culprit, thank you for catching this!

Not sure if you fixed it and I didn't notice but the UI is now showing up 100% correct as well with the initial asset page showing nothing and the hardware properly showing 4 GPUs.

Yeah, I don't recall which specific commit fixed this, but after some cleanup it started working as expected.


NRF52 Thingy:52 board does not report sensors on I2C bus #1

I'm having some I2C issues while  running  the sensors_test application on a Thingy:52 (pca20020) board.
Although scanning the I2C #0 bus does report the proper number of devices at the correct address (one single device @0x19), scanning the I2C #1 bus does not report any connected
devices, despite that there are few of them (pressure, humidity,..).
I do believe that there is a mistake in the hw/bsp/nordic_pca20020/syscfg.yml since I2C_1_PIN_SCL and I2C_PINSDA values seems to be inverted according the the Thingy:52 user's guide.
But applying the fix below did not solve my issue:
I2C_1 is SCL/SDA (MPU-9250, LPS22HB, HTS221, BH1745NUC, CCS811)

I2C_1_PIN_SCL: 7
I2C_1_PIN_SDA: 8

I2C_1_PIN_SCL: 8
I2C_1_PIN_SDA: 7

The I2C scan on bus #1 still reports no device after cleaning, rebuilding and running the new image.

The devices connected on the "second" IC2 bus are not powered on by default.
So, the user needs to turn the Thingy:52 VDD power rail to enable I2C Sensors (Pressure, Humidity,..).
This can be done this way:
#define VDD_PWR_CTRL_GPIO_PIN 30
....
/ / Turn on Sensors Power Rail (VDD)
hal_gpio_init_out(VDD_PWR_CTRL_GPIO_PIN, 1);


Correct fork (provizio) of Format.cmake is used

@peteluds84 a very small PR - assigning it to you as many others are on holidays. It won't take long to review. Thank you in advance!


linuxPackages.ipu6-drivers: Mark broken on 6.3+

Fails to build because of removed functions in the kernel.\
ZHF #230712
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

this PR seems to be addressing this issue: https://github.com/intel/ipu6-drivers/pull/137
i will try upgrading to 6.3 in the next couple of days and send a PR here if i can get it back to working condition.


Support additional dev chains in fuzzer

Brownie supports a large number of development chains but our fuzzer currently only works with Ganache. It should not be difficult to provide support for more dev chains. See https://github.com/eth-brownie/brownie/blob/master/brownie/data/network-config.yaml (section development).
The revelant code
https://github.com/Ackee-Blockchain/woke/blob/6fb8b18b59aa8720c51287ecf4460c092dfd95de/woke/fuzzer/fuzzer.py#L30-L39
cmd = "ganache-cli" can be replaced by cmd = active_network["cmd"]
"development" identifier in the CONFIG.set_active_network call should be configurable by the end user (i.e. woke fuzz --network anvil)

Anvil (0.1.0) and ethnode (0.1.1) (geth-dev) do not work with brownie (1.19.0) in default configurations nor with some custom confs we tested, but the implementation should allow for custom ganache networks and also other dev chains in the future should brownie support them.


Able to QR-scan image from gallery?

I'm using version 0.24.1 and I am curious if it's possible to pass an image from the gallery (I'm using react-native-image-picker) to react-native-camera to be scanned as a QR-code, rather than live-scanning via the camera.
Any help would be appreciated.
Edit: For the record I am able to get the file path (JPEG) from react-native-image-pickers, just curious if react-native-camera is able to QRcode scan a JPEG file from the device's storage.

Hi, bother, have you solved this problem?

though "scan QRcode from local image" is not what react-native-camera should support, but we really can not find a library can recognize QRcode as sensitive as this library do.
split QRcode decode part to a standalone package or serve a solution would be appreciated.

@kylanhurt Did you Find a way to implement Image scanning from Gallery that contains QR code?

You May extends this library by add a @ReactMothod to recognize local image.

@yellowJhon Do you suggest another library to do so, Or I could pass a frame instead of using the video live feed of react-navtive-camera, or writing a method to scan the image manually?
I have also explored the repo branches & issues, there is guidance to include such functionality, so your guidance is highly appreciated 👍

Yeah.
For example, react-navtive-camera use the package of com.google.zxing to  scan the image.
Diving into the source code:
https://github.com/react-native-community/react-native-camera/blob/master/android/src/main/java/org/reactnative/camera/tasks/BarCodeScannerAsyncTask.java
You can see the recognize task of this library also pass a bitmap (a frame of video) as the input, and out the result.
SO, you MAY learn from his implemetion to achieve your function


add claude support

What does this PR do?
adding support for claude 3 apis, tested with claude 3 opus, and passed evaluation.
Few things I had to work around:

Json mode is not very reliable I had to add system prompt, each user message and also try catch for it to rework on output. Claude like to add a short explanation at end of response.
downsize screenshot due to 5MB vision api limit
limit the OCR text, it seems claude tend to output long text to click on

Fixes # (issue)
Requirement/Documentation

If there is a requirement document, please, share it here.

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Chore (refactoring code, technical debt, workflow improvements)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Tests (Unit/Integration/E2E or any other test)
[ ] This change requires a documentation update

Mandatory Tasks

[x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected. Make sure before submmiting this PR you run tests with evaluate.py

Thanks for this PR. I was just thinking we should add Claude.
I'll review this week

This PR looks good. The only thing I am noticing may not be working as expected is that gpt_4_fallback function may not work with the message structure for Claude. I'll take a closer look tomorrow and approve if all good

nice catch! updated and fallback seems working

I've been wanting to post about it, but I think Anthropic is crashed : ( lol
anthropic.InternalServerError: Error code: 529 - {'type': 'error', 'error': {'type': 'overloaded_error', 'message': 'Overloaded'}}

@roywei With some more testing I still see the memory limit on Anthropics API get it with the screenshot. We may need to compress it more when it surpasses the threshold. I'll add that tomorrow morning or you want to work on it feel free to make a new PR


Add a Getting Started Splash screen on a new career

Could we add a quick 1 or 2 page tutorial when a career is new or was just reset?  I think most of the content could come from the wiki, so someone could at least know what we're doing without the extra step.  Here's what it could read:
Page 1
Welcome to the Automobilista 2 Career Simulator!! From here you can record your career through the world of AMS2.
On the Go Racing tab, you can review your list of potential offers. While you start at the lowest levels of each motorsports discipline, you gain XP for each race in which you participate.
The right of the dashboard will display your current progress in the selected discipline as well as the suggested settings to be used in the race.
Note on the AI strength: one of the goals of this simulator is ensuring that you have fun and competitive races.  You do not need to win every race at 101 AI level to progress!!    If you find you need to bump the AI up (or down) to get a fair challenge, then you can log those adjustments into the simulator to ensure that future races are better calibrated.  You can apportion that increase (or decrease) to ALL cars, one DISCIPLINE, one CLASS, or one CAR, whichever you think best represents the AI balancing needed.
Also note that the simulator will compare your result to the AI level and adjust it for further balancing in that car.  These adjustments are per car, so use the "Global" adjustment to have future offers reflect a better starting AI level.
Go to Enter Results
Page 2
When the race has been completed and the champagne (or tears) has dried from your overalls, enter into the simulator the car your drove and the result achieved.
The model will analyze your performance and the car in which it was achieved and will calculate and apply XP points across all disciplines (but most effectively in the discipline raced).
The Career tab will display your statistics and progress across all disciplines, as well as a full race log for reference.
Also, you can export your career save to protect it against accidental loss.  Or to transport to another computer, browser, or device (did we mention this works on tablets and phones!?).
Pro tip: Don't forget to take advantage of AMS2's brilliant weather and day/night progression system by altering the session conditions in game.
Good luck and be safe!


@sidebase/nuxt-session and @sidebase/nuxt-auth in same project

Environment

Operating System: Linux
Node Version:     v18.13.0
Nuxt Version:     3.0.0
Nitro Version:    1.0.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      srcDir, modules, tailwindcss, vite, schemaOrg, telemetry, algolia, head, auth, viewport, css, build, runtimeConfig
Runtime Modules:  genesis-design-system/nuxt<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
No response
Describe the bug
Both projects use the composable useSession... can't both coexist?
My intention is to generate a session identifier at application startup (with nuxt-session) and then handle the user info with nuxt-auth (login is not required)
Additional context
No response
Logs
No response

Phew - could you instead use nuxt-auth to do both? It also sets up a unique session identifier, so if it's only that you are after, you could do that?
Also, this is not a bug, rather a question I think, so let's update the tags!

Phew - could you instead use nuxt-auth to do both? It also sets up a unique session identifier, so if it's only that you are after, you could do that?
Also, this is not a bug, rather a question I think, so let's update the tags!

I want to define a session (an identifier) when starting the application (through a plugin) that is independent of being logged in or not.
That is why I would need the session component on the one hand and the login component on the other.

I see! I would not consider to rename the composable of this or the other library at the moment.
We could look into making the name of useSession dynamic, so that you can overwrite it for your use-case.
If you want to open a PR I would be glad to review that and get it merged. For now I won't actively push it though as there's more pressing issues for this library. I'll rename this issue and make it a feature-request (:

I see! I would not consider to rename the composable of this or the other library at the moment.
We could look into making the name of useSession dynamic, so that you can overwrite it for your use-case.
If you want to open a PR I would be glad to review that and get it merged. For now I won't actively push it though as there's more pressing issues for this library. I'll rename this issue and make it a feature-request (:

perfect, thank you very much, I am still waiting for the improvement!!!

Sure - do you maybe want to try your hand at implementing it?

Hi @agracia-foticos!
h3 and therefore Nuxt have recently received custom session support 🥳! Therefore you could use nuxt-auth + their sessions for your use case.
We are still looking into renaming useSession() to useAuth() in the future regardless.
Thank you for your issue! If anything else arises where we can help feel free to respond back!

@zoey-kaiser
I'm trying to use @sidebase/nuxt-session along side nuxt-auth, so changing the auto-imported name to match the module name would help immensely.
Is there a suggested way to use these 2 modules in the same project?


Instantiate JAXB's context for TrzbaType once per application

There is no need to instantiate JAXB's context for TrzbyType once per each toString/fromString operation. JAXBContext instances are thread safe and can be instantiated only once.
This way, serializing larger amount of TrzbaType is faster.

This is a PR opened by mistake to a wrong repository. Sorry opening it. Closing.


Seems that --nodejs is broken as of v0.11.0

When using --nodejs, you get the following error message:

Need module name to generate proper anchor for nodejs.org

anchorMarkdownHeader() in anchor-markdown-header.js requires a module name for mode --nodejs, but addAnchor() in transform.js isn't passing one in.
Incidentally,

what is the module name that is required - is it the npm package name?
is --nodejs meant to target npmjs.com, i.e., the npm registry?
does a GitHub-style read-me need to be processed with --nodejs in order for read-me-internal links to work at npmjs.com?

Not sure if that ever worked then since I cannot recall taking an extra param for module name.
Good catch. The module name would be something like fs.
You can see a use case in replpad.
Would you mind digging into this and submitting a PR with a fix?
I'm not sure what your use case is, but you could use that as a start for a repro case/test.
Thanks.

I'm not sure how/if my use case is related to the --nodejs option.
My use case is that I want the TOC links in my read-me files to work as document-internal links when the files are rendered on http://npmjs.com - instead of pointing back to GitHub, which I've seen happen once, though I don't understand how it happened.
Does anything even need to be done to the read-me files in order to support this?
To fix the issue at hand:

I need to fully understand the purpose of the --nodejs option.
Where would the module name be taken from in the case of doctoc? The npm package name (as defined in package.json)? The main value from package.json? Note that CLI-only packages have no such entry.

Ok so that's not what the --nodejs option is for.
Please give me a usecase (sample npmjs.org) repo where links are still pointing to wrong location.
I've seen this before as well, but npmjs.org fixed that since.

The only time I saw it was late last year when I tried to publish an npm package.
I removed the TOC shortly after to avoid the problem, so I can't point you to an instance of the problem - and from what you're saying it sounds like it (a) was an npmjs.com problem to begin with that (b) has now been fixed.
So, personally, I'm all set, thanks - and I suggest that someone who's familiar with --nodejs take on the fix.

OK, closing for now. Most likely I'll just remove --nodejs from the README since it makes no sense for TOCs on pages anyhow.