Flax doesn't work on google colab

It seems like flax just stopped working on google colab. Simply running
import jax
!pip install --quiet flax
import flax

yields the error
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ipython 7.9.0 requires jedi>=0.10, which is not installed.
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
[<ipython-input-1-41b8697fa850>](https://localhost:8080/#) in <module>
      1 import jax
      2 get_ipython().system('pip install --quiet flax')
----> 3 import flax

4 frames
[/usr/local/lib/python3.8/dist-packages/flax/core/meta.py](https://localhost:8080/#) in Partitioned()
    263     return self.replace(names=tuple(names))
    264
--> 265   def get_partition_spec(self) -> jax.sharding.PartitionSpec:
    266     """Returns the ``Partitionspec`` for this partitioned value."""
    267     return jax.sharding.PartitionSpec(*self.names)

AttributeError: module 'jax.sharding' has no attribute 'PartitionSpec'

Can be solved by downgrading Flax to 0.6.4.

@necludov - sorry for the trouble, what happens if you force upgrade jax via:
!pip install -U --quiet jax jaxlib

does that resolve the problem?  I think colab jax might be pinned to very old versions.

Indeed what @levskaya, but you should restart the runtime after installing the latest jax version, otherwise it will keep using the old one.

@levskaya this also works, but then I couldn't use it with a GPU.

@necludov try the GPU installation of JAX:
pip install -U jax[cuda11_cudnn82]>=0.4.2 \
  --find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

I think I've tried this, but it seems that installing jax this way on colab is not compatible with GPU. I haven't looked deeper into it, to be honest. So far I'm just using the downgraded version of flax.

Could you let us know what went wrong with the jax cuda install?  My guess is that a jax-cude version was installed incompatible with the CUDA/CUDNN libraries on the machine.  There should be no fundamental problem installing cuda-version of jax/jaxlib via pip.

nvcc --version will give you version info, see the instructions at https://github.com/google/jax#pip-installation-gpu-cuda for info on pip installs.

Though this won't resolve any JAX cuda version issues - I've temporarily yanked the 0.6.5 Flax release from PyPI until the version pinning issues are resolved (hopefully soon).

Installing jedi worked for me.
!pip install jedi

is there a recommendation for Flax version for TPU on Colab? i just discovered last night that this issue i reported to Jax a few weeks ago includes Flax version conflicts. my issue was that the newest Jax with TPU on Colab causes Optax import to just completely fail - but having the newest Jax was the fault of Flax requiring the New Hotness, where apparently Google Colab TPU is Olde and Busted...
so, is there a Ye Olde Busted Hotness version combo recommendation for us Colab junkies? i.e., what's the combination of compatible versions across all the Google libraries (Jax, Flax, Haiku, Optax, Pix, etc.) that will work with each other and Google Colab, TPU and the various GPU options?

Copied from https://github.com/google/flax/issues/2950#issuecomment-1479258169

Yes, indeed, TPU Colab runtime does not support new JAX versions anymore.
So I would recommend to

either use the CPU or GPU runtime (both work with the latest flax-0.6.7)
install Flax like this on a TPU runtime while keeping JAX runtime fixed: !pip install flax==0.6.4 jax==0.3.25 jaxlib==0.3.25

We're sorry about the inconveniences caused, but making Colab TPU runtime infra compatible with new JAX versions is beyond what we can currently fix.

As noted in #2950 it's better to install Flax via
!pip install jax==0.3.25 jaxlib==0.3.25 flax

That should keep the correct JAX version and install flax and its dependencies accordingly.
Also created discussion #2995 for this topic.

@2000222 I just checked on https://colab.sandbox.google.com/ with a T4 GPU runtime and got:
!pip freeze | egrep 'jax|flax'
import jax
jax.devices()
flax==0.7.4
jax==0.4.16
jaxlib @ https://storage.googleapis.com/jax-releases/cuda11/jaxlib-0.4.16+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl#sha256=78b3a9acfda4bfaae8a1dc112995d56454020f5c02dba4d24c40c906332efd4a
[gpu(id=0)]

so that seems to work as expected (note that both JAX and Flax are pre-installed with compatible versions in Google Colab).

I can confirm that on Colab running the same commands as mentioned in the original issue comment imports without any error.
import jax
!pip install --quiet flax
import flax


Force the deployment of different Safe addresses in different networks

Context / issue
The default behaviour of the Protocol Kit goes against the vision Safe has on having one address vs. multiple addresses when deploying a Safe to different networks.
Proposed solution
The Protocol Kit is using the createProxyWithNonce method to deploy Safes.
The createChainSpecificProxyWithNonce method should be used instead to force this behaviour.
Expected result

Even if the same configuration (owner list, threshold, fallback handler, etc.) and saltNonce are used to deploy a Safe in different networks, the Protocol Kit should force that the addresses are different.

Nothing is broken for existing Safes that were deployed using the createProxyWithNonce method.

I'm unsure if the reasoning behind the chain-specific proxy was the same as in the post you linked. The primary rationale was to use it for some exceptional cases where a Safe must exist on a single network only and nowhere else. I'd not opt-in to use it in the SDK by default because we already know people are prone to mistakes, and this change will remove their safety mechanism.

Thank you @mmv08. I've updated the description to continue using the createProxyWithNonce adding the chainId.

Thank you @mmv08. I've updated the description to continue using the createProxyWithNonce adding the chainId.


Update Composer dependencies (2024-05-07-00-10)

Visual regression test passed!
View the visual regression test report


CSS formatting to include aesthetic for neighbourhood.

Cheryl has provided some great little shelf graphics
Chris wants to have a background of a neighbourhood with a friendly person to person exchange over a fence or hedge.

Overall styles have been updated to reflect the original graphics. A top nav was added to keep a login link and branding on all screens.


T-SQL CAST(datetime field name AS TIME) thorws an exception when executing To XML Spreadsheet (Excel)

Here's my query:
SELECT
,CAST(DATETIME FIELD AS DATE)		CHANGE_DATE
,CAST(DATETIME FIELD AS TIME)		CHANGE_TIME

FROM table
If I comment out the CAST( ... as TIME) statement, it runs fine.  However, once CAST(...as TIME) is placed back into the code, the following exception:
--Exception encountered while rendering spreadsheet.
/* Specified cast is not valid.
at TSqlFlex.Core.XmlSpreadsheetRenderer.renderAsXMLSpreadsheet(FlexResultSet resultSet, SqlRunParameters srp)
at TSqlFlex.Core.QueryWorker.DoSqlQueryWork(DoWorkEventArgs e, BackgroundWorker bw)
*/

Thanks for the report.  Sorry for this bug.  I don't know how soon I will get to it as I don't have much time for open source work at the moment.  PRs accepted if you feel comfortable doing that.

This should be resolved in T-SQL Flex 0.2.1-beta which I just uploaded to Chocolatey.  Please update and reopen this ticket if it's not fixed.  Thanks for the report.


devonfw/ide#712: add az mirror

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Smooth manual flight

This commit tweaks some of the manual flight software that was running a little weird. This makes the quad copter much smoother to fly in manual mode and is actually a pretty fun and easy experience flying around. This commit paired with the foxglove-joy Bluetooth controller support update makes flying the quad copter in manual mode very easy.

@chamdanedu please run
west format

Looks good.


make usb power settings in "Configuration Descriptor" setable

In some cases the USB port is not only used for communication. If it used for charging it is necessary to set the maximum current via "Configuration Descriptor".
state of the art:
in https://github.com/zephyrproject-rtos/zephyr/blob/master/subsys/usb/usb_descriptor.c#L91 it is set fixed to 100mA
approach:

Find a way to set the "Configuration Descriptor" to 500mA (0xFA or MAX_HIGH_POWER(https://github.com/zephyrproject-rtos/zephyr/blob/master/include/usb/usb_common.h#L88)) as demo for usb2.0 devices

discuss if the power is set via device tree or via (menu)config

Duplicate of #19545. Please follow-up there.


BAM index file naming

It looks like the working directories contain .bam.bai files but in the final output there are -ready.bam and -ready.bai files. I know some programs recognise either way, and it's a small thing, but what are your thoughts on also producing the .bam.bai file in the final directory?

I wanted to bump this issue up. Example is "s134-tumor-ready-bam.bai" where it should be "s134-tumor-ready.bam.bai". This is in the final directory.

Thank you for the report and sorry about the issue. This was a bug in naming I introduced when adding support for CNVkit output files. I pushed a fix to the latest development so if you update with:
bcbio_nextgen.py upgrade -u development

it should now copy over the files with the correct naming. Thanks again for letting us know about the problem.


onWheel clamping at boundaries.

Hey guys, I'm wondering if you guys would have a good idea how to do clamping w/ the onWheel event.
The problem I'm hitting is that a group of wheel events are being treated as a single gesture, which means, if I clamp the position at a boundary, but you continue to scroll, useGesture thinks you're still scrolling into infinity.  If you quickly change directions, you have to make up for whatever "distance" you covered scrolling up.
The current behavior makes sense for things like the current "Boundaries" example, where clamped dragging doesn't go back right away until the mouse is back within the bounds.  But in scrolling, it doesn't quite feel right.
If you stop scrolling, for a second, the gesture ends and a new on starts and you're able to scroll immediately without the large invisible delta distance.
I guess I'd like to find a way to clamp the delta?  I imagine I could force something to happen with memo, but I figured you guys might have better ideas.
Thanks again for the awesome stuff!

Hey Matt, thanks for the kind words! Unless there’s something I’m missing, you should use the exact same strategy as for the drag boundaries example, ie clamping the delta and using memo to retain the initial wheel value as you suggested in your last paragraph.

Hmm, Maybe I need to build an example.
The issue is that the delta which my handler is called with is not clamped, just the final scroll position.
E.g.

You start with 100px below your current position
You scroll down 200px, however, the clamp stops you at 100px
If you scroll up 100px in the same gesture... what happens?

What I currently see is no motion.  The delta my handler gets has gone from 200 to 100, but the whole time we've been clamped at 100px, so nothing has moved.
What I'd like to achieve is, as soon as you start scrolling down, it starts moving again.  In this example, you'd be back at your initial position.

Hadn't seen your edit sorry, well... your example works fine, no? make sure you're actually testing in a new window, as it seems that onWheel events on window don't seem to be triggered properly in the csb iframe.
Btw, here's your csb tweaked using the latest versions of react-use-gesture and react-spring: https://codesandbox.io/s/boundaries-r3dj7
And here is a csb showing that boundaries work properly: https://codesandbox.io/s/react-use-gesture-issue-wheel-n89rq
The left black square shows the clamped y wheel value (boundaries are [-1000,1000], the right white square shows the unclamped local value.
Btw, this gave me the opportunity to fix a bug in memo, 5.2.4 is now released on npm ;)

Yep, thats exactly the idea!  Your solution does what was I was trying to get to!
As for xy-prev I think it would be a decent api to include since the typical scroll handler provides an event.deltaXand event.deltaY which are "local to each independent event".  When I first started using this library it took me a second to realize that delta was local "to the gesture".
I'm also probably using "local" in a weird way, because local to this library also means a sort of persistent state.
In any case, thank you for your time in helping me.  You guys are way too gracious! :)
Feel free to close this issue, unless you want to use it as a holder for including the above api.

Sure, happy to help, it’s useful to face common problems and in that situation it also allowed me to spot a bug.
Yeah, local and delta concepts were a bit weird to me too (not to mention memo) when I took over the lib, but they really feel natural now.
When you mention the scroll event and deltas I presume you meant the wheel event. That’s true, and actually the lib sums the event deltas so that you’re able to know how much you’ve wheeled, and I do understand the confusion with the lib definition of delta.
But it’s too late to change delta for something else so I’d have to find a new name for the xy-previous delta! If you have any suggestions please shoot and I’ll add it in 5.2.5.

For info, we’ll rename delta to offset and current - previous will be labeled delta. I think it’s less confusing, maybe local could also be renamed to something more explicit. That will be a breaking change, so planned for v6.


Parsing XML dies (stays blocked) when doing in parallel

Hello all,
I've discovered this while load-testing my app on Windows 7. When there are multiple goroutines doing XML parsing, sooner or later all of them stay stucked in xml.Parse() and the CPU load drops to zero.
It's much more probable for go run than for building and running the executable. So far I wasn't able to repro it on linux.
See the attached sample code (no request, just 10 go routines running in loop).
It should timeout after 20 seconds (or 10000 iterations) but with go run it usually ends up like
Id 8, iter: 571, elapsed: 5.018003
Id 8, iter: 572, elapsed: 5.021004
Id 8, iter: 573, elapsed: 5.023504
Id 8, iter: 574, elapsed: 5.026005
Id 8, iter: 575, elapsed: 5.029006
Done -- this is outputted after 20s - timeout expired
Any idea what can be wrong?
Thanks in advance
gokogiri-load.zip

The underlying library (libxml2) does not guarantee thread safety for multiple threads sharing the same document.  It can be done but requires the caller (gokogiri in this case) to handle any locking and synchronization. I'm not surprised it has issues under load.
You should be able to parse different documents in each goroutine safely, though I don't know how feasible that is for your actual application.

Thanks for your reply.
I was just curious whether it's common problem (we eventually handled the
issue different way).
On Sat, May 21, 2016 at 8:56 AM, John C Barstow<EMAIL_ADDRESS>wrote:

The underlying library (libxml2) does not guarantee thread safety for
multiple threads sharing the same document. It can be done but requires the
caller (gokogiri in this case) to handle any locking and synchronization.
I'm not surprised it has issues under load.
You should be able to parse different documents in each goroutine
safely, though I don't know how feasible that is for your actual
application.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/moovweb/gokogiri/issues/90#issuecomment-220762671


getNetwork deleted from Provider

closes #282
getNetwork() deleted from Provider interface and JsonRpcProvider.
@vgrichina @mikedotexe it's a breaking change, but we don't have any mentions about getNetwork in our docs. I have also deleted Network interface since it's never used (YAGNI).

@vgrichina we can choose a softer way: https://github.com/near/near-api-js/pull/531
And merge this PR in a few months.


Add http protocol support for ValueStore.Commit()

It would be nice if the HTTP protocol supported clients which are only operating at the ValueStore interface (to manipulate raw Values without dealing with the datas.Commit layer). @rafael-atticlabs mentioned on Slack that this won't work currently because:

the wire protocol assumes the client is operating at the Database level and it'll try to validate the commit chain

@ddunbar FYI, one way around this is to use Database, rather than ValueStore, but to simply replace the present commit object for each new value stored. You can use db.SetHead() to do this. This effectively works around Database wanting to maintain a commit lineage

Thanks! I was wondering just last night if that would work... it's actually close to what I currently do (SetHead of a set referencing all the values I want to move), but the next big jump is changing it so I only do that in order to exchange subsets of all the content.


Implement integrity testing in sct_pipeline for sct_register_to_template

Currently when using sct_pipeline on sct_register_to_template with integrity testing, it fails because of non-compatibility of ground truth management in sct_testing. In fact, there is no "external" ground truth for testing integrity in sct_register_to_template: the approach is simply to compute the Dice between the existing cord seg (in the template space) and the registered cord seg (from the subject's space), and the other way around (i.e. two Dice coeffs are output).
A proposed solution is to modify sct_testing to accept this case scenario.
Example of the integrity testing crash below:
sct_pipeline -f sct_register_to_template -d . -p \"-i t2/t2.nii.gz -s t2/t2_seg_manual.nii.gz -l t2/labels.nii.gz\" -test-integrity 1

--
Spinal Cord Toolbox (master/4208eff65079fe7ee3626e0099c5fc54b1c01abe)
Running /Users/julien/code/sct/scripts/sct_pipeline.py -f sct_register_to_template -d . -p "-i t2/t2.nii.gz -s t2/t2_seg_manual.nii.gz -l t2/labels.nii.gz" -test-integrity 1
Testing started on: 2018-08-09 11:19:56
SCT version: git-master-4208eff65079fe7ee3626e0099c5fc54b1c01abe
OS: osx (Darwin-17.4.0-x86_64-i386-64bit)
Hostname: julien-macbook.local
CPU Thread on local machine: 8
    Requested threads:       8
Running with python concurrent.futures's ProcessPoolExecutor
RAM: Primary memory available: 16.00 gigabytes

Command(s):
  sct_register_to_template -i t2/t2.nii.gz -s t2/t2_seg_manual.nii.gz -l t2/labels.nii.gz
Dataset: /Users/julien/data/sct_pipeline
Test integrity: 1
Processing subjects... 7/72^[[D2
GLOBAL RESULTS:
Duration: 330s
Passed: 0/3
Crashed: 0/3
Mean: {'duration':<PHONE_NUMBER>9125977}
STD: {'duration': 9.966064864672253}

DETAILED RESULTS:
                                         status    duration                                                                                path_output
unknown_sct-users_20180518/t2/t2.nii.gz  200     0.000000    /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_unknown_sct-users_20180518-QidpKT
amu_G1_7/t2/t2.nii.gz                    200     0.000000    /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_amu_G1_7-wPXy8J
amu_PAM50_AP-T077/t2/t2.nii.gz           200     0.000000    /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_amu_PAM50_AP-T077-XGwuko
amu_G1_6/t2/t2.nii.gz                    200     0.000000    /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_amu_G1_6-tm2gSA
amu_PAM50_ED-20130729/t2/t2.nii.gz       2       311.529060  /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_amu_PAM50_ED-20130729-kvW5hI
amu_PAM50_ALT/t2/t2.nii.gz               2       312.289124  /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_amu_PAM50_ALT-GKk8rd
amu_PAM50_AM/t2/t2.nii.gz                2       329.158268  /var/folders/6f/wy6ljmx9453cgth2qwv5l1s80000gn/T/sct-180809111956-sct_register_to_template_amu_PAM50_AM-v3pm2P

Legend status:
0: Passed | 1: Function crashed | 2: Integrity testing crashed | 99: Failed | 200: Input file(s) missing | 201: Ground-truth file(s) missing
Total processing time: 5 min 31 s

Content of the log file of one subject where integrity testing failed (in temp directory):
====================================================================================================
INTEGRITY TESTING
====================================================================================================

Param instance has no attribute 'fname_gt'

Ideally we would like this issue to be fixed so that we can test https://github.com/neuropoly/spinalcordtoolbox/pull/1948

Nevermind, I was not using sct_pipeline correctly. The proper way of doing integrity testing is to input the template cord with -igt flag. Example:
sct_pipeline -f sct_register_to_template -d ~/data -p \"-i t2/t2.nii.gz -s t2/t2_seg_manual.nii.gz -l t2/labels.nii.gz -igt ${SCT_DIR}/data/PAM50/template/PAM50_cord.nii.gz\" -pickle 1 -test-integrity 1 -j 127


More post-to-Slack refactoring

This will do for now, I can't get to 100% coverage without some changes to moto (grr…).

Something is broken in the CloudWatch log URLs; e.g.

lambda-reindex_job_creator-errors
There was an error in the reindex_job_creator Lambda.
http://amzn.to/2nJY3tC / http://amzn.to/2nJY4xG

Oh look, that bug was caused by incomplete coverage. 🙈


Bug 2011903: Deferred logout after checks are run

Resolves a slow vSphere session leak: https://bugzilla.redhat.com/show_bug.cgi?id=2011903

Good catch, looks like this issue has existed from the beginning.
/lgtm
/approve

/cherry-pick release-4.7

/cherry-pick release-4.9


(NullpointerException) Hardware acceleration issue on older Android versions

DialogPlus has an issue on older Android versions (I tested on an Incredible S running 4.0.4).
Gives the following exception:
java.lang.NullPointerException
at android.view.GLES20RecordingCanvas.drawPatch(GLES20RecordingCanvas.java:97)...
Can be solved by changing line 256 in the DialogPlus class from:
decorView.removeView(rootView);
to:
decorView.post(new Runnable() {
@Override
public void run() {
decorView.removeView(rootView);
}
});

@JesperLR thank you for the feedback, I'll check it out asap

with the new release this issue should be fixed. v1.4


Executor ID changes when restarting executor, destroying flows with setExecutor enabled

We have some flows, which are pinned to a single executor via setting "setExecutor=ID" in the flow parameters.
When we restart the executor node, the executor id changes. This destroys all the flows, that are pinned to this node.
Can we make the executor id fixed ? Or is it possible to pin jobs to a single executor node via another property than executors.id ? Maybe executors.host ?

valid concern. Executor host plus port is preferred IMO, are you interested in contributing a PR?

Hi,
sorry, i am not a programmer, I just found out, that this is a problem when using azkaban.
Mit freundlichen Grüßen
Kai Steverding
eBusiness
IT-Betrieb
T: +49 (251) 7000-02
F: +49 (251) 7000-3999
E: Kai.Steverding<EMAIL_ADDRESS>I: www.gws.mshttp://www.gws.ms | www.erpsystem.dehttp://www.erpsystem.de
[https://www.gws.ms/upload/public/email/gr_youtube-square.jpg]https://www.youtube.com/user/gwsmuenster  [https://www.gws.ms/upload/public/email/gr_facebook.jpg] https://de-de.facebook.com/gws.muenster/   [https://www.gws.ms/upload/public/email/gr_twitter-square.jpg] https://twitter.com/GWS_Muenster   [https://www.gws.ms/upload/public/email/gr_xing-square.jpg] https://www.xing.com/company/gws-gesellschaft-fuer-warenwirtschaftssyteme-mbh   [https://www.gws.ms/upload/public/email/gr_linkedin.jpg] https://www.linkedin.com/company/10153750/
GWS Gesellschaft für Warenwirtschafts-Systeme mbH
Willy-Brandt-Weg 1 - 48155 Münster
Standorte: Münster, München, Nürnberg, Leonberg, Isernhagen, Hamburg
Geschäftsführer: Dipl. Ökonom Udo Lorenz, Dipl.-Ing. Georg Mersmann
Sitz: Münster (Westf.); Amtsgericht Münster HRB 3844
[https://www.gws.ms/upload/public/email/leaf.jpg] SAVE PAPER - THINK BEFORE YOU PRINT.
[Was ist Digitalisierung?]http://erpsystem.de/digitalisierung-handel/
Von: Cheng Ren<EMAIL_ADDRESS>Gesendet: Mittwoch, 10. Oktober 2018 06:30
An: azkaban/azkaban<EMAIL_ADDRESS>Cc: Steverding, Kai<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [azkaban/azkaban] Executor ID changes when restarting executor, destroying flows with setExecutor enabled (#1969)
valid concern. Executor host plus port is preferred IMO, are you interested in contributing a PR?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/azkaban/azkaban/issues/1969#issuecomment-428434163, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAR-EZSbuq_qLW00y_bRheQ-PvObN1iYks5ujXfOgaJpZM4XTNqv.

hi i have create a pull request for this issue. Kindly request to review.
https://github.com/azkaban/azkaban/pull/2265
The User can now provide alternate value for 'useExecutor' flow parameter. The value will be in the format '<azkaban_executor_host>:>executor_port>'. example: 'localhost:9001'. so if restart occurs and executor id changes, the flow can still be bound using this format.

@burgerkingeater kindly request you to review pr

@burgerkingeater  @jaihind213
the worse thing is when one executor restarted. webserver have to be restarted too, otherwise it can not assign task to this executor any more.
2019/07/09 15:41:54.307 +0800 INFO [ExecutorManager] [Azkaban] Using dispatcher for execution id :12
2019/07/09 15:41:54.319 +0800 WARN [ExecutorManager] [Azkaban] Executor localhost:12321 (id: 15), active=true responded with exception for exec: 12
azkaban.executor.ExecutorManagerException: Failed to assign non-existent executor Id: 15 to execution : 12
        at azkaban.executor.AssignExecutorDao.assignExecutor(AssignExecutorDao.java:43)
        at azkaban.executor.JdbcExecutorLoader.assignExecutor(JdbcExecutorLoader.java:329)
        at azkaban.executor.ExecutorManager.dispatch(ExecutorManager.java:1048)
        at azkaban.executor.ExecutorManager.access$600(ExecutorManager.java:65)
        at azkaban.executor.ExecutorManager$QueueProcessorThread.selectExecutorAndDispatchFlow(ExecutorManager.java:1282)
        at azkaban.executor.ExecutorManager$QueueProcessorThread.processQueuedFlows(ExecutorManager.java:1254)
        at azkaban.executor.ExecutorManager$QueueProcessorThread.run(ExecutorManager.java:1192)
2019/07/09 15:41:54.319 +0800 INFO [ExecutorManager] [Azkaban] Failed dispatch attempt for exec 12 with error count 0
2019/07/09 15:41:55.320 +0800 ERROR [ExecutorManager] [Azkaban] Failed to dispatch queued execution demo because reached azkaban.maxDispatchingErrors (tried 1 executors)

It's disaster for multi-executor deployment which aim to high availability.

hi @twoyang0917
this pr is about allowing user to specify "host:port" as value to useExecutor parameter instead of executor id.
on restart, id will change but value of "host:port" will remain unchanged and hence useExecutor will continue to work.
this should solve your problem. correct me if i am worng

@jaihind213  your pr is a nice fix for those event triggers to call the api to execute workflow.
but what about those tasks base on the scheduler built in webserver.
think about that, one executor crashed, then we start it up and activate it. but the executor's id changed and webserver don't know it, it's still unavailable for the whole system.
you may say why we don't restart webserver directly after we started the executor up and activate it. but actually make sure executor alive should be done by some daemon protect process automatically in those HA cases. So how to notify webserver to restart itself. does that  effect other running tasks or scheduling. there are too many things need to be considered when we want to put it on production environment that need HA.

Would it be possible to get this into a flow definition file ?
We are working on monitoring azkaban and its scheduling mechanism. With multiple executors, we need a way to get monitoring flows scheduled on each executor to check if the executor node is working and to check if the scheduler is working.
We could schedule the jobs via the API with the useexecutor parameter, but this would not check if the scheduler part of azkaban is working


qc: 0.5.0 -> 0.5.1

Description of changes

The last selected command is now only stored when there actually was a command selected and
the dialog wasn't quit without selecting a command (for #9)

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

checks are currently disabled can you add a comment on why that is?

You mean if I tested the functionality? Yes, I did?
Or do you mean automated tests? There are none...

Yeah I mean automated tests, I think adding a comment above line 20:
  doCheck = false;

saying that there aren't any would be nice other then that this update should be good to go.

Yeah I mean automated tests, I think adding a comment above line 20:

Thank you. Done, @Janik-Haag.

Result of nixpkgs-review pr 255894 run on x86_64-linux 1

1 package built:

qc


Update Delegation -  Balance is incorrect

Bug Description
While updating stake, I have noticed that we are showing Balance instead of "At disposal".
Steps to Reproduce
Delegate 100 to L-pool.
Update stake to 200.
Observe balances on Update Stake page.
Expected Result
User should see "At disposal" amount not "Balance".
Actual Result

Versions

Software Version: 3.0.0 (39)
OS: iOS 14.8.1
Mobile device: iPhone SE

Works as designed.


Experimental query functions

I dont like when ide is showing me an error because i have used experimental molang function. For example "get_nearby_entities_except_self"

Ok, sorry for inconvinience. I have found info that you are not supporting experimental features.


rerun_viewer wont launch again if exited while still in Fullscreen

👍
Describe the bug

If I close the rerun viewer while still in fullscreen by using Alt+Tab to navigate  to the terminal, I get the error message in the image below the next time I try to open the rerun viewer and it doesn't work again until I delete the folder in this path ~/.local/share/rerunviewer/
To Reproduce
Steps to reproduce the behavior:

Put rerun viewer on fullscreen
Close rerun viewer from the terminal while it's still in fullscreen

Screenshots

Desktop (please complete the following information):

OS: Windows 11 Pro
WSLg (Ubuntu 22.04)
Screen Resolution: 2256 x 1504

@Omotoye I'm gonna close this and hope that recent changes to eframe (including a winit update) has solved the issue.
If you are still having a problem on rerun main, please re-open this issue!

I just checked it and the problem is solved. I installed it with the pip installation package and tried the cube example. After putting it on fullscreen and stopping it, on the relaunch, it didn't have the weird behavior it used to have.

awesome, thanks for checking on this @Omotoye


Analyzer: Implementation of super-bounded types with null safety

With null safety, the spec update in dart-lang/language#1133 calls for the use of Never rather than Null during instantiation to bound, and during the checks for being a correctly super-bounded type.
Some work was done on this in https://github.com/dart-lang/sdk/commit/744e34aec07a2bbe982deb32ca6307b54003c1db, but the following example illustrates that the analyzer still uses Null:
class A<X extends void Function(X)> {}

void main() {
  A a = A<Never>();
}

The response (with the analyzer from commit ecc87a177fad538728998b4c49f043b4bf9212bd) is as follows:
ERROR|COMPILE_TIME_ERROR|TYPE_ARGUMENT_NOT_MATCHING_BOUNDS|/usr/local/google/home/eernst/lang/dart/scratch/202009/n025.dart|4|3|1|'void Function(Null)' doesn't extend 'void Function(void Function(Null))'.

This shows that the raw A is expanded by i2b to A<void Function(Null)>, and then the bounds check fails.
When A is expanded to A<void Function(Never)> the type is correctly super-bounded and the raw A is allowed, and this is the expected outcome after #1133.

https://dart-review.googlesource.com/c/sdk/+/164860


Develop a tool to automatically generate Scenery classes from the AWS Docs

Create a tool that, given a link to the list of available AWS products available in the Cloudformation documentation, will parse the documentation and generate javascript files representing scenery classes.
This task depends on #23 being complete, because there are property type function constructors not yet implemented
This task should complete #37 automatically

See https://github.com/OpenWhere/scenery_generator


Start of mod. Basic skeleton put in place.

GitHub seems to be struggling to check the ability to merge. Hopefully this causes the process to restart. Not a particularly large commit, so shouldn't be struggling...


Not Compatible with .net core

Hi Team,
Requesting you to change the code as per .NET Standard, so that it will be compatible with both .net framework and .net core.
Please find an alternative for the below two library.
System.Web.Script.Serialization;
Microsoft.VisualBasic.FileIO;
Regards
Sujay Babu

We have plans to port it to .Net core. But we can't give an ETA at the moment. Because our existing clients are on .Net standard. This will be probably a part of the next major release.

Any idea when this porting to .NET Core would be complete ?


feat: support more platform

#242  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Brooooooklyn and the rest of your teammates on  Graphite


Minecraft server not detecting connected players

Bug Report
System Information

Microsoft Windows Server 2022 Standard
<IP_ADDRESS>
AMP release stream: Mainline

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms

What are you trying to do?
Detect players who join the game
What are you expecting to happen?
See them in the list and in the Active users count
What is actually happening? ('Nothing' is not an acceptable answer!)
Player joins and AMP doesn't register it, the server then goes to sleep because it doesn't see any players

Reproduction

Create new instance and install Official, Stable, 1.19
Start the server and connect ingame

Guessing this is because the join message changed in the latest version?
If that's the case the new join message looks simply like this:
playername joined the game

Please, try it again on the latest version of AMP. I don't see this issue on Java or Bedrock.

Yeah, it has been updated since. Forgot to close the thread, sorry.


CSS syntax highlighting never terminates in HTML document when using multiple nested @ rules

Issue Type: Bug
When using multiple nested @ rules in an inline  tag is encountered.
Here's a minimal test document that exhibits the buggy behaviour. (Strangely, this seems to break in GitHub's syntax highlighter as well.)

	Some page div
	span {font-size: 14pt;}

The span rule in the div tag is hilighted as if it was in the style tag, and the class attribute on the div tag is not higlighted.
Removing the font-weight rule fixes the issue, as does removing @bottom-center. This also works fine, for some reason:

	Some page div
	span {font-size: 14pt;}

...

VS Code version: Code 1.42.1 (c47d83b293181d9be64f27ff093689e8e7aed054, 2020-02-11T14:45:59.656Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (8 x 3408)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.88GB (6.02GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

@octref the problem is in https://github.com/octref/language-css and my usual system for grammar issues is to file them in the owning repo then close the vscode issue as upstream. Are you no longer maintaining that repo?

You can open issues in atom/language-css...I'm not sure when I'll get around to fixing that.

Moved to upstream repo: https://github.com/atom/language-css/issues/168


add azure service linker sample in metadata

I'm trying the add azure-service-linker sample in https://github.com/Azure/azure-sdk-for-java/pull/28333,
But it is blocked by the metadata script, so add metadata here.

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

As product name is service connector, change name to service connector https://docs.microsoft.com/azure/service-connector
@weshaggard please help to review it.

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

/azp run azure-sdk-tools - sync - eng-common

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Update submodules for docs

the submodules commits are out of date as such they show incorrect information such as the recommendation to use react-celo. 👎
https://github.com/valora-inc/docs/tree/main/submodules

Woops, the automation got stuck. Fixed in #686.
Now it says we recommend https://github.com/celo-org/rainbowkit-celo, but this should be changed once I can get Valora added directly to RainbowKit.


fix tests , run the expected data to run through the filtering again …

…to ignore the columns

@jspeed-meyers  alternate way is to ignore the changes in the tests file and change the data here https://github.com/chainguard-dev/image-comparison/blob/main/test_data/test_expected_data.csv


Redis Benchmark Performance

I compared the envoy performance with redis cluster using redis benchmark and found the following results for client and server in different vms in same region -

Redis cluster - 2M requests sent from one vm to redis cluster
redis-benchmark -t set,get -n 2000000 -q -h ip -p 6379 --cluster --csv -r 100000
"test","rps","avg_latency_ms","min_latency_ms","p50_latency_ms","p95_latency_ms","p99_latency_ms","max_latency_ms"
"SET","64470.38","0.722","0.216","0.623","1.191","3.287","16.591"
"GET","61965.55","0.746","0.216","0.639","1.263","3.463","18.559"

Redis cluster with envoy proxy - 0.66M requests sent from 3 vms to 3 envoy proxy vms total of 2 M requests
One redis server and one proxy running in one vm
redis-benchmark -t set,get -n 666666 -q -h ip -p 1999 --csv -r 100000
"test","rps","avg_latency_ms","min_latency_ms","p50_latency_ms","p95_latency_ms","p99_latency_ms","max_latency_ms"
"SET","13855.10","3.535","0.512","3.135","6.799","10.127","34.623"
"GET","18646.44","2.594","0.424","2.375","4.711","7.327","33.599"

I even tried to increase -c number of clients but there was no change in performance.
Why there is such difference in performance?
static_resources:
  listeners:
  - name: redis_listener
    address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 1999
    filter_chains:
    - filters:
      - name: envoy.redis_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.redis_proxy.v3.RedisProxy
          stat_prefix: egress_redis
          settings:
            op_timeout: 10s
            enable_redirection: True
            enable_hashtagging: False
            read_policy: ANY
            max_buffer_size_before_flush: 1024
            buffer_flush_timeout: 0.003s
          prefix_routes:
            routes:
              - prefix: "" # Route based on prefix, keys starting with prefix_ will be written to both standard and new
                cluster: "redis_cluster"
                request_mirror_policy: [{cluster: "redis_cluster_two", exclude_read_commands: True}]
            catch_all_route:
              cluster: "redis_cluster"
  clusters:
  - name: redis_cluster
    connect_timeout: 10s
    type: static  # static
    load_assignment:
      cluster_name: redis_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: ip1
                port_value: 6379
        - endpoint:
            address:
              socket_address:
                address: ip2
                port_value: 6379
    typed_extension_protocol_options:
        envoy.filters.network.redis_proxy:
          "@type": type.googleapis.com/envoy.extensions.filters.network.redis_proxy.v3.RedisProtocolOptions
  - name: redis_cluster_two
    connect_timeout: 10s
    type: static  # static STRICT_DNS
    load_assignment:
      cluster_name: redis_cluster_two
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: ip1
                port_value: 6379
        - endpoint:
            address:
              socket_address:
                address: ip2
                port_value: 6379
    typed_extension_protocol_options:
        envoy.filters.network.redis_proxy:
          "@type": type.googleapis.com/envoy.extensions.filters.network.redis_proxy.v3.RedisProtocolOptions
admin:
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 8001

cc @msukalski @henryyyang @mattklein123 @weisisea as redis extension owners
@NirmalP29 I wonder if it's related to the redis config or the non-redis Envoy config.
Do you see similar performance issues If you have a simple echo upstream cluster (e.g., using nighthawk-server)?

@adisuissa We haven't tried nighthawk-server yet. Are you saying that the envoy config is fine? We need not update anything in the config? Also, we tried setting '--concurrency 10', but didn't observe any performance improvements.

I don't have enough experience using the redis extension nor the redis-benchmark.
If you increase the concurrency, and you don't see a higher CPU utilization, then it's not the number of worker threads that Envoy uses.
Another thing to check is if the connections from Envoy to the redis clusters are closed, and if so, why.

envoy_redis_egress_redis_command_get_latency_sum{} 1224.9499999999998181010596454144
envoy_redis_egress_redis_command_get_latency_count{} 170

1224 / 170 = 7.2ms
I am getting this latency when proxy and redis are deployed on same vm. What is the expected latency in this scenario?

Got the right latency when I removed this from the envoy config.
max_buffer_size_before_flush: 1024
buffer_flush_timeout: 0.003s

redis-benchmark -t set,get -n 5000 -q -h ip -p port --csv -r 1000 -d 1024
"test","rps","avg_latency_ms","min_latency_ms","p50_latency_ms","p95_latency_ms","p99_latency_ms","max_latency_ms"
"SET","23041.47","2.075","0.720","1.967","3.215","4.215","6.743"
"GET","23474.18","2.015","0.480","1.863","3.391","4.855","8.967"

@adisuissa @HenryYYang Can we setup a quick call to go over the configuration and see if we are missing anything (since this is a little urgent)? Do you want any specific details for the same? Is it valid to expect the following latencies via Envoy?
$ redis-benchmark -t set,get -n 5000 -q -h ip -p 1999 --csv -r 1000 -d 1024
"test","rps","avg_latency_ms","min_latency_ms","p50_latency_ms","p95_latency_ms","p99_latency_ms","max_latency_ms"
"SET","23041.47","2.075","0.720","1.967","3.215","4.215","6.743"
"GET","23474.18","2.015","0.480","1.863","3.391","4.855","8.967"

@mukundv18 I can try to assist, but I've never used redis nor the redis-proxy extension, so not sure how much I can contribute here.

Thanks @adisuissa if you can help us with the answers for the following questions. That will be helpful.

Can redis-benchmark be used to test Envoy with Redis Cluster?
When using redis-benchmark with Envoy what latency values are considered 'good' ?
Can we compare the performance stats of Envoy directly with Redis Cluster? Is that a valid comparison?
Are there any specific configuration details that need to be taken care or looked into?
We see good performance on Envoy using NightHawk and good performance on Redis Cluster using redis-benchmark. However, when testing Redis-Cluster via Envoy using Redis-Benchmark, the numbers are as mentioned in the previous comment. Are we missing something? Is there a way to test Envoy+Redis-Cluster via NightHawk?


Use optional dependencies for different MISP integrations

:notebook_with_decorative_cover: Description
Attributes can either be exported from MISP via ZeroMQ or via Kafka. The MISP plugin supports both, but also used to force the user to have both dependencies installed.
This PR eliminates the need to install both dependencies by using extra dependencies (PEP 508). This breaks how the plugin is installed:
pip install threatbus-misp[zmq]
pip install threatbus-misp[kafka]

A plain pip install threatbus-misp without specifying the extras option works, but the plugin will throw a critical error during config validation and terminate right after.
:memo: Checklist

[x] All user-facing changes have changelog entries.
[x] The changes are reflected on docs.tenzir.com/threatbus, if necessary.
[x] The PR description contains instructions for the reviewer, if necessary.

:dart: Review Instructions
Commit-by-commit.

@satta fyi :wink: that should simplify the dependency management!

That sounds great! 👍

Looks good, will test once we upgrade to the latest version everywhere. Not sure how I would test this [] syntax without it being on PyPi.

@satta you can simply do pip install .[zmq]

Ah thanks! I tried pip install git+https://... but wasn't sure how to pass the feature options there.


[Request] export styles in package.json in version 11.0.0-alpha1

I need import some css files like the following:
import xcodeCSS from "highlight.js/styles/xcode.css"
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './styles/xcode.css' is not defined by "exports" in ******\node_modules\highlight.js\package.json

Is that truly necessary even for Just css files?  I think that might really turn me off to the whole exports idea. 😐

What packaging/build system are you using that's throwing that error?

@aduh95 Does this sound right to you?  I never even gave this a moments thought during the whole discussion because I thought the idea was to scope the loading of CODE modules not just random assets (images, CSS, etc)...

Hum I didn't realize bundlers were also doing package encapsulation.. I think you should opt-out of it for non-JS folders, PR is on its way.

Oh I think I forgot you could just do that, but don't we need sub-path patterns now?
https://nodejs.org/api/packages.html#packages_subpath_folder_mappings

@strrchr Could you build main as of https://github.com/highlightjs/highlight.js/commit/bcc116c468573c37f6b6e90c4e8702f390fad9dd and test that this resolves your problem?


[#112876059] Deployment deletion failures

This PR makes deployment auto-deletion more robust in two ways:

By deterministically delaying the deletion based on the environment name we ensure that fewer environments will not be auto-deleting at the same time, thus making us less likely to hit the AWS per-account rate limit.
By using --force we cause bosh to attempt to remove the deployment even when some conditions are not met.

How to test
Run the autodelete-cloudfoundry pipeline on a deployed environment - you should see Sleeping for X seconds before deletion.. appear in the log, and the deletion will proceed X many seconds later.
Who can review
Not @jonty or @timmow, who thinks this story was too easy and would like harder ones.

Applied to my deployment. I'll let it auto-delete tonight and see how it went tomorrow...

Works well. Didn't get any throttling on the last env. delete.

:clap:


Remove duplicate word in initial design documentation

What happened:
This is to remove duplicate word in the initial design documentation - https://github.com/fidelity/kconnect/blob/main/docs/proposals/20200607-initial-design.md
What did you expect to happen:
Remove duplicate 'get get'

There doesn't exist a good open source solution that based on your user credentials (i.e. SAML, OAuth2/OIDC, IAM) will discover what Kuberneres clusters you have access to and how to get get the kubeconfig file for a cluster you have access to.

I will be working on fixing this documentation


ci: fix pr number in adding failed tests

Description
fix pr number in adding failed tests
Fixes # (issue)
Media
Type of change

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

How Has This Been Tested?
Test Plan
Issues raised during DP testing
Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=7ca1dd1c87dc38b6a300e85253a87833a1277b1e


fix(runtime-core): should not fallthrough attr if it has been declared as a prop in the root component

close #8969
NOTE: this maybe a breaking change

/repl

/ecosystem-ci run

Sry, but I didn't get your point. Could you please provide more detailed info about your PR, like motivation? Also, unit tests are required.

@sxzz
this PR seems to fix this scenario and not related to #8969

/ecosystem-ci run

CI failed. We need fix it first


Enable Sourcegraph

I want to use Sourcegraph code search with mesos-go. A project maintainer needs to enable it to set up a webhook so the code is up-to-date there.
Could you please enable mesos-go on @Sourcegraph by going to https://sourcegraph.com/github.com/mesos/mesos-go and clicking on Settings? (It should only take 15 seconds.)
It really helps when I am navigating source and would be highly appreciated.

Already done.


[Bug] Recurring QuotaExceeded error

Bug Description
NextChat crashing regularly with:
QuotaExceededError: The Quota Has been exceeded.
I've tried multiple higher settings in both "Max Tokens" and "History Compression Threshold", and now back to 10000.
This recurrs regardless of token or model used. This seemed to start after adding Anthropic API, with lower token limit, and hence required I changed token limit.
I've since changed back/uninstalled/reset/cleared data and it's made no difference.
I'm also getting quota exceeded messages on short prompt replies, right now gpt-4o-2024-05-13
{
  "error": true,
  "message": "The quota has been exceeded."
}

On trying to prompt:

On creating a new empty chat:

Steps to Reproduce
Write prompts,
Expected Behavior
Complete prompt, not crash
Screenshots
No response
Deployment Method

[ ] Docker
[ ] Vercel
[ ] Server

Desktop OS
Macos 14.5
Desktop Browser
NextChat
Desktop Browser Version
2.12.4
Smartphone Device
No response
Smartphone OS
No response
Smartphone Browser
No response
Smartphone Browser Version
No response
Additional Logs
No response

the same here

So, I've reset, uninstalled again, and it seemed stable, then I reimported my backed up json (Note the the max tokens or history compression are not changing), and the same issues reoccur.

针对多模态的模型，之前的系统将图片压缩后以base64格式存放到localStorage，这会触发QuotaExceededError错误。
v2.13.1 版本，将图片放到CacheStorage（这个能存放的文件数量和磁盘大小有关，而不是限制在10M以内）
这个版本应该能解决QuotaExceededError的问题。
但是，这里还没有针对旧的图片做兼容处理，可以先移除旧消息中的一两张比较大的图片，再升级到新版本。

Sounds good, tho I've likely used a total of 2 images in the many months I've used NexChat, so . .  🤷♂.
Any trick/issue with importing my "corrupted" JSON into 2.13.1?


Results don't always show

Issue Type: Bug
Sometimes, believe only with the Powershell Kernal, I don't see any results after code block has ran. Doesn't appear to have errored but with no results. I'm unsure.
Azure Data Studio version: azuredatastudio 1.23.0 (d296b6397e0acfddc57e9085e736e084969cdaeb, 2020-10-13T23:03:09.799Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz (8 x 2904)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.85GB (19.74GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (7)

Extension
Author (truncated)
Version

admin-pack
Mic
0.0.2

agent
Mic
0.47.0

dacpac
Mic
1.6.0

import
Mic
1.1.0

powershell
ms-
2020.4.0

profiler
Mic
0.11.0

sql-prompt
Red
0.2.2

@chris904apps, can you please confirm that you are using the newly released PowerShell kernel 0.1.4.
You are able to update to the new version via the manage packages dialog. Search for powershell_kernel (in the Add new) package manager dialog, and then make sure the version is 0.1.4 as shown below.

Closing this as we need more info.

Closing this as we need more info.


Add a ListTasks function for getting a list of task ids

Essentially a copy and paste of ListApplications()

the build failure is unrelated ... I'm guessing they have changed the url.Parse() method in tip .. merging in now


there are some errors in readme.md

git checkout refactor

The refactor branch don't exist. Does it have matter?

git clone git@git.lumc.nl:mlefter/mutalyzer-visualization-vuetify.git

it seem to be a private repository. Could it be shared?

thanks!

Thanks for the notice @fengfeng0918.
There is no need any longer to checkout refactor.
The current front-end repository is the following:
https://github.com/mutalyzer/website
We'll update the README accordingly.


Permission error setting up docker-compose via Docs

Just tried the current setup related into Docs with following docker-compose:
version: '3'

services:
  kms:
    image: ghcr.io/py-kms-organization/py-kms:python3
    ports:
      - 1688:1688
      - 8080:8080
    environment:
      - IP=<IP_ADDRESS>
      - SQLITE=true
      - HWID=RANDOM
      - LOGLEVEL=INFO
      - LOGFILE=/dev/stdout
    restart: always
    volumes:
      - ./db:/home/py-kms/db
      - /etc/localtime:/etc/localtime:ro

Resultet into this Output:
`Creating network "py-kms_default" with the default driver
Creating py-kms_kms_1 ... done
Attaching to py-kms_kms_1
kms_1  | Tue, 21 Dec 2021 04:59:32 INFO     Log level: INFO
kms_1  | Tue, 21 Dec 2021 04:59:32 INFO     Setting timzeone to America/Chicago
kms_1  | Tue, 21 Dec 2021 04:59:32 INFO     Setting gid to '1000'.
kms_1  | Tue, 21 Dec 2021 04:59:32 INFO     Setting uid to '100'.
kms_1  | Tue, 21 Dec 2021 04:59:32 INFO     Storing database file to /home/py-kms/db/pykms_database.db
kms_1  | Traceback (most recent call last):
kms_1  |   File "/home/py-kms/pykms_Server.py", line 640, in <module>
kms_1  |     server_main_no_terminal()
kms_1  |   File "/home/py-kms/pykms_Server.py", line 571, in server_main_no_terminal
kms_1  |     server_with_gui()
kms_1  |   File "/home/py-kms/pykms_Server.py", line 564, in server_with_gui
kms_1  |     root = pykms_GuiBase.KmsGui()
kms_1  |   File "/home/py-kms/pykms_GuiBase.py", line 68, in __init__
kms_1  |     tk.Tk.__init__(self, *args, **kwargs)
kms_1  |   File "/usr/lib/python3.9/tkinter/__init__.py", line 2270, in __init__
kms_1  |     self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
kms_1  | _tkinter.TclError: no display name and no $DISPLAY environment variable
kms_1  |
kms_1  | During handling of the above exception, another exception occurred:
kms_1  |
kms_1  | Traceback (most recent call last):
kms_1  |   File "/home/py-kms/pykms_Server.py", line 642, in <module>
kms_1  |     server_main_terminal()
kms_1  |   File "/home/py-kms/pykms_Server.py", line 543, in server_main_terminal
kms_1  |     server_check()
kms_1  |   File "/home/py-kms/pykms_Server.py", line 409, in server_check
kms_1  |     check_setup(srv_config, srv_options, loggersrv, where = "srv")
kms_1  |   File "/home/py-kms/pykms_Misc.py", line 549, in check_setup
kms_1  |     logger_create(logger, config, mode = 'a')
kms_1  |   File "/home/py-kms/pykms_Misc.py", line 179, in logger_create
kms_1  |     hand_rotate = RotatingFileHandler(filename = config['logfile'][0], mode = mode, maxBytes = int(config['logsize'] * 1024 * 512),
kms_1  |   File "/usr/lib/python3.9/logging/handlers.py", line 153, in __init__
kms_1  |     BaseRotatingHandler.__init__(self, filename, mode, encoding=encoding,
kms_1  |   File "/usr/lib/python3.9/logging/handlers.py", line 58, in __init__
kms_1  |     logging.FileHandler.__init__(self, filename, mode=mode,
kms_1  |   File "/usr/lib/python3.9/logging/__init__.py", line 1146, in __init__
kms_1  |     StreamHandler.__init__(self, self._open())
kms_1  |   File "/usr/lib/python3.9/logging/__init__.py", line 1175, in _open
kms_1  |     return open(self.baseFilename, self.mode, encoding=self.encoding,
kms_1  | PermissionError: [Errno 13] Permission denied: '/dev/stdout'
kms_1  | Tue, 21 Dec 2021 04:59:37 INFO     Starting a dummy activation to ensure the database file is created
kms_1  | Traceback (most recent call last):
kms_1  |   File "/home/py-kms/pykms_Client.py", line 364, in <module>
kms_1  |     clt_main(with_gui = False)
kms_1  |   File "/home/py-kms/pykms_Client.py", line 275, in clt_main
kms_1  |     client_check()
kms_1  |   File "/home/py-kms/pykms_Client.py", line 124, in client_check
kms_1  |     check_setup(clt_config, clt_options, loggerclt, where = "clt")
kms_1  |   File "/home/py-kms/pykms_Misc.py", line 549, in check_setup
kms_1  |     logger_create(logger, config, mode = 'a')
kms_1  |   File "/home/py-kms/pykms_Misc.py", line 179, in logger_create
kms_1  |     hand_rotate = RotatingFileHandler(filename = config['logfile'][0], mode = mode, maxBytes = int(config['logsize'] * 1024 * 512),
kms_1  |   File "/usr/lib/python3.9/logging/handlers.py", line 153, in __init__
kms_1  |     BaseRotatingHandler.__init__(self, filename, mode, encoding=encoding,
kms_1  |   File "/usr/lib/python3.9/logging/handlers.py", line 58, in __init__
kms_1  |     logging.FileHandler.__init__(self, filename, mode=mode,
kms_1  |   File "/usr/lib/python3.9/logging/__init__.py", line 1146, in __init__
kms_1  |     StreamHandler.__init__(self, self._open())
kms_1  |   File "/usr/lib/python3.9/logging/__init__.py", line 1175, in _open
kms_1  |     return open(self.baseFilename, self.mode, encoding=self.encoding,
kms_1  | PermissionError: [Errno 13] Permission denied: '/dev/stdout'`

Could "fix" the Permission issue on /dev/stdout temporarly by using a fixed location with .log ending within the docker-compose file to another folder but the DB issue stays.

https://github.com/moby/moby/issues/31243#issuecomment-406879017


Cannot create custom group-header template for row-grouping outside  tag

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
<ngx-datatable class="material"
               [class.Android4]="isAndroid4"
               [rows]="rows"
               [columns]="columns"
               [rowClass]="rowClass ? rowClass : null"
               [columnMode]="'force'"
               [headerHeight]="50"
               [footerHeight]="50"
               [rowHeight]="null"
               [limit]="10"
               [loadingIndicator]="loadingIndicator"
               [groupRowsBy]="groupRowsBy"
               [groupExpansionDefault]="groupExpansionDefault">

        <!-- Group Header Template -->
        <ngx-datatable-group-header *ngIf="groupRowsBy">
            <ng-template let-group="group" let-expanded="expanded" ngx-datatable-group-header-template>
                    <button class="btn btn-link link">{{group.key}}</button>
            </ng-template>
        </ngx-datatable-group-header>

</ngx-datatable>

I am not able to create group header template outside the scope of .
Under app.component I have 2 components

status.component and 2. table.component which are siblings of each other.

table component has the above code
Various things I tried in status.component but it does not work.

created the same group header template in status.component but there is no way to link it to the

        <!-- Group Header Template -->
        <ngx-datatable-group-header *ngIf="groupRowsBy">
            <ng-template let-group="group" let-expanded="expanded" ngx-datatable-group-header-template>
                    <button class="btn btn-link link">{{group.key}}</button>
            </ng-template>
        </ngx-datatable-group-header>

used ng-content to replace it with group header template but that does not work too

<ngx-datatable class="material"
               [class.Android4]="isAndroid4"
               [rows]="rows"
               [columns]="columns"
               [rowClass]="rowClass ? rowClass : null"
               [columnMode]="'force'"
               [headerHeight]="50"
               [footerHeight]="50"
               [rowHeight]="null"
               [limit]="10"
               [loadingIndicator]="loadingIndicator"
               [groupRowsBy]="groupRowsBy"
               [groupExpansionDefault]="groupExpansionDefault">

        <!-- Group Header Template -->
        <ng-content></ng-content>

</ngx-datatable>

Tried to search for property that can be assigned as group-header-template (something similar to cellTemplate from column) but couldn't find that

Expected behavior
Should be able to create custom header template outside the scope of
Reproduction of the problem

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Table version: 11.1.5
Also checked with latest version but doesn't work

Angular version: 5.2.1

Browser: Chrome XX

Language: TypeScript 2.7.1

i bet if you remove [limit] the grouping starts working (I'm having this issue now)


btw querySelector can return null

element.querySelector is returning null | Element per https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
the definition has it:
interface NodeSelector {
    querySelector<T extends Element>(selectors: string): T;
}

please fix

Gotta love the DOM APIs...

What version of TS are you running? Looks like the current definition has it correct https://github.com/Microsoft/TSJS-lib-generator/blob/master/baselines/dom.generated.d.ts#L13745

appears fixed


[bug] RHDS site status component icon is missing the white checkmark

Describe the bug
When the component loads the icon is only showing a green circle and no checkmark. I noticed when looking in the shadow root that the path in the svg is nested within another path but on the rhds site the paths are siblings not nested and the icon is correct. I have no idea why the paths are getting nested.
Which Component?
rh-site-status
Steps to reproduce
The rh-site-status component in the footer of access.redhat.com is not live yet. The live footer is using the old hard coded status widget.
I am able to reproduce this issue by:

Cloning the Primer repo locally
Adding the import statement at the end of body in the root index.html file
Adding the  component to the footer within the ul#status-widget__desktop li
Go to the project local url: https://prod.foo.redhat.com:1337/services/primer/example/
Scroll to the footer
Observe that the icon is only a green circle instead of a green circle with the checkmark.

Here is the svg that is getting loaded into Primer
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none">
  <!--?lit$837365295$-->
  <path d="M8 16.5C12.4183 16.5 16 12.9183 16 8.5C16 4.08172 12.4183 0.5 8 0.5C3.58172 0.5 0 4.08172 0 8.5C0 12.9183 3.58172 16.5 8 16.5Z" fill="#63993D">
     <path d="M6.89999 12.1C6.69999 12.1 6.49999 12 6.39999 11.9L3.49999 9.00001C3.19999 8.70001 3.19999 8.30001 3.49999 8.00001C3.79999 7.70001 4.19999 7.70001 4.49999 8.00001L6.89999 10.4L11.5 5.80001C11.8 5.50001 12.2 5.50001 12.5 5.80001C12.8 6.10001 12.8 6.50001 12.5 6.80001L7.39999 11.9C7.19999 12 6.99999 12.1 6.89999 12.1Z" fill="white"></path>
   </path>
</svg>

Here is the svg getting loaded in the rhds demo
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"><!--?lit$774017727$-->
    <path d="M8 16.5C12.4183 16.5 16 12.9183 16 8.5C16 4.08172 12.4183 0.5 8 0.5C3.58172 0.5 0 4.08172 0 8.5C0 12.9183 3.58172 16.5 8 16.5Z" fill="#63993D"></path>
    <path d="M6.89999 12.1C6.69999 12.1 6.49999 12 6.39999 11.9L3.49999 9.00001C3.19999 8.70001 3.19999 8.30001 3.49999 8.00001C3.79999 7.70001 4.19999 7.70001 4.49999 8.00001L6.89999 10.4L11.5 5.80001C11.8 5.50001 12.2 5.50001 12.5 5.80001C12.8 6.10001 12.8 6.50001 12.5 6.80001L7.39999 11.9C7.19999 12 6.99999 12.1 6.89999 12.1Z" fill="white"></path>
</svg>

For some reason the one being loaded on Primer has the path nested inside of the other one instead of two separate paths at the same level.
Expected behaviour
The green circle loads with the white checkmark
Screenshots
Loading the component in Primer locally

Loading the component in the rhds demo

Element HTML
<rh-site-status></rh-site-status>

Operating System (OS)
macOS
Browser
Chrome
More browser information
Chrome 125
Mac OS (Sonoma)
RHDS v1.4.1
Additional Info
No response

If anyone needs help getting Primer setup to reproduce the issue. Please reach out to me. The README that is in main for Primer is slightly outdated and the updated README is being worked on but not live yet.

Based on a diff check it appears there is a </path> close tag out of wack given the code snippets above:
https://www.diffchecker.com/Cw6VaTQx/
Given we use XML base tag closures in the code:
https://github.com/RedHat-UX/red-hat-design-system/blob/8eebce683d0cd6a9c79aa28779f2bf2ef54f3aa0/elements/rh-site-status/rh-site-status.ts#L71-L82
I wonder if something in Primer could be parsing that weird given the discrepancy in output.
I will attempt to install the Primer project locally and take a look.

@zeroedin I am just now starting to really work on the Primer repo deeply so I am not fully familiar with how everything is parsed and works. However, I will dig through the Primer code to see if I see anything interfering with the svg parsing and get back to you!.


Enable filenames with generic file extensions - outfile.& => outfile.xlsx

It should be possible to use generic filenames like "37- Read template and output**.&**" and set the extension with writer class

https://github.com/abap2xlsx/demos/pull/35


Update toneMelody.ino

no more magic numbers for eg the buzzer pin

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


New Translator samples

Readme updated to new format with new images and flow texts

There ar 5 conflicts in the translator readme, which need to be resolved. Also our convention for sample flows is to have them as .json files. The .txt files need to be renamed to .json


404 Error and /myrtille/myrtille/Default.aspx not found

When I try to access http://localhost/myrtille I get this,

Thanks for the response. I was accessing the above URL through a reverse proxy, and that was causing the issue. I found a workaround for now by opening the http:\localhost and then redirecting to the the URL my app creates.
For full context you can see:
https://github.com/matifali/coder-templates/tree/main/gcp-windows-rdp


axis.ticks doc confusing

What does the argument of axis.ticks() really mean? i've studied the api doc of axis.ticks and axis.tickArguments for two days, it is so confusing.

I’m sorry you found the documentation confusing. I’ve attempted to make them clearer; please see axis.ticks and axis.tickArguments. If that didn’t help, please elaborate on which parts you find confusing or what questions you have, and I will try to make it clearer. Thank you!

If you wouldn't mind, what if put an example of every kind of usage, or at least, every kind of common usage of axis.ticks and axis.tickArguments to show what it can do? I've finished several of my jobs correctly, but still feel confusing about how to set the axis correctly, just try and fail or success, not having a concept in mind about what kind of method I should use. But am I saying this makes you confusing, too? I'm confusing, too. haha... Thank you!

For example, what is the relationship of tick values and x data set? or tick values is just some independent values that I can set as I wish? and what about the relationship of tick interval(the length between x axis ticks) and x axis data set? and what is the relationship of tick interval and tick values? This kind of things drive me crazy. Thanks for your help

There are really only two common ways to use axis.ticks (and axis.tickArguments or axis.tickValues), and they are already documented in the README.
The first is to specify a suggested number of ticks rather than using the default suggestion of 10:
axis.ticks(20);

A slight variation of this is to also give a tick format specifier, such as s for SI-prefix formatting (see d3-format):
axis.ticks(20, "s");

The reason that axis.ticks also takes an optional format specifier is that this method lets the scale automatically set the precision of the format based on the generated ticks, whereas using axis.tickFormat requires you to specify the precision manually.
The second way of using axis.ticks is with a time scale, where you might want to pass a time interval instead of specifying the desired number of ticks:
axis.ticks(d3.timeHours);

You can only use a time interval with a time scale; there’s no equivalent way of specifying a fixed tick interval for numeric scales, since it is computed automatically from the desired number of ticks.
(Note that any optional format specifier to axis.ticks when using a time scale is ignored, per time.ticks, as time scales always use the same format specifier. You can however use axis.tickFormat to specify a custom tick format for any scale, including time scales.)
The axis.tickArguments method is almost never used, but is useful if you want to retrieve arguments previously set by axis.ticks and apply them to a secondary axis. For example:
axis1.ticks(20);
axis2.tickArguments(axis1.tickArguments());

(The axis.ticks method can’t be called in “getter” mode because it would be asymmetric; D3’s getter-setter methods always take one argument and return one value.)
Lastly, axis.tickValues can be used instead of axis.ticks if you want to hard-code specific tick values rather than relying on the scale (see continuous.ticks, for example) to generate those ticks automatically from the scale’s domain and the desired number of ticks. For example, if you wanted ticks at 0, 5 and 10:
axis.tickValues([0, 5, 10]);

Thanks very much for your help, so I feel standing on the shoulders of you. haha

So after specifying the tickvalues, how does d3 know what to show up on the tick? I want to specify the exact string on the tick. For example, If I what a fibonacci array to draw on the x axis but with the format of roman numerals. (II ... III ... V ... ...)  What should I do? Should I first generate a fibonacci array fibArr = [2,3,5...] and then pass it to tickValues axis.tickValues(fibArr)? If so, what should I do next?
Intuitively, there should be a way to map the tickValues array to the string I really need to show up on the axis. Sorry to bother you. Hope for your reply. Thank you very much!

The tick values determine the position of the tick, by being passed through
the scale.
To control how the tick values are formatted as labels (strings), specify a
tick format. You could example implement your Roman numeral for formatter
by passing a function to axis.tickFormat that returns a string for the
given number.
Please use Stack Overflow if you more questions. I can’t always reply to
these issues, which are intended for bug reports and discussions around
feature requests. Thank you for your understanding.

OK. Thank you for your help.


Can I mock an observation in client-demo?

Question
Hi,
For development, I'm running the LwM2M server locally and the client-demo locally which works against the local server.
I'm able to trigger bootstrap + register + update, but I'm also looking for sending a notification from the client-demo by having an observation. Is that possible to do? I couldn't find that.
Thanks!

LwM2M server locally

I understand you are talking about  leshan-server-demo but I'm not 100% sure.

but I'm also looking for sending a notification from the client-demo by having an observation. Is that possible to do?

You can test Observe feature with leshan demos by sending an Observe Request using leshan-server-demo UI ( OBS button).
You can test on Device object (/3) or more precisely Current Time resource (/3/0/13) and client will send notify periodically (I'm not totally sure but something like each 5s)
OR if you can observe Location (/6) (or subpart of it), then change leshan-client-demo  location with interactive command  :
Usage:  move [-adsw]
Simulate client mouvement.
  -w, north   Move to the North
  -a, east    Move to the East
  -s, south   Move to the South
  -d, west    Move to the West

(Interactive command is available after you start the client, not to be confused with options at launch)
OR you can observe Test Object (/3442) (or subpart of it), and you send Execute request on Randomize values, Clear values, Reset values resources.


Distribute unminified/ unbundled code

There is no reason to distribute a minified code. Furthermore, there is no reason to distribute a bundled code. All you are doing is preventing common chunk optimisation that could be achieved at the bundler level and increasing the overall script size.

@gucheen any updates on this?

@gajus I'm currently working on a new version of FetchQL, it will be a 'pure' version of this tools.
I'm agree with that now building tools are widely used in Web Front-End development.
So, it won't be bundled by default.
Thanks for your suggestion.


Foreign key relation results in erroneous second migration

Bug description
In a case where table B has two foreign key relations to table A, the first migration generation via prisma migrate dev reset is correct, but running it again (without changing the schema) wants to create an erroneous second migration
How to reproduce
Add the following to your schema.prisma
model prisma_bug_1 {
  id1            BigInt
  id2            BigInt
  prisma_bug_2_a prisma_bug_2[] @relation("a")
  prisma_bug_2_b prisma_bug_2[] @relation("b")

  @@id([id1, id2])
}

model prisma_bug_2 {
  id BigInt @id

  prisma_bug_1_id1 BigInt
  prisma_bug_1_id2 BigInt

  prisma_bug_1_a prisma_bug_1  @relation("a", fields: [prisma_bug_1_id1, prisma_bug_1_id2], references: [id1, id2], map: "prisma_bug_1_a_fk")
  prisma_bug_1_b prisma_bug_1? @relation("b", fields: [prisma_bug_1_id1, prisma_bug_1_id2], references: [id1, id2], map: "prisma_bug_1_b_fk")
}

this is based on something we hit in a context where it made sense, as these things go
running prisma migrate dev reset, the first migration it creates is correct. for reference:
-- CreateTable
CREATE TABLE "prisma_bug_1" (
    "id1" BIGINT NOT NULL,
    "id2" BIGINT NOT NULL,

    CONSTRAINT "prisma_bug_1_pkey" PRIMARY KEY ("id1","id2")
);

-- CreateTable
CREATE TABLE "prisma_bug_2" (
    "id" BIGINT NOT NULL,
    "prisma_bug_1_id1" BIGINT NOT NULL,
    "prisma_bug_1_id2" BIGINT NOT NULL,

    CONSTRAINT "prisma_bug_2_pkey" PRIMARY KEY ("id")
);

-- AddForeignKey
ALTER TABLE "prisma_bug_2" ADD CONSTRAINT "prisma_bug_1_a_fk" FOREIGN KEY ("prisma_bug_1_id1", "prisma_bug_1_id2") REFERENCES "prisma_bug_1"("id1", "id2") ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "prisma_bug_2" ADD CONSTRAINT "prisma_bug_1_b_fk" FOREIGN KEY ("prisma_bug_1_id1", "prisma_bug_1_id2") REFERENCES "prisma_bug_1"("id1", "id2") ON DELETE RESTRICT ON UPDATE CASCADE;

however, running the migrate command again, again with no change to the schema, you get the following:
Drift detected: Your database schema is not in sync with your migration history.

The following is a summary of the differences between the expected database schema given your migrations files, and the actual schema of the database.

It should be understood as the set of changes to get from the expected schema to the actual schema.

[*] Changed the `prisma_bug_2` table
  [*] Renamed the foreign key "prisma_bug_1_b_fk" to "prisma_bug_1_a_fk"

the migration it creates
-- RenameForeignKey
ALTER TABLE "prisma_bug_2" RENAME CONSTRAINT "prisma_bug_1_b_fk" TO "prisma_bug_1_a_fk";

which then of course immediately fails to apply
Database error code: 42710

Database error:
ERROR: constraint "prisma_bug_1_a_fk" for relation "prisma_bug_2" already exists

DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState(E42710), message: "constraint \"prisma_bug_1_a_fk\" for relation \"prisma_bug_2\" already exists", detail: None, hint: None, position: None, where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("pg_constraint.c"), line: Some(668), routine: Some("RenameConstraintById") }

Expected behavior

a migration created from a schema and applied should be stable. immediately running reset again should never lead to a new migration being created
in a case where you have custom foreign keys (in this case, it is required) it should properly detect that there are two and not try to rename it

Prisma information
model prisma_bug_1 {
  id1            BigInt
  id2            BigInt
  prisma_bug_2_a prisma_bug_2[] @relation("a")
  prisma_bug_2_b prisma_bug_2[] @relation("b")

  @@id([id1, id2])
}

model prisma_bug_2 {
  id BigInt @id

  prisma_bug_1_id1 BigInt
  prisma_bug_1_id2 BigInt

  prisma_bug_1_a prisma_bug_1  @relation("a", fields: [prisma_bug_1_id1, prisma_bug_1_id2], references: [id1, id2], map: "prisma_bug_1_a_fk")
  prisma_bug_1_b prisma_bug_1? @relation("b", fields: [prisma_bug_1_id1, prisma_bug_1_id2], references: [id1, id2], map: "prisma_bug_1_b_fk")
}

Environment & setup

OS: macOS m1
Database: PostgresQL
Node.js version: v18.16.0

Prisma Version
I reproduced this with both 4.16.1 and 5.9.1. the following is for 4.16.1, but I also tried upgrading to ensure it wasn't fixed by 5.9.1
prisma                  : 4.16.1
@prisma/client          : 4.16.1
Current platform        : darwin-arm64
Query Engine (Node-API) : libquery-engine b20ead4d3ab9e78ac112966e242ded703f4a052c (at ../../node_modules/.pnpm/@prisma+engines<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli b20ead4d3ab9e78ac112966e242ded703f4a052c (at ../../node_modules/.pnpm/@prisma+engines@4.16.1/node_modules/@prisma/engines/migration-engine-darwin-arm64)
Format Wasm             : @prisma/prisma-fmt-wasm 4.16.0-66.b20ead4d3ab9e78ac112966e242ded703f4a052c
Default Engines Hash    : b20ead4d3ab9e78ac112966e242ded703f4a052c
Studio                  : 0.484.0

I have run into the exact same issue as well, so I did some digging to see if I could see what might be causing it. I think the issues lies within Prisma Schema Engine however as I don't know Rust I don't feel I can contribute a solution and I'm hoping someone else who does will be able to pick this up.
This is what I found:
https://github.com/prisma/prisma-engines/blob/e66d30dc00faf0c9d53c02f47a511bb304054f91/schema-engine/connectors/sql-schema-connector/src/sql_schema_differ/table.rs#L69-L75
pub(crate) fn foreign_key_pairs(&self) -> impl Iterator<Item = MigrationPair<ForeignKeyWalker<'schema>>> + '_ {
        self.previous_foreign_keys().filter_map(move |previous_fk| {
            self.next_foreign_keys()
                .find(move |next_fk| foreign_keys_match(MigrationPair::new(&previous_fk, next_fk), self.db))
                .map(move |next_fk| MigrationPair::new(previous_fk, next_fk))
        })
    }

The above function seems to compare foreign keys in the database with those in the schema (using the shadow db?), matching them together based on the criteria specified in the foreign_keys_match function...
    references_same_table
        && references_same_column_count
        && constrains_same_column_count
        && constrains_same_columns
        && references_same_columns
        && same_on_delete_action
        && same_on_update_action

The foreign_keys_match function does not look at whether the constraint_name matches, it only looks at other attributes such as whether the same table or columns are referenced. In the example @jcoveney-anchorzero provided this could mean that the foreign key prisma_bug_1_a can be matched to prisma_bug_1_b as they are identical except for by constraint name. This is somewhat understandable because it would need to catch when a foreign key had been renamed to then carry out that rename change in a migration, which is what happens in the function push_foreign_key_pair_changes on lines 496-525.
    if fk
        .map(|fk| fk.constraint_name())
        .transpose()
        .map(|names| names.previous != names.next)
        .unwrap_or(false)
    {
        // Rename the foreign key.

        // Since we are using the conventional foreign key names for the foreign keys of
        // many-to-many relation tables, but we used not to (we did not provide a constraint
        // names), and we do not want to cause new migrations on upgrade, we ignore the foreign
        // keys of implicit many-to-many relation tables for renamings.
        if fk.map(is_prisma_implicit_m2m_fk).into_tuple() == (true, true) {
            return;
        }

        if db.flavour.can_rename_foreign_key() {
            steps.push(SqlMigrationStep::RenameForeignKey {
                foreign_key_id: fk.map(|fk| fk.id),
            })
        } else {
            steps.push(SqlMigrationStep::AddForeignKey {
                foreign_key_id: fk.next.id,
            });
            steps.push(SqlMigrationStep::DropForeignKey {
                foreign_key_id: fk.previous.id,
            })
        }
    }
}

What we are missing is some sort of check in the foreign_key_pairs function to see whether or not we have multiple foreign keys that match each other except for by name.
Interestingly, this situation seems to have already been handled where indexes are concerned in the index_pairs function:
    pub(crate) fn index_pairs<'a>(&'a self) -> impl Iterator<Item = MigrationPair<IndexWalker<'schema>>> + 'a {
        let singular_indexes = self.previous_indexes().filter(move |left| {
            // Renaming an index in a situation where we have multiple indexes
            // with the same columns, but a different name, is highly unstable.
            // We do not rename them for now.
            let number_of_identical_indexes = self
                .previous_indexes()
                .filter(|right| {
                    left.column_names().len() == right.column_names().len()
                        && left.column_names().zip(right.column_names()).all(|(a, b)| a == b)
                        && left.index_type() == right.index_type()
                })
                .count();

            number_of_identical_indexes == 1
        });

        singular_indexes.filter_map(move |previous_index| {
            self.next_indexes()
                .find(|next_index| indexes_match(previous_index, *next_index, self.db.flavour))
                .map(|renamed_index| MigrationPair::new(previous_index, renamed_index))
        })
    }

Maybe we just need something like this fix but for foreign keys i.e. filter the foreign keys down to a list of singular_fks before pairing them together for comparison?

Hey, I can confirm this, you just need to run prisma migrate dev twice. Was a little confused about you mentioning reset :)

Schema
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model prisma_bug_1 {
  id1            BigInt
  id2            BigInt
  prisma_bug_2_a prisma_bug_2[] @relation("a")
  prisma_bug_2_b prisma_bug_2[] @relation("b")

  @@id([id1, id2])
}

model prisma_bug_2 {
  id BigInt @id

  prisma_bug_1_id1 BigInt
  prisma_bug_1_id2 BigInt

  prisma_bug_1_a prisma_bug_1  @relation("a", fields: [prisma_bug_1_id1, prisma_bug_1_id2], references: [id1, id2], map: "prisma_bug_1_a_fk")
  prisma_bug_1_b prisma_bug_1? @relation("b", fields: [prisma_bug_1_id1, prisma_bug_1_id2], references: [id1, id2], map: "prisma_bug_1_b_fk")
}

Migrate Dev : 1
❯ npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:5435"

✔ Enter a name for the new migration: … init
Applying migration `20240524095409_init`

The following migration(s) have been created and applied from new schema changes:

migrations/
  └─<PHONE_NUMBER>5409_init/
    └─ migration.sql

Your database is now in sync with your schema.

Migrate Dev : 2
❯ npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:5435"

Drift detected: Your database schema is not in sync with your migration history.

The following is a summary of the differences between the expected database schema given your migrations files, and the actual schema of the database.

It should be understood as the set of changes to get from the expected schema to the actual schema.

[*] Changed the `prisma_bug_2` table
  [*] Renamed the foreign key "prisma_bug_1_b_fk" to "prisma_bug_1_a_fk"

? We need to reset the "public" schema at "localhost:5435"
Do you want to continue? All data will be lost. › (y/N)

Having taken another look and doing some further investigation, I'm a little concerned about the fix highlighted here. actually, as it causes those indices to be ignored by migrations.

Base case with singular index
model prisma_bug_1 {
  id  Int    @id
  id1 BigInt
  id2 BigInt

  @@index(name: "a", [id1, id2])
}

-- CreateTable
CREATE TABLE "prisma_bug_1" (
    "id" INTEGER NOT NULL,
    "id1" BIGINT NOT NULL,
    "id2" BIGINT NOT NULL,

    CONSTRAINT "prisma_bug_1_pkey" PRIMARY KEY ("id")
);

-- CreateIndex
CREATE INDEX "a" ON "prisma_bug_1"("id1", "id2");

model prisma_bug_1 {
  id  Int    @id
  id1 BigInt
  id2 BigInt

- @@index(name: "a", [id1, id2])
+ @@index(name: "b", [id1, id2])
}

Changes are tracked correctly, it is a simple alter, no drop
-- RenameIndex
ALTER INDEX "a" RENAME TO "b";

Example w/ ""duplicated"" index
model prisma_bug_1 {
  id  Int    @id
  id1 BigInt
  id2 BigInt

  @@index(name: "a", [id1, id2])
  @@index(name: "b", [id1, id2])
}

-- CreateTable
CREATE TABLE "prisma_bug_1" (
    "id" INTEGER NOT NULL,
    "id1" BIGINT NOT NULL,
    "id2" BIGINT NOT NULL,

    CONSTRAINT "prisma_bug_1_pkey" PRIMARY KEY ("id")
);

-- CreateIndex
CREATE INDEX "a" ON "prisma_bug_1"("id1", "id2");

-- CreateIndex
CREATE INDEX "b" ON "prisma_bug_1"("id1", "id2");

model prisma_bug_1 {
  id  Int    @id
  id1 BigInt
  id2 BigInt

  @@index(name: "a", [id1, id2])
- @@index(name: "b", [id1, id2])
+ @@index(name: "c", [id1, id2])
}

Index has been filtered out and causes it to be hidden to migrations
❯ npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "postgres" at "localhost:5435"

Already in sync, no schema change or pending migration was found.

✔ Generated Prisma Client (v5.14.0) to ./node_modules/@prisma/client in 66ms

We noticed this problem when trying to apply a similar fix to foreign keys so whilst the example I'm giving above uses indices, it would apply to FKs as well. So we have a fix now that bypasses this problem however there should also now be a follow-up PR to clean this up for indices.


The item does not appear in the updated list after scrolling for Android ver. < 8

Current behavior
The list item has opacity 0
Expected behavior
The list item should be visible
To Reproduce
I've created a minimally reproducible example: https://snack.expo.dev/@bohdanbida/flashlist-render-issue?platform=android
To see the bug, you need to run it on an old version of Android (< 8) for example by selecting Nexus 5 in the sandbox.
I reproduced the sequence of the first four steps using setTimeouts, so you don't need do anything manually to see it
Steps:

add 20+ records
add one more
scroll down
update the list to one record
check the list, click in the area where the element should be visible

Platform:

[ ] Android, 7.1.2

Environment
Example: https://snack.expo.dev/@bohdanbida/flashlist-render-issue?platform=android to reproduce use Nexus 5 as example

It's been a month, can anyone help with this problem?

I don't see an issue with the snack. Can you explain a bit more? Once the list is updated to once record, I still see the item.