Is Windows the only github runner for LLVM 18?

Hello,
I am interested in updating my project to LLVM 18 now that brew added llvm 18. It seems like the standard runners I would reach for (ubuntu-latest or macos-latest) don't work while using KyleMayes/install-llvm-action@v2.0.2(which I needed to properly detect that macos-latest was arm instead of x86).
Looking at the https://github.com/KyleMayes/install-llvm-action/blob/master/assets.json, is the only option windows?
Feel free to close if not actionable.
0s
Run<EMAIL_ADDRESS>  with:
    version: 18
  env:
    LLVM_VERSION: 18
    RUSTDOCFLAGS: -D warnings
    RUSTFLAGS: -D warnings
    CARGO_INCREMENTAL: 0
    CARGO_TERM_COLOR: always
NodeJS process info = {"os":"darwin","arch":"arm64"}
Error: Unsupported version for platform (os=darwin, arch=arm64, version=18)!
Checking known assets (os=darwin, arch=arm64, version=18)...
    at $73b874f14e970995$export$da446a5ee2572b7 (/Users/runner/work/_actions/KyleMayes/install-llvm-action/v2.0.2/dist/main.js:7630:41)
Error: Unsupported version for platform (os=darwin, arch=arm64, version=18)!
    at $73b874f14e970995$var$install (/Users/runner/work/_actions/KyleMayes/install-llvm-action/v2.0.2/dist/main.js:7648:60)
    at $73b874f14e970995$export$889ea624f2cb2c57 (/Users/runner/work/_actions/KyleMayes/install-llvm-action/v2.0.2/dist/main.js:7679:16)
    at $933db609b41224a7$var$main (/Users/runner/work/_actions/KyleMayes/install-llvm-action/v2.0.2/dist/main.js:7701:61)
    at Object.<anonymous> (/Users/runner/work/_actions/KyleMayes/install-llvm-action/v2.0.2/dist/main.js:7707:1)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)

It looks like there haven't been arm64 macOS binaries (or x86-64 Linux binaries) added for any of the 18.x releases.
(and they stopped adding x86-64 macOS binaries a while ago)
Unless a future release includes these or they are backfilled (which happens sometimes), then yes, Windows is the only default runner that will work for LLVM/Clang 18.x.


Parse.initialize is global and wont work with multiple accounts/environments

When I do a var Parse = require('parse/node'); then a Parse.initialize(applicationId, javascriptKey, masterKey), this sets the applicationId, js key and masterkey for one account, but if I wanted to do Parse.initialize on other accounts, is that possible at all using this npm module? It seems like it only works for one Parse environment. If it is possible, how can I do that? I would like to query different parse accounts, since we have a dev, qa and prod environment. Thanks.

Hi @arethtapslots, you can but we do not recommend to do that. When you call Parse.initialize(applicationId, javascriptKey, masterKey), we actually use the info you provide as headers of each request we send to Parse. Since Parse is asynchronous, if you call Parse.initialize(applicationId, javascriptKey, masterKey) multiple times, it is possible that some request which should use the old app info actually use the new app info. In this situation, those requests will fail and there is no good way to handle that. For your case, I am curious why you do not judge your env at the beginning and initialize different parse app? Hope it helps.

Well I want one nodejs app that can connect to different environments. Each parse app is a different environment, one is dev, one is qa and one is production. I'm making an interface that can query each different environment based on the users choice of environment. I think I have to use the Rest API instead of this module to achieve this. Unless there is a way to make separate instances with this module, it doesn't seem to be possible as of now.

The SDK does not support multiple instances at this time, since that would require a number of major API changes, and would introduce some serious points of developer confusion. For instance, a Parse.Object from one instance would be wholly incompatible with Parse.Objects from another instance, making a number of internal and external interfaces behave unpredictably. This is such a rare use case, and introduces such internal complexity, that we do not see this as a viable change at this time.
I recommend directly communicating with the REST API, as you mentioned.

@andrewimm Recently I had to drop Parse because of this. My requirement was like that of shared containers provided by CloudKit.


EVALSYS-1451 - Support for exporting CSV reports from direct/services

reports

Updated to add support for Describable so it has some description on the entity


WIP - Update to Buildah 1.7.3

Update to Buildah 1.7.3.  A WIP for now as I've compile
time issues I need to work through with @nalind
Signed-off-by: TomSweeneyRedHat<EMAIL_ADDRESS>

Replaced #64

@nalind, just pushed with all changes to date, will see what the CI thinks of it.

A few of these failures are happening because we changed "[Warning] One or more build-args %v were not consumed\n" to "[Warning] one or more build args were not consumed: %v\n" when checking for unused build args.

/retest

Closing in favor of #67


Add per-viewer Component rendering

Supersedes #48
This uses the Pointer system added in 4.8.0 to implement customizable rendering, based on things other than locale. The implementation is fairly similar to the original in #42, just removing AudienceIdentity entirely and replacing it with Pointered.

This merge has mistakes, see https://github.com/KyoriPowered/adventure-platform/blob/master/platform-facet/src/main/java/net/kyori/adventure/platform/facet/FacetAudienceProvider.java#L114, getOrDefault doesn't exist in Audience, and plugins like PlotSquared doesn't work anymore:
[16:54:03 ERROR]: Can not create Guice Injector8.9.2021 16:54:03 [16:54:03 ERROR]: java.lang.NoSuchMethodError: 'java.lang.Object net.kyori.adventure.platform.facet.FacetAudience.getOrDefault(net.kyori.adventure.pointer.Pointer, java.lang.Object)'8.9.2021 16:54:03 [16:54:03 ERROR]: java.lang.NoClassDefFoundError: Could not initialize class com.plotsquared.bukkit.util.BukkitUtil8.9.2021 16:54:03 [16:54:03 ERROR]: Error occurred while enabling PlotSquared v6.0.10-SNAPSHOT (Is it up to date?)

no, the only mistake is some plugin forgot to relocate


Argocd application creation fails

What happened?
Argocd application creation fails with error observe failed: cannot list Argocd application: rpc error: code = NotFound desc = application 'example-application-kubeconfig' not found
How can we reproduce it?
Apply this manifest https://github.com/crossplane-contrib/provider-argocd/blob/release-0.5/examples/application/application.yaml.
What environment did it happen in?
Crossplane version: v0.39.0
Crossplane Provider argocd version: v0.5.0

I see we are hitting this: https://github.com/crossplane-contrib/provider-argocd/blob/release-0.5/pkg/controller/applications/controller.go#L113. Ideally, do we need to set nil instead of error there?

@maximilianbraun - Is this something you can help me out with?

This seems to be a permission error that is returned by Argocd if a List call returns no results. That is strange because it is supposed to return an empty list if no application matches the query.
Which Argocd version are you using? And can you try it with provider-argocd v0.6.0?

This seems to be a permission error that is returned by Argocd if a List call returns no results. That is strange because it is supposed to return an empty list if no application matches the query.
Which Argocd version are you using? And can you try it with provider-argocd v0.6.0?

I tried it and it returns same
2024-02-01T09:26:56Z	DEBUG	provider-argocd	Cannot observe external resource	{"controller": "managed/application", "request": "/example-application-kubeconfig", "uid": "2a4781f0-eb47-4841-80c1-7c35f6141289", "version": "88623982", "external-name": "example-application-kubeconfig", "error": "cannot list Argocd application: rpc error: code = NotFound desc = application 'example-application-kubeconfig' not found", "errorVerbose": "rpc error: code = NotFound desc = application 'example-application-kubeconfig' not found\ncannot list Argocd application\ngithub.com/crossplane-contrib/provider-argocd/pkg/controller/applications.(*external).Observe\n\tgithub.com/crossplane-contrib/provider-argocd/pkg/controller/applications/controller.go:113\ngithub.com/crossplane/crossplane-runtime/pkg/reconciler/managed.(*Reconciler).Reconcile\n\tgithub.com/crossplane/crossplane-runtime@v0.19.2/pkg/reconciler/managed/reconciler.go:780\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\tsigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:122\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:323\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:235\nruntime.goexit\n\truntime/asm_amd64.s:1594"}
2024-02-01T09:26:56Z	DEBUG	events	cannot list Argocd application: rpc error: code = NotFound desc = application 'example-application-kubeconfig' not found	{"type": "Warning", "object": {"kind":"Application","name":"example-application-kubeconfig","uid":"2a4781f0-eb47-4841-80c1-7c35f6141289","apiVersion":"applications.argocd.crossplane.io/v1alpha1","resourceVersion":"88623982"}, "reason": "CannotObserveExternalResource"}

@aslamkhan138 which argocd version do you ahve deployed?

@aslamkhan138 which argocd version do you ahve deployed?

I have tried on both v0.5.0 and v0.6.0

@aslamkhan138  and which version of argo-cd itself are you running?

argo-cd

@maximilianbraun - argocd version : v2.6.7+5bcd846

/fresh

/fresh


Error on saving or deploying when mode is Direct Query

Hello,
When i set a partition on directquery i get the following error:
For Partitions that have a full dataset ( no sample data), the DirectQuery and Full DataViews must be configured or the query mode must be Import to get the data.
This model probably contains non-compatible partitions.
Check the partitions configuration
I'm on a azure analysis server, and in tabular editor i get the partition data in legacy mode.
What am i doing wrong?
Goal is to get the aggregation setup working.
Kind regards,
Benito2313

Azure Analysis Services does not support aggregations / composite models.

Does it support Direct Query?

Yes, but then all tables in your model must use DirectQuery.

i cant set them as dual?

Nope. Dual is the composite model feature.

thnx for your help :)


Document that PixelShader textures are internally converted to pBGRA

Is your feature request related to a problem? Please describe.
I am passing a WritableBitmap to a ShaderEffect's PixelShader, with its PixelFormat being Gray32Float because I need more precision than 256 different values. I am seeing artefacts caused by a lack of said precision. After two afternoons of troubleshooting I found this random forum post:

WPF doesn't support different pixel formats as inputs to shaders.  Internally, everything we render is converted to 32-bit pBGRA (pre-multiplied alpha), so every input sampler to the ShaderEffects will use that format.

Nothing in the documentation of the ShaderEffect class or its RegisterPixelShaderSamplerProperty method indicates that this would happen!
Describe the solution you'd like
It's somewhat understandable that this happens to the implicit input sampler register(S0). I can imagine that it simplifies WPF's internal rendering code a lot. But I can't think of a good reason as to why it would happen with the other samplers as well. AFAIK those textures are passed straight into the pixel shader, so there should be no need to mangle them.
Ideally, WPF would provide a way to keep the data untouched, but I assume that won't happen any time soon. In the meantime, this behavior should be clearly documented in both the RegisterPixelShaderSamplerProperty function and the ShaderEffect class.
Describe alternatives you've considered
I changed the WritableBitmap's PixelFormat to BGR24 and mangled the float values into that. Pseudocode:
Assuming V starts out from 0 inclusive to 1 exclusive:
T *= 256
B = truncate(T)
T -= B
T *= 256
G = truncate(T)
T -= G
T *= 256
R = truncate(T)

And glue those together with B + G / 256 + R / 256 / 256; in the shader (R, G and B are already effectively divided by 256).
Additional context
Simple test shader:
TestTexture is an ImageBrush with a WritableBitmap of size ViewportWidth by 1, with pixel (0, 0) being set to 0.0, pixel (ViewportWidth-1, 0) being set to 1.0, and pixels in-between linearly interpolated. ViewportWidth and ViewportHeight are the size (in pixels) of the UIElement that has this ShaderEffect applied.
sampler2D TestTexture : register(S1);
float ViewportHeight : register(C1);

float Line(float TextureValue, float Y)
{
    return saturate(1 - abs(TextureValue - Y) * ViewportHeight / 4);
}

float DecodeRgbFloat(float3 RGB)
{
    return RGB.b + RGB.g / 256 + RGB.r / 256 / 256;
}

float4 main(float2 UV : TEXCOORD) : SV_Target
{
    return float4(Line(               tex2D(TestTexture, float2(UV.x, 0)).r   , 1 - UV.y), 0, 0, 1); // For first graph, with Gray32Float
    return float4(Line(DecodeRgbFloat(tex2D(TestTexture, float2(UV.x, 0)).rgb), 1 - UV.y), 0, 0, 1); // For second graph, with Bgr24
}

This shader graphs the actual value of the texture. X-axis is the texture's U-coordinate, Y-axis is the texture's color value (red channel in this case) at (X, 0).

Note the very pronounced stair-stepping! (Also, it's not linear because Gray32Float uses a Gamma value of 2.2, even though it's documented to not do that. But that's a separate issue. The problem is the stair-stepping.)
Using DecodeRgbFloat and the mangled Bgr24 format instead, the line is perfectly smooth:

This issue was moved to dotnet/dotnet-api-docs#8647


Add comp/core/stopper

What does this PR do?
This adds a component that can be used to stop a running app when that's required.  There are three ways an agent can be stopped:

signals
API request (agent stop or via GUI)
windows service shutdown

The latter is not handled by this component, but that can be added later.
Motivation
This is preliminary to making the core agent an actual app (with fxutil.Run).  At the moment, nothing uses fxutil.Run and thus nothing instantiates this component.
Additional Notes
The first commit here moves DefaultConfPath from cmd/agent to comp/core/config.  This is required to avoid package import cycles -- and generally we should avoid importing anything in cmd/ from outside of that tree.
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Unused, so nothing to test.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

It looks like I don't get notifications for this repo anymore, so I missed this.  I think GitHub still has a setting to send messages for this repo to my datadog email address, but doesn't allow me to change that setting. @sgnn7 was going to check into this.
These are all reasonable suggestions, though!  If I recall, the reason to still use the old approach if the component is not defined was to allow a different order for landing changes -- for example, the IPC call used for agent stop could land and work whether the process was running as a component or not.  But depending on the plan for order of landing things, that may not be necessary.
At any rate, just to be clear I'm not planning to fix this PR, but if there are questions I can answer please do get in touch (just not through GitHub comments, apparently..)

I'll close this now, but the branch is still here if anyone wants to revive it.

@djmitche : Thanks for the PR. I think we will want to revive it as it solve an important use case.


Pre-rendering multiple routes with i18n

Describe the feature
Basically, I have some routes that I need to prerender for 7 different locales: /login, /login/sign-up, /login/forgot-password.
First, I tried to pre-render them using route rules:
routeRules: {
  "/login/**": {
    prerender: true,
  },
},

However, that didn’t work because, as stated in the Nuxt documentation, pages should be linked from other pages:

Everything under /blog gets prerendered as long as it is linked to from another page.

All my pages are linked, but they are linked using localePath, and I believe that because of this, the pre-renderer does not recognize that they are linked.
I found a workaround by manually adding routes to the Nitro pre-renderer array:
nitro: {
  prerender: {
    routes: [
      "/login",
      "/login/forgot-password",
      "/login/sign-up",
    ],
  },
},

This method successfully prerendered all routes, but only for my default locale. If I want to prerender all locales, I need to manually add each one to that array. With 7 different locales, I would need to add 21 different routes manually, which seems like poor UX.
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).
[X] Check existing discussions and issues.

I am also facing the same problem.

Do you have a LanguageSelector component that the crawler can use to detect your other locales and discover them correctly that way?
https://i18n.nuxtjs.org/docs/guide/lang-switcher

Do you have a LanguageSelector component that the crawler can use to detect your other locales and discover them correctly that way?
https://i18n.nuxtjs.org/docs/guide/lang-switcher

I do, but since it’s a dropdown, the links to other locales are not present in the initial HTML.

Then I'd suggest to include them in the initial HTML and show/hide them using v-show instead of v-if.
This should enable your crawler to reach those pages and solve your issue.

Adding link based language switchers would be the recommended way to resolve your issue as already suggested, this is likely better for SEO as well.
We can probably add some way to ensure each localized version of a page is pre-rendered (but should make sure not to unnecessarily prerender pages) so I'm keeping this issue open for now, if there is more demand I can look into it.


Initialize PDG for secondary tracks

This makes example4 reproducible because the particle's charge decides if it is subjected to the magnetic field.

that is fine, but does this reproduce when dealing with the new units?


endpoint: Use IsSet() to check if endpoint IP is set

When restored from JSON, the endpoint.IPv[46] field can become an empty slice
instead of being nil.  Use IsSet() to check whether the address is available.
This resulted in unnecessary work being performed. In particular running an
additional controller to synchronize the inexisting IP address to the ipcache
was expensive.

This change is

Coverage increased (+0.006%) to 42.58% when pulling 66ca189cdef31e261f533a37eb7a4ad361173a0e on pr/tgraf/fix-endpoint-ip-checks into 720316a724bfa8c4ed99584db446dc33911bf037 on master.

https://play.golang.org/p/rl442epqAkf
AFAIU nil check should have worked in this case. Maybe the unnecessary work stemmed from some other bug?

AFAIU nil check should have worked in this case unless IPs were assigned new empty slices. This change makes it more robust, but it it's meant to only check for endpoints that had not been assigned ips yet, I think it's not necessary.

I've updated the commit description to reflect the exact details. The field will become an empty slice when restored from JSON.

test-me-please


FR: API to Enumerate Current Color Theme for Extensions

I am interested in authoring an extension that would manage aspects of the current color theme in Visual Studio Code (particularly turn off/piecemeal minimize syntax highlighting #225138).  I would like Visual Studio Code to expose an API that allows extensions to enumerate the current color theme's settings similar to what @aeschli mentions in #168190 as getThemeColors().

duplicate of https://github.com/microsoft/vscode/issues/32813


dask.array.roll triggers creating a very large numpy array

Operating System (Ubuntu 18.04.3 LTS)
Python version (3.7)
Where Python was acquired (Anaconda)
The full traceback/stack trace shown:

Triggered by the following piece of code:
f = h5py.File(HDF5_FILEPATH, 'r')
remove_mean = f[HDF_PATHS[2]] # is of shape (25, 10, 29, 20, 90, 360), chunk=(1, 1, 29, 20, 90, 360)
atlantic = da.roll(remove_mean, shift=90, axis=-1)[:,:,:,:,89-75:89-20,:90].rechunk((None, -1, None, None, None, None))
atlantic.to_hdf5(HDF5_FILEPATH, HDF_PATHS[3])

The exception is due to memory limit. However, I'm wondering why it's trying to create a numpy array (in-memory) of size (25, 10, 29, 20, 90, 360) as indicated?
Stack trace:
---------------------------------------------------------------------------

MemoryError                               Traceback (most recent call last)

<ipython-input-2-1f16f369d780> in <module>
     41
     42
---> 43 result = get_hdf5_with_path(HDF_PATHS[3])
     44

<ipython-input-2-1f16f369d780> in get_hdf5_with_path(required_path)
     35     if HDF_PATHS[3] not in f:
     36         print("oops", HDF_PATHS[3])
---> 37         atlantic = da.roll(remove_mean, shift=90, axis=-1)[:,:,:,:,89-75:89-20,:N_ALON].rechunk((None, -1, None, None, None, None))
     38         atlantic.to_hdf5(HDF5_FILEPATH, HDF_PATHS[3])
     39

~/usr/anaconda3/envs/data/lib/python3.7/site-packages/dask/array/routines.py in roll(array, shift, axis)
   1031         sl2 = tuple(sl2)
   1032
-> 1033         result = concatenate([result[sl1], result[sl2]], axis=i)
   1034
   1035     result = result.reshape(array.shape)

h5py/_objects.pyx in h5py._objects.with_phil.wrapper()

h5py/_objects.pyx in h5py._objects.with_phil.wrapper()

~/usr/anaconda3/envs/data/lib/python3.7/site-packages/h5py/_hl/dataset.py in __getitem__(self, args)
    560         single_element = selection.mshape == ()
    561         mshape = (1,) if single_element else selection.mshape
--> 562         arr = numpy.ndarray(mshape, new_dtype, order='C')
    563
    564         # HDF5 has a bug where if the memory shape has a different rank

MemoryError: Unable to allocate array with shape (25, 10, 29, 20, 90, 270) and data type float32

Python  3.7.4 (default, Aug 13 2019, 20:35:49)
[GCC 7.3.0]
sys.platform    linux
sys.maxsize<PHONE_NUMBER>854775807
numpy   1.17.2

From the code posted I don't any conversion of the h5py fd to a dask.array.  So it looks likes like you are using dask directly on a non-chunked array ?
To be clear I was expecting to see something like:
>>> import h5py
>>> f = h5py.File('myfile.hdf5') # HDF5 file

>>> import dask.array as da
>>> x = da.from_array(d, chunks=(1000, 1000))


touch not working IL9341

hello dear,
i m using esp32s3 with il9341 xpt2046 touch screen
tft display working but touch not working can u help me ?
my config :
`
#define MAKERFAB_ESP32S3_SPI
#define SD_SUPPORTED
#define SHARED_SPI
#define SDSPI_HOST_ID SPI3_HOST
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
// SD CARD - SPI
/*
#define SDSPI_HOST_ID SPI3_HOST
#define SD_CS   GPIO_NUM_1
#define SD_MOSI GPIO_NUM_2
#define SD_MISO GPIO_NUM_41
#define SD_SCLK GPIO_NUM_42
*/
// Portrait
#define TFT_WIDTH   240
#define TFT_HEIGHT  320
#define SPI_HOST_ID SPI2_HOST
#define TFT_MOSI    GPIO_NUM_14
#define TFT_MISO    GPIO_NUM_19  // Set this PIN for using shared SPI option
#define TFT_SCLK    GPIO_NUM_18
#define TFT_DC      GPIO_NUM_21
#define TFT_CS      GPIO_NUM_15
#define TFT_RST     GPIO_NUM_17
#define TFT_BL      -1
#define TFT_RTOUCH_CS	GPIO_NUM_16
#define TFT_RIQ	GPIO_NUM_47
class LGFX : public lgfx::LGFX_Device
{
// provide an instance that matches the type of panel you want to connect to.
lgfx::Panel_ILI9341 _panel_instance;
// provide an instance that matches the type of bus to which the panel is connected.
lgfx::Bus_SPI _bus_instance; // Instances of spi buses

//Prepare an instance that matches the type of touchscreen.

//  lgfx::Touch_FT5x06  _touch_instance;
lgfx::Touch_XPT2046 _touch_instance;
//lgfx::Touch_STMPE610 _touch_instance;
//lgfx::Light_PWM     _light_instance;
public:
LGFX(void)
{
{
// set up bus control.
auto cfg = _bus_instance.config(); // gets the structure for bus settings.
  // SPI bus settings
  cfg.spi_host = SPI_HOST_ID;// SPI_HOST_ID; // Select SPI to use ESP32-S2,C3: SPI2_HOST or SPI3_HOST / ESP32: VSPI_HOST or HSPI_HOST

  //* Due to the ESP-IDF upgrade, the description of VSPI_HOST , HSPI_HOST will be deprecated, so if you get an error, use SPI2_HOST , SPI3_HOST instead.
  cfg.spi_mode = 0;          // Set SPI communication mode (0-3)
  cfg.freq_write = 40000000; // SPI clock on transmission (up to 80MHz, rounded to 80MHz divided by integer)
  cfg.freq_read = 16000000;  // SPI clock on reception
  cfg.spi_3wire = false;      // Set true when receiving on the MOSI pin
  cfg.use_lock = true;       // set true if transaction lock is used

  //  * With the ESP-IDF version upgrade, SPI_DMA_CH_AUTO (automatic setting) of DMA channels is recommended.
  cfg.dma_channel = SPI_DMA_CH_AUTO; // Set DMA channel to be used (0=DMA not used / 1=1ch / 2=ch / SPI_DMA_CH_AUTO=Auto setting)

  cfg.pin_sclk = TFT_SCLK; // Set SCLK pin number for SPI
  cfg.pin_mosi = TFT_MOSI; // Set SPI MOSI pin number

  // When using the SPI bus, which is common to the SD card, be sure to set MISO without omitting it.
  cfg.pin_miso = TFT_MISO; // Set THE MSO pin number of spi (-1 = disable)
  cfg.pin_dc = TFT_DC;    // Set THE D/C pin number of SPI (-1 = disable)

  _bus_instance.config(cfg);              // reflects the setting value on the bus.
  _panel_instance.setBus(&_bus_instance); // Set the bus to the panel.
}

{
  // set the display panel control.
  auto cfg = _panel_instance.config(); // gets the structure for display panel settings.

  cfg.pin_cs = TFT_CS;    // Pin number to which CS is connected (-1 = disable)
  cfg.pin_rst = TFT_RST;  // Pin number to which RST is connected (-1 = disable)
  cfg.pin_busy = -1;      // Pin number to which BUSY is connected (-1 = disable)

  // the following setting values are set to a general initial value for each panel,
  cfg.panel_width = TFT_WIDTH;    // actual visible width
  cfg.panel_height = TFT_HEIGHT;   // actually visible height
  cfg.offset_x = 0;         // Panel X-direction offset amount
  cfg.offset_y = 0;         // Panel Y offset amount
  cfg.offset_rotation = 0;  // offset of rotational values from 0 to 7 (4 to 7 upside down)
  cfg.dummy_read_pixel = 8; // number of bits in dummy leads before pixel read
  cfg.dummy_read_bits = 1;  // number of bits in dummy leads before reading non-pixel data
  cfg.readable = true;      // set to true if data can be read
  cfg.invert = false;       // set to true if the light and dark of the panel is reversed
  cfg.rgb_order = false;    // set to true if the red and blue of the panel are swapped
  cfg.dlen_16bit = false;   // Set to true for panels that transmit data lengths in 16-bit increments in 16-bit parallel or SPI
  cfg.bus_shared = true;    // Set to true when sharing the bus with sd card (bus control is performed with drawJpgFile, etc.)

  // The following should only be set if the display is misalized by a driver with a variable number of pixels, such as st7735 or ILI9163.
  // cfg.memory_width = 240; //Maximum width supported by driver ICs
  // cfg.memory_height = 320; //Maximum height supported by driver ICs

  _panel_instance.config(cfg);
}

{
    auto cfg = _touch_instance.config();
    cfg.x_min = 0;  //Smallest X value (raw value) obtained from the touch screen
    cfg.x_max = 239;  //The maximum X value (raw value) obtained from the touch screen
    cfg.y_min = 0;  //Smallest Y value (raw value) obtained from the touch screen
    cfg.y_max = 319;  //The largest Y-value (raw value) obtained from the touchscreen
    cfg.pin_int = -1;//38;  //Number of pins to which INT is connected
    cfg.bus_shared = true;  //Set to true if using a bus that is common to the screen
    cfg.offset_rotation = 0;  //Adjustment when the display and touch orientations do not match Set with a value of 0~7

    // For SPI connections
    cfg.spi_host = SPI_HOST_ID;  //Select SPI to use (HSPI_HOST or VSPI_HOST)
    cfg.freq =1000000;  //Set the SPI Clock
    cfg.pin_sclk = TFT_SCLK;  //Pin number to which SCLK is connected
    cfg.pin_mosi = TFT_MOSI;  //Number of pins to which MOSI is connected
    cfg.pin_miso = TFT_MISO;  //Pin number to which MISO is connected
    cfg.pin_cs = TFT_RTOUCH_CS;  //Pin number to which CS is connected

    _touch_instance.config(cfg);
    _panel_instance.setTouch(&_touch_instance);  //Set the touch screen on the panel.
}
setPanel(&_panel_instance); // Set the panel to be used.

}
};`

You can check this pull request from @RobertUK and see if it helps.
xpt2046 is a resistive touch, which needs calibration as well.
https://github.com/sukesh-ak/ESP32-TUX/pull/28

Doesn't it need to detect touch even if there is no calibration?
random touch display but not print X and Y cordinate
always return "no touch" text
`void touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
{
uint16_t touchX, touchY;
bool touched = lcd.getTouch(&touchX, &touchY);
if (!touched)
{printf("no touch \n");
    data->state = LV_INDEV_STATE_REL;

}
else
{
    data->state = LV_INDEV_STATE_PR;
	printf("@@@@touch X = %d, touchY = %d \n",touchX,touchY);
    // Set the coordinates
    data->point.x = touchX;
    data->point.y = touchY;
}

}`


Incorrect values in the zod schema for min and max when the default values are edited.

Create a new form and add a field and then change the default values for min and max and generate the code.
The generated code has value to the min function as string however it should be integer
const formSchema = z.object({"username":z.string().min("8").max(255),"password":z.string().min("10").max("256")}).strict()
In the snippet above the value 255 in max for username was populated by default however min value was edited to change from 1 to 8.
Similarly the fields for min and max was changed for password field and it shows as string values which leads to syntax error in zod.

Thank you @abyshekhar for your contribution your PR has been merged into the refactor branch and soon will be merged in the main branch


Níma: webserver routing complete shortcut methods for all HTTP methods

We should copy the same shortcut methods we have in reactive Http Rules to Níma HttpRules  to support the same user experience.

HttpRules  is missing shortcut methods for TRACE and PATCH but has all the other shortcut methods for GET, POST, PUT, DELETE, and HEAD. HEAD, looks like it still needs: head(Handler... handlers)

This may need to be done as well in HttpRouting.Builder.

Completed PR https://github.com/helidon-io/helidon/pull/6404 to resolve this issue.


Update testing image to v19.7.0rc1

What
Update testing image to v19.7.0rc1, and enable publishing an arm64 image for it.
Why
It is released. We should be able to ship arm64 images for this release onwards now.

The history of this PR is really strange. It looks like a bug in GitHub. It auto-merged the PR, without closing the PR and displayed a message saying the branch needed updating, so I clicked Update which caused it to create a merge commit on the PR reducing the diff to zero because it merged itself on the default branch into the PR branch. And then GitHub merged the PR a second time.
So now the PR shows a +0 -0 diff, and on master there are two commits, the second being a no-op:


BBT face recognition face page not recognizing my face

Hello,
[I am also looking for paid support if someone can help.]
I have added 5 colored pics of mine in a folder. kept name of folder 'saurabh' and name of pics as follows
'saurabh1' , 'saurabh2' , 'saurabh3' , 'saurabh4' , 'saurabh5'.
I have added 'saurabh' in the required array , code below for reference -
const classes = ['amy', 'bernadette', 'howard', 'leonard', 'penny', 'raj', 'sheldon', 'stuart', 'saurabh']
Now when i do npm start and run this page  - http://localhost:3000/bbt_face_recognition.html
I choose my image from choose file option, once image is loaded it still says unknown.  Unable to understand the reason.

Hey @ersaurabh101  happy to help - I've done a ton of face matching in my own projects. If you'd consulting / support, you can ping me directly at<EMAIL_ADDRESS>or happy to try to help answer questions here, of course.
I've wrote my own face matcher code, I don't use the internal class, but the principals are the same:

Find a face
Get descriptors
Store descriptors with labels for later use
Later, with new face, match against stored descriptors - if less then some threshold of Euclidian distance, then you have a match

Like I said, built-in matcher should work, but I use my own classes to do the storing/matching of descriptors just so I have full control of the process and can tune the matching better.

I will show you what i have done till now but i am not happy with the
results of face matching.
Let me know when you are available, i can show you on anydesk or google
meet.
My requirement: I want it to match faces accurately.
On Tue, Dec 1, 2020 at 11:00 AM Josiah Bryan<EMAIL_ADDRESS>wrote:

Hey @ersaurabh101 https://github.com/ersaurabh101 happy to help - I've
done a ton of face matching in my own projects. If you'd consulting /
support, you can ping me directly at<EMAIL_ADDRESS>or happy to
try to help answer questions here, of course.
I've wrote my own face matcher code, I don't use the internal class, but
the principals are the same:

Find a face
Get descriptors
Store descriptors with labels for later use
Later, with new face, match against stored descriptors - if less
then some threshold of Euclidian distance, then you have a match

Like I said, built-in matcher should work, but I use my own classes to do
the storing/matching of descriptors just so I have full control of the
process and can tune the matching better.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/justadudewhohacks/face-api.js/issues/730#issuecomment-736229488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL74KUGO2XXHXDCRKDEJF4TSSR5N3ANCNFSM4T4OBK4Q
.

Yeah "accurately" is all based on how good the sample / source data you have. No guarantees we can get it perfect, but we can get it to match "close to accurately". I would say I personally get about 80-90% perfection, and it improves as I label the faces and merge duplicates. DM me / email me for personal support if you want :)

I will show you what i have done till now but i am not happy with the results of face matching. Let me know when you are available, i can show you on anydesk or google meet. My requirement: I want it to match faces accurately.
…
On Tue, Dec 1, 2020 at 11:00 AM Josiah Bryan @.> wrote: Hey @ersaurabh101 https://github.com/ersaurabh101 happy to help - I've done a ton of face matching in my own projects. If you'd consulting / support, you can ping me directly at @. or happy to try to help answer questions here, of course. I've wrote my own face matcher code, I don't use the internal class, but the principals are the same: - Find a face - Get descriptors - Store descriptors with labels for later use - Later, with new face, match against stored descriptors - if less then some threshold of Euclidian distance, then you have a match Like I said, built-in matcher should work, but I use my own classes to do the storing/matching of descriptors just so I have full control of the process and can tune the matching better. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#730 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL74KUGO2XXHXDCRKDEJF4TSSR5N3ANCNFSM4T4OBK4Q .

HI.! sir
I am also facing same problem..

I will show you what i have done till now but i am not happy with the results of face matching. Let me know when you are available, i can show you on anydesk or google meet. My requirement: I want it to match faces accurately.
…
On Tue, Dec 1, 2020 at 11:00 AM Josiah Bryan @.> wrote: Hey @ersaurabh101 https://github.com/ersaurabh101 happy to help - I've done a ton of face matching in my own projects. If you'd consulting / support, you can ping me directly at @. or happy to try to help answer questions here, of course. I've wrote my own face matcher code, I don't use the internal class, but the principals are the same: - Find a face - Get descriptors - Store descriptors with labels for later use - Later, with new face, match against stored descriptors - if less then some threshold of Euclidian distance, then you have a match Like I said, built-in matcher should work, but I use my own classes to do the storing/matching of descriptors just so I have full control of the process and can tune the matching better. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#730 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL74KUGO2XXHXDCRKDEJF4TSSR5N3ANCNFSM4T4OBK4Q .

HI.! sir
I am also facing same problem..


Highly Optimize the Soul Dew module

Summary by CodeRabbit

New Features

Enhanced event management system for improved performance and error handling.
Streamlined methods for adding and removing event listeners.

Bug Fixes

Improved error reporting with more relevant error types for invalid arguments.

Refactor

Optimized internal data structures for better efficiency in listener management.
Simplified listener invocation and logging processes.

Documentation

Updated method argument names for clearer understanding.

A fix to the test files will need to be deployed. Despite this, tests show that the improvement has not impacted the actual logic of the code.


spelling

https://developer.android.com/codelabs/constraint-layout#11
andcenter should be written separately

@Aydogdyshka
Thank you for reaching out to us. The issue is fixed and will be published soon.


Feat: Allows override OCM images upon initialization

Signed-off-by: yue9944882<EMAIL_ADDRESS>

/assign @qiujian16

/assign @ilan-pinto
/approve
This looks ok to me in general

general comments:

you assume that all the repo and versions are the same. in the init you have 4 images. it might be ok, i would recommend pointing that out in the Flag
2.missing functional tests

you assume that all the repo and versions are the same. in the init you have 4 images. it might be ok, i would recommend pointing that out in the Flag

i clarified it in the subcommand's "usage"

2.missing functional tests

mmm i think we'd beer testify the functionalities via e2e blackbox test against real kind sandbox clusters in the github action, wdyt? i can add an e2e in a follow-up b/c a new e2e framework needs to be initiated in the repo.

one missing part is to specify the placement image which tag is different from registration and work. I think we may need to maintain a internal map from version to image tags...
I think we can merge this one at first. I will create an issue to add placement image in cluster manager api and also factoring version flags.

2.missing functional tests

covered the new flag in the integration test scripts

one missing part is to specify the placement image which tag is different from registration and work. I think we may need to maintain a internal map from version to image tags...

the placement image will be defaulted to latest if missing, and placement release version (v0.2.0) doesnt align to the overall OCM release version (v0.5.0). i suppose it's fine to keep it latest in the current phase

/lgtm


Cannot update using vim-plug.

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[x] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Tried to update using vim-plug and I receive.
- Finishing ... Done!
x fzf:
    fatal: refusing to merge unrelated histories

It's happening for a while, so I'm not sure if it was a breaking change.

Did you make any commits manually on fzf directory?
:PlugClean will detect the problem and delete the directory. If it doesn't, you can manually delete the directory. Then re-run PlugUpdate or PlugInstall.

I didn't, @junegunn.
I removed both ~/.vim/plugged and ~/.fzf folders and rerun the commands and now is working as expected.
Thanks.

@junegunn Sorry for necro-bumping. But to give more context I've had the same issue and in my case the reason of this message was that origin/master of some plugin was rebased and force pushed.
One solution was to run :PlugClean and :PlugInstall and another to git pull --rebase inside direcotry of failing package.
I'm writing that in case where you'd like to handle that base during :PlugUpdate.


When is the plugin marketplace for logseq going live?

Great plugin, counting document words is a very much needed feature for me. When will I be able to access and download him from the plugin marketplace please?

Not too soon. Word count requires a way to hack into the main view, which is banned to plugin installed via market place.

@pengx17 Hi,is this plugin on the marketplace? what's the name ?


Improve DO/DON'T session

Describe what scenario you think is uncovered by the existing examples/articles
In DO/DON'T session, I think it should better if there is both DO/DON'T for each example.
Describe why existing examples/articles do not cover this case
For example:
AVOID having to intialize providers in a widget
DON'T
class WidgetState extends State<MyWidget> {
  @override
  void initState() {
    super.initState();
    // Bad: the provider should initialize itself
    ref.read(provider).init();
  }
}

But it should better to tell user what is the DO right way for that.
Additional context
Add any other context or screenshots about the documentation request here.

It's not uncommon to not have a clearcut solution. There may be many competing solutions to the same problem, based on whatever your scenario is.
For instance, passing arguments to the provider, initializing it in an onPressed, or having the init logic in the provider itself.
Since there's no clear answer, there's only an "avoid" mention.
Kind of like a lint rule. Just because a linter knows what you shouldn't do doesn't mean the linter knows what you should do :)

But if you have more specific suggestions, I'm more than happy to include them in the docs.
At it is, I don't think I'd realistically be able to add much

@rrousselGit
Thank you for the fast reply.
I would like to know about this case: or having the init logic in the provider itself.
In the DON'T example:
class WidgetState extends State<MyWidget> {
  @override
  void initState() {
    super.initState();
    // Bad: the provider should initialize itself
    ref.read(provider).init();
  }
}

It looks like call init something once when this widget created.
So, what is an equivalent for init in the provider. (Eg usecase, perforce some logic when this user open the screen first time).
In android, if I use ViewModel, I can do it in the init block.
Example:
class MyViewModel : ViewModel() {
    init {
        // Do something here when this view model init. It do only one time.
    }

}


Using prism.js in SharePoint works only when hard refreshing

Hello Community,
I want to use prism.js as the code highlighter in the SharePoint environment of my company, but unfortunately, it doesnt seem to work. The css gets applied, but the Javascript file seems to only load when hard refreshing the site with Ctrl+F5. I've tested this in all major browsers. Features like line numbers, color highlighting (together with all the token-classes) and the copy button are only there when hard refreshing. And even then not 100% of the time.
I've gone so far to load the file inside the aspx-Page and not with content editors (people who use sharepoint will know, what I mean by that) but that didn't work either.
Does somebody have an idea what could cause this? Other JavaScript files work.
Regards,
Luca

If you type Prism in the console and press enter, what do you get?
That will help distinguish Prism not actually loading vs Prism loading but not running.

@LeaVerou There are no Error Messages in the "Console"-Tab of the Developer Tools in Chrome, but the js and css files are listed in the "Sources."-Tab So I assume it gets loaded, but just doesnt run properly?

I solved it.
For everyone that has the same issue:
It was because I created the necessary 's and 's inside a jquery $.each function, which doesnt seem to work.
Create them in another function

I don't think that was the problem. Perhaps you were adding them to the page after Prism had run, in which case calling Prism.highlightAll() manually should solve it.


Connect Button not working

Having an issue where the Connect Button isn't working.  Using a react app, and I can't seem to have the Connect Button work with any of the basic configurations I have set up.  Tried debugging it, but it seems to be an an package issue.  I wanted to see if anyone is working on it before I try forking it to identify the issue myself.

Hey @PSkinnerTech, this is the first we're hearing about something like this. If you could send us your code, we'd be happy to take a look.
Otherwise feel free to fork and debug! PRs always welcome.

@PSkinnerTech Also you can check a working demo react app here:
https://github.com/pawanpaudel93/arweave-wallet-kit-demo/
https://arweave-wallet-kit-demo.vercel.app/
If you are still having issues then you could share your repo where the connect button is not working.


Add env var for configuring the maximum number of processes to use for dataset processing

By default we have been doing os.num_cpus() - 8 to get the number of processes to use for dataset processing. On notebooks, the number of processes is too high and causes the notebook to crash.
This PR enables configuring the maximum number of processes via env var.

@milocress Added a unit test. Is there a particular manual test you'd like me to run? I don't expect the manual runs to have any visible change.


Allow passing in custom Converter instances

Currently all workflow/activity arguments and results are marshaled using encoding/json. It should be possible to use custom converters to, for example, support binary formats.

This is an interesting idea I also stumbled upon while looking at some of the original converter code! Specifically, I was thinking about a Protobuf serialization use case and wondering how I might use something like encoding/protojson instead of the default encoding/json.


Schedule Jobs

hello dear friends
i add a Schedule Jobs rule for limit data  a peers but not restrict peer
for example i add 4GB total data rule for a peer . but peer now used 5Gb data and not limited yet

I have the same problem
The same problem exists in the time and date section

Hi all, I have to admit it is a bit confusing, and I should just leave the only option of "larger than" in the function. The reason is this:
There is a background function run every 3 minutes to check if any job is satisfied and it will execute it, so this means is nearly impossible to match a peer's data or a date when using equal, since the background function is not running every seconds. I would suggest you use larger than, so this will match all the rules. Sorry about the confusion

May I ask for what reason a 3 minute interval is set?

May I ask for what reason a 3 minute interval is set?

Not really a reason lol, I picked it cuz I feels like it won't overwhelm the server too much if we have tons of jobs, but still frequent enough :)

I'm thinking to add a field in the dashboard settings to allow users change it

I'm thinking to add a field in the dashboard settings to allow users change it

Sounds good!

If you need to change it looks like line 2173 in dashboard.py with             time.sleep(180).


repair error

I understand you are rewriting, but it would be nice if MAIN could always be made buildable.

Sorry for the late responds! I haven't got any notifications from these repositories.
I've abandoned the project because I've got burnout and then getting busy for school and stuff. Also probably because I thought not many people are interested in the project 🤔.
Now since it has been so long, it might take awhile to get back to the project as I've already gotten my self into working on Bevy related crates. Thanks for the PR!


Fix the doc build

This PR makes sphinx-build -b html doc doc/_build complete without warnings or errors. What this required:

modifying the indentation and other small formatting changes to the docstring and a couple of the .rst docs.
I excluded the UMAP class definition from appearing in the API docs twice (it was appearing once as itself, and once as a module).
I needed to install numpydoc to make the Parameters-style docstrings not complain. Possibly napoleon was meant based on discussion online, but I don't know enough about this (it did also require adding an extra directive in conf.py to stop a complaint about stub files).
A lot of the sphinx gallery reference URLs to other packages (e.g. Pandas) no longer seem to offer a correct search.js, so have been commented out.

I haven't actually checked the generated documents (the penguins dataset example definitely needs some URLs fixed) but this is a good start I think.

Thanks for working through all of this. Hopefully it all works now ...

Looks like the doc build still fails. I don't see a .readthedocs.yaml file, so I assume the docs are built via a readthedocs.org admin panel?

It should happen automatically; I'm pretty busy at the moment, but when I get some time I'll see if I can fix this.

Looks like it was numpydoc having to be added to doc_requirements. I think it has run correctly now.

Yeah I see the doc build green at last. This gets a 🥳 from me. When I look at https://umap-learn.readthedocs.io/en/latest/api.html#umap I don't see the bullet points for the metric section when the metrics are listed, but I do see it locally. Hopefully that's the worst of it though.
To celebrate I have a PR to fix the broken penguins links (and update to the changed format) in the how-to-use-umap doc forthcoming. Nothing urgent though.


Help: Unsure how to actually set HTTP Request Headers

I've been trying to add headers to the proxy using CURL and other methods, but cannot figure out precisely how to format the query. Unfortunately, the docs can't clarify further for me. I presume this is simply a minor issue on my behalf, so I wrote up a quick test script to show what I've been trying. If you can please point me in the right direction, I'd appreciate it.
The script is here: https://gist.github.com/1812932

Was there a resolution? I'm having this issue with beta5 - http://groups.google.com/group/browsermob-proxy/browse_thread/thread/6238ad3097094135

Get the driver object and then call the header method:
driver = Capybara.current_session.driver
header_hash.each_pair { |k,v|
Log.logger.info("Adding header '#{k.to_s}: #{v}'") if verbose?
driver.header(k.to_s, v)
}

I did not. I stopped bothering and used the Capybara Webkit driver, which allows you to add arbitrary headers.


Create 0-1 Knapsack Micro-Byte

Closes #55

Added activities for learners
Didn't give the solutions to the added/updated activities straight away
Followed a LearnByDoing approach
Added images for better understanding if deemed necessary

@amoghrajesh Done with the changes. Though did slightly different from what had requested. Hope it helps.

@Kevinpaulose05  Done with the changes

@all-contributors kindly add @Sreejan-22 for:

[x] code
[x] content
[x] ideas


Re-implement KS test in sqlalchemy expression language API

Hey,
to track this task, I'd like to open a new issue for the future.
Currently, the Kolmogorov Smirnov test has been implemented in pure SQL, which was already a big win (cf. #28 ).
To get even more independence from different database internals and remove some of the clunky implementation details (e.g. string replacements in mssql table references to fit into the SQL template) it would be helpful to convert the SQL query into sqlalchemy expression language.
This shouldn't be too hard, since:

the expression language API has been used throughout the project as well, so there is a lot of referene
the test consists mostly of with-query steps and commonly-available functions
this is completely seperated from the rest of the project (hence the good first issue label) and consists of "just" translating an SQL query into sqlalchemy expressions

Thanks in advance for whoever might be participating (even if it's just future me).

Thanks in advance for whoever might be participating (even if it's just future me).


Remove reference to AZURE_KEYVAULT_AUTH_VIA_CLI

Proposed changes
Update docs on how the azurekeyvault secret provider authenticates. Specifically, removed the reference to AZURE_KEYVAULT_AUTH_VIA_CLI, and referenced the bit of docs that lists the various methods that are attempted.
AZURE_KEYVAULT_AUTH_VIA_CLI was removed in https://github.com/google/go-cloud/pull/3202

I'm also wondering if I should include in the docs how the default credentials were tripping me up; I had AZURE_CLIENT_ID defined, which caused the ManagedIdentityCredential to fail with an error that the azidentity packages considers fatal, which means it never even tried the CLI credentials. This is not well documented, I only found it out via https://github.com/Azure/azure-sdk-for-go/issues/23113


made sure that the HA statements execute the legacy commands

Hi,
this make sure that the HA statements of the new executor execute the old logic, on not too long term this need to be replaced this implementation with a new implementation.
Regards

Probably it's better to just copy/paste the old logic inside the new executor and extend OSimpleExecStatement (see OCreateFunctionStatement to have an example).
It's definitely easy to do an it would not depend on the old executor

OK, it's better than what we have now anyway, it works fine even though it relies on legacy API.
I'm merging it, I'll refactor it after 3.0 final
Thanks
Luigi


OSSM-6153 Simplify error handling around updateStatus()

Previously, when both a reconcile and a status update error occurred, we logged the update error and returned the reconcile error. Now, we simply return a composite of both errors.
This commit also removes unneeded conflict handling, since status is always updated via PATCH, which does not return 409 Conflict.

/retest


Tooltips in reverse order

See this thread from news group
https://groups.google.com/forum/#!searchin/c3js/tooltip$20reverse|sort:relevance/c3js/OGP3FXYlOxo/HGAPt9LNh7sJ
This happens for me with stacked bars when I set 'order' to null. Setting order to null makes both the graph and the tooltiop respect the order of the input, but the tooltip shows the elements in the reverse order of the stacked graph
I am using versions:
C3: 0.4.14
D3: 3.5.17

Hi,
Could you provide a JSFiddle or Plunkr highlighting the issue?
It makes reproduction much easier for everyone.
Thank you!

https://c3js.org/samples/data_order.html
there is a great example :)

order of data and tooltip are not the same
in fact, the problem with data.order=null and stacked bars/areas is in order of data, not the tooltip or legend
if you paste this code into link above you will see that legend and tooltip have both the same order, but the data order is reversed
var chart = c3.generate({
    data: {
        columns: [
            ['data1', 130, 200, 320, 400, 530, 750],
            ['data2', -130, 10, 130, 200, 150, 250],
            ['data5', 200, 300, 450, 600, 520, 820]
        ],
        type: 'bar',
        groups: [
            ['data1', 'data2', 'data5']
        ],
//        order: 'desc' // stack order by sum of values descendantly. this is default.
//      order: 'asc'  // stack order by sum of values ascendantly.
      order: null   // stack order by data definition.
    },
        legend: {position: 'right'},
    grid: {
        y: {
            lines: [{value:0}]
        }
    }
});

I have the same issue, which affects our users.
The stack in the chart looks good, but the order in tooltip and legend is reversed.

Maybe this issue was introduced when this one was fixed: https://github.com/c3js/c3/issues/650.
As initially requested there, ideally we should have an option to reverse the order of the items in legend and tooltip. This would solve both cases.
legend: {     reverse: true }
Please help. Thanks!

I have the same issue, which affects our users.
The stack in the chart looks good, but the order in tooltip and legend is reversed.

Maybe this issue was introduced when this one was fixed: #650.
As initially requested there, ideally we should have an option to reverse the order of the items in legend and tooltip. This would solve both cases.
legend: { reverse: true }
Please help. Thanks!

Hi! There is also possibile to actually define your own tooltip, even the html code of it. Maybe you can do some workaround for your issue. I've done an example a few years back
https://codepen.io/georgebuzoianu/pen/djoMKR
Maybe it helps


Seconds or Minutes

Per User Need, need to configure capability of setting timers by seconds, not by minutes. Consider if user should be able to have both second and minute timers or just one or the other.

All right, closed with commit b7dabbd
Chose to make it configurable so either are available, with a max of 6 total.
I bet there's a way to clean up some of these components that are now cluttered by ternaries.


Should we be compiling the generated configuration?

Right now, TypedConfig uses KotlinPoet to generate source code and then stops. This requires the user (or the to-be-developed Gradle plugin #21) to put this generated code in the source set. Would it be better to compile all the way down to a jar instead?

I'm going to say no. If w compile down to a JAR, that might actually make it harder for the user to get it into their application. The Gradle plugin could just add it to the implementation configuration, but is that good enough? Maybe, but...it's unclear what compiling ahead of time actually gets us. Compile early, or compile a couple seconds later.
Either way, the user (or plugin) still needs to add the dependencies of that JAR to their classpath anyway, it doesn't help anything there. And it seems to add one more failure point where the JAR compiles, but then isn't deployed correctly, whereas if we leave it as source, it'll only compile if the classpath is correct, and if it compiles, it'll also be deployed correctly.


minimap plugin: move plugin to separate directory

Coverage remained the same at 80.385% when pulling dca5355d959850425f9c6b996adaf726b98554d9 on minimap-split into 043d138323b5f125d24d1729f029bc56f8c9fe23 on master.

Great!


Add support to restore metadata and settings from snapshots

Summary of the changes / Why this improves CrateDB
Extended the RESTORE statement with more keywords to fine tune what to restore from a snapshot other than tables.
 To restore all tables only, a new TABLES keywords is introduced.
Each data_section can be restored standalone and can also be combined with others to restore multiple concrete data at once.
Closes #10822.
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

retest this please. seems like a JDK 16 related error:
 HttpsTransportKeyStoreReloadIntegrationTest > initializationError FAILED
    java.security.cert.CertificateException at HttpsTransportKeyStoreReloadIntegrationTest.java:65
        Caused by: java.lang.IllegalArgumentException at HttpsTransportKeyStoreReloadIntegrationTest.java:65

https://github.com/crate/crate/pull/11149/checks?check_run_id=2132408756#step:4:247

if it's okay with you, I'll add a copyedit change to this pr (as a suggestion) instead of leaving comments (to make it easier for you)

Yes sure, already thought that my documentation changes may not the best :)

@mergifyio rebase

@mergifyio rebase

@smu left some copyedit suggestions in a commit

@norosa thanks a lot for your corrections, reads much better  ;)
I think I spotted a mistake, pls check.


Need to improve extremely slow (1min) long "unit" tests

These two are super slow to run:

30sec GcNotificationTests.CallbackInvokedMultipleTimes
1min MemoryCacheSetAndRemoveTests.SetOverwritesAndInvokesCallbacks

These take way, waaay too long.

FYI: These kept getting lengthened because slow CI machines would cause timeouts for the positive tests (Assert.True). The negative tests (Assert.False) don't actually need timeouts that long.
Also https://github.com/aspnet/Caching/pull/95

See https://github.com/aspnet/Caching/pull/95/files

Putting this in RC1 for now.

@BrennanConroy Please adjust the timeouts on the negative tests

Looks like the GCNotificationTest was fixed by #120

834385ee7495571550b2f0eb2ffd2c7fe6725dbe


export defineLocale for god sake

because we just simply need it in typescript. tnx
don`t enforce MomentLanguage cause it makes lots of error on your existing locale. that is why I did put any as a type for locale property.

@hasangilak check against #3490. Comment there if its still an issue for you.


A Problem that Only One Inference Can Be Made when I Loaded the Saved Model on Tensorflow-gpu 2.5.0 and latest.

My System Information
Have I written custom code (as opposed to using a stock example script provided in TensorFlow): NO
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on a mobile device:
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 2.5.0 and latest.
Python version: 3.7.8
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: CUDA 11.2 / cuDNN 8.1
GPU model and memory: RTX3060 / 12gb
Exact command to reproduce:

Describe the problem
I want to load the saved model using saved_model.load() and make inference using the serving_default signature key.
However, there is a problem that inference only occurs once.
When there is a single image, inference is made normally, but when there are multiple images or a video, inference is not made at all from the second image (or frame).
Continuous inference is possible by reloading the model before every inference, but it is very slow.
This problem does not occur in previous versions (2.3.0) of tensorflow.
This problem only occurs in version 2.5.0 or later. I tested the 2.5.0 / 2.6.0 / 2.8.0 (nightly) version, but none of them work.
Source code / logs
The code below is a summary.
#model load
saved_model_loaded = tf.saved_model.load(FLAGS.weights, tags=[tag_constants.SERVING])
infer = saved_model_loaded.signatures['serving_default']

# begin video capture
try:
   vid = cv2.VideoCapture(int(video_path))
except:
   vid = cv2.VideoCapture(video_path)

while True:
   return_value, frame = vid.read()
   if return_value:
       frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
       image = Image.fromarray(frame)
   else:
       print('Video has ended or failed, try a different video format!')
       break

   frame_size = frame.shape[:2]
   image_data = cv2.resize(frame, (input_size, input_size))
   image_data = image_data / 255.
   image_data = image_data[np.newaxis, ...].astype(np.float32)
   start_time = time.time()

   #prediction
   batch_data = tf.constant(image_data)
   pred_bbox = infer(batch_data)

The original code is detect_video.py of theAIGuysCode/tensorflow-yolov4-tflite.
If you run the above code and do print(pred_bbox), it is inferred normally in the first frame, but nothing is printed from the second.
e.g. 1) First Frame
{'tf.concat_16': <tf.Tensor: shape=(1, 21, 84), dtype=float32, numpy=
array([[[5.54353952e-01, 2.06503779e-01, 8.69302511e-01, ...,
         1.45839895e-05, 2.10430017e-06, 8.75245519e-07],
        [5.53583145e-01, 2.05075234e-01, 8.70401978e-01, ...,
         1.43441921e-05, 2.20338029e-06, 7.08290202e-07],
        [5.51974833e-01, 2.04461098e-01, 8.72702539e-01, ...,
         1.21745070e-05, 2.31040190e-06, 7.29801911e-07],
        ...,
        [5.51477075e-01, 2.00088605e-01, 8.68865132e-01, ...,
         8.14086491e-07, 2.59839396e-07, 1.50752749e-06],
        [5.49633265e-01, 1.98086709e-01, 8.72833788e-01, ...,
         1.83860755e-06, 4.25420922e-07, 3.30964349e-06],
        [8.79046202e-01, 6.94515137e-03, 1.00040674e+00, ...,
         1.45153881e-05, 5.73599527e-06, 6.34236858e-06]]], dtype=float32)>}

e.g. 2) Second+ Frame
{'tf.concat_16': <tf.Tensor: shape=(1, 0, 84), dtype=float32, numpy=array([], shape=(1, 0, 84), dtype=float32)>}

same issue here..

same issue heere


[engsys] build test assets only for browser runs

We no longer run Node tests against bundled tests. The test inputs are from dist-esm/test and running build produces the same output as build:test as far as Node is concerned.
For browser we still need the bundled tests from build:test.
This PR enable "Build test assets" step only if the run is for browser.

/azp run js - storage-blob - tests

/azp run js - app-configuration - tests

/azp run js - core - ci


Add "search" methods that accept Pageable and Sort objects

Instead of requiring the user to parse these objects and add sorting to the query or add page bounds, add some methods where those can be specified to MarkLogicTemplate.

Only did Pageable because using the CombinedQueryDefinitionBuilder can specify sort with a Sort.  For now leave it at that, unless someone complains.


Exception/Fix

I had an exception and had to put in a fix in the writeValue method:
           SelectComponent.prototype.writeValue = function (value) {
                  ....
                   else if (value !== '') {
                       if (typeof this.optionsDict[value] == 'undefined') {
			  this.optionsDict[value] = {};
                       } // queejie - comes up undefined on initialization
                       this.optionsDict[value].selected = true;
                   }
                   ...
               };

Not sure if this is due to something I was doing wrong in setting it up in the view constructor:
           for (let organization of this.organizations) {
                this.orgSelectOptions.push({value: organization.id, label: organization.code + ' ' + organization.name});
            }

Where in your code is the for loop that populates the options list? Doing this in the ngOnInit function might cause this error. In that case you could try to add the for loop in the ngAfterViewInit lifecycle hook function.

Thank you.  I tried it as you suggested, in ngAfterViewInit, but have the same errors.
import {Component} from "@angular/core";
import {NavController} from "ionic-angular";
import {OrganizationProvider} from "../../providers/organization";
import {OrganizationDetailPage} from "./detail";
import {DataModel} from "../../providers/data-model";

@Component({
    templateUrl: 'list.html'
})
export class OrganizationListPage {
    organizations = [];
    queryText: string = '';

    constructor(private nav: NavController, private organizationData: OrganizationProvider) {
    }

    ngAfterViewInit() {
        let organizationId = 0;
        let drilldown = 1;
        let includeInactive = 0;
        let args = [organizationId, drilldown, includeInactive];
        this.organizationData.getAll(DataModel.buildArgs(args), false).then(organizations => {
            this.organizations = organizations;
            for (let organization of this.organizations) {
                organization.visible = true;
            }
        });
    }

    goToDetail(organization) {
        this.nav.push(OrganizationDetailPage, organization);
    }

}```

I've just added  || value === false which seems to be the default value.
You can use this as a quickfix in your code as well:
SelectComponent.prototype.writeValue = function (value: any) {
    if (typeof value === 'undefined' || value === null || value === '' || value === false) {
        value = this.multiple ? [] : '';
    }
    for (var item in this.optionsDict) {
        if(this.optionsDict[item]) {
            this.optionsDict[item].selected = false;
        }
    }
    if (this.multiple) {
        for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {
            var item = <string>(value_1[_i]);
            this.optionsDict[item].selected = true;
        }
    }
    else if (value !== '') {
        this.optionsDict[value].selected = true;
    }
    this.updateSelection();
};

If you could please remove core-js reference as well that would help a lot as well, because it gives reference error.


Fix a race condition in the AudioLoader

There are conflicts with the v3 branch. Not sure how we would update both branches with the fix (I can resolve them just not sure whether we merge this fix into both, or merge dev into v3 after this PR is merged)?

I totally forgot to give some context:
The AudioLoader can lock up, when lavaplayer's loadItem returns (and therefore notifies) a result before the loadSync method has reached the line where it waits.
Here's a stack of a waiting thread: https://wastebin.party/detatipocu.css
The issue can be easily reproduced after a few curls to the loadtracks endpoint by using identifiers/loaders that return very fast, like looking up a local audio file.

v3 merge done in 0adc5c879e80687fa40cac0b32c3c6a33aef1838


razer-waver on TUXEDO OS 4 24.04.1 noble (Ubuntu)

Hello,
My system:
Kernel: 6.11.0-103009-tuxedo arch: x86_64 bits: 64   Desktop: KDE Plasma v: 6.1.5 Distro: TUXEDO OS 4 24.04.1 noble
The day before yesterday I installed Polychromatic 0.9.2 (Flatpack)  (plus the openrazer ppa stable) and I still wonder why the wave.json does not appear in the Polychromatic effects - even it is in the folder path
$ .config/polychromatic/effects/
In Polychromatic I created an effect manually and thought the name should appear somewhere in my home path if I would search for it - but nothing. Even not in root path.
Atm. I don't have any idea what could be the problem.
Maybe someone else has any idea?
Thank you.
If I find out anything, I will post it here.

Hi @HeidrHH,
I'm afraid I can not help you very much with this issue. Probably you can find more support moving your issue to Polychromatic repository directly.
Hard to guess without investigating, but maybe there's something with read/write permissions. You can try to install Polychromatic with another method. Maybe flatpak sandboxes the app and forbids the app to access some folders. It's also possible that Polychromatic changed their file management policy and that the effect files are not stored at the same location anymore. You can checkout the versions for which this script has been officially tested in the Readme of this repository.

Hi @Teskann ,
thank you for your answer.
I tried the Polychromatic ppa and then install it. But I ran into an error with it I could not solve yet. Thats why I installed the flatpack version again and than it suddenly got an update (the version I mentiond above). But still it did not work.

@Teskann
At the end this is the problem I have atm:
`k@A:~$ sudo apt install polychromatic
Package lists are read... Done
Dependency tree is built... Done
Status information is read in... Done
Some packages could not be installed. This may mean that
you have requested an impossible situation or, if you are using the
unstable distribution, that some required packages have not yet been created or that
have not yet been created or have not yet left Incoming.
The following information may help you to resolve the situation:
The following packages have unfulfilled dependencies:
python3-pyqt6 : Depends on: qt6-base-abi (= 6.4.2)
E: Problems cannot be corrected, you have retained broken packages.
k@A:~$`
And this looks okay so far:
`k@A:~$ sudo apt install -s -f
[sudo] Password for k:
Package lists are read... Done
Dependency tree is built... Done
Status information is read in... Done
0 updated, 0 reinstalled, 0 to be removed and 0 not updated.
k@A:~$ sudo apt dist-upgrade -s
Package lists are read... Done
Dependency tree is built... Done
Status information is read in... Done
Package update (upgrade) is calculated... Done
0 updated, 0 newly installed, 0 to be removed and 0 not updated.
k@A:~$ sudo apt update && apt list --upgradable
OK:1 https://ppa.launchpadcontent.net/openrazer/stable/ubuntu noble InRelease
OK:2 https://ppa.launchpadcontent.net/polychromatic/stable/ubuntu noble InRelease
OK:3 https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu noble InRelease
OK:4 https://deb.tuxedocomputers.com/ubuntu noble InRelease
OK:5 https://ppa.launchpadcontent.net/teejee2008/timeshift/ubuntu noble InRelease
OK:6 https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu noble-updates InRelease
OK:7 https://txos-extra.tuxedocomputers.com/ubuntu noble InRelease
OK:8 https://mirrors.tuxedocomputers.com/ubuntu/mirror/security.ubuntu.com/ubuntu noble-security InRelease
OK:9 https://plasma6.tuxedocomputers.com/ noble InRelease
OK:10 https://txos.tuxedocomputers.com/ubuntu noble InRelease
Package lists are read... Done
Dependency tree is created... Done
Status information is read in... Done
All packages are up to date.
Listing... Done
k@A:~$`


[FIX] Brand name added and responsiveness added

Brand name added and responsiveness added

Fixes #210

@mansiruhil13 I am fixing footer issue. please review and merge it !!

Can you please add at least level 1 to these PRs? These are the genuine issues that I raised and solved.


Ensure we have a container when rendering

Proposed fix for #53.

Coverage remained the same at 100.0% when pulling 91153acbc83b27bc02b2948887a7c493bcba5a74 on guard-in-render into 5a9bf775563a70dfd578071d777bebe473430254 on master.


[#870] Update purchase feature spec to system spec

Resolves #870
Description
Updates current feature spec syntax to modern system spec syntax introduced in Rails 5.1.

Type of change

Test Refactor

How Has This Been Tested?

All existing tests are preserved but converted to the new format.

Could you remove the :js from some of the individual examples, since the whole spec is all js: true? :bowing_man:

@armahillo Sure! Just pushed that update.

Awesome! Looks great -- just gotta wait for Travis to :heavy_check_mark: it :)


[TEST] [follow-up]Add a test case to enable premerge to report error when unshimed classes was accessed from shimed classes

Is your feature request related to a problem? Please describe.
When access unshimed classes from shimed classes, some customer Env will report class not found error, while premerge now can not reproduce.
Gera proposed a method to report error, refer to https://github.com/NVIDIA/spark-rapids/pull/11197#issuecomment-2231580947
Describe the solution you'd like

First access unshimed classes from shimed classes.
e.g.:
In a GpuxxxExec, access GpuColumnVectorUtils
Use this method to reproduce: refer to https://github.com/NVIDIA/spark-rapids/pull/11197#issuecomment-2231580947
Write a simple case.

Would prefer to see this addressed by removing the explicit list of unshimmed classes and instead move all unshimmed classes to sql-plugin-api.  Advantage of that approach is the compiler will catch this at build time.  See #6565

I think it will be sufficient to limit the scope of this issue to addressing the review comments #11197

GpuColumnVectorUtils should move to sql-plugin-api (and inspect if there are more classes from the ushimmed list that can move without much refactoring)
Since many of such failures are caught only in shuffle_test, see if we can introduce some mechanism that runs a random selection of tests as shuffle tests even if they are not labeled as such specifically


jti claim type missing in the ID_token

Is your feature request related to a problem? Please describe.
I need to share an identity token with some clients and they expect "jti" claim type in the token
Describe the solution you'd like
if (request.ValidatedRequest.Client.IncludeJwtId)
            {
                claims.Add(new Claim(JwtClaimTypes.JwtId, CryptoRandom.CreateUniqueId(16)));
            }

should copied  tin  CreateIdentityTokenAsync
I didn't found in the openId specification  a restriction about it

OIDC does not use jti. Nonce would be the equivalent.

No-one stops you from issung a jti claim yourself, of course.

All set on this issue -- can we close?


Use eureka discovery，multiply eureka client may be initialized

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
    private static volatile EurekaClient eurekaClient;
    private EurekaClient getEurekaClient(boolean needRegister) throws EurekaRegistryException {
        if (eurekaClient == null) {
            synchronized (EurekaRegistryServiceImpl.class) {
                try {
                    if (!needRegister) {
                        instanceConfig = new CustomEurekaInstanceConfig();
                    }
                    ConfigurationManager.loadProperties(getEurekaProperties(needRegister));
                    InstanceInfo instanceInfo = new EurekaConfigBasedInstanceInfoProvider(instanceConfig).get();
                    applicationInfoManager = new ApplicationInfoManager(instanceConfig, instanceInfo);
                    eurekaClient = new DiscoveryClient(applicationInfoManager, new DefaultEurekaClientConfig());
                } catch (Exception e) {
                    clean();
                    throw new EurekaRegistryException("register eureka is error!", e);
                }
            }
        }
        return eurekaClient;
    }

eurekaClient need double-check
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :
OS :
Others: Seata develop branch

Please pull a request to fix this issue if you want.

Thanks!


"invalid association: associated schema does not exist", when it does in fact exist

Environment

Elixir version (elixir -v):

Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Elixir 1.9.1 (compiled with Erlang/OTP 21)

Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.):

                                                     version
------------------------------------------------------------------------------------------------------------------
 PostgreSQL 11.5 (Debian 11.5-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
(1 row)

Ecto version (mix deps):

* ecto 3.2.5 (Hex package) (mix)
  locked at 3.2.5 (ecto) 76c864b7
  ok
* phoenix_ecto 4.0.0 (Hex package) (mix)
  locked at 4.0.0 (phoenix_ecto) c43117a1
  ok

Database adapter and version (mix deps):

* postgrex 0.15.1 (Hex package) (mix)
  locked at 0.15.1 (postgrex) 23ce3417
  ok
* ecto_network 1.1.0 (Hex package) (mix)
  locked at 1.1.0 (ecto_network) 7062004b
  ok

Operating system:

Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

Current behavior
When I compile my application, it raises these warnings at compile time:
vagrant@philomena:~/philomena$ mix compile
Compiling 212 files (.ex)
Compiling lib/philomena/poll_votes/poll_vote.ex (it's taking more than 15s)
Compiling lib/philomena/images/image.ex (it's taking more than 15s)
Compiling lib/philomena/commissions/commission.ex (it's taking more than 15s)
Compiling lib/philomena/user_whitelists/user_whitelist.ex (it's taking more than 15s)
Compiling lib/philomena/source_changes/source_change.ex (it's taking more than 15s)
Compiling lib/philomena/bans/fingerprint.ex (it's taking more than 15s)
Compiling lib/philomena/bans/user.ex (it's taking more than 15s)
Compiling lib/philomena/image_intensities/image_intensity.ex (it's taking more than 15s)
Compiling lib/philomena/galleries/interaction.ex (it's taking more than 15s)
Compiling lib/philomena_web/pow_mailer.ex (it's taking more than 15s)
Compiling lib/philomena/bans/subnet.ex (it's taking more than 15s)
Compiling lib/philomena/users/user.ex (it's taking more than 15s)
Compiling lib/philomena/mod_notes/mod_note.ex (it's taking more than 15s)
Compiling lib/philomena/galleries/gallery.ex (it's taking more than 15s)
Compiling lib/philomena/users/role.ex (it's taking more than 15s)
Compiling lib/philomena/duplicate_reports/duplicate_report.ex (it's taking more than 15s)
Compiling lib/philomena/user_name_changes/user_name_change.ex (it's taking more than 15s)
Compiling lib/philomena/image_hides/image_hide.ex (it's taking more than 15s)
Compiling lib/philomena/image_votes/image_vote.ex (it's taking more than 15s)
Compiling lib/philomena/channels/subscription.ex (it's taking more than 15s)
Compiling lib/philomena/user_fingerprints/user_fingerprint.ex (it's taking more than 15s)
warning: invalid association `from` in schema Philomena.Conversations.Message: associated schema Philomena.Users.User does not exist
  lib/philomena/conversations/message.ex:1: Philomena.Conversations.Message (module)

warning: invalid association `user` in schema Philomena.UserStatistics.UserStatistic: associated schema Philomena.Users.User does not exist
  lib/philomena/user_statistics/user_statistic.ex:1: Philomena.UserStatistics.UserStatistic (module)

warning: invalid association `user` in schema Philomena.UserLinks.UserLink: associated schema Philomena.Users.User does not exist
  lib/philomena/user_links/user_link.ex:1: Philomena.UserLinks.UserLink (module)

warning: invalid association `user` in schema Philomena.PollVotes.PollVote: associated schema Philomena.Users.User does not exist
  lib/philomena/poll_votes/poll_vote.ex:1: Philomena.PollVotes.PollVote (module)

warning: invalid association `user` in schema Philomena.Badges.Award: associated schema Philomena.Users.User does not exist
  lib/philomena/badges/award.ex:1: Philomena.Badges.Award (module)

warning: invalid association `user` in schema Philomena.Donations.Donation: associated schema Philomena.Users.User does not exist
  lib/philomena/donations/donation.ex:1: Philomena.Donations.Donation (module)

warning: invalid association `user` in schema Philomena.Forums.Subscription: associated schema Philomena.Users.User does not exist
  lib/philomena/forums/subscription.ex:1: Philomena.Forums.Subscription (module)

warning: invalid association `user` in schema Philomena.ImageFeatures.ImageFeature: associated schema Philomena.Users.User does not exist
  lib/philomena/image_features/image_feature.ex:1: Philomena.ImageFeatures.ImageFeature (module)

warning: invalid association `user` in schema Philomena.UserIps.UserIp: associated schema Philomena.Users.User does not exist
  lib/philomena/user_ips/user_ip.ex:1: Philomena.UserIps.UserIp (module)

warning: invalid association `requesting_user` in schema Philomena.DnpEntries.DnpEntry: associated schema Philomena.Users.User does not exist
  lib/philomena/dnp_entries/dnp_entry.ex:1: Philomena.DnpEntries.DnpEntry (module)

warning: invalid association `user` in schema Philomena.ImageFaves.ImageFave: associated schema Philomena.Users.User does not exist
  lib/philomena/image_faves/image_fave.ex:1: Philomena.ImageFaves.ImageFave (module)

warning: invalid association `from` in schema Philomena.Conversations.Conversation: associated schema Philomena.Users.User does not exist
  lib/philomena/conversations/conversation.ex:1: Philomena.Conversations.Conversation (module)

warning: invalid association `user` in schema Philomena.Reports.Report: associated schema Philomena.Users.User does not exist
  lib/philomena/reports/report.ex:1: Philomena.Reports.Report (module)

warning: invalid association `user` in schema Philomena.Topics.Subscription: associated schema Philomena.Users.User does not exist
  lib/philomena/topics/subscription.ex:1: Philomena.Topics.Subscription (module)

warning: invalid association `user` in schema Philomena.Images.Subscription: associated schema Philomena.Users.User does not exist
  lib/philomena/images/subscription.ex:1: Philomena.Images.Subscription (module)

warning: invalid association `user` in schema Philomena.Comments.Comment: associated schema Philomena.Users.User does not exist
  lib/philomena/comments/comment.ex:1: Philomena.Comments.Comment (module)

warning: invalid association `user` in schema Philomena.Galleries.Subscription: associated schema Philomena.Users.User does not exist
  lib/philomena/galleries/subscription.ex:1: Philomena.Galleries.Subscription (module)

warning: invalid association `user` in schema Philomena.SiteNotices.SiteNotice: associated schema Philomena.Users.User does not exist
  lib/philomena/site_notices/site_notice.ex:1: Philomena.SiteNotices.SiteNotice (module)

warning: invalid association `user` in schema Philomena.Filters.Filter: associated schema Philomena.Users.User does not exist
  lib/philomena/filters/filter.ex:1: Philomena.Filters.Filter (module)

warning: invalid association `user` in schema Philomena.Posts.Post: associated schema Philomena.Users.User does not exist
  lib/philomena/posts/post.ex:1: Philomena.Posts.Post (module)

warning: invalid association `deleted_by` in schema Philomena.Polls.Poll: associated schema Philomena.Users.User does not exist
  lib/philomena/polls/poll.ex:1: Philomena.Polls.Poll (module)

warning: invalid association `user` in schema Philomena.Notifications.UnreadNotification: associated schema Philomena.Users.User does not exist
  lib/philomena/notifications/unread_notification.ex:1: Philomena.Notifications.UnreadNotification (module)

warning: invalid association `user` in schema Philomena.TagChanges.TagChange: associated schema Philomena.Users.User does not exist
  lib/philomena/tag_changes/tag_change.ex:1: Philomena.TagChanges.TagChange (module)

warning: invalid association `user` in schema Philomena.Images.Image: associated schema Philomena.Users.User does not exist
  lib/philomena/images/image.ex:1: Philomena.Images.Image (module)

warning: invalid association `user` in schema Philomena.UserFingerprints.UserFingerprint: associated schema Philomena.Users.User does not exist
  lib/philomena/user_fingerprints/user_fingerprint.ex:1: Philomena.UserFingerprints.UserFingerprint (module)

warning: invalid association `user` in schema Philomena.Channels.Subscription: associated schema Philomena.Users.User does not exist
  lib/philomena/channels/subscription.ex:1: Philomena.Channels.Subscription (module)

warning: invalid association `user` in schema Philomena.ImageVotes.ImageVote: associated schema Philomena.Users.User does not exist
  lib/philomena/image_votes/image_vote.ex:1: Philomena.ImageVotes.ImageVote (module)

warning: invalid association `user` in schema Philomena.ImageHides.ImageHide: associated schema Philomena.Users.User does not exist
  lib/philomena/image_hides/image_hide.ex:1: Philomena.ImageHides.ImageHide (module)

warning: invalid association `user` in schema Philomena.UserNameChanges.UserNameChange: associated schema Philomena.Users.User does not exist
  lib/philomena/user_name_changes/user_name_change.ex:1: Philomena.UserNameChanges.UserNameChange (module)

warning: invalid association `image` in schema Philomena.DuplicateReports.DuplicateReport: associated schema Philomena.Images.Image does not exist
  lib/philomena/duplicate_reports/duplicate_report.ex:1: Philomena.DuplicateReports.DuplicateReport (module)

warning: invalid association `user` in schema Philomena.Users.Role: associated schema Philomena.Users.User does not exist
  lib/philomena/users/role.ex:1: Philomena.Users.Role (module)

warning: invalid association `thumbnail` in schema Philomena.Galleries.Gallery: associated schema Philomena.Images.Image does not exist
  lib/philomena/galleries/gallery.ex:1: Philomena.Galleries.Gallery (module)

warning: invalid association `moderator` in schema Philomena.ModNotes.ModNote: associated schema Philomena.Users.User does not exist
  lib/philomena/mod_notes/mod_note.ex:1: Philomena.ModNotes.ModNote (module)

warning: invalid association `banning_user` in schema Philomena.Bans.Subnet: associated schema Philomena.Users.User does not exist
  lib/philomena/bans/subnet.ex:1: Philomena.Bans.Subnet (module)

warning: invalid association `gallery` in schema Philomena.Galleries.Interaction: associated schema Philomena.Galleries.Gallery does not exist
  lib/philomena/galleries/interaction.ex:1: Philomena.Galleries.Interaction (module)

warning: invalid association `user` in schema Philomena.Topics.Topic: associated schema Philomena.Users.User does not exist
  lib/philomena/topics/topic.ex:1: Philomena.Topics.Topic (module)

warning: invalid association `image` in schema Philomena.ImageIntensities.ImageIntensity: associated schema Philomena.Images.Image does not exist
  lib/philomena/image_intensities/image_intensity.ex:1: Philomena.ImageIntensities.ImageIntensity (module)

warning: invalid association `user` in schema Philomena.Bans.User: associated schema Philomena.Users.User does not exist
  lib/philomena/bans/user.ex:1: Philomena.Bans.User (module)

warning: invalid association `banning_user` in schema Philomena.Bans.Fingerprint: associated schema Philomena.Users.User does not exist
  lib/philomena/bans/fingerprint.ex:1: Philomena.Bans.Fingerprint (module)

warning: invalid association `user` in schema Philomena.SourceChanges.SourceChange: associated schema Philomena.Users.User does not exist
  lib/philomena/source_changes/source_change.ex:1: Philomena.SourceChanges.SourceChange (module)

warning: invalid association `user` in schema Philomena.UserWhitelists.UserWhitelist: associated schema Philomena.Users.User does not exist
  lib/philomena/user_whitelists/user_whitelist.ex:1: Philomena.UserWhitelists.UserWhitelist (module)

warning: invalid association `user` in schema Philomena.Commissions.Commission: associated schema Philomena.Users.User does not exist
  lib/philomena/commissions/commission.ex:1: Philomena.Commissions.Commission (module)

warning: invalid association `banning_user` in schema Philomena.Bans.User: associated schema Philomena.Users.User does not exist
  lib/philomena/bans/user.ex:1: Philomena.Bans.User (module)

warning: invalid association `deleted_by` in schema Philomena.Topics.Topic: associated schema Philomena.Users.User does not exist
  lib/philomena/topics/topic.ex:1: Philomena.Topics.Topic (module)

warning: invalid association `creator` in schema Philomena.Galleries.Gallery: associated schema Philomena.Users.User does not exist
  lib/philomena/galleries/gallery.ex:1: Philomena.Galleries.Gallery (module)

warning: invalid association `user` in schema Philomena.DuplicateReports.DuplicateReport: associated schema Philomena.Users.User does not exist
  lib/philomena/duplicate_reports/duplicate_report.ex:1: Philomena.DuplicateReports.DuplicateReport (module)

warning: invalid association `deleter` in schema Philomena.Images.Image: associated schema Philomena.Users.User does not exist
  lib/philomena/images/image.ex:1: Philomena.Images.Image (module)

warning: invalid association `deleted_by` in schema Philomena.Posts.Post: associated schema Philomena.Users.User does not exist
  lib/philomena/posts/post.ex:1: Philomena.Posts.Post (module)

warning: invalid association `deleted_by` in schema Philomena.Comments.Comment: associated schema Philomena.Users.User does not exist
  lib/philomena/comments/comment.ex:1: Philomena.Comments.Comment (module)

warning: invalid association `admin` in schema Philomena.Reports.Report: associated schema Philomena.Users.User does not exist
  lib/philomena/reports/report.ex:1: Philomena.Reports.Report (module)

warning: invalid association `to` in schema Philomena.Conversations.Conversation: associated schema Philomena.Users.User does not exist
  lib/philomena/conversations/conversation.ex:1: Philomena.Conversations.Conversation (module)

warning: invalid association `modifying_user` in schema Philomena.DnpEntries.DnpEntry: associated schema Philomena.Users.User does not exist
  lib/philomena/dnp_entries/dnp_entry.ex:1: Philomena.DnpEntries.DnpEntry (module)

warning: invalid association `awarded_by` in schema Philomena.Badges.Award: associated schema Philomena.Users.User does not exist
  lib/philomena/badges/award.ex:1: Philomena.Badges.Award (module)

warning: invalid association `verified_by_user` in schema Philomena.UserLinks.UserLink: associated schema Philomena.Users.User does not exist
  lib/philomena/user_links/user_link.ex:1: Philomena.UserLinks.UserLink (module)

warning: invalid association `contacted_by_user` in schema Philomena.UserLinks.UserLink: associated schema Philomena.Users.User does not exist
  lib/philomena/user_links/user_link.ex:1: Philomena.UserLinks.UserLink (module)

warning: invalid association `modifier` in schema Philomena.DuplicateReports.DuplicateReport: associated schema Philomena.Users.User does not exist
  lib/philomena/duplicate_reports/duplicate_report.ex:1: Philomena.DuplicateReports.DuplicateReport (module)

warning: invalid association `locked_by` in schema Philomena.Topics.Topic: associated schema Philomena.Users.User does not exist
  lib/philomena/topics/topic.ex:1: Philomena.Topics.Topic (module)

Generated philomena app

Expected behavior
Obviously, this is completely nonsensical, as the referenced module and schema clearly exist. No warnings should be raised.
The referenced associations also work completely fine at runtime, leading to the question of why they raise a warning during compilation.

Looks like here is a root problem:
https://github.com/elixir-ecto/ecto/blob/3423c6363dfd57114faa991ad3672283e6f5341f/lib/ecto/schema.ex#L1877-L1899
from what I found so far 2nd check causes problem:
https://github.com/elixir-ecto/ecto/blob/3423c6363dfd57114faa991ad3672283e6f5341f/lib/ecto/association.ex#L823-L836

If we are compiling code, we can validate associations now,
as the Elixir compiler will solve dependencies.

@josevalim Is it something around Elixir compiler then?

Hi @liamwhite! I have pushed a fix but it requires Elixir master. However, I believe we can still address this problem in your application, we just need to find the initial commit that introduce the warnings (as I assume they were not always there).

@josevalim I bisected the relevant commit in my application. It's this one: https://github.com/derpibooru/philomena/commit/f1726e3d528af8de8bec5561d7e460c3547085d9
After some tinkering with potential root causes of the problem I found this line was the cause:
  use Pow.Extension.Ecto.Schema,
    extensions: [PowResetPassword, PowPersistentSession]

Pow discovers schema extensions in the following way:

source  @doc false
  defmacro __using__(config) do
    quote do
      @pow_extension_config Config.merge(@pow_config, unquote(config))

      Module.eval_quoted(__MODULE__, unquote(__MODULE__).__use_extensions__(@pow_extension_config))

source  @doc false
  def __use_extensions__(config) do
    config
    |> schema_modules()

source  defp schema_modules(config) do
    Extension.Config.discover_modules(config, ["Ecto", "Schema"])
  end

source  @spec discover_modules(Config.t(), [any()]) :: [atom()]
  def discover_modules(config, module_list) do
    config
    |> extensions()
    |> Enum.map(&Module.concat([&1] ++ module_list))
    |> Enum.filter(&Code.ensure_compiled?/1)
  end

However, since the module PowPersistentSession.Ecto.Schema doesn't exist, Code.ensure_compiled/1 would have failed. Just my speculation: presumably this bad module introduced a dependency ordering in the compiler that required it to compile everything else before it finished compiling the User schema, thus causing these warnings.

Here is the fix I committed to my app: https://github.com/derpibooru/philomena/commit/29453f060ffd80a67ef3dca668c29419b9673f9d

Thanks! I would go ahead and report a bug on Pow application too. They mechanism to discover modules may considerably slow down compilation , as each ensure compiled will halt the current module until all other modules in the system are compiled. And if one module happens to check the other that is also running the same check, they will deadlock. This is a circular dependency which will likely emit warnings in the future. I would drop the implicit checks in favor of explicitly passing module names.

Actually, I will open up an issue there.