[Swift] Throw when RLMObject subclass is nested in any Swift declaration

Fixes #1577. /cc @tgoyne

retest this please

:+1:
Initial failure to run the CI job was due to github's API returning a 404.

Could you add corresponding tests to the object scheme initialization tests on the swift branch?

Could you add corresponding tests to the object scheme initialization tests on the swift branch?

@segiddins Do you mean the tests in #1518? How would you suggest I test this given that the exception is thrown at initialize time?

You subclass SwiftFakeObject inside another declaration, and then try and get an object schema for that subclass, and assert that it throws an exception,

Ok, we'll just need to move the check from +[RLMSchema initialize] to +[RLMObjectSchema schemaForObjectClass:].

Could you explain why realm class could not be nested inside other class?

Given the following schema:
class A {
  class Inner : Object { ... }
}
class B {
  class Inner : Object { ... }
}
class C : Object {
 var prop: A.Inner? = nil
}

The objective-c runtime tells us that C.prop has type Inner with no indication as to which Inner class it is.


Lock is not released on client hangup

When the client requests a large file, and drops the connection in the middle of transfer, the lock is not released.
2021-01-28T20:33:43.073Z [WrappedExpiringResourceLocker] error: Lock expired after 3000ms on http://localhost:3000/joachim-pizza.jpg
2021-01-28T20:33:43.074Z [StreamUtil] warn: Piped stream errored with Lock expired after 3000ms on http://localhost:3000/joachim-pizza.jpg

This probably means we're not destroying the stream in this case for some reason.

This probably means we're not destroying the stream in this case for some reason.

So the reason for this is when the connection gets closed too soon, the HttpResponse just closes and unpipes from the data stream. This causes our data stream to just be dangling there with nobody listening to it, causing the data to remain unread (and thus the lock not unlocking).
The problem is that our pipeSafely has a failsafe for when the source errors, but we don't have a failsafe for when the destination unpipes itself. This can also happen automatically in other cases:

If a Readable stream pipes into a Writable stream when Writable emits an error, the Readable stream will be unpiped.

This makes me wonder now if we read an RDF file from the file store and conversion fails because the files are invalid if those file streams simply stay open. Would have to look into that.
This can be solved by updating pipeSafely to add an unpipe listener to the destination which destroys the source when that happens. This would make us unable to manually unpipe but I don't see us ever needing this.

So the reason for this is when the connection gets closed too soon, the HttpResponse just closes and unpipes from the data stream. This causes our data stream to just be dangling there with nobody listening to it, causing the data to remain unread (and thus the lock not unlocking).
The problem is that our pipeSafely has a failsafe for when the source errors, but we don't have a failsafe for when the destination unpipes itself. This can also happen automatically in other cases:

If a Readable stream pipes into a Writable stream when Writable emits an error, the Readable stream will be unpiped.

This makes me wonder now if we read an RDF file from the file store and conversion fails because the files are invalid if those file streams simply stay open. Would have to look into that.
This can be solved by updating pipeSafely to add an unpipe listener to the destination which destroys the source when that happens. This would make us unable to manually unpipe but I don't see us ever needing this.

This can be solved by updating pipeSafely to add an unpipe listener to the destination which destroys the source when that happens.

+1, let's do that!

This can be solved by updating pipeSafely to add an unpipe listener to the destination which destroys the source when that happens.

+1, let's do that!


Remove errors page link from run toc

We have move the errors page link to the Api reference header menu in https://docs.quantum-computing.ibm.com/ to facilitate the access, so it won't be under run section anymore.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Aida Albarrán Blanco seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Quit Atom leaves several "Atom Helper"  processes active

Prerequisites
[x] - Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
[x] - Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
[x] - Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
[x] - Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
[x] - Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages
Description

Steps to Reproduce

I've opened atom on project I open every day
Close atom
Open Activity Monitor

Expected behavior:
I expected all "Atom Helper" processes to have been terminated
Actual behavior:

Reproduces how often:
All the time
Versions

Additional Information

+1 Same issue for me just now.

Does this still happen?


Debbit not recognizing numbers with leading zeros.

Ran into an issue where Debbit was not able to make purchases on Xfinity with my credit card in which the last four digits start with a zero. Debbit was able to make purchases with my other cards without zeros in their last four digits. If I pay manually, the purchase would go through. Debbit seems to not be able to recognize a number that starts with zero.

OK, I have sent the three files ending in .txt, .png, and .html to<EMAIL_ADDRESS>Thanks.


Suppress error message from sys.exit(N)

This allows for early exit from a notebook with sys.exit(), like a Python script. This already kind of worked, but this change avoids printing a big error message, and it uses the exit code, so sys.exit(0) will count as successful execution. The error message will still be saved in the ipynb file if you use the save options.
This is feasible for princess because we know the kernel is IPython. It would be hard to do for general notebook execution without some additions to the messaging protocol.
cc @philsmt

Thanks a lot, worked flawlessly in testing. LGTM


Why does the start() method in the SocketIOChannelInitialize class add "/" to the end of the context property

public void start(Configuration configuration, NamespacesHub namespacesHub) {

    PacketDecoder decoder = new PacketDecoder(jsonSupport, ackManager);

    String connectPath = configuration.getContext() + "/";

}

Because of love


MomentJs should be external dependency

Problem when referencing .d.ts: one of the class referenced an unknown type "Moment". The issue is caused when generating .d.ts: everything that originates from node_modules is stripped out, leaving an unexisting type in the definition.

this PR should adress the issue https://github.com/coveo/react-vapor/pull/687


Multiple buffer categories

Closes #116

Hi @dkaszews,
great work, thanks! I think this is ready to be merged, correct?

@mengelbrecht Should be, if you don't have see any issues then merge would be appreciated. It will allow me to finish and submit #118 which I think is even more useful.

@dkaszews thanks again for your work. The code looks very good. Merging into master now.


Build error under Expo Project due to bad include paths

We are building an Expo project which includes the RNSecureRandom library.  Unfortunately, we cannot build the library without manually adjusting the Header search paths, as the XCode build system cannot find the RCTDefines.h file.
The header search paths included in your library are
$(SRCROOT)/../../react-native/React
$(SRCROOT)/../../../React
adding
$(SRCROOT)/../../../ios/Pods/Headers/Public
fixes the problem.
Versions:
react-native-cli: 2.0.1
react-native: 0.57.1
expo-cli: 2.18.7
If you need any additional information, I'll be glad to help.
Thanks.

Hi @hernandp, thanks for the report. I’m not too familiar with expo - I’m guessing this is an ExpoKit project with cocoa pods eg https://docs.expo.io/versions/latest/expokit/expokit/?
It shouldn’t be necessary to adjust header paths for that but it may be that I need to add a dependency in the podspec - I’ll check it out. Thanks again

Yes, it's an ExpoKit project with Cocoa Pods.
We integrated the project using npm and react-link.
react-native link react-native-securerandom

Thanks.

The problem here was with this project's podspec being outside the root directory - react-native link didn't detect that it could be installed as a pod, which it needs to be if React is also installed as a pod.
I've pushed a fix for this to master, if you wouldn't mind trying it by installing this project straight off github:
react-native unlink react-native-securerandom
yarn add react-native-securerandom@rh389/react-native-securerandom
react-native link react-native-securerandom
cd ios && pod install
All being well I'll deploy to npm tomorrow.

This fix has now been published for a while and seems to be working for everyone. Closing.


Deployment Review Script

This PR improves the review cycle for the safe-deployment by checking the new deployments when a new PR is created for a particular chain.
This PR:

removed the ISSUE_TEMPLATE, instead introduced a PR Template which will ask for the required data from the PR creator, and help run the CI script.
adds a CI review script, which succeeds if everything seems ok, else, it helps the PR creator to know what might be a problem with merging the PR in the CI logs.
updates the github-review script, which checks for edge cases when a chain ID with the highest number is added.
updates the test to accommodate the change in the JSON structure for the codehash (because v.1.3.0 has multiple deployment types).
updated the JSON structure to include address and code hash within a single object with the deployment type as the key.

Remaining TODO's:

ZKSync support in CI #662 (The github-review script if run locally works even for ZKSync projects, but errors out in CI, needs further investigation)
There is a possibility that a user removes one of the deployment types (currently only applicable with v1.3.0) from the current list. This can't be detected with the current script.

Test results:

Unrelated changes: https://github.com/remedcu/safe-deployments/pull/7
ZKSync: https://github.com/remedcu/safe-deployments/pull/8 (Seems the problem was something based on the change we made, it now works)
Canonical & EIP-155: https://github.com/remedcu/safe-deployments/pull/9
EIP-155: https://github.com/remedcu/safe-deployments/pull/10
Canonical: https://github.com/remedcu/safe-deployments/pull/11
Highest Chain Addition: https://github.com/remedcu/safe-deployments/pull/12

In all the PR's the test CI fail, because to check things, I deleted some Chains. Before making this PR "Ready for review", will restore it.


Add Response::file_body

This PR adds a method to tide::Response which incrementally improves sending a file with a content-size.
Before this change:
        app.at("/some_file").get(|_| async {
            let path = "./some_file.txt";
            let file = async_std::fs::File::open(path).await?;
            let size = file.metadata().await?.len();
            Response::new(StatusCode::Ok)
                .body(BufReader::new(file))
                .set_header(headers::CONTENT_LENGTH, size.to_string())
                .set_mime(mime_guess::from_path(path).first()?)
        });

After this change:
        app.at("/some_file").get(|_| async {
            let path = "./some_file.txt";
            let file = async_std::fs::File::open(path).await?;
            Response::new(StatusCode::Ok)
                .body_file(file).await?
                .set_mime(mime_guess::from_path(path).first()?)
        });

This PR also passes the length into the http client along with the body, allowing for optimizations or conditional logic based on the size. It would be really nice as a user of tide if body_file also guessed mime type, but this does not attempt to do that.

@jbr hey thanks for filing! I like the idea behind this patch, but it's got a few considerations to it:

It puts async_std::fs::File as part of Tide's public interface. This is the first time we'd do something like that, and I'm not sure if we'd want to. Perhaps it would need to live behind a feature flag?
It's currently the intention to move to http_types::Body as the constructor for body types, and then add Response::set_body to then set it. Through some generic conversion boundaries it would end up being quite ergonomic.

I think this may even be possible:
        app.at("/some_file").get(|_| async {
            let mut res = Response::new(StatusCode::Ok);
            res.set_body(File::open("./some_file.txt").await?);
            Ok(res)
        });

Perhaps the right way to go about this would be to add this behind an "async-std" feature flag in http_types::Body that's enabled by default. Then when we refactor the body constructors in Tide we can add simply forward the implementation as well.
Also worth noting is that for any stream in http_types we already do magic byte detection, so the mime type will be set already if it matches a known pattern. Perhaps we should expand that to match certain user-authored files as well ({.js,.css,.html,.svg} come to mind), but that could be another patch.
@jbr Would you be willing to make that first PR to http-types?

Coming from other webframeworks I find body_file confusing. Can we instead call it send_file that actually uses syscalls?
All major OS supports sendfile syscall which is highly optimized for sending files over sockets. I would personally prefer internally for this to be used.

Linux sendfile
OSX sendfile
BSD sendfile
Windows TransmitFile

TLDR notes from the above docs:
linux docs:

Because this copying is done within the kernel, sendfile() is more
efficient than the combination of read(2) and write(2), which would
require transferring data to and from user space

Windows docs:

This function uses the operating system's cache manager to retrieve the file data, and provides high-performance file data transfer over sockets.

@yoshuawuyts I'll take a try at that PR :thumbsup:
As an alternative but not mutually exclusive approach suggestion, what do think about accepting an AsRef (or just an AsRef) instead of the file itself, making it much more like https://hexdocs.pm/plug/Plug.Conn.html#send_file/5 — this would allow tide to make a mime guess based on file extension, allow the content-length determination used in this PR, and also potentially in the distant future allow for the possibility of path-based content caching.

On phone now, but Surf has a body_file method that takes a Path. I think that's the right argument (:

Addressed in https://github.com/http-rs/http-types/pull/106

Closing this because setting body will just pass through to http-types, if I understand the intent


Convert the PDFDocumentProperties.open method to be async

By using await, rather than chaining promises, this method becomes more compact and slightly easier to reason about (at least in my opinion).
Smaller/simpler diff with https://github.com/mozilla/pdf.js/pull/12645/files?w=1

/botio-linux preview

Thank you!


Pass props down to styles (e.g. p, h3, h4, blockquote, etc.)

I needed props passed down to my Styles elements and Styles serializers (e.g. p, h2, h3, h4, blockquote, etc.) so I've tweaked this in Sanity Content.
Example use case - previously the below blocks would not render a class="hello-world" on

const blocks = [
  {
    _key: '03ed74fca82b',
    _type: 'block',
    class: 'hello-world',
    children: [],
    markDefs: [],
    style: 'blockquote'
  }
]

I largely copied the code for the existing render() function, only tweak being to filter out markDefs from props.
markDefs aren't required or passed down to the Element - if we wanted to change this, this code could be used:
const props = Object.fromEntries(Object.entries(item).filter(([key]) => key !== '_type').map(
    ([key, value]) => {
      if (key === '_key') return ['key', value || null]
      **if (key === 'markDefs') return ['markDefs', value?.length ? value : null]**
      if (!isElement || validAttrs.includes(key)) return [key, value]
      return []
    },
  ))

Would you add some snapshot tests to cover these changes? :pray:

Added tests.
Also added 'class' to validAttrs - not sure if this was excluded for any reason, but it means  can render when a class is provided within the Sanity Blocks.


Add files via upload

An updated version of MOCK FinFET PDK which includes a number of colors for a layer, multiple widths for a layer, etc.

Ignore the failing "build-PlaceRouteHierFlow". It is fixed on master.


Getting data from Firebase Cloud store to generate pages

As per docs I have to put API and map ids to create un-handled pages.  What if I have to create page using firestore that is already there in application ? Or I have to create some api to access at build time for pages to get created?

@kunjee17 You can use firestore without an issue. The only thing you have to take into account, we do watch for page completion. Firebase observables usually don't complete, so your page will not reach the 'ready' state.
An easy fix might be adding something like this to your pipe's:
  take(isScullyRunning()?1:Number.MAX_SAFE_INTEGER)

@SanderElias Sorry if I was not clear.
Here is what I m trying to do. We have a product page. And product/:slug will have product detail page. So, for now slug is not getting resolved obviously. So, only generated page is product/index.html . Then it will take care of fetching product details based on slug.
Now, I want to generate page based on slug. Data is stored in firestore as mentioned earlier. Another thing I want to ask that what I can do if I don't want to fetch any data after generating of page.
Means if page product/iron/index.html is crated. User can access using product/iron page. But after page is getting loaded it should not fetch all details of product. Obviously few details like stock etc should be updated after page is loaded. But Iron details should be rendered at the time of generation.
Sorry for dumb question, I m little new to Scully so don't know api that well.

Ah, well you need to add your own route plugin then! (sorry for the late replay, I didn't work during the holidays)
something like this would probably work for you (not real code, but it should get you going!):
import { firbaseGetThingie } from '@soemthign/firebaseThing';
import { registerPlugin } from '@scullyio/scully';
const extractIds= (data):string=> `Do some actual extracting in this function`
registerPlugin('router', 'myFirebaseThing', async (unhandledRoute) => {
  const slugsAsArray = await firbaseGetThingie('url').pipe(map(extractIds),take(1)).toPromise()
  return slugsAsArray.map(id => `/myRoute/${id}`)
})

I know that @jorgeucano did something like this too. @jorgeucano, anything to add?
Does that answer your question completely? if so, we can close the issue

Ah, well you need to add your own route plugin then! (sorry for the late replay, I didn't work during the holidays)
something like this would probably work for you (not real code, but it should get you going!):
import { firbaseGetThingie } from '@soemthign/firebaseThing';
import { registerPlugin } from '@scullyio/scully';
const extractIds= (data):string=> `Do some actual extracting in this function`
registerPlugin('router', 'myFirebaseThing', async (unhandledRoute) => {
  const slugsAsArray = await firbaseGetThingie('url').pipe(map(extractIds),take(1)).toPromise()
  return slugsAsArray.map(id => `/myRoute/${id}`)
})

I know that @jorgeucano did something like this too. @jorgeucano, anything to add?
Does that answer your question completely? if so, we can close the issue

Thanks for reply @SanderElias . And no need for sorry. No one should work on holidays. :)
I guess I did understand what you are trying to tell. I ll wait for @jorgeucano 's reply. Else we can surely close it.
PS: Just to confirm. If I don't want data to be fetched, dynamically I can blocked using isScullyRunning right ?

Thanks for reply @SanderElias . And no need for sorry. No one should work on holidays. :)
I guess I did understand what you are trying to tell. I ll wait for @jorgeucano 's reply. Else we can surely close it.
PS: Just to confirm. If I don't want data to be fetched, dynamically I can blocked using isScullyRunning right ?

Yep, thats right:
if (!isScullyRunning()) {
  // fetch data
} else {
  // show placeholder
}

Yep, thats right:
if (!isScullyRunning()) {
  // fetch data
} else {
  // show placeholder
}


Add authorship component

This PR adds in and customizes the authorship component from Vue scratch. I've drafted the text of the attributions - feel free to edit.

Updated contributions text to be more general

Thanks! I'd made pretty much the identical edits that you did yesterday and then forgot to push them 🤦♀. Your edits are in now, and I'll merge and rebuild beta then prod


cassandra: add asyncio marker for async tests

Tests were skipped because of the missing marker.

It seems that most freshly-marked tests are still skipped though: https://github.com/aiven/astacus/actions/runs/3210107267/jobs/5247323696
only the ones in test_utils now run. Is this intended behaviour?

It seems that most freshly-marked tests are still skipped though: https://github.com/aiven/astacus/actions/runs/3210107267/jobs/5247323696
only the ones in test_utils now run. Is this intended behaviour?

These are skipped for a different reason, the cassandra library is not installed, I don't know if that's intentional.


'list -select' appears not to be operational

release: openssl-3.0.5
(output truncated):
$ man openssl-list
       -select name
           Only list algorithms that match this name.

Hello. With no known restriction to name of option -select, it makes sense to select a name from a source made available, which is any produced by option *-algorithms and reported by openssl help list. The option appears not to be operational; nothing printed. Illustration (outputs truncated):
$ openssl list -digest-algorithms
Legacy:
  whirlpool
$ openssl list -select whirlpool
$

This isn't very well documented, but...  -select only works together with the diverse listing options, such as -cipher-algorithms, -digest-algorithms, etc.
I've noticed, though, that the implementation of -select is spotty, even with -cipher-algorithms et al.  In some cases, you get the whole list of algorithms instead of just the one selected.

I omitted to mention i had also executed -select <name> along with its relevant -*-algorithms in case it might have been meant to be operational that way. However list -digest-algorithms -select whirlpool behaved as list -digest-algorithms. Also the order of options mattered; illustration:
$ openssl list -select -digest-algorithms whirlpool
list: Use -help for summary.

For now, use of -help would not serve its purpose.

I omitted to mention that i had also executed -select <name> along with a relevant -*-algorithms in case it might have meant to be operational that way. However list -digest-algorithms -select whirlpool behaved as list -digest-algorithms.

I omitted to mention that i had also executed -select  along with a relevant -*-algorithms in case it might have meant to be operational that way. However list -digest-algorithms -select whirlpool behaved as list -digest-algorithms.

It only impacts provided algorithms. In the whirlpool case it does not exist in the default provider, so it never gets selected. It does exist in the "legacy" provider so this does print something:
$ openssl list -digest-algorithms -provider legacy  -select whirlpool
...
Provided:
  { 1.0.10<IP_ADDRESS>, whirlpool } @ legacy

It could definitely benefit from some improved documentation.

Correct me if i am wrong; that "..." is another illustration of non-queried complete list of algorithms. "{ 1.0.10<IP_ADDRESS>, whirlpool } @ legacy" alone would be the correct output.

Correct me if i am wrong; that "..." is another illustration of non-queried complete list of algorithms. "{ 1.0.10<IP_ADDRESS>, whirlpool } @ legacy" alone would be the correct output.

That's not an unreasonable way for things to work, but isn't the way "-select" currently operates. Whether that is a "bug" or not is debatable. Another approach is to add a parameter that suppresses legacy algorithms from the list output.

Debatable indeed.  There are places, specifically among the legacy functions, where the -select argument isn't looked at at all, while it is in others.  That's inconsistent.

marking as inactive, will be closed at the end of the 3.4 dev cycle barring further input


[Feature Request] Bring back .ecr

Please bring back .ecr?
Example:
.ecr 1 google.com
This would change ID 1 to google.com from whatever it was set to previously.
This change would prevent users from having to type .dcr and then .acr. Quality of life thing. 😛

actually, nah. dcr/acr is good enough


Fix/routine load name

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes https://github.com/StarRocks/starrocks/issues/11550
Problem Summary(Required) ：

The new parser cannot handle the identifiers with backquotes. This PR is to fix the problem and keep compatible with old versions.
Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:disappointed: fail : 1 / 4 (25.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
1
4
25.00%
[1809, 1822, 1835]

[FE PR Coverage Check]
:heart_eyes: pass : 9 / 9 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
9
9
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 2 / 3 (66.67%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/ShowRoutineLoadTaskStmt.java
1
2
50.00%
[91]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
1
1
100.00%
[]

run starrocks_fe_unittest

[FE PR Coverage Check]
:disappointed: fail : 8 / 11 (72.73%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/analysis/ShowRoutineLoadTaskStmt.java
1
2
50.00%
[91]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
9
77.78%
[1809, 1813]

run starrocks_admit_test


Question : UIToolkit for runtime

Hi,
UIElement for runtime is currently in preview state. Do you think a Runtime version of NodeGraph Processor could work? I'm beginning a school project and I plan to use NodeGraph Processor to build a texture editor in the style of Substance Designer, and I would be very interested in building a standalone version of the editor, so it need runtime support. I didn't investigate the UIToolkit Builder at the moment, so I don't know how it works and how it could fit with your plugin.
Thank you !
Sorry for my bad english
Félix

I think Unity doesn't support GraphView for runtime (yet) and NodeGraphProcessor is based on that. If Unity supports that in the future, most of the Node Graph Processor could be work on runtime with minimal changes I believe. Buuut, I might be wrong 😅

Thank you,
I hope i will be possible in the future ! Be able to build standalone app with this awesome API would be a very interesting feature.

Just to point out UI Elements (or whatever it's called now) currently does work in runtime: https://medium.com/@raynor85/new-unity-uielements-runtime-system-how-to-use-it-now-f560c4cb22d2
Not sure whether thats still preview/alpha - and I recall it's screen-space only (with world-space support looking like a 2021 thing).

Thank you for precision.
It's currently working for runtime, but the NodeGraph API use intensively Editor API (as exemple the NodeView class is in UnityEditor namespace), so I don't know how it could be use in runtime context at the moment

(as exemple the NodeView class is in UnityEditor namespace),

Sigh. Such foresight from our lords and masters. (Not aimed at you in the slightest @alelievr )

😅
I can confirm that GraphView is an editor only feature right now (and there are no plan to support a runtime version). Because NodeGraphProcessor uses GraphView for all the display stuff, it means that it's not possible to use it as it is in the runtime.
It might be possible to re-build a runtime version with UIElements from scratch though but it's a lot of work.

Thank you for clarification !


Extract code points per font family

You're using PhantomJS, so you have access to the entire DOM and CSSOM. You can use this to extract the characters per font family (instead of using the same character set for all the fonts).
I can open a pull request if you like.

Coding is finished for this under the --json cmd line option and will be available in 3.0.0.


Displays the current direnv state in settings

Useful for debugging what the current state of the direnv environment variables are. Shows the current state in settings dialog. Builds on https://github.com/fehnomenal/intellij-direnv/pull/25 but wanted to keep them separate for simpler PR reviewing.
Updated this PR with better GoLand support. It wouldn't update the env vars after the initial import, this injects them directly into the run config.

I noticed that the way I was getting the env vars here was leaking across projects - it seems it's importing the direnv stuff at the process level instead of during the run config execution. I started bootstrapping my own plugin just to get some familiarity with the IntelliJ plugin system - https://github.com/Fapiko/intellij-better-direnv - feel free to rip anything out of that to bring in here.
The tricky part is the build system - to create a run configuration extension for each IDE type, the only way I found that folks were doing it (EnvFile & ProjectEnv) was to create a Gradle module per IDE to split up the dependencies. The plugin.xml optionally includes sub-xml files depending on whether or not the specified dependency is available, so it should work for all without requiring them to install all the plugins.
From what I could see, if it's not implemented via the run configuration then it's at the process level which means if you have 4 projects open in GoLand, it's going to share the direnv state between them.

I'm glad I saw this.  I've been trying to get one of these two plugins to work, and currently they are both broken. :(. Additionally it seems that the ease of use of @fehnomenal's plugin is hampered by shared state, but the complexity of setup of the @Fapiko's plugin per project is prohibitive (I contribute to hundreds of projects).


Setting tabSize

I would love to be able to set the tabSize option: https://codemirror.net/doc/manual.html#option_tabSize
Do you see setting that being a feature of this plugin? Or enable to set other CodeMirror configuration options also?

It's seeminly not what this plugin meant to do but it's a very low-hanging
fruit. I can easily add this as a vimrc option (in a vim-compatible way)
the next time I work on the plugin, or feel free to open a PR.
On Tue, Dec 1, 2020, 09:34 Vesa Vänskä<EMAIL_ADDRESS>wrote:

I would love to be able to set the tabSize option:
https://codemirror.net/doc/manual.html#option_tabSize
Do you see setting that being a feature of this plugin? Or enable to set
other CodeMirror configuration options also?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/esm7/obsidian-vimrc-support/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRZ2YH5WS5I7UTVM6LIXL3SSSMBHANCNFSM4UIUFIBQ
.

So it would be something like this next to the clipboard option definition?
CodeMirror.Vim.defineOption('tabstop', 4, 'number', [], (value, cm) => {
	if (value) {
		cmEditor.setOption('tabSize', value);
		console.log('Vim is now set to use tabSize ' + value);
	}
});

Yeah, seems like this would do the trick :)
On Tue, Dec 1, 2020 at 9:18 PM Vesa Vänskä<EMAIL_ADDRESS>wrote:

So it would be something like this next to the clipboard option definition?
CodeMirror.Vim.defineOption('tabstop', 4, 'number', [], (value, cm) => {
if (value) {
cmEditor.setOption('tabSize', value);
console.log('Vim is now set to use tabSize ' + value);
}});
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/esm7/obsidian-vimrc-support/issues/3#issuecomment-736762926,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRZ2YEMMM52T3E2VWUKSTLSSU6QTANCNFSM4UIUFIBQ
.

I incorporated this into the plugin in version 0.2.1 :sunglasses:


Training doesn't work on TF 2.3.1 version

It gives me this error message on TF 2.3.1:
valueerror: it appears you are trying to construct a functional model, but not all of the inputs in the first positional argument of your layer call are symbolic tensors. (input objects, or the output of another layer) functional models cannot correctly track custom layers unless all values in the first call argument are symbolic.
So I downgraded to TF 2.1, and it works fine.

Yeah the idea behind it is to share the layers weights accross all levels. But it is not very well put and in tf 2.3 if I recall correctly self.level will be incremented till index error raises: indeed call is used also during training (triggering incrementation of self.level which is not intended behavior).
In general model subclassing is not on point and I would not recommand it. It leads to having to use the tf savedFormat for instance which doesn't support currently custom gradients (which are used here with custom losses).
Have a look at the way they handle it in keras-retinanet package using tf.keras.Model(inputs=inputs, outputs=outputs). You can still define layers in your ClassNet (but not subclassing tf.keras.Models) to share weights. And your call should look like this:
    def __call__(self, shape, level):         inputs = tf.keras.Input(shape=tuple(shape[1:]))         for i in range(self.depth):             features = self.convs[i](inputs)             features = self.bns[i][level](features)             features = self.relu(features)         outputs = self.head(features)         outputs = self.reshape(outputs)         return tf.keras.Model(inputs=inputs, outputs=outputs, name=f"{self.name}_{level}")
with:
regression = [box_net(feature.get_shape().as_list(), level)(feature) for level, feature in enumerate(fpn_features)]

It appears you are trying to construct a functional model, but not all of the inputs in the first positional argument of your layer call are symbolic tensors. (Input objects, or the output of another layer) Functional models cannot correctly track custom layers unless all values in the first call argument are symbolic.


Page ping fires in IE even when no in-browser activity

From kingo55:

I noticed the page ping works even when the user is inactive. I locked my computer while I > went to lunch with the code active on a site and unbeknownst to me, it produced hundreds > of gif requests.

Reproduced by Alex IE but not on Chrome or Firefox:

Chrome and Firefox only send page pings when a) the page is in focus and b) there is activity within the page
IE sends page pings whenever the page is in focus, regardless of whether an event is firing or not.

With IE I'll need to figure out which event is incorrectly firing and triggering a page ping.

Not sure if this is worth the effort but leaving in as we still list IE9 as supported. Shouldn't be too hard to triage, go through each activity event handler one at a time and watch a Kibana stream in Snowplow Mini to see which one still fires events.
Might need to use something like BrowserStack and a Snowplow Mini running over ngrok, as getting hands on IE9 & 10 is a little tricky.


Manifest / Service Worker in subdirectory

I have a project with the following structure:
root
    subProject1
        index.html
        src
            index.tx
    subProject2
        index.html
        src
            index.ts
    subProject3
        index.html
        src
            index.ts

Vite is configured so that it uses each index.html file as input files:
export default defineConfig({
    root: './frontend',
    build: {
        rollupOptions: {
            input: {
                sub1: resolve(__dirname, 'frontend/subProject1/index.thml'),
                sub2: resolve(__dirname, 'frontend/subProject2/index.thml'),
                sub3: resolve(__dirname, 'frontend/subProject3/index.thml')
            }
        }
    }
})

This works fine, vite is generating individual bundles (and common chunks) ...
Now I'm trying to use vite-plugin-pwa to generate a service worker / manifest only for subProject1.
But the plugin always puts the manifest and serviceworker in the root ('/frontend'), also it is incorporating any asset that has been generated, not just that of subProject1.
I tried using the scope and base config options, but those did not lead to the desired outcome.
Maybe anybody has seen this issue already?

@seriousManual can you provide a minimal repro?

Absolutely!
Here is the setup, stripped down to the absolute minimum:
https://github.com/seriousManual/vite-pwa-muilti-app
In the vite config, a couple of "sub apps" are registered:
https://github.com/seriousManual/vite-pwa-muilti-app/blob/master/vite.config.js#L18
These are setup in the frontend folder:
https://github.com/seriousManual/vite-pwa-muilti-app/tree/master/frontend
When I'm running a build now, the generated service worker sits in the root of the build directory, which is somewhat expected:
https://github.com/seriousManual/vite-pwa-muilti-app/tree/master/build/frontend
But what I'm trying to achieve is a serviceworker setup that only relates to one of the sub apps (e.g. also sits in the respective directory). Currently the generated service worker refers to all assets from all sub apps, which is not the desired outcome.

@seriousManual be patient, I'm too busy at work...

@seriousManual I have it working, but you need to keep in mind that all pwa stuff (all sw precache entries: pwa icons and sw) must be served from /sub1/ path, it acts as the scope for the sw.
You can check it here https://github.com/userquin/vite-pwa-muilti-app:

check scripts folder, contains the pwa configuration and the script to run after build
the build script also copy the pwa icons and moves the manifest.webanifiest file from build/frontend folder to build/frontend/sub1 folder
deleted package-lock.json file to fix ejs vulnerability (npm install fix it)
added https-localhost and a few dev dependencies to allow run the TypeScript module to rebuild the pwa
added https script to build the app and serve it under https, just open https://localhost/sub1/ once you run npm run https: https-localhost will ask you to create a TLS certificate and install it on your local

Some screen shots.

Hey @userquin ,
thanks a lot for looking into this, amazing work!
It seems like these are a lot of hoops to jump through 🤔
One issue I have:
in the other sub apps (sub2 and sub3) the webmanifest from sub1 is now referenced:

I need to review the code, since on offline will not work, the sub1 asset is one level up and will not be included on the sw precache.

Hi Joaquín,
please do not sink too much time and effort into this!
It looks like the plugin is not meant to be used in this way, it seems a lot of additional work is neccessary and I don't want to burden you with this edge case.

Thanks für your work!


[REFACTOR]Rename role

Description
Rename role from prometheus_blackbox_exporter-role to prometheus_blackbox_exporter_role

Release 2.0.0 #11

Release 2.0.0 #11


Cherry pick v0.31.5

Fixes #N/A
Description
How was this change tested?
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

21 of 21 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 84.231%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
6880

Relevant Lines:
8168

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

21 of 21 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 84.231%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
6880

Relevant Lines:
8168

💛  - Coveralls


incorrect formatting of negative numbers

With Python
In [1]: "{:,.2f}%".format(-200)
Out[1]: '-200.00%'

With the python-format lib
format('{:,.2f}%', -200)
"-,200.00%"

The issue may be fixed on this branch: https://github.com/NextTuesday/python-format


Error: #2003 (badRequest): Argument attribution was not passed to a native module

Context:

Version: 2.3.6
React-Native-Version: 0.65.3
Android Version: 13

After Updating to this version, I get this error and no events are being sent to AppsFlyer.
 await adapty.updateAttribution(
        installData,
        AttributionSource.AppsFlyer,
        appsFlyerID,
      );

Already did the required changes to report the events as per the new docs.
This is what we have in installData:
{"data": {"af_message": "organic install", "af_status": "Organic", "install_time": "2023-02-27 10:50:08.974", "is_first_launch": false}, "status": "success", "type": "onInstallConversionDataLoaded"}
It started happening after the update. Can you please check? Thanks!

@HaseebArshad1 hello there! I'm pretty sure, that v2.3.7-beta solved that issue. It doesn't introduce that much of a change to avoid this beta. There is going to be v2.3.8 today if you want to wait

v2.3.10 actually!

@divanc It works with v2.3.10, Thanks man!


[FEATURE] Add support for OpenSearch Serverless

Is your feature request related to a problem?

OpenSearch serverless service identifier changes from es to aoss
Sigv4 requires a hash

What solution would you like?
Document support for OpenSearch Serverless in the compatibility matrix, add integration tests.
Do you have any additional context?
Coming from https://github.com/opensearch-project/opensearch-clients/issues/44

This is doable today with the following invocation style:
from opensearchpy import OpenSearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
import boto3

host = '' # The collection endpoint without https://. For example, 07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com
region = '' # e.g. us-east-1

service = 'aoss'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)

# Build the OpenSearch client
client = OpenSearch(
    hosts = [{'host': host, 'port': 443}],
    http_auth = awsauth,
    use_ssl = True,
    verify_certs = True,
    connection_class = RequestsHttpConnection
)

# Create an index
index_name = 'my-index'
index_body = {
    "mappings": {
        "properties": {
            "title": {"type": "text"},
            "director": {"type": "text"},
            "year": {"type": "integer"}
        }
    }
}
response = client.indices.create(index_name, body=index_body)
print('\nCreating index:')
print(response)

The question is, is it better to incorporate this logic into AWSV4SignerAuth? The downside is that it would make something opaque and magical that is relatively straightforward.

@dblock thoughts?

Also, what's a good strategy for doing an integration test for this?

And, is it possible that someone could make it unnecessary to specify a service name and that the client would try aoss and es and it would find one that works?

I think the code that a developer has to write to talk to Managed OpenSearch should be identical to OpenSearch Serverless minus the service name. This looks like a good current workaround, but I definitely think we want to expose service name in AWSV4SignerAuth.


ACM-8838 Initial Argo pull create wizard implementation

https://issues.redhat.com/browse/ACM-8838

Add Argo pull model create/edit wizard
Add comparison diagram for Argo push/pull comparisons

/test unit-tests-sonarcloud

/test unit-tests-sonarcloud

@fxiang1  I am not the frontend development expert. I will let it go so that QE will not be blocked
@chenz4027  Could you help review it when you have time once you are back.

/lgtm


REST API Monitor registered provider not found

Hi,
I am trying to enable various alerts using the REST API on a VM. I am using this command:
armclient GET "subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/DanTemp/providers/Microsoft.Compute/virtualMachines/xx-montest-vm01/providers/Microsoft.WorkloadMonitor/monitors?api-version=2018-08-31-preview"
It returns this error:
"workloadState": "Unitialized",
"description": "Discovery didn't happen and workload is not created",
"isCorrectLocation": false,
"correctLocation":
If I try changing the API version to a support metrics version in North Europe, I get the following error message:
"No registered resource provider found for location 'northeurope' and API version '2019-12-01' for type 'monitors'. The supported api-versions are '2018-08-31-preview'. The supported locations are ''."
It doesn't appear that this API version is supported in any region any more, so how would I enable the alert?
This is required in the North Europe region. The VM is running Windows Server 2019 with the "Microsoft.Insights.VMDiagnosticSettings", "MicrosoftMonitoringAgent" and "DependancyAgent" extensions installed. The diagnostic settings and VMInsights are configured on the VM also.

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

ID: b1ad7262-ea2b-b1c2-2e3c-d4303719af05
Version Independent ID: 59fc39f6-9ce1-6919-0c93-ff202a39a7a8
Content: Understand the health of your Azure virtual machines - Azure Monitor
Content Source: articles/azure-monitor/insights/vminsights-health.md
Service: azure-monitor
GitHub Login: @bwren
Microsoft Alias: bwren

@DangerMoose87 Thank you for your query, we will further look into it and get back to you at the earliest.

@DangerMoose87 Requesting you to review the article which describes the errors you may encounter when using a resource provider that you haven't previously used in your subscription , possible causes and solutions.
Hope the information helps, however if the solution listed in the above article doesn't fit your scneario please revert back. Thank you

Hi, thanks for the response.
I have had a look through the resource providers for our subscription and there isn't a provider listed for 'monitors'. Do you have the name of the resource providers that need to be enabled for this to work?
Regards

The same for me. I've registered WorkloadMonitor in subscription. Error is still the same.

@DangerMoose87 , @zizu1985  Thank you for circling back and apologies for your experience , can one of you please share your account information to further help you troubleshoot this.  Please send an email to<EMAIL_ADDRESS>with your Subscription details and a link to this thread so we can verify and direct the request accordingly.
Since this channel (the Azure Docs repository) is only scoped for driving improvements related to the Azure documentation and at this point it appears that there's no further edits or updates needed to the documentation. We will go ahead and close this issue.
We'll continue to investigate this with you directly and will update the thread with any findings that may help others. Thank you


Allow sensors to detect fluids (#829)

This allows sensors to detect fluids when in a new Fluid mode as per #829. Users can filter the fluid detected by using a bucket or any compatible third-party fluid container.
I chose to add a new Fluid mode for backward compatibility; changing the Block mode could have broken devices which rely on it not detecting fluids. I don't know how common such devices are in practice, though. I think that adding functionality to the Block mode would be less confusing to new users, plus it wouldn't be possible to accidentally use a fluid filter in Block mode or a block filter in Fluid mode.
Using an empty bucket or fluid container in the filter detects air blocks. This was done for consistency with the filled containers and makes sense if you think about the fact that an empty bucket contains air.
Comments/questions/concerns?

Nice! Will check it out soon (probably tomorrow)


Error -532462766 when finalizing the extension deployment.

Hey folks, getting the following issue when trying to debug an extension:
---------------------------
Microsoft Visual Studio
---------------------------
Error -532462766 when finalizing the extension deployment. Using application path: C:\Program Files\Microsoft Visual Studio\2022\main\Common7\IDE

Happens when trying to launch a debugging sessionfrom latest Int Preview of latest vs main (launching int preiew from int preview doesn't work either). Colleague of mine (@abonie) doesn't have this issue. I, however, do. Anything I can do to investigate further?

Are you trying to debug a VisualStudio.Extensibility extension? I just created a VisualStudio.Extensibility extension from template and was able to debug. Are you perhaps running this on an ARM machine?

Are you trying to debug a VisualStudio.Extensibility extension? I just created a VisualStudio.Extensibility extension from template and was able to debug. Are you perhaps running this on an ARM machine?

It is VisualStudio.Extensibility, yes, and indeed, I do use ARM machine. Is it not supported on arms yet?

Ah yes, ARM is not yet supported. It's on our backlog. We will update this thread when a fix is available.


New release

It would be great to get a new release with #204.

Anything on this?

Released 1.23, sorry for a delay


Left-right list diff

Set/Map have a streaming left-right diff, so they can return results early. This is used in noms log (which only needs the first snippet of a diff) and noms diff alongside top-down diff (so it can return results early + finish quickly).
List only supports a top-down diff, which returns list splices. There are a couple of problems with this:

Not streaming, so noms log takes a while.
If there is a very large diff - say millions of elements - then list diff visits many items before returning anything.

(1) and (2) sound pretty similar, but note for (2) that changing this in any way would require returning chunks of splices. E.g. instead of returning a "1M items changed" splice, return "1K items changed" 1K times.
If we had a left-right list diff then we could use it in a similar way to how left-right set/map diff is used. See https://github.com/attic-labs/noms/issues/2330.
@rafael-atticlabs

I thought there was already an issue on this, but I can't find it.


[CT-2315] [Feature] Ignore duplicate edges while building the subgraph for the job queue

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Context: I'm investigating an issue with the command dbt build that became very slow in our project (1,300+ models and 20,000+ tests). It impacts user productivity (waiting time) and time-sensitive scheduled jobs.
I suspect the function Graph.get_subset_graph can become slow when running dbt build in a project with wide tables and many tests.
Let's consider a simple example:
Source A -----> Model B --------> Model C
     |             |                |
    \/             \/               \/
  Test A         Test B           Test C

The function loops through all the graph nodes and extract the upstream & downstream nodes. It creates the product of these nodes and adds the edges to the subgraph.
for node in self:
         if node not in include_nodes:
                source_nodes = [x for x, _ in new_graph.in_edges(node)]
                target_nodes = [x for _, x in new_graph.out_edges(node)]

                new_edges = product(source_nodes, target_nodes)
                non_cyclic_new_edges = [
                    (source, target) for source, target in new_edges if source != target
                ]  # removes cyclic refs

                new_graph.add_edges_from(non_cyclic_new_edges)
                new_graph.remove_node(node)

During dbt build, when evaluating the node Test B (and looking at the test nodes only), source_nodes = [Test A] and target_nodes = [Test C]. So, the edges to add to the subgraph are [(Test A, Test C)].
-> Is Test A considered a source nodes due to the add_test_edges function in the build task?
Now, let's consider we have 30 tests in Source A and 500 tests in Model C --> We get 15000 new edges to add to the graph for node Test B.
And now let's consider we also have 100 tests in Model B. For all of them, we have the same source nodes and target nodes, so we have the same 15000 edges to add 100 times to the new graph (1,500,000 edges). The high number of edges to add makes the function new_graph.add_edges_from slow.
As the edges are 100 times the same, I think we could prevent duplicate work by ignoring edges that already exist in the new graph.
new_edges = [
     (source, target) for source, target in new_edges if source != target and not new_graph.has_edge(source, target)
]  # removes cyclic refs and edges already existing in the new graph

What do you think?
Note that the issue doesn't seem to happen if we run dbt run or dbt test (because source_nodes is empty in these cases).
Describe alternatives you've considered
I don't observe the same behavior when running dbt run or dbt test. So, alternatively, we can use these 2 commands sequentially instead of dbt build, but it's not exactly the same
Who will this benefit?
dbt build ... is a standard CLI command many DBT users execute.
Are you interested in contributing this feature?
Yes
Anything else?
No response

Added https://github.com/dbt-labs/dbt-core/issues/7195 and got my dev environment up/PR, excited for multiple possible efficiency gains on this!

Thanks for linking the issues @ttusing , I had not seen them.
I think the idea of trimming the graph is the way to go as it is scalable. Preventing duplicate edges alone doesn't prevent the runtime for dbt build to slowly increase over time as the number of nodes increase. I don't know enough about the source code to evaluate the impact of your change though, so I leave it to the maintainers.
I've tested your changes though and it looks promising!
dbt build runtime in my project:

Current: ~10min
With this PR only: ~3min
With this PR and your PR: ~1:45min
With your PR only: ~1:45min

So I think if your change doesn't have any side effect, we could keep yours only!

Thanks for linking the issues @ttusing , I had not seen them.
I think the idea of trimming the graph is the way to go as it is scalable. Preventing duplicate edges alone doesn't prevent the runtime for dbt build to slowly increase over time as the number of nodes increase. I don't know enough about the source code to evaluate the impact of your change though, so I leave it to the maintainers.
I've tested your changes though and it looks promising!
dbt build runtime in my project:

Current: ~10min
With this PR only: ~3min
With this PR and your PR: ~1:45min
With your PR only: ~1:45min

So I think if your change doesn't have any side effect, we could keep yours only!

I think your changes can still improve runtime for some selectors that still require adding edges after removing nodes. For instance, if you have two disconnected subgraphs that are connected in the main DAG, or a model that is re-joined multiple times downstream, this could shave off a few seconds I'd bet.
Although to be fair I am still unsure why the subgraph needs to calculate these distant ancestors in the first place 😅 . Seems like the type of selector comes up uncommon enough from my usage patterns that I'm not too concerned in picking it apart.

@MatthieuBlais I added an adjustment to my PR to sort the DAG by node degree before searching and it went down to 10 seconds build time (down from 26 in last commit)! Hopefully this is also helpful for you.
https://github.com/dbt-labs/dbt-core/pull/7194

I think your changes can still improve runtime for some selectors that still require adding edges after removing nodes. For instance, if you have two disconnected subgraphs that are connected in the main DAG, or a model that is re-joined multiple times downstream, this could shave off a few seconds I'd bet.

Yes you're right, after trimming the graph, the model selector matters. I can see a few additional seconds being shaved off. With your change, now the waiting time (excluding partial parsing time) is down to a few seconds only, that looks awesome!

@ttusing @MatthieuBlais Awesome conversation! Would it make sense to consolidate this issue with #7195, as well as the two associated PRs (#7192 + #7194)? Or would it still make sense to consider & review them independently?

@ttusing @MatthieuBlais Thanks so much for your high-quality analysis and coding on this. Our subject area expert still needs to weigh in on the PRs, but they look good to me. We've been aware that this code was bottlenecking some use cases, but to my knowledge the Core team hasn't had access to real-world dbt projects that exhibited the issue in a way that has enabled us to optimize it. With that in mind, if you are willing and able to share your projects with us, it would be enormously helpful as we monitor and improve performance in real-world scenarios. I can arrange a private channel for that if it's something you can do.

@peterallenwebb Yeah, sounds tricky. Think our legal function would want to look at this.
We use DBT cloud, is that potentially a path?
It might also be helpful to establish a pool of testers to run their own benchmarks and report back on a variety of projects, connectors, machines, envs, etc. Does such a thing already exist?

@ttusing, in support of @peterallenwebb's request, I have a little script here that takes in your manifest.json file and outputs a dbt models folder with the same DAG shape, but all models are simply SELECT 1. This project could then be run using (say) dbt-duckdb, for profiling purposes.
Would you be willing to share the output of the script?

I think so, let me run it by our team.


Fix Xcode 8 hung-up by making Helper.backticks retriable

This is for https://github.com/fastlane/fastlane/issues/4059 https://github.com/fastlane/fastlane/issues/5163 https://github.com/fastlane/fastlane/issues/5603
This will solve these issues!
The problem is caused by Xcode 8
Ref: https://forums.developer.apple.com/thread/50372
How to reproduce
See sample project: https://github.com/nafu/Xcode8HungUpTestWithCoreData/tree/master
Notes
I know there is already PR for this https://github.com/fastlane/fastlane/pull/5188, but I try to take another option.

https://github.com/fastlane/fastlane/pull/5626 is merged. And it's much better!

Related:

https://github.com/fastlane/fastlane/pull/5626
https://github.com/fastlane/fastlane/pull/6021
https://github.com/fastlane/fastlane/pull/6024

This looks pretty good! We'll need to discuss if we're willing to pull in another dependency to solve the problem. We'll be following up again soon!

We may still want to consider this PR, since I think adding retry behavior may be an important fix for a different problem with xcodebuild than #5626 solved.
Overall the PR looks pretty good, though I think we need to consider whether we're willing to add another dependency to solve the problem.

I see. I reopen this for now.

Hi @nafu after considering the options, we're going to use #5188. Thank you very much for this, and we will certainly reconsider it if needed! 🚀

Thank you too :rocket:


Revert "Bump axios and aws-amplify in /lma-ai-stack/source/ui"

Reverts aws-samples/amazon-transcribe-live-meeting-assistant#83

Amplify version changes caused build problems


How to actually use rust's source as RUST_SRC_PATH

Using rust's git source results in missing Cargo files which seem to be from other repos, which are registered as submodules.
Obviously, checking out all of the submodules should work, but that would mean keeping duplicate copies of each one of those, which are already present in their own 'github paths'. Is there a more elegant way?
LSP[rust_analyzer] rust-analyzer failed to load workspace: Failed to read Cargo metadata from Cargo.toml file /git/github.com/rust-lang/rust/library/std/Cargo.toml, cargo
 1.49.0-nightly (becb4c282 2020-10-28): Failed to run `cargo metadata --manifest-path /git/github.com/rust-lang/rust/library/std/Cargo.toml`: Error during execution of `c
argo metadata`: error: failed to read `/git/github.com/rust-lang/rust/src/tools/rust-installer/Cargo.toml`
Caused by:
  No such file or directory (os error 2)

You could remove the Cargo.toml in the root of the rust checkout. This is the file that references some of the submodules.

https://github.com/rust-lang/rust/pull/81778


Peer FSM - Bug or improper architecture manifests as numerous meaningless error messages

Description

The logs of certain peers are full of error messages of the following form:
[peer] handleChat -> ERRO 00a Error handling message: Peer FSM cannot handle message (DISC_GET_PEERS) with payload size (0) while in state: created

Tracking this down leads to the FSM definition in fabric/core/peer/handler.go. This error apparently comes from the fact that this peer has never received a DISC_HELLO message. However receiving this message does not seem to be a requirement for correct operation of the peer, based on the fact that the test cases pass.
It is not even clear why an FSM is being used here. This state machine has only 2 states: The "created" state (which is the initial state), and the "established" state which is entered when the peer receives the DISC_HELLO message. The FSM then remains "established" forever.
Looking at the old openblockchain repo, I believe this FSM was originally developed by @jeffgarratt.
Although I could propose ways to quickly silence this message, I think it would be better for the original architect to create a comprehensive solution.
Describe How to Reproduce

Run a busywork test like the busywork/counters make target stress2b and examine the logs of the peers. Note that this test sets up a 4 peer network very similar to the networks set up by the 4-peer Docker compose networks used for BDD testing. In particular, all peers but the first set CORE_PEER_DISCOVERY_ROOTNODE=<address of peer 0>. The error messages only appear on peers other than peer 0.

Hi, I just met the same error with you. Have you solved it?


Pairing without the official GoPro app

Hey, this is a great effort which I applaud! Thanks to all the contributors. Maybe I missed something, or maybe this is covered in a different repository (perhaps the HeroProApp one), but I am trying to find out how I can make GoPro setup its wi-fi without using the official GoPro app.
This guide descibes a pairing process where the wi-fi name and password is set in the official app.
Is it possible to do this without the GoPro app? Once I set up the wi-fi, all the hacks collected in here can be tried by connecting to the GoPro wi-fi, but I am struggling with that first step. I am using a GoPro Hero+ without the LCD.
Thanks for your help.

Hey,
You can use the gopro-py-api to pair. See: https://github.com/KonradIT/gopro-py-api#pairing and https://www.youtube.com/watch?v=9cDlJ0b0Yyw (sorry for the bg noise, usb microphone broke)


display Cadence log when a transaction fails

Issue To Be Solved
When I add log("my debug statement") in a transaction, the logging is not displayed in the Flow emulator when the transaction fails -- it s only displayed when the transaction passes. This causes some inconvenience for debugging a transaction.
(Optional): Suggest A Solution
Display the Cadence transaction log even if a transaction fails, to make debugging easier

cc @sideninja

This is on FVM side unfortunately.


ci: bump minimum k8s version to 1.29

Motivation

K8s 1.28 is EOL

Modifications

increases minimum k8s version in CI to 1.29

Verification
E2e tests will verify

Thanks for diligently doing these @blkperl


Not rolling after two people enter pot?

When two people go into the pot it doesn't roll the pot and all it does is keep the skins in the pot no matter what. Not sure what is happening because there are no errors showing up and the countdown isn't happening. The website still shows that there are 0 minutes, 0 seconds left until it stops and nothing shows up in console other then the trades being accepted and put into website but the pot will not roll or countdown to pick a winner!?
[CSGOHeart 2015-10-28 01:13:38] INFO: Connecting...
[CSGOHeart 2015-10-28 01:13:38] SUCCESS: Done Loading Bot!
[CSGOHeart 2015-10-28 01:13:45] ERROR: Login Error: AccountLogonDenied
[CSGOHeart 2015-10-28 01:13:45] INTERFACE: This account is SteamGuard enabled. Enter the code via the `auth' command.
[CSGOHeart 2015-10-28 01:14:01] SUCCESS: User Authenticated!
[CSGOHeart 2015-10-28 01:14:01] INFO: Downloading Schema...
[CSGOHeart 2015-10-28 01:14:03] SUCCESS: Schema Downloaded!
[CSGOHeart 2015-10-28 01:14:03] SUCCESS: Steam Bot Logged In Completely!
[CSGOHeart 2015-10-28 01:17:57] INFO: TradeOffer notification
[CSGOHeart 2015-10-28 01:17:58] SUCCESS: Offer approved, accepting.
[CSGOHeart 2015-10-28 01:18:03] SUCCESS: Offer accepted from STEAM_0:0:133103072
[CSGOHeart 2015-10-28 01:21:18] INFO: TradeOffer notification
[CSGOHeart 2015-10-28 01:21:20] SUCCESS: Offer approved, accepting.
[CSGOHeart 2015-10-28 01:21:28] SUCCESS: Offer accepted from STEAM_0:1:50579447

Are the items even visible on website,

Yes, @TheAnthonyNL once the users deposit their skins they are successfully added to the website as well as the currentPot table in the database - Only problem is that when two users deposit skins it doesn't start the pot and doesn't end or start.

Same problem

Same ;)

The timer is useless, items have to reach max before it will go.

Will this be fixed soon @TheAnthonyNL ?

I think the problem is you all need to update your database structure, see the database-config file, it adds an end time to the database.


Merge sourcekit-lsp vscode extension into this extension

It might be worthwhile talking to guys from sourcekit-lsp project before doing this.

I think they're unable to publish it so we'd never be able to add it as a dependency so our only solution is to lift and shift

Yeah I have an implementation of a lift and shift, was really simple. If we go for it, it would be good if the source kit-lsp guys ended up pointing to this extension instead of having their own implementation.

I'm pretty sure a PR to the repo pointing to this extension would be accepted


modules/converter: add string-to-json-[array|object]

It seems to be useful since all our tests need to
convert from string to blob and then blob to json.
I've let some usages of string-to-blob -> blob-to-json-*
just to make sure this converters are tested as well.
@otaviobp could you please take a look on this PR?
Signed-off-by: Bruno Dilly<EMAIL_ADDRESS>

other than that, +1

@otaviobp I just used a null terminator because all your tests were using it (it's default on conversions between strings and blobs). I'll test them without it and if it works, it's even better, so I can remove the open() method.

@otaviobp it worked fine without null terminators.
merged, thanks


kubectl delete -n  with --all causes deletion of all resources in all namespaces without providing --all-namespaces or -A

What happened:
Someone with admin access could accidentally provided --all switch to delete one namespace and it caused cluster-wide deletion of all namespaces and their objects.
kubectl delete namespace -n <namespace> with --all causes deletion of all resources in all namespaces without providing --all-namespaces or -A
What you expected to happen: Deletion of just one mentioned resource or all resources under one namespace should happen
How to reproduce it (as minimally and precisely as possible):

Please Run to reproduce (I know this is already known but still for anyone reading it, kindly do not run on a live cluster):
kubectl delete namespace -n <namespace> --all
Anything else we need to know?:
Environment:

Kubernetes client and server versions (use kubectl version): 1.19.9
Cloud provider or hardware configuration: NA
OS (e.g: cat /etc/os-release): CentOS7

/sig-cli

Hi @abhiTamrakar - this is the expected behavior here.
When a namespace is deleted it also deletes all of the resources in it. By running kubectl delete namespace --all you will be deleting every namespace and all of the resources in them (except for the system namespaces - you should have seen errors that they can't be deleted).
The -n <namespace> you are providing is a bit quirky here. It normally would scope the request to the provided namespace - kubectl -n foo delete pods --all would delete all of the Pods in the foo namespace. In the case of working with namespaces as a resource itself it doesn't have an effect.
If you wanted to delete an individual namespace you could use kubectl delete namespace <namespace>.
I do think we need to think through some of these footgun scenarios a bit more. We haven't really been able to because changes like asking for confirmation would break existing scripts. See https://github.com/kubernetes/kubectl/issues/921.
/triage support
/close

@eddiezane as the conversation is continued on slack https://kubernetes.slack.com/archives/C2GL57FJ4/p1621573084002200
This is definitely a bug, either in documentation of these flags or the way they are currently implemented.


[Communication - Chat] Remove test resources failing in nightly runs

Communication - Chat nightly test runs are failing with:

Error message:
"Resource group is in 'Succeeded' state, expected 'Deleting'"
Stack trace:
VERBOSE: Running background job to delete resource group 'rg-communication-tf5bb8002c05744ac'
WARNING: Attempt 1 failed: Exception calling "Invoke" with "0" argument(s): "Resource group is in 'Succeeded' state, expected 'Deleting'". Trying again in 10 seconds...
WARNING: Attempt 2 failed: Exception calling "Invoke" with "0" argument(s): "Resource group is in 'Succeeded' state, expected 'Deleting'". Trying again in 20 seconds...
VERBOSE: Running registered exit actions.
VERBOSE: Logging out of service principal 'd34b39f7-c9a4-48a9-8b8c-e44479f88286'
Retry : Exception calling "Invoke" with "0" argument(s): "Resource group is in 'Succeeded' state, expected 'Deleting'"
At D:\a_work\1\s\eng\common\TestResources\Remove-TestResources.ps1:245 char:5
Retry $verifyDeleteScript 3
~~~~~~~~~~~~~~~~~~~~~~~~~~~
CategoryInfo          : NotSpecified: (:) [Write-Error], MethodInvocationException
FullyQualifiedErrorId : RuntimeException,Retry
##[error]PowerShell exited with code '1'.

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1987414&view=results

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Communication:0.2553504,ARM:0.11641613,Compute:0.06944885'

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Communication:0.2553504,ARM:0.11641613,Compute:0.06944885'


Will @unocss/preset-uno (19KB/71KB) be really tree-shakeable?

Bundlephobia says yes for the latest version. But I'm wondering how this will behave in reality because how should the build pipeline know what to keep and what not if main usage is via class strings, such as class='bg-black'.
Edit: Ok, I think the build step can know about what is used (I assume) since uno is one step in the build (or not) but then I could image that after using just some typical classes most of the preset-uno bundle will be included, right?

If you use UnoCSS on the build, the size doesn't matter to you at all. The only chance you will need to care about the size is using the CDN runtime which compares to Tailwind's 72KB and Windi's 56KB, I don't think it's something to concern atm.

If you use UnoCSS on the build, the size doesn't matter to you at all.

Because it will be tree-shaken or not?

compares to Tailwind's 72KB and Windi's 56K

I compare it rather to twind (13KB) or using the og Tachyons unstripped (13.7KB).
But again, I'd like to use uno in the build step and will the not-used class be excluded from the build. Would be great if you could confirm this and if yes, how is this accomplished.

unocss will only generate classes that you use. There are no classes to exclude because those classes don't even exist.

If you are still confused take a look at the playground https://unocss.antfu.me/
The Output CSS is the only thing that will be shipped in your production code, nothing else.

Yeah right, thanks for clarifying (not "excluded" but "generated" is the right term).
IRL usage: Since those classes are reflected by rule arrays, will most of the bundle be included after using typical classes? So, I can assume that at least 10-15KB, gzipped, will be used?

Ok thanks forget my last question! 🙂


Error in console [Bug Report]

Describe the bug
Hi, one error in console has occured.
Versions (please complete the following information):

Minecraft Server Version: 1.15.2
Plugin Version:  v1.8 Dev Build v8

*Do NOT say Latest use /version crazyenchantments in the console.
[21:30:17 INFO]: CrazyEnchantments version 1.8-Dev-Build-v8-RELEASE
Pastebin any errors in console
https://pastebin.com/fXfuhS24
Issue
Hi, error occured... Hapened also to other plugins, like gadgetsmenu, handyorbs, nocheatplus....  https://pastebin.com/7hBzJY9n https://pastebin.com/CcnKiN6g
Screenshots
If applicable, add screenshots to help explain your problem.

?


Create app with real users, add m2m api for CI integration, add links between users and organisation

This is a combined PR for the following (since they depend on each other somewhat)
DHIS2-6400
DHIS2-6044
DHIS2-5940

I haven't checked anything yet, just went through your commit message history and there's potential for improvement.

feat: Store logged in users in database if they dont exist

Store should be lower case

chore: create/delete organisation + tests

This is not descriptive enough, I don't know what's meant by this. Right now I'm interpreting this as someone create and delete orgs, but not sure atm

feat: create users

DId you create users? Did you add a create user functionality?

chore: rename file + fixed auth in getSingleApp

This is def. not chore. It could be either feat or fix

chore: added try-catch around database call

Should be present, but is past

chore: add name from auth profile

Could be chore: add name from auth profile to AuthService. I'm sure you can find better wording.
Conclusion
I think we should add the commit message pre commit hook to this app. Also please try to write a bit more informative commit messages as they're a very good entry point to read the specific changes of a PR, ideally they read like a story of what you did before I dive into the code changes.


'utf-8' codec can't decode byte 0xf8 in position 0

Since the installation of powa, I got error with pg_activity script whereas I'm using it for years without a single error.
(python) [marc@marcbook ~]$ pg_activity -U postgres
FATAL: 'utf-8' codec can't decode byte 0xf8 in position 0: invalid start byte

Could you try with --debug ?

Traceback (most recent call last):   File "/usr/bin/pg_activity", line 310, in main     procs, disp_procs)   File "/usr/lib/python3.7/site-packages/pgactivity/UI.py", line 1166, in poll     disp_proc)   File "/usr/lib/python3.7/site-packages/pgactivity/UI.py", line 1295, in __poll_activities     queries =  self.data.pg_get_activities()   File "/usr/lib/python3.7/site-packages/pgactivity/Data.py", line 448, in pg_get_activities     ret = cur.fetchall()   File "/usr/lib64/python3.7/site-packages/psycopg2/extras.py", line 99, in fetchall     res = super(DictCursorBase, self).fetchall() UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8 in position 0: invalid start byte FATAL: 'utf-8' codec can't decode byte 0xf8 in position 0: invalid start byte
Seems the error come from psycopg2 but I was using pg_activity for years without error, I got this error since powa is installed on my local database.

Hi,
The problem is related to this issue : https://github.com/powa-team/powa-archivist/pull/20
The fix is not in the current stable version of  PoWA.
The backend_type is wrong :

<IP_ADDRESS>:5432 powa@postgres=# SELECT application_name, backend_type FROM pg_stat_activity \gx
-[ RECORD 1 ]----+--------------------------------
application_name | PoWA collector
backend_type     | pm\x7F

Which triggers :

UnicodeDecodeError('utf-8',  b'pm\xa7\x95\xff\x7f', 2, 3, 'invalid start byte')

The PR attempts to fix this.
Benoit.

The PR was merged, can you try it ?

Fixed


Great Readme

Hi I get this client token generated
{"clientToken":"$VAULT_TOKEN","accessor":"$ACCESS_TOKEN","leaseDuration":21600,"renewable":true,"vaultAddr":"http://vault:8200"}
How can I use curl to access secrets etc in vault using this token.
I assume your sample app uses the token to perform some actions.
curl     --header "X-Vault-Token: $VAULT_TOKEN"        http://vault:8200/  ?

Hey @olivermccarthy, that's correct. Once you have the vault token, you can use any method you like (curl, vault go client, etc) to access vault.

Thank you
Im not seeing that token working for me. Im following the quick start guide.
You can see default token works. Token in /var/run/secrets/boostport.com/vault-token does not
curl --header "X-Vault-Token: vault-root-token" http://vault:8200/v1/cubbyhole
{"request_id":"6ab94713-6059-600d-55b8-9b8e975960f0","lease_id":"","renewable":false,"lease_duration":0,"data":{"excited":"yes","foo":"world"},"wrap_info":null,"warnings":null,"auth":null}
cat /var/run/secrets/boostport.com/vault-token
{"clientToken":"856055d2-d04f-f62e-4691-a566d9d62a7a","accessor":"b7d5336e-da8a-4661-e0ae-7f36f7d15536","leaseDuration":10800,"renewable":true,"vaultAddr":"http://vault:8200"}root@sample-app-79f96b7db9-j76vh
curl --header "X-Vault-Token: 856055d2-d04f-f62e-4691-a566d9d62a7a" http://vault:8200/v1/cubbyhole
{"errors":["permission denied"]}
vault read  auth/approle/role/sample-app/
Key                   Value

bind_secret_id        true
bound_cidr_list       []
period                21600
policies              [kubernetes-vault]
secret_id_num_uses    1
secret_id_ttl         90
token_max_ttl         0
token_num_uses        0
token_ttl             0

Thanks for the debugging. I believe the problem is that the sample app does not have permissions to use the cubby hole. You will need to update the policy file to give the sample-app access to the cubbyhole: https://github.com/Boostport/kubernetes-vault/blob/master/deployments/quick-start/policy-sample-app.hcl

Hi I was able to login using the secret id
But then the token does not seem to work. default policy allows reading from cubbyhole
vault write auth/approle/login role_id=166e41f3-996a-d951-9b4b-8d55e66644c4 secret_id=060691a8-
3a57-66c0-5ac7-38e13801104b
Key                     Value

token                   93ae1bf5-23ef-cd2a-dfdc-e89f2fd34d4a
token_accessor          c84fd0de-ffa7-f1d7-b533-a95e289f7f7e
token_duration          20m
token_renewable         true
token_policies          [default]
token_meta_role_name    my-role
export VAULT_TOKEN='93ae1bf5-23ef-cd2a-dfdc-e89f2fd34d4a'
vault read cubbyhole
rror reading cubbyhole: Error making API request.
URL: GET http://<IP_ADDRESS>:8200/v1/cubbyhole
Code: 403. Errors:

permission denied

Cheers
Its vault read cubbyhole/private I should have been doing

Awesome! I will close this issue since it's been resolved 😄


Missing GDScript binding for RenderingDevice::vertex_array_create

Godot version
4.0.alpha5.official.d7d528c15
System information
Gentoo GNU/Linux, Vulkan, Intel UHD 770
Issue description
I am trying to use native GLSL shaders (not for computation, but for rendering) through the RenderingDevice interface.
I've written the following code (I'm cross-referencing rendering_device.cpp, there may be some misunderstandings, please correct me if any) :
extends Node2D

@onready var rd := RenderingServer.get_rendering_device()

func _ready():
	var shader_file: RDShaderFile = load("res://test-glsl/test.glsl")
	var shader_spirv: RDShaderSPIRV = shader_file.get_spirv()
	var shader := rd.shader_create_from_spirv(shader_spirv)

	var points := PackedFloat32Array([
		0, 0, 0,
		0, 1, 0,
		1, 1, 0,
	])
	var points_bytes := points.to_byte_array()
	var colors := PackedFloat32Array([
		0, 1, 0,
		1, 0, 0,
		0, 0, 1,
	])
	var colors_bytes := colors.to_byte_array()

	var vertex_buffers := [
		rd.vertex_buffer_create(points_bytes.size(), points_bytes),
		rd.vertex_buffer_create(colors_bytes.size(), colors_bytes),
	]

	var vertex_attrs = [RDVertexAttribute.new(), RDVertexAttribute.new()]
	vertex_attrs[0].format = RenderingDevice.DATA_FORMAT_R8G8B8_SNORM
	vertex_attrs[0].location = 0
	vertex_attrs[1].format = RenderingDevice.DATA_FORMAT_R8G8B8_UNORM
	vertex_attrs[1].location = 1
	var vertex_format = rd.vertex_format_create(vertex_attrs)

	var blend = RDPipelineColorBlendState.new()
	blend.attachments.push_back(RDPipelineColorBlendStateAttachment.new())

	var framebuffer = rd.framebuffer_create_empty(Vector2i(200, 200))

	var pipeline := rd.render_pipeline_create(
		shader,
		rd.screen_get_framebuffer_format(),
		vertex_format,
		RenderingDevice.RENDER_PRIMITIVE_TRIANGLES,
		RDPipelineRasterizationState.new(),
		RDPipelineMultisampleState.new(),
		RDPipelineDepthStencilState.new(),
		blend
	)

	print(rd.render_pipeline_is_valid(pipeline))

	var draw_list := rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_CONTINUE, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_CONTINUE)
	rd.draw_list_bind_render_pipeline(draw_list, pipeline)
	var vertex_array := rd.vertex_array_create(3, vertex_format, vertex_buffers)
	rd.draw_list_bind_vertex_array(draw_list, vertex_array)
	rd.draw_list_draw(draw_list, false, 1)
	rd.draw_list_end()

During the writing process, I found that the RDPipelineColorBlendState object was missing some methods (create_blend and create_disabled) that caused me to get an error when using RDPipelineColorBlendState.new() directly, but it was not a serious problem. I later found the corresponding function in the source code and simulated the behavior of create_disabled.
The problem was that when I tried to bind vertex_array to draw_list, I found that RenderingDevice didn't provide the method vertex_array_create (this is true, I'm not sure if it's missing or a bug, but I did find the function _vertex_array_create in the source code for binding to ClassDB, but it is not actually bound to ClassDB). I've since looked up the creation process in the source, and determined that there is no other way for me to get around this, so I've filed this issue.
I guess the Alpha6 version will be compiled in a few days, so hopefully this issue will be resolved before then :smile:
Translated with DeepL, sorry for my poor English.
Related Files: rendering_device.cpp
Steps to reproduce
Press F1 and type "vertex_array_create", you will find it :smile:
Minimal reproduction project
No response

I hope this method will be implemented soon, so we can use the abstraction layer to draw things as well. This is quite important.


Turn most types into interfaces

Summary
This PR changes most types to be interfaces, thus leveraging the extensibility of the library.

Yet, there some types left in the code:
I couldn't manage to turn callbacks or primitives into interfaces:

InterpreterResult
HeaderInterpreter
KeyGenerator
StaleIfErrorPredicate
CacheUpdateFn
CacheUpdateRecord

I haven't found a way to create an equivalent interface to these types, mostly because you can't extend an Excludes<>, Partial<> or a set of union types:

StorageValue *
NotEmptyStorageValue
LoadingStorageValue *
CachePredicate

Some of them I thought to be better as a type, but please let me know if I'm wrong

MaybePromise
RequestInterceptor **
ResponseInterceptor **

*The value in these cases are all interfaces, so I guess it's fine
**Even if I turned these into interfaces, the ESLint claimed that I should not extend only one interface without any adition, since it will be some sort of copy of the extended interface

Closes #606

@arthurfiorette can you provide an example of how can I help regarding "Also, clarify how to extend axios-cache-interceptor types documentation"? For me it's not very clear how the lib deals with this communication

Thanks for your work!
You forgot this one:
https://github.com/arthurfiorette/axios-cache-interceptor/blob/998e96c9d17e36cf43b4aa13d2d06ca3375d4a65/src/cache/axios.ts#L21

@arthurfiorette can you provide an example of how can I help regarding "Also, clarify how to extend axios-cache-interceptor types documentation"? For me it's not very clear how the lib deals with this communication

As this package overrides the AxiosInstance interaface with its own types, in case of adding other interceptors or custom code which requires its own properties, its needed to do the following:
// (I typed this out of my cellphone, so IDK its 100% right)
declare module 'axios-cache-interceptor' {
  interface CacheRequestConfig<R = any, D = any> {
    myProperty: number;
  }
}

If you could just add an section on how to do the above in case you need to further customize your axios instance in general...

Também queria dizer que, como ex morador de pedra azul, morar na serra é loucura hahahahah

Thanks for your work!
You forgot this one:
https://github.com/arthurfiorette/axios-cache-interceptor/blob/998e96c9d17e36cf43b4aa13d2d06ca3375d4a65/src/cache/axios.ts#L21

Yep, I really forgot 😅
Upon changing locally, I noticed that would require me to add headers: AxiosRequestHeaders; to the CacheRequestConfig, like this:
export type CacheRequestConfig<R = any, D = any> = AxiosRequestConfig<D> & {
  id?: string;

  cache?: false | Partial<CacheProperties<R, D>>;

  headers: AxiosRequestHeaders; // <---- adding this property
};

Which will also require changing some unit tests (which is weird, because axios claims this property as optional, I guess I'm missing something) is that alright?

Também queria dizer que, como ex morador de pedra azul, morar na serra é loucura hahahahah

KKKKKKKKKKKKKKKK é outro nível mesmo

Which will also require changing some unit tests (which is weird, because axios claims this property as optional, I guess I'm missing something) is that alright?

Maybe you need to extend InternalCacheRequestConfig? Axios v1 is experimenting with a custom header typing / object which is breaking everywhere... So I guess we'll have to play a little with this until we get it right. Just take care to not break/force anything... this should be a non breaking change for axios-cache-interceptor users

Don't worry about the delay. Thanks for the help, in the next few days when I have less work to do I want to start working on other issues :)
Also, the tests at the CI are failing but locally they're passing 🤔 I don't know how but it's possible that I broke them when updating the docs?

Thanks @denis-rossati. Thanks for your work, probably the CI failed because you merged from main while it was broken :)