Setting text with long length on TextEdit node is unstable (freezes and low FPS)

Godot version
4.0.alpha13
System information
Arch AMD64
Issue description
I have TextEdit nodes for various debug displays and if I use str() or var2str() on a large dictionary (643 Vector2 keyed and valued entries)  then set the text property of the node to that on every _process() call, the game either freezes or drops to 1-5FPS
e.g.
extends TextEdit
func _process(_delta):
    text = ''
    text = str(large_dictionary)

This wasn't a problem in 3.4.4 stable which I ported this project from.
As a workaround I've done something like the following and theres no performance issues at all:
"res://util/DebugTextEditBase.gd":
extends TextEdit
var _text:
	set(value):
		if value == text:
			print("text hasnt changed")
			return
		text = value
		_text = value
	get:
		return text

My other debug TextEdit node scripts:
extends "res://util/DebugTextEditBase.gd"
func _process(delta):
	var __text = ''
	__text = 'building'
	__text = 'a'
	__text = 'debug'
	__text = str(dictionary)
	__text = 'string'
       _text = __text

It would be nicer if I could override inherited members and not just methods, with new setters and getters.
And even nicer if the text member of TextEdit was more performant like it was in 3.4.4 - perhaps simply by doing the same check.
Also a note that this was happening on Label nodes to, before I changed to TextEdit for syntax highlighting, so perhaps a general issue with the new TextServer
If you would like any more information please ask, thanks.
Steps to reproduce
See above
Minimal reproduction project
No response

And even nicer if the text member of TextEdit was more performant like it was in 3.4.4 - perhaps simply by doing the same check.

In general, it's expected that text handling in 4.0 is slower due to support for right-to-left typesetting and complex scripts.

Out of curiosity, why are you resetting text to an empty string before setting it in _process? This will prevent no-change checks from kicking in.

I actually build the output text in multiple lines with text += "something or str(something)" so if I don't reset it then it just keeps appending the same block of text even if none of the variables i'm monitoring have changed.
This is how it was done in a 3.4 example I followed initially, and there was no problem with that.

Label already has an check before calling the expensive parts of the setter function, but TextEdit doesn't (and LineEdit doesn't either).

That's strange as I was definately experiencing this issue using a Label as well.

In general, it's expected that text handling in 4.0 is slower compared to 3.x due to support for right-to-left typesetting and complex scripts. These features don't come for free slightly_smiling_face

Yeah thats fair enough, just didn't expect it to freeze like that.
Using the proxy variables setter and/or not setting text until the end of _process() (when my output string is built) seems to work fine for now, will keep an eye out for those check implementations and report if it changes.
Thanks for all the work anyway, I know I'm dealing with an alpha, but the TileMap improvements are great once I understood the added complexity, you can now do a lot in one TileMap with various layers and sources that used to take multiple TileMaps.
Still looking forward to some doc updates on that though, not sure if the Terrains can do everything I could with bitmasks and overriding _is_tile_bound.
:pray:

For the TextEdit you can use text_edit.insert_line_at(text_edit.get_line_count() - 1, text) method to add lines and avoid reprocessing of the entire text.

That's strange as I was definately experiencing this issue using a Label as well.

Now that I think about it this is probably because I was using multiple += lines through _process, so it would have skipped that check you linked to.
It raises the question though of what 3.4 did differently to not have this issue, perhaps it was only applying the changes to text at the end of each _process() call. Or more probably its something in the new TextServer that is struggling with the large strings.
And thanks for the tip @bruvzg that could be useful.

I'm still experiencing issues with this after implementing my own check, I get a frame spike and then drop from the @text_setter:

I resorted to trying something like this but I still seem to get the frame spikes.
var time = 0
var last_int_time = 0
func _process(delta):
	if int(time) % 10 != 0 or int(time) == last_int_time:
		last_int_time = int(time)
		return
	last_int_time = int(time)

	text = "my large text"

I'm still getting these dips with the TextEdit disabled, albeit not as janky, I can't seem to find whats causing these dips, however I noticed I'm getting 2 calls to my main player _physics_process right before the dip, whereas all other frames only have 1 call.
Could this be an unrelated issue? Is anyone able to shed light on what these large dips in the profiler mean?

@bruvzg Since you have this self-assigned, have you been able to investigate this further?


Fix optional embedded model

Supersedes https://github.com/art049/odmantic/pull/273 in fixing https://github.com/art049/odmantic/issues/272.

@art049

Hello, I am experiencing the same problem.
Is there an update on this merge request?

@art049 this is quite essential feature. I ran into this issue the first time I use odmantic. Is there any update for a merge?

@art049 Sorry for pinging you but this PR seems quite compact to review and would resolve quite a lot of (mostly redundant) issues.
So far I have found Issues #272 #350 #370 #477 #484 and PR #273 #344 #485 to be somehow related.
Maybe you could take a look.


Error mailchimp related even when disabled

Using the mobius 5 with default settings (just changed the email), simple form:
Request:
{"Files":[],"Subject":"dfg","Message":"ddfg","SenderName":"dfg","SenderMail":"a@gmail.com","Terms-390":"True","MailChimp":false}
Response:
\Portals\0\2sxc\MobiusForms5\staging\api\Parts\MailChimp.cs(89): error CS1070: The type name 'HttpClient' could not be found. This type has been forwarded to assembly 'System.Net.Http, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Consider adding a reference to that assembly."

@maaaximum-at-2sic could you check?
I thought we had added a web.config to the folder to correct this.

@eXistenZe please add this web.config file into the root folder of your Mobius-Forms-App. This file will be included in the next release.

This issue has been fixed with the Mobius Forms v05.04.00 release.


Spaces in sub or ses names

spaces in paths can cause issues, I'm tempted to just not support them. Currently they are not supported because Rclone interprets as separate arguments. Can look into fixing rlcone behaviour or asserting if they are passed

yes good point, Rclone does support (https://forum.rclone.org/t/using-spaces-in-folder-name/16650/3), so in that case just need to ensure they are supported on our side + write some tests

Just an update to define both cases, it will definately be necessary to support spaces in file paths and the call to rclone must be updated to support this. For the user-defined sub- and ses- names we can enforce no spaces as it conflcits with BIDS and is under user control


The process started from chrome location /chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.

Hi,
I'm using your image for my dusk test but it seems chrome driver sucks!
here is my .gitlab-ci.yml file
image: chilio/laravel-dusk-ci
services:
  - mysql:5.7

cache:
  untracked: true
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules
    - vendor
    - /root/.composer
    - /root/.npm

variables:
  MYSQL_DATABASE: mysql_database
  MYSQL_ROOT_PASSWORD: secret

stages:
  - tests

browser:
  stage: tests
  script:
    - cp .env.gitlab .env
    - composer install
    - npm install
    - npm run production
    - configure-laravel
    - start-nginx-ci-project
    - sleep 3
    - php artisan dusk
  artifacts:
    name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
    paths:
      - tests/Browser/screenshots/
    expire_in: 2 weeks
    when: always

the problem which I've faced with is it seems chromedriver does not run correctly or something!
$ configure-laravel
Application key [base64:D/JwKTvwukrg6cCT5bMt2/hVK3F7G6n2Fj7kmTDKGaQ=] set successfully.
Dropped all tables successfully.
Migration table created successfully.
#### MIGRATIONS ####
#### SEEDINGS  ####
System Chrome version: 69
System Chromedriver version: 2.42
Laravel Chromedriver version: 2.35
Chromedriver shipped with your Laravel installation is NOT compatible with this systems chrome version!
Don't worry, we are fixing this right now, so you will be able, to test your app anyway.
You can always read more about running tests with system inbuilt chromedriver in laravel-dusk-ci docs.
Scheduled start of inbuilt Chromedriver (2.42). Chromedriver will be ready soon...
Starting ChromeDriver 2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac) on port 9515
Only local connections are allowed.
[1538992522.833][SEVERE]: bind() returned an error, errno=99: Cannot assign requested address (99)
$ start-nginx-ci-project
 * Starting nginx nginx
   ...done.
$ sleep 3
$ php artisan dusk
Warning: TTY mode requires /dev/tty to be read/writable.
PHPUnit 7.3.5 by Sebastian Bergmann and contributors.

EE                                                                  2 / 2 (100%)

Time: 1.18 seconds, Memory: 18.00MB

There were 2 errors:

1) Tests\Browser\WhiteDownloadAppTest::testActive
Facebook\WebDriver\Exception\UnknownServerException: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac),platform=Linux 3.10.0-862.9.1.el7.x86_64 x86_64)

/builds/inpin/landing/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:114
/builds/inpin/landing/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:326
/builds/inpin/landing/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:126
/builds/inpin/landing/tests/DuskTestCase.php:40
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:192
/builds/inpin/landing/vendor/laravel/framework/src/Illuminate/Support/helpers.php:750
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:193
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:93
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:64
/builds/inpin/landing/tests/Browser/WhiteDownloadAppTest.php:50

2) Tests\Browser\WhiteDownloadAppTest::testInactive
Facebook\WebDriver\Exception\UnknownServerException: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.42.591071 (0b695ff80972cc1a65a5cd643186d2ae582cd4ac),platform=Linux 3.10.0-862.9.1.el7.x86_64 x86_64)

/builds/inpin/landing/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:114
/builds/inpin/landing/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:326
/builds/inpin/landing/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:126
/builds/inpin/landing/tests/DuskTestCase.php:40
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:192
/builds/inpin/landing/vendor/laravel/framework/src/Illuminate/Support/helpers.php:750
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:193
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:93
/builds/inpin/landing/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:64
/builds/inpin/landing/tests/Browser/WhiteDownloadAppTest.php:73

ERRORS!
Tests: 2, Assertions: 0, Errors: 2.
Uploading artifacts...
tests/Browser/screenshots/: found 2 matching files
Uploading artifacts to coordinator... ok            id=2302 responseStatus=201 Created token=_YoXGK5K
ERROR: Job failed: exit code 1

but every thing on my local machin runs correctly!
even I've tried to use the chromedriver-linux file from the vendor\laravel\dusk\bin and the other versions of chromedriver (version 2.40, 2.38 and 2.35) which I've downloaded directly form http://chromedriver.chromium.org  but with all of them after sometimes (about 1 or 2 minuts) the error of Operation timed out after 30001 milliseconds with 0 bytes received has been shown.
did I do something wrong?
I'm using laravel 5.7 and dusk 4.0 (both the latest version).

Hi, which image have you tried?
And do you have
            '--disable-gpu',             '--headless',             '--no-sandbox',
in your DuskTestCase driver setup?

Thank you very much, you saved me 👍
My problem is I've forgotten to put '--no-sandbox' in my DuskTestCase driver, and now everything is going very well.

Hello! The same happened to me!
I put '--no-sandbox'in myDuskTestCase`
but now:

Tests\Browser\ExampleTest::testBasicExample
Did not see expected text [Laravel] within element [body].
Failed asserting that false is true.
any ideas?
modify the .env.dusk.local?

@nmardones This error has to do with the actual tests being run. You setup seems to be fine if you can see this.

@MCMainiac If you're right, the configuration is ok! and when executing it in gitlab the error is for another reason.
I was missing the phpunit.dusk.xml file
Thank you


'Whole genome sequencing' genotyping technology is not imported from the deposition app template

On importing PMID 32499645 to the curation interface, the 'genotyping technology' field on the 'study details' tab was left blank, although the template field has been correctly filled out with 'Whole genome sequencing'.
'Genome-wide sequencing' is the corresponding option in the curation interface.
Import page with template info:
https://www.ebi.ac.uk/gwas/curation/submissions/5eedde3b2c2502000105c8cf

This is available for testing on Snoopy 9680.

Go to Sandbox Deposition app
Login
Select a publication that is Open for Submission
Create a submission using a template with a few studies to test various combinations of Genotyping technology entries per study:
Whole genome sequencing
Exome genotyping array
Whole genome sequencing | Targeted genotyping array
Submit the template
Go to Snoopy 9680 Curation app
Click View submsisions and then Review your submission
Click Import
Verify on the Study details page for each study has the correct genotyping technology value

Tested all four genotyping tech options and all imported successfully.


Byte[ ] or ByteBuffer input

The ffmpeg-cli-wrapper library is a simple wrapper around the ffmpeg command line. If you have questions on how to use the library, please check out the usage, or random examples. If that doesn't solve your problem please fill out the following:
The question
Deom all examples I have see the input is a string (be it referencing a webcam or a filename) however I am trying to stream from an android app to a media server. The format of the incoming stream (from a drone) is received as a Byte[ ] and as such i was wondering how/ if I can use that as an input for this wrapper. I understand it might not work as it is a CLI_wrapper.
I have not tried anything yet as I just don't know how I would reference the array by a string.

Sorry for the late reply.
The first problem you'll have is android.
This library is just a wrapper around the ffmpeg executable.
As far as I know, it's not possible to execute an executable like ffmpeg on an Android device.
Second, what would byte[] as input mean?
If your drone is sending a byte[], it's most likely a still image.
When loaded as a library, it should be quite easy to feed this to ffmpeg, but this might be an entirely different topic for this library.
Forwarding the images using a TCP socket to FFmpeg might make it possible, but you might need something entirely different.
If sending the images via socket would be acceptable, #334 would be concerned about that.
I'll close this issue for now. Feel free to re-open it if you have any more questions or if your problem is not covered by #334.
Feel free to provide an ffmpeg command if you managed to solve this issue in another way so we can try to integrate it into our code/tests.


feat: Create CSV Export with lock "short names" instead of make & mod…

feat: Create CSV Export with lock "short names" instead of make & model data
Added handler(handleExportCsvShortNames) for exporting CSV with the short name (e.g. "ASSA Twin Combi, Triton, Neptun 4900 / TrioVing System 10, Twin Control") instead of the raw make and model data.
lpubeltsdata-new.csv
lpubeltsdata-old.csv

Came up with better solution


bug: inserting a list into a two-dimensional array does not work as in numpy

Numpy supports inserting:
import numpy as np
a = np.array([(1, 2), (2, 3), (3, 4)])
a[0:1] = [5, 6]

Zarr gets an exception:
import zarr
za = zarr.array(a)
za[0:1] = [5, 6]

ValueError: parameter 'value': expected array with shape (1, 2), got (2,)

For arrays with structured types does not work at all.
Numpy supports inserting:
import numpy as np

t = [('c1', np.int), ('c2', np.float)]
a = np.array([(1, 2.0), (2, 3.0), (3, 4.0)], dtype=t)
a[0] = (4, 5.0)
a[0:1] = [(5, 6.0)]
a[0:2] = [(6, 7.0), (7, 8.0)]

Zarr gets an exception:
import zarr
za = zarr.array(a)
za[0] = (8, 9.0)
za[0:1] = [(5, 6.0)]   # ValueError: parameter 'value': expected array with shape (1,), got (1, 2)
za[0:2] = [(6, 7.0), (7, 8.0)]   # ValueError: parameter 'value': expected array with shape (2,), got (2, 2)

How about
za[0:1] = [ [5, 6] ]

The upcasting of the shape (broadcasting) is a special case, perhaps it should be better handled indeed.


Incorrect sample count and duration for audio

The reported sample count (and by extension duration) of audio tracks seems to be incorrect.
I've tried this with several different files of varying formats so far. (FLAC, WAV, AIF, MP3).
See sbraz/pymediainfo#70 for test code and output.

Looks like rounding issues in the way it is computed.
Definitely something we should fix at some point, but don't expect a quick fix, at least on free support.

This seems to be a regression: https://github.com/DvdKhl/AVDump3/issues/50
Version 18.20 seem to report correct values.
In my case only avi files are so far affected and cannot be explained by rounding errors.

Actually I forgot this issue ticket but was just working on it (https://github.com/MediaArea/MediaInfoLib/pull/1289), would it be better with latest snapshots?

(I as working on WAV)

I was working on WAV, wondering about the other formats, but I'll check with AVI and others when I have some free time.

And it looks like the last version where it worked was not 18.20 as I said earlier but 0.7.42.
We'll try one of the snapshots and then report back if it is already fixed.

I've got 3 files here showing this weird behaviour.

Just checked with 20.08.20200828. Same result.
<track type="Audio">
  <ID>1</ID>
  <Format>WMA</Format>
  <Format_Version>2</Format_Version>
  <CodecID>161</CodecID>
  <Duration>17.646</Duration>
  <Source_Duration>5028.307</Source_Duration>
  <BitRate>9992</BitRate>
  <Channels>1</Channels>
  <SamplingRate>11025</SamplingRate>
  <SamplingCount>194547</SamplingCount>
  <BitDepth>16</BitDepth>
  <StreamSize>6280356</StreamSize>
  <StreamSize_Proportion>0.03342</StreamSize_Proportion>
  <Interleave_VideoFrames>4.19</Interleave_VideoFrames>
  <Interleave_Duration>0.139</Interleave_Duration>
  <Interleave_Preload>0.696</Interleave_Preload>
</track>

If you want one (or all three) of the files I got here, let me know.

the correct duration was moved to a newly introduced <Source_Duration/> node and the original node now carries ... whatever duration that might be.

This is another issue not related to a rounding issue, more an issue about potential mismatch between container and raw stream (we aim to detect container related duration, sometimes the container indicates to play only a portion of the file).
Please open a specific ticket with a sample file (could be private sending if the file is copyrighted).

Well, the detected sampling count changed between 0.7.42 and 0.7.90 for these files too.


Add support for 64-bit architectures

Before this, the script wouldn't check if you actually had a 64-bit kernel, just apply a 2700MB memory cap for every system. Now it actually checks this and lets you use more if you do have 64-bit, and also informs you that you can do so.
Tested on latest Raspbian + 64-bit kernel via rpi-update on Raspberry Pi 4 4GB.

Thanks so much, I've been meaning to get to this but have been distracted by my Ubuntu 18.04 64 bit image project!


Update marked and jshint

Marked was showing a vulnerability and npm noticed jshint while doing the update.

Fixes #5

+1 look forward to seeing this fix accepted and published to npmjs.


[FEAT]: Outgoing link recursive deck expansion

Is your feature request related to a problem? Please describe.
I currently have several notes that are linked to each other. Most of these notes contain flashcards that are specifically tailored to this note. Each note has one or more tags to assign the flashcard to one or more decks. I am constantly creating new links between old and new notes.
Now, when I learn one of the decks, this of course only contains the flashcards of the notes that have the tag of the deck. However, the flashcards in linked notes are often also relevant for the deck for learning, otherwise the notes would not be linked. But it is often the case that this notes do not have the same tag to add them to the same deck. And it would require a lot of time for me to add those tags to all the notes that are linked. In addition I have every 6 months  a new set of tags (study lectures) adding to my notes so I have to do this over and over again.
Describe the solution you'd like
Now my Idea is that there is a setting you could adjust the Depth of deck extension by outgoing link from like 0-5.
0: is how it is currently only the flashcards from the notes there are the deck tags are in would be in the deck.
1: would be that all flashcards that are in directly linked notes (outgoing links of the note) are also included in the deck.
2-5: would be the outgoing links of the outgoing links and so on...
This would work quite well for notes where the decks are only specified in the properties. One thing I don't have a solution for yet is how to deal with notes that contain multiple tags somewhere in the body. Do you still add all the flashcards contained in the note or is there a better solution?
Additional context
I'm looking forward to your opinion on this, maybe someone has other thoughts or if you like it, you can give it a 👍🏼 so we can see if others would also like to have this feature.

Hi, I think your proposal is something I've also been thinking about. Would it be something like studying by nodes? Something like the graph that is used to view and navigate through backlink and outgoing notes, but instead of notes in this case, would it only be the cards that are in those notes?

I actually just thought about using the links between notes to publish the decks with related topics


Update for GHC 7.10

This makes elm-repl compile without errors for me on GHC 7.10.1.
See the release notes and migration guide for more information about these changes.

Great, thank you!


add Lusift

General

✏ Mark the necessary items without changing the structure of the PR template.

[ ] Pull request template structure not broken

Type

ℹ  What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Fix
[ ] Feature

Checklist

ℹ  Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉  Put an x in the boxes that apply.

[ ] Title as described
[ ] Make sure you put things in the right category!
[ ] Always add your items to the end of a list

Open Source

[ ] Link description does not contain a link to an author / third-party resource
[ ] The documentation (README) contains a description of the project, illustration of the project with a demo or screenshots and a CONTRIBUTING section
[ ] The documentation is in English.
[ ] The project is active and maintained.
[ ] The project accepts contributions.
[ ] Not a commercial product

Apps/Websites

[ ] The website is available without errors or ssl certificate problems, and load in a reasonable amount of time.
[ ] The website is using vuejs intensively. It should detect vue with vue-devtools.

If you cannot detect vue with vue-devtools due to work at non public pages (e.g. for enterprise website), you can send Pull Request with screenshot that detected it.

[ ] The website is original and not too simple. For that reason, blogs and simple landing pages are rejected.
[ ] A commercial product using Vue, provided that guests could reasonably check out how Vue was used (i.e. A headless CMS which uses Vue for the Admin/editor Area and offers a free tier).

how does this relate to vuejs ?

https://lusift.vercel.app
Hi.
On the landing page, I do state that it specifically supports vuejs

https://lusift.vercel.app Hi. On the landing page, I do state that it specifically supports vuejs

I don't really understand what is the support in relation vuejs, any library can be integrated there.
I mean, if we start to supplement the list with libraries, we will grow to size npm


feat: port CategoryTheory.Abelian.Ext

Apologies about the git history, a whole chain of PRs have been opened before the previous one was merged.

[x] depends on: #4322

This PR/issue depends on:

leanprover-community/mathlib4#4322
By Dependent Issues (🤖). Happy coding!

bors d+

This PR/issue depends on:

leanprover-community/mathlib4#4322
By Dependent Issues (🤖). Happy coding!

This file has never had a green tick on github (previous green ticks were other PRs merged into this). The error is
 /- The `checkType` linter reports:
THE STATEMENTS OF THE FOLLOWING DECLARATIONS DO NOT TYPE-CHECK. -/
-- Mathlib.CategoryTheory.Abelian.Ext
#check Ext_map.{u_1, u_2, u_3} /- the statement doesn't type check. -/
#check Ext_obj.{u_1, u_2, u_3} /- the statement doesn't type check. -/
make: *** [GNUmakefile:16: lint] Error 1

This file has never had a green tick on github (previous green ticks were other PRs merged into this). The error is
 /- The `checkType` linter reports:
THE STATEMENTS OF THE FOLLOWING DECLARATIONS DO NOT TYPE-CHECK. -/
-- Mathlib.CategoryTheory.Abelian.Ext
#check Ext_map.{u_1, u_2, u_3} /- the statement doesn't type check. -/
#check Ext_obj.{u_1, u_2, u_3} /- the statement doesn't type check. -/
make: *** [GNUmakefile:16: lint] Error 1

These are lemmas generated by simps, without much thought in the original writing of this file. I verified they aren't used in mathlib3, and removed them with a note.

There have been some minor changes since this was both d+'s and merged, but I've just looked over everything and this is still good to go.

bors merge


"Uncaught (in promise) TypeError: c is null" when device = iPad (iPadOS 14.7.1) is set in Firefox Dev Tools

Issue and Steps to Reproduce

Create any project using "@axa-fr/react-oidc": "^7.13.6"
Launch Firefox 120.0.1 (64-bit) on Windows
Open Dev Tools -> Responsive Design Mode -> Set device = iPad (iPadOS 14.7.1)
Go to any route wrapped with <OidcSecure>
You will get an error:

Error authentication

An error occurred during authentication.

Uncaught (in promise) TypeError: c is null
    fs index.js:1026
    _s index.js:1057
    E index.js:313
    rs index.js:804
    rs index.js:823
    loginAsync index.js:1205
    loginAsync index.js:1413
    login index.js:838
    SignInWaitScreen SignInWaitScreen.tsx:17
    React 13
    workLoop scheduler.development.js:266
    flushWork scheduler.development.js:239
    performWorkUntilDeadline scheduler.development.js:533
    js scheduler.development.js:571
    js scheduler.development.js:633
    __require2 chunk-GFT2G5UO.js:18
    js index.js:6
    __require2 chunk-GFT2G5UO.js:18
    React 2
    __require2 chunk-GFT2G5UO.js:18
    js React
    __require2 chunk-GFT2G5UO.js:18
    js React
    __require2 chunk-GFT2G5UO.js:18
    <anonymous> react-dom_client.js:38

Source code:
https://github.com/AxaFrance/oidc-client/blob/9f1f7f684a6b344f59221caf3e3a14faef73a6bc/packages/oidc-client/src/initWorkerOption.ts#L71
Versions
@axa-fr/oidc-client 7.13.6
@axa-fr/react-oidc 7.13.6
Screenshots

Expected
There is no exception; the user is redirected to auth
Actual
There is an exception Uncaught (in promise) TypeError: c is null; the user sees Error authentication An error occurred during authentication.
Additional Details

Installed packages:

"@axa-fr/react-oidc": "^7.13.6"
full list:
  "dependencies": {
    "@axa-fr/react-oidc": "^7.13.6",
    "@emotion/react": "^11.11.1",
    "@emotion/styled": "^11.11.0",
    "@framit/meta-pixel": "^1.0.0",
    "@js-joda/core": "^5.6.1",
    "@mui/icons-material": "^5.14.19",
    "@mui/lab": "^5.0.0-alpha.154",
    "@mui/material": "^5.14.19",
    "@mui/x-data-grid": "^6.18.2",
    "@redux-devtools/extension": "^3.2.6",
    "@reduxjs/toolkit": "^1.9.7",
    "@stripe/react-stripe-js": "^2.4.0",
    "@stripe/stripe-js": "^2.2.0",
    "clsx": "^2.0.0",
    "content-disposition-header": "^0.6.0",
    "deep-clone": "^3.0.3",
    "file-saver": "^2.0.5",
    "i18next": "^23.7.7",
    "i18next-http-backend": "^2.4.2",
    "ismobilejs": "^1.1.1",
    "json-stable-stringify": "^1.1.0",
    "mui-datatables": "^4.3.0",
    "prop-types": "^15.8.1",
    "react": "^18.2.0",
    "react-country-flag": "^3.1.0",
    "react-dom": "^18.2.0",
    "react-dropzone": "^14.2.3",
    "react-ga4": "^2.1.0",
    "react-helmet": "^6.1.0",
    "react-i18next": "^13.5.0",
    "react-phone-input-2": "^2.15.1",
    "react-redux": "^8.1.3",
    "react-router-dom": "^6.20.0",
    "store": "^2.0.12",
    "ts-simple-nameof": "^1.3.1",
    "tsdef": "^0.0.14",
    "uuid": "^9.0.1"
  },
  "devDependencies": {
    "@types/file-saver": "^2.0.7",
    "@types/jest": "^29.5.10",
    "@types/json-stable-stringify": "^1.0.36",
    "@types/node": "^20.10.1",
    "@types/react": "^18.2.39",
    "@types/react-dom": "^18.2.17",
    "@types/react-helmet": "^6.1.9",
    "@types/react-redux": "^7.1.31",
    "@types/store": "^2.0.5",
    "@types/uuid": "^9.0.7",
    "@typescript-eslint/eslint-plugin": "^6.13.1",
    "@typescript-eslint/parser": "^6.13.1",
    "@vitejs/plugin-react-swc": "^3.5.0",
    "cross-env": "^7.0.3",
    "eslint": "^8.54.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-config-airbnb-typescript": "^17.1.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-prettier": "^5.0.1",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.4",
    "prettier": "^3.1.0",
    "typescript": "^5.3.2",
    "vite": "^5.0.4",
    "vite-plugin-mkcert": "^1.17.1"
  },
  "overrides": {
    "mui-datatables": {
      "react-virtualized": "9.22.4"
    }
  },

I think that we need to have a fallback for osVersionArray in case if /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer) returns no results.
It expects something like Mozilla/5.0 (iPhone; CPU iPhone OS 17_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Mobile/15E148 Safari/604.1 but there is no guarantee that Apple won't change it in future releases.

I @magicxor thank you for your feedback.
Yes this part need a fallback.
I think in a future release version i will remove these behavior by default and include functions in another package injectable from oidc configuration.
So développer will be able to manage properly all their use case. User agent is not fiable.

Hi @magicxor latest version manage the case. It should just activate service worker in that case.
There is a property in the configuration to take the control on the service worker activation.

Hi. I've tested with the latest version, and I'm happy to confirm that the issue is indeed fixed now. Thank you so much. Have a prosperous new year!


Should we remove references to gRPC when talking about the service contract?

Currently we mix the names protobuf/gRPC in the context of the Restate service contract, see https://github.com/search?q=repo%3Arestatedev%2Fdocumentation grpc&type=code.
I think we should stick with using only Protobuf or at least specify somewhere the relation between our service contracts and gRPC services, in particular given that gRPC might be offsetting for JS users:

Our Restate service contracts are defined using the Protobuf IDL, and we have our custom protocol to implement the "transport", that is not based at all on gRPC and works on HTTP/1 as well.
We support gRPC and Connect at the edge of the system (ingress), to invoke Restate services.
Some SDKs might reuse some gRPC codegen/libraries to simplify the implementation and profit from the existing ecosystem.

Just discovered this – I am also in favor of emphasizing Protobuf as the IDL and not so much gPRC. If people are familiar with gRPC, they should spot all the similarities. Otherwise we end up saying things like "Be aware we're not actually doing gRPC internally..."
I think this is relevant to #219


Support for table

How to do that? I try reproduce from code pen demo.

This is error I get when try add table module. I updated quill to v2-dev where support for table.
and this is my configuration:

same question

👍

same problem i cant add a table for vue2editor

This issue is stale because it has been open for 60 days with no activity.

This issue was closed because it has been inactive for 7 days since being marked as stale.


Scopes table makes little sense.

[X] I was not able to find an open or closed issue matching what I'm seeing.
[X] This is not a question. (Questions should be asked on slack (Signup for Slack here) or our forums.)

As scopes are not really attached to anything, this table doesn't make much sense.   It doesn't look like I can attach scopes to users or clients, so all we have is a table of valid scope names which doesn't do a whole lot for us.
I suggest we either do away with scopes, or allow scopes to be added to clients/users

I certainly don't think we should do away with scopes they are an integral part, and think they should be linked to both clients and users when implemented properly.
For example a scope of read-user-profile could be requested by a client, which would then be stored by the client along with the refresh token and user id. The user profile could then be requested by that particular client via the refresh token at any time.
A really good example of scope implementation can be found here which is done by CCP Games whereby third party clients can request access to certain in-game character info.

This repository has been closed and moved to mezzio/mezzio-authentication-oauth2; a new issue has been opened at https://github.com/mezzio/mezzio-authentication-oauth2/issues/4.


snapToItem(0) doesn't work

Is this a bug report, a feature request, or a question?
Bug report
Have you followed the required steps before opening a bug report?

[x] I have read the guidelines regarding bug report.
[x] I have reviewed the documentation in its entirety, including the dedicated documentations :books:.
[x] I have searched for existing issues and made sure that the problem hasn't already been reported.
[] I am using the latest plugin version. --> I'm using ^4.0.0-beta.2
[x] I am following the issue template closely in order to produce a useful bug report.

Have you made sure that it wasn't a React Native bug?
Yes
Is the bug specific to iOS or Android? Or can it be reproduced on both platforms?
It's on both.
Is the bug reproductible in a production environment (not a debug one)?
Yes.
Environment
Environment:
React: 16.9.0
React native: 0.61.
react-native-snap-carousel: ^4.0.0-beta.2
Target Platform:
Android (10.0)
Expected Behavior

snapToItem(0) works properly.
Actual Behavior

snapToItem(0) doesn't work. The carousel doesn't move at all.
It seems to be working with any other index.
Reproducible Demo

I can't get the example to work with the beta version in the snack, but I can get it to work locally with a new expo project (it complains about the beta dependency).
https://snack.expo.io/@acortisse/react-native-snap-carousel-playground
Steps to Reproduce

Press "Snap to index 1"
Press "Snap to index 2"
Press "Snap to index 0"

i'm facing same issue.

In the _snapToItem method there seems to be an issue handling the offset value 0. To be precise this piece of code in the method will always return if the offset of the first item is 0.
const offset = this._getItemScrollOffset(index);

if (!offset) {
    return;
}

I simply changed checking the offset value to
if (offset < 0) {
    return;
}

and it seems to be working fine. As I do not fully know the Carousel, I can't say that this won't bring up any other issues.

Fixed in 4.0.0-beta.4.


Menu bar and menus are aligned to the right when they aren't translated and language settings are RTL

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

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

Description
Same as issue #15875: Menu aligned right-to-left in Windows with right-to-left layout
On windows 10, when OS language is right to left (e.g Hebrew), the Atom menus are aligned to the right (i.e. File is at the right most side of the menu bar, Edit menu is to its left and so on). This is wrong behavior as English menus should be aligned to the left. If the menus where translated to Hebrew (please don't) it was OK for them to be aligned right to left.
Steps to Reproduce

Set OS display language as Hebrew
Open atom editor

Expected behavior: [What you expect to happen]
In the picture below you can see that notepad++ menus (on same OS) are left aligned as they should be because they are in English. I expect Atom to behave the same as notepad++.

Actual behavior: [What actually happens]
In the picture below, you can see that the msPaint menu bar is in Hebrew and aligned right to left - this is OK because Hebrew is right to left language. The atom menu bar and menu items are aligned right to left as well but they are in English and so they should have been aligned left to right (File on the left most corner)

Reproduces how often: [What percentage of the time does it reproduce?]
100%
Versions
apm  1.19.0
npm  3.10.10
node 6.9.5 x64
atom 1.28.2
python 3.6.4
git
visual studio 2015
Atom    : 1.28.2
Electron: 2.0.5
Chrome  : 61.0.3163.100
Node    : 8.9.3
Additional Information

Thanks for opening a new issue and filling out the issue template @Shallev 👍 I'll ask the team to take a look.
x-ref: https://github.com/electron/electron/issues/11912 and https://github.com/Microsoft/vscode/issues/20377#issuecomment-279932691.

Thanks for the feedback.
Unfortunately, this isn't something that we're going to be able to take on in the foreseeable future. However, we would be interested in reviewing a well-written PR for this. See the Electron issue that @rsese linked above for possibly the easiest solution.
Thanks again :bow:


Popup Window

I have been using Snippets and i like how there is window so I know where I am at, I was wondering if this could do a same thing,
I don't mean enter text in the pop up window,
I meant something like to show info/hint, for example with choice,
we can see a list of choice and select one without going through all to see what we need? same with input ( so we know we are at $1 or $0 etc)?
We can set this as default disable and allow user to enable it manually

Sounds interesting, though I can't really imagine what it would look like. Could you show a picture or a video?

Not sure what example are you looking for, are you refer to snippets I was using before?

Obviously, we wont do that way, but as a hint ya know?
For this plugins, I supposed it would show something like compe does with choice? Placeholder i am not sure... prob similar as that gif but only show $1 or include placeholder

I don't like it, it hides the rest of the code (so you lose context), does not highlight the code, adds complexity to the keybindings implementation (as one has to provide bindings to manage the popup). Yes, it's fancy, but I see more cons than pros.

I am not asking for entire snippets into window, I meant showing choice list or position of placeholder you are at ($1,$2 or $0 so you know what happen) which shouldn't be big,
it is also options to show or not for users who wants it or not
There shouldn't be any keybinding to it as far as I can see, as it show only info/choice list when it is on choice snippets

If showing the inputs is what you want, maybe an optional highlight to the extmarks can be added.

Yes, that could make sense -- having two highlight groups (default to NONE?) for active and inactive placeholders. Not sure how that would interfere with the actual syntax highlighting you get now while inputting text, though.
(@sunjon -- of course ;) -- had a very nice UX using overlays for snippets' text_markers inserter; maybe that could serve as inspiration.)

Having a popup over each placeholder that shows its position could be an option. I'm not sure about choices, would you expect the actual content of the choice to be shown? That wouldn't look nice I think, choices can get pretty big.
A more subtle highlight (especially for choices, as it isn't possible to tell that there is one without trying) sounds like a good idea, I'm not sure how to go about empty placeholders though (insert some unicode character(configurable?) and highlight that?).
Communicating if one is inside a snippet/inside a node should definitely be added (I go on with editing, only to be brought back up 30 lines because I forgot to exit a snippet), I'm not sure if the way to go is a pop-up (covers text :/) or maybe a hint in the statusline (or something else entirely).

(@sunjon -- of course ;) -- had a very nice UX using overlays for snippets' text_markers inserter; maybe that could serve as inspiration.)

Do you have a link/picture? I don't know that one :sweat_smile:

Yes, that could make sense -- having two highlight groups (default to NONE?) for active and inactive placeholders. Not sure how that would interfere with the actual syntax highlighting you get now while inputting text, though.

Extmarks have a priority, we'd have to set ours higher than regular highlighting and lower than something like hop.

It was shared over Gitter a while back, so unfortunately no.

Ah okay, shame :/

I believe extmarks/overlays are the way to go here. I'd mark default text/choice nodes with (different) highlight groups (configurable through a colorscheme, of course) and add a third group for the currently active node (that goes away as soon as you type).
For empty nodes, you indeed have a problem; I'd advise not wasting too much time on this and wait for @bfredl to add support for generalized virtual text ("anti-conceal") which can insert "virtual" columns and/or lines.

For empty nodes, you indeed have a problem; I'd advise not wasting too much time on this and waiting for @bfredl to add support for generalized virtual text ("anti-conceal") which can insert "virtual" columns and/or lines. (It's on the roadmap, but no ETA.)

Oh damn, didn't know that is planned, very cool. That would make everything much easier, just put eg. 1: before insertNodes and eg. c before choices.
I think just not highlighting empty inserts would be the easiest option until then, it's what I'd expect as a user, not a different next character.

I believe extmarks/overlays are the way to go here. I'd mark default text/choice nodes with (different) highlight groups (configurable through a colorscheme, of course) and add a third group for the currently active node (that goes away as soon as you type).

Choices can contain insertNodes, I would use separate highlights for those two with insertNodes having higher priority.

There was a showcase by sunjon on neovim discourse maybe something like that

Yes, that's the one I was thinking of!

oh wow, that looks really nice, better than what I was expecting, I wonder how will you implement choice into it? similar as that but long height?
I don't know what a limit of choice you can have, but assume it is unlimited, we could show x at a time?

There was a showcase by sunjon on neovim discourse maybe something like that

Okay that's pretty cool, although I don't think I'd use it, a bit distracting :D
I think it would be hard to make displaying a subset of available choices look good, especially for eg. single words or multiple lines (or both at once), there I'd really go for just a highlight.

Could be styled, I for one, would not mind seeing fields' placeholders underlined.

@L3MON4D3  go for the simpler way, just a couple of styles to mark where there are interactive modes and that's it, fancy UIs don't mean better UX and will be harder to implement/mantain.

Maybe don't style it at all but apply some highlight group and leave to users to define it?

@L3MON4D3 go for the simpler way, just a couple of styles to mark where there are interactive nodes and that's it, fancy UIs don't mean better UX and will be harder to implement/maintain.

Yeah, as the default for sure. I think adding an event luasnip_jump_pre/post to achieve a more complex style would be nice, that way users can add text/pop-ups if they want to.

I agree, going with simpler is always better, there is no need to make super fancy consider if you proved event for user allow to do their own way

(And one thing to note here is that sunjon's decoration uses these fancy markers primarily to cover up the large text markers snippets.nvim's original text_inserter uses. Since LuaSnip makes use of extmarks -- which weren't available at that time yet -- that's not necessary.)

Soo, highlighting is live, check out :h luasnip-ext_opts (or DOC.md) for some details.

I just test it

this is better, although it won't show a list of choices but that fine since we know this is choicenode, and I think it might go overcomplex if we were to add shown of list...
I get idea of passive, but shouldn't they clear out when reached end input or am I missing something?

Oh, no they stay as long as the snippet is active. Clearing would be possible, but I didn't think it would be expected. Maybe a setting to toggle that behaviour..
I'll implement snippet-string generation and autocommands on jumping soon, with those it should be possible to create a popup-window pretty easily.

Alternative to the setting: a third kind of highlight, something like snippetPassive to use when the snippet isn't active.

Okay, newest commits add events (see :h luasnip-events) that are called upon entering/leaving nodes, using that it should be possible to eg. show popups on insertNode positions after expanding a snippet or show all choices upon entering a choiceNode.

@L3MON4D3  maybe is a good idea to pass some info via v:event like the range of the node.

Ouh, yes we definitely need to expose something like that, I though that users can access stuff like that using Luasnip_current_nodes[.. ], but that isn't even set correctly for the event😬.
Populating v:event would be a nice approach but there's a lot of stuff that could be used (and much more that won't, but we would calculate regardless). What do you think of just storing the node that is being entered/left somewhere and documenting/implementing a few functions to access stuff like location/content/... ?

It depends, if autocommands are executed directly when activated via doautocmd it's doable

Oookay, the node for which the autocommand was called can now be accessed via require("luasnip").session.event_node

For an example of using events (and also because it was discussed here), here is a POC for showing choices.

oh that neat, better than I was expecting, I was gonna do some dumb with extmark... anyway, I just test it, and uh I found something interesting bug?

(I just copy directly of your and see how it look, only thing that was tweak is just appearances which is only extmark, i also test with original), solutions seem to be adding choice_popup_close() in ChoiceNodeEnter before popup which work, however you wont able to return to previous choicenode)... but hey this work at least, this problem seem to occur when there is `SnippetNode) inside choice i believe...
Wasn't sure if I should make new issue or continue this since this is techy related to popup and events with your wiki example, not to mention, not even sure if it bug or its just functional as it indent to do so.

Ouh nice, highlighting the current choice looks really good👌
Yeah, that's exactly what I was hinting at in the text, nested choice nodes don't work. Actually let me fix that, because it's almost perfect.
Would you add the code for highlighting to the wiki?

Oh nvm, the last jump to i(0) doesn't work, is that it?

Soo, that should do it, try again with the new version in the wiki :)

Oh that smart, I see what you did there... bit tweak there and there for visual...

look like its work as it indent!

The last jump not working is a consequence of the problems with nested choices, the call to choice_popup_close fails (but no error message? :/) and then of course everything goes wrong.

haha.. as I thought , I thought it was a new bug but before that, I figure it has to do with this so I didn't create issues unless... so yeah I didn't mention it sorry...

Would you add the code for highlighting to the wiki?

I don't mind at all! I have to tweak around your current_win for it (so it can clear up extmark),
Should I also include a border line? it allows to show that it is different from the current buffer that the user was using, so they know that this is a choice.

I don't mind at all! I have to tweak around your current_win for it (so it can clear up extmark),
Should I also include a border line? it allows to show that it is different from the current buffer that the user was using, so they know that this is a choice.

Nice, ty :)
Also Yeah  include the border, should be pretty clear how to remove it.

Alright I have update wiki, please have a look, and let me know if there is any wrong with it or well you could? I try to keep simple and add some comments for people to get idea how it work

Oh nice, looks alright. I think there could be issues if the choice is multiple lines long, but apart from that 👌

Ah shoot... I see that a problem...
annnnndd done.

pardon how snippet is.... was a test purose of course... (I think I am posting too much gif... but hey showcase is important yeah?)
anyway, i also update wiki that will also work on multi line... I hope... at least it work on my side

Always better to have something to show, just describing isn't enough mostly👌

I am glad to help! :D
With this, I assume this issue is close now since we got events that we are able to create our own popup or use that example from wiki?

Jup :)


models/experimental/nanogpt/tests/ failures - GS only

These failing nanogpt tests are GS only run in the Nightly FD suite:
pytest models/experimental/nanogpt/tests/test_nanogpt_attention.py -> hangs gs
pytest models/experimental/nanogpt/tests/test_nanogpt_block.py  -> hangs gs
pytest models/experimental/nanogpt/tests/test_nanogpt_model.py  -> fails with

launch_with_autoformat must be used if output tensor for op can be placed on host.

RuntimeError: TT_ASSERT @ tt_eager/tt_dnn/op_library/run_operation.cpp:713: outputs.at(i).tensor_attributes->dynamic_storage

Skipping on CI until fixed.
CC: @tt-rkim @TT-billteng

CC: @jliangTT


PropertyKey conflicting definition in lib.d.ts and es6-shim

Filed https://github.com/TypeStrong/ntypescript/issues/19, but it was closed due to not being nTypeScript specific. Opening here.
TypeScript Version:
Latest nTypeScript release
Code
tsconfig.json:
{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "outDir": "javascript"
  },
  "files": [
    "./typescript/main.ts",
    "./typed/sha.js.d.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

main.ts:
/// <reference path="../typings/browser.d.ts"/>

import "angular2/bundles/angular2-polyfills";

import {bootstrap} from "angular2/platform/browser";
import {AppComponent} from "./app.component";
import {ROUTER_PROVIDERS} from "angular2/router";

bootstrap(AppComponent, [ROUTER_PROVIDERS]);

Expected behavior:
everything should compile successfully
Actual behavior:
node_modules/ntypescript/bin/lib.d.ts(1266,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/browser/ambient/es6-shim/index.d.ts(8,14): error TS2300: Duplicate identifier 'PropertyKey'.

duplicate of https://github.com/Microsoft/TypeScript/issues/7812. should be fixed in tommrow's build.


pre-channel FGSM

Hi Bryse,
I've added some for loops to your adversarial_evasion.py example to produce the plot below, and it seems like you're digitally inserting the FGSM attack directly into the data the eavesdropper receives, not adding it to your transmission pre-channel as in the paper this tutorial is associated with. Is there a simple way to do this with your API?
Best,
Kyle

@kwmcclintick I'm a bit late, and I know you've already completed this project, but commenting here for others...
Yes, the eample script does indeed assume direct access to the eavesdropper -- this was studied in one of my papers where we showed that it works very well but argued that it's not realistic, for reasons you've mentioned. The example script was dumbed down to be as short as possible, the way the plots were generated for the publications involved custom generating the signals, applying FGSM, then applying the channel. This can all be done with the classes from within ptradio.


Remove requirements.txt?

Tox installs khal's dependencies as specified in setup.py. Is there a need for this file?

actually, I have no idea if this is needed or not. I have read several
blog posts about the differences between requrirements.txt and
requirements in a config file but I don't think I ever got it (at least
I cannot remember that). If it is not actually needed, I am more than
happy to see it gone.
Quoting Markus Unterwaditzer (2014-11-27 15:20:50)

Tox installs khal's dependencies as specified in setup.py. Is there a need for this file?

Reply to this email directly or view it on GitHub:
https://github.com/geier/khal/issues/131


test suite doesn't accept base-compat-0.13.0

Would be nice to support this latest version such that the test suite won't have to be disabled when Stackage upgrades.

Thank you for bringing this to my attention.  I have added a new revision and modified the cabal file accordingly: https://github.com/haskell-works/oops/pull/21


Threading questions

Hi,
I am trying to understand how WampSharp uses threads / how it can be used in multii-threaded applications, but fail to find any documentation on that issues. To be specific, the following questions remain open so far:

Is it safe to use a channel from multiple threads as a caller (using e.g. GetCalleeProxy?
When I register a callee, is the method it defined always run in a separate thread? If, for example, it takes 5 seconds to compute, and two callers call it simultaneously – will it take 5 seconds or 10?
How does this behavior depend on whether the callee's WampProcedures are defined as returning a Task<resultType> instead of <resultType>?

Thanks in advance!
Michael

Hi Michael
Regarding your questions:

using a WampChannel should be thread-safe.
This depends whether the method is synchronous (i.e. doesn't return a Task) or asynchronous (returns a Task). In the first case, the method blocks the WebSocket loop, and other requests can't be handled. Therefore it will take 10 seconds to complete both requests in this case. In the latter case, where the method returns a Task, the Task is awaited. In this case, once the task is returned, the WebSocket loop is no longer blocked and further requests are processed.

Elad

Hi Elad,
thanks for your response. That means, if I want to register methods (callee) that might take some time, I should follow the pattern?
[WampProcedure("com.example.test")]
public async Task<TResult> Test()
{
    await Task.Run(() => ExpensiveOperation());
    // stuff to evaluate the result
    return result;
}

Michael

Hi Michael,
Something like that. You should manage yourself the number of tasks you want to run in parallel. You can use some threading mechanism such as TPL.Dataflow (ActionBlock and etc) in order to have better control on the number of tasks running in parallel.
Best regards,
Elad

Hi Elad,
just found that this issue is still open – closing it as everything works very well for me, including sharing a client between several threads. Thanks again!


Updating symfony/http-foundation (v6.1.4  => v6.1.5) brokes file download

Laravel Version: 9.280
PHP Version: 8.1.2
Database Driver & Version: Not influent

Description:
We upgraded from v9.27.0 => v9.28.0.
This syntax, note $headers, not works anymore
    $headers = [
        'Content-Type: application/pdf',
    ];

      . ...  . omissis ..

    return response()->file($pathToFile, $headers);

This only works now
    $headers = [
        'Content-Type: application/pdf',
    ];

      . ...  . omissis ..

    return response()->file($pathToFile, $headers);

This is due to the upgrade from a symfony package
  symfony/http-foundation (v6.1.4 => v6.1.5)

Actual result is that downloading a pdf with a mimetype is not working anymore because we syy in the response an header "0" with value of   'Content-Type: application/pdf'
Steps To Reproduce:
Go back until symfony/http-foundatio will back to 6.1.4.
Use old syntax
Upgrade until  symfony/http-foundatio will upgrade to 6.1.5.
String array will no work any amore.
Only associative array works.
This is the guilty commit: https://github.com/symfony/symfony/commit/7023db1659313c3e51f1922e506c5fd289cfbfd7
I opened an issue on symfony also :  https://github.com/symfony/symfony/issues/47747

Thanks for making us aware. We hope Symfony patches this soon.

For information of other Laravel users ending up here instead of in the Symfony issue:
Passing the headers as a list (['Content-Type: application/pdf']) has never worked, an associative array (['Content-Type' => 'application/pdf']) works.
It appears 6.1.5 includes a bug in the automatic configuration of content-type. As the content-type header was never understood, code using this is relying on the automatic configuration.

Thanks @wouterj. I don't think we document using it like that and if we do we'd be happy to correct those if anyone can find them.

For information of other Laravel users ending up here instead of in the Symfony issue:
Passing the headers as a list (['Content-Type: application/pdf']) has never worked, an associative array (['Content-Type' => 'application/pdf']) works.

Not true. We were  (guilty and wrongly) using it in 3 different projects and it worked (since a lot of time, about 2 year the oldest commit).
Anywhere, there is no documentation about HOW to send headers and I think laravel doc team should add a small example

Thanks @wouterj. I don't think we document using it like that and if we do we'd be happy to correct those if anyone can find them.

Yes, but also there is not documentation about the right way to do it. There is no documentation about HOW to send headers and I think laravel doc team should add a small example

Not true. We were (guilty and wrongly) using it in 3 different projects and it worked (since a lot of time, about 2 year the oldest commit).

It has worked by the shear luck that the automatic content type algorithm produced the same content type as you were passing. Doing $response->headers->allPreserveCaseWithoutCookies() (which is what is send to the client) shows 0 => "Content-Type: application/json" in any version of Symfony.

I think laravel doc team should add a small example

I'm sure they welcome contributions :)

I understand and I agree.
We was 'lucky' ... no more lucky now

. Doing $response->headers->allPreserveCaseWithoutCookies() (which is what is send to the client) with the provided code example shows 0 => "Content-Type: application/json" in any version of Symfony.

I have not clear in mind why.. but in previous version of pair laravel + httpfoundation it worked in a different way.
But I hope this issue will help future googlers to avoid our mistake or fix if someone did same mistake we make: we surely copy/pasted something from somewhere and from somelucky it someworked ... :)

Ran into this today. All my streamed PDFs look like this:

Apparently, this should be fixed with the next symfony release: Symfony Github
Does anybody know when that will be relased?


Idea for version control

Following up about ideas for version control and tracking changes.
Here's one idea:

Create a single DOI for GAP_PRODUCTS data product along with a public metadata record. Create a data management plan and archive a snapshot once a year (with NCEI?) to ensure it's discoverable.
Maintain a continuous versioning and update the version after each update, including changes that occur within a year. Name versions using a YYYY.MM.DD-R scheme (e.g. 2023.11.09-1) to make it easier to figure out which version of the data folks are using.
Encourage users to cite the data product and include the accession date and DOI in the citation. Provide a recommended citation in the documentation.
Create a plain text NEWS/changelog that describes changes in each versioned release. Use descriptive titles for changes, e.g.:

November 11, 2023
GAP_PRODUCTS Version 2023.11.09-1

A brief description of the changes in this versioned release.

DATA UPDATE
 - Corrected northern rock sole (species_code = 10261) length data errors from the 2017 NBS survey. Added 500 length samples from 20 hauls (vessel 162, cruise 201702) that were erroneously omitted from the database due to a data transformation error.
 - Grid cells for the Gulf of Alaska stratum areas recalculated based on...
 - Corrected surface temperature error from cruise 201902, vessel 94, haul 38. Temperature erroneously calculated as XX changed to YY based on ZZ.

METHODOLOGICAL CHANGE
- Method for calculating design-based abundance indices for REGION X changed from YY to ZZ.

Thanks Sean, I think this is a great plan.  In the changelog, when methods
change we can also flag commit(s) that show how the code carrying out any
computations has changed.
It also has the added bonus of being able to track attribution and use of
our data more cleanly using the DOI and access date/release version.
On Thu, Nov 9, 2023 at 9:30 AM Sean Rohan @.***> wrote:

Following up about ideas for version control and tracking changes.
Here's one idea:

Create a single DOI for GAP_PRODUCTS data product along with a
public metadata record. Create a data management plan and archive a
snapshot once a year (with NCEI?) to ensure it's discoverable.
Maintain a continuous versioning and update the version after each
update, including changes that occur within a year. Name versions using a
YYYY.MM.DD-R scheme (e.g. 2023.11.09-1) to make it easier to figure out
which version of the data folks are using.
Encourage users to cite the data product and include the accession
date and DOI in the citation. Provide a recommended citation in the
documentation.
Create a plain text NEWS/changelog that describes changes in each
versioned release. Use descriptive titles for changes, e.g.:

November 11, 2023
GAP_PRODUCTS Version 2023.11.09-1
A brief description of the changes in this versioned release.
DATA UPDATE

Corrected northern rock sole (species_code = 10261) length data errors from the 2017 NBS survey. Added 500 length samples from 20 hauls (vessel 162, cruise 201702) that were erroneously omitted from the database due to a data transformation error.
Grid cells for the Gulf of Alaska stratum areas recalculated based on...
Corrected surface temperature error from cruise 201902, vessel 94, haul 38. Temperature erroneously calculated as XX changed to YY based on ZZ.

METHODOLOGICAL CHANGE

Method for calculating design-based abundance indices for REGION X changed from YY to ZZ.

—
Reply to this email directly, view it on GitHub
https://github.com/afsc-gap-products/gap_products/issues/9, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKMJP6AXQREG57KSSFQLOTYDUHLTAVCNFSM6AAAAAA7E53662VHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DMMBZG4YDIMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Lewis Barnett, PhD (he/him/his)
Research Fish Biologist
NOAA Fisheries, Alaska Fisheries Science Center
7600 Sand Point Way NE, Bldg 4
Seattle, Washington 98115
Google Voice:<PHONE_NUMBER>

I also think these are great ideas! While yes, there is more work to do on these points, I wanted to let you know we are working towards this and I have a few small updates.
I've put together the very initial steps towards (idea 2) preparing the .txts for the news page with https://github.com/afsc-gap-products/gap_products/commit/67c0a0e01b0d865439b8af7b4c8551465c12f434 where @zoyafuso-NOAA and I have created the first (still not meeting all of the points above) .txt change log files and (idea 4) updated the news.qmd page to curate these txt files https://github.com/afsc-gap-products/gap_products/commit/91580d0bae0833ab98023657777dbb16523ef6fb . I am rerunning the quarto book now and hope to have these initial changes implemented on the page soon.
Regarding ideas 1 and 3: We still need to prepare a DOI for this quarto book and DOIs for these data products, but there is the current CITATION.bib file for the data products documented in this quarto book. I think we want to hold off until the spring to make these DOIs, as that is the deadline for SSMA and others to provide their final review of the data. We are still working out the exact data archiving plan (noted in idea 1) and have a few ideas to review with OFIS.
I'll continue to work on these and report back with progress! @sean-rohan-NOAA can you send us a little more information about sharing data with NCEI, if you have it?

To add here, the temporary solution is saving a version of the GAP_PRODUCTS tables (as .csv files), the input data (RDS file) and reference tables (as .csv files) used to produce those tables, and the changelog text doc in a zipped file in the G: drive (G:\GAP_PRODUCTS_Archives) after each test production run. Each run is labeled by the date it was run.

@EmilyMarkowitz-NOAA @zoyafuso-NOAA Great to see this moving forward. Nancy Roberson is probably the best person to talk to about archiving with NCEI if that's a direction you want to move in, although I was only suggesting that as a potential avenue because it's the one I'm familiar with. You've obviously done quite a bit of work with FOSS but, since I work more with environmental data products, I'm more familiar with NOSS. With NCEI, there's a process involved with preparing and submitting the data, and I'm not sure about the constraints and limitations placed on providing the data.
More info about about the NCEI's services: https://www.ncei.noaa.gov/services


Extracting the ApiReport into apiguardian project

Paired with this PR: https://github.com/junit-team/junit5/pull/1067

Thanks for the PR!
A few notes...

We'd like to perform the move (i.e., extraction) on our own and combine it with a bit of polishing, documentation, license changes, etc.
We plan for all such tools to be in a "tools" project, but we have not yet decided if we want it to live directly next to the apiguardian-api project or in a separate repository under the same GitHub organization.
Since we have not yet published the work ourselves, it is not ready for refactorings by external parties.

In light of the above, I am inclined to close this PR until the JUnit 5 Team has had a chance to take the necessary actions, and I'll seek the rest of the team's input here: https://github.com/junit-team/junit5/pull/1067.

Having said that, people are of course free to copy the existing proof of concept and use it as they see fit until there is an official, published implementation.

@JLLeitschuh, after putting more thought into it...
One way you could help right now is to submit a PR that just sets up the multi-project build with the apiguardian-api and apiguardian-tools subprojects, containing @API and empty, respectively.
After you've done that, I can import the code from JUnit 5, and we can take it from there.
How does that sound?

Closing this issue in favor of the aforementioned proposal to submit a PR for the build changes in preparation for introducing an apiguardian-tools project/artifact.

Sounds good!

Looking forward to your PR! 👍


Can't define varying tags for embeddedSqlTags

This is an issue, which is likely concerning other parsers as well, but since my usecase is SQL, I will focus on that here.
Background Information
In our backend we're using slonik for communication with our PSQL DB.
slonik uses zod for runtime validation and type security of query return types.
This means a typical query will look like this:
sql.type(querySchema)`select ...`

querySchema references a zod type here.
For details see https://github.com/gajus/slonik?tab=readme-ov-file#example-use-of-sqltype
The Problem
With the above code I can't just configure embeddedSqlTags to include sql.type(querySchema) because it only works for this specific case.
The var name of the schema will differ between queries or sometimes directly include the zod type (i.e. sql.type(z.object({test: z.number()}))`SELECT 1 as test`).
Potential Solutions
Without having checked the source code, a potential solution might be to support for regexes in embeddedSqlTags.
It might also be worth looking into https://github.com/thebearingedge/vscode-sql-lit and how they solved this issue, as they used to have the same problem.
In older versions the extension only recognized sql`...`, but now also works well with sql.type(...)`...`.

First, thanks for the detailed issue description, so I can understand the usecase well. Supporting varying tags is a reasonable request.
Overall, I'm not in favor of regexes, as AST trees are already adopted in matching the tags, but in no doubt it's a tempting easy solution. I'll take a look at vscode-sql-lit.
The bad news is currently I have little bandwidth to maintain this package. I still plan to keep this maintained but it's not my top priority, as of now.
A (cumbersome) workaround for now is to use the block comments: sql.type(querySchema) /* sql */ `select ...`.

Hi there, thanks for the quick reply.
if you're using AST there might be a way to support these tags as well. One could make the case that defining sql.type in embeddedSqlTags should match sql.type(...) tags as well, which might be a way to avoid regexes.
That being said I, there's no rush and I feel your pain regarding bandwidth. ;)
Unfortunately I lack the experience with prettier plugins to look into this myself...


Update zio, zio-test to 2.0.4

Updates

dev.zio:zio
dev.zio:zio-test

from 1.0.17 to 2.0.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #169.


Feature request

If possible could you add progress bar or any indicators that let us know if the separation progress is being running or not

Sure. Give me a few days

Done! Now you can view the complete run log and review information such as torch device, separation progress (in percentage) and more.


[NFL/TV] — Eagles vs Browns LiVe 𝐒𝐭𝐫𝐞𝐚𝐦𝐬 FrEe BrOaDcAsT oN tV cHaNnEl 13 October 2024

!@>HERE’S** WAY TO WATCH Eagles vs Browns LIVE STREAMS ON TV CHANNEL
Eagles-Browns: Start time, channel, how to watch and stream
The Philadelphia Eagles (2-2) return to action Sunday, where they will take on the Cleveland Browns (1-4) at Lincoln Financial Field at 1 p.m. on Fox.
If it feels like it’s been a minute since the Birds played in South Philly, that’s because it has been. It’s been nearly a month since Jason Kelce danced his heart out at Xfinity Live! before the Eagles’ last-minute loss to the Atlanta Falcons at the Linc in Week 2 on Sept. 16. It’s a chance for the Eagles to lift the spirits of downbeat Philly sports fans (many of whom are still waiting for refunds) following the Phillies disappointing loss to the New York Mets in the MLB playoffs.
The good news for the Eagles is three injured stars — A.J. Brown, DeVonta Smith, and Lane Johnson — will return Sunday, which should help jump-start an offense that has averaged just 17.3 points per game over their last three games. Jalen Hurts has also struggled, committing seven turnovers in four starts (second-most of any player in the NFL) and posting a subpar QB rating of 85.7, in the bottom third of NFL starters (just below his former backup, Gardner Minshew).
The Browns also enter the game struggling, with calls everywhere for the team to bench high-priced starting quarterback Deshaun Watson. It could be exactly what the Eagles’ floundering defense needs, considering the Browns have one of the worst offenses in the league, averaging just 15.8 points per game and a league-worst 239.4 yards per game.
In a bit of a scheduling quirk, it’s the fourth time in six weeks the Browns are facing an NFC East opponent. Cleveland went 0-3 against the New York Giants, Dallas Cowboys, and Washington Commanders, who outscored the Browns a combined 88-45.
The last time the Eagles and Browns played was in 2020, when Baker Mayfield led Cleveland to a home win against Carson Wentz and the Birds. And the last time the Browns won a game in Philly was 1994, a 30-year streak the Birds hope to continue Sunday.
Here’s everything you need to know to watch or stream this week’s Eagles-Browns game:
What time and channel is Sunday’s Eagles game?
Sunday’s game between the Eagles and Browns is scheduled to kick off at 1 p.m. Eastern on Fox. Kenny Albert and Super Bowl champ Jonathan Vilma will be in the booth for Fox, with Megan Olivi reporting from the sidelines at the Linc.
Eagles-Browns will also air on the radio on 94.1 WIP, where fans can listen to the familiar voices of Merrill Reese and former Eagles receiver Mike Quick. WIP host Howard Eskin will handle sideline reporting duties.
Rickie Ricardo, Oscar Budejen, and Dave Gerhardt will call the game in Spanish on La Mega 105.7 FM in Philadelphia, 93.9 FM in Atlantic City, and 103.3 FM in Vineland/Millville.
Both radio broadcasts can be streamed from anywhere on the Eagles’ website, while fans in Philly can also stream them on the Eagles app.
Where can I stream Eagles-Browns
Eagles-Browns will stream on the Fox Sports app, though you need to login with your cable provider.
The game also will stream on any so-called skinny bundle that carries Fox, including fuboTV, YouTube TV, Hulu + Live TV, Sling TV, and DirecTV Stream. Most offer a free trial.
If you live in the Philadelphia TV market, you can also stream the game on NFL+, the league’s subscription streaming service, which runs $6.99 a month.
If you’re looking to stream the game for free and you live in or around Philadelphia, your best option is using a digital antenna, since the game will air on broadcast television on Fox 29.


fix(retry): Fix retry strategy when all hosts are down

Coverage increased (+0.02%) to 78.173% when pulling 240b6f5d4f3d183b5ceaf2c999b4f07212830ede on fix/retry_strategy into 822f87cda8e556008f55eca97e7d61601e01b726 on master.