[Sveltekit] Setup according to docs causes infinite loop with invalidation in onAuthStateChange

StackBlitz
I've set up a Stackblitz with the same issue here. Create a .env and link it with a stock Supabase project of yours.
Describe the bug
After signing in using valid credentials, the invalidate('supabase:auth') in +layout.svelte is called rapidly, many times a second, until the API locks you out due to the rate limit being exceeded and the session is destroyed. If invalidate('supabase:auth') is commented out and replaced with a console.log, it is fired about every other second and the session is maintained without issues.
Network log shows a flood of (successful) requests to /auth/v1/token?grant_type=refresh_token, until the rate limiter steps in.
Steps To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Set up a new Sveltekit project (npm create svelte@latest new-project)
Follow the Sveltekit auth helper docs here or here precisely
Set up a form action to sign in, also as described in the docs
Create a +page.svelte with a form element and submit the sign in form using valid credentials

Expected behavior
After setting up as according to the documentation here or here, I should be able to sign in and have a healthy session, which should be kept in sync and be available both server-side and client-side.
System information

OS: Arch Linux
Version of supabase-js: 2.12.0
Version of supabase-js/auth-helpers-sveltekit: 0.9.0
Version of Node.js: 19.8.0 (also tested with 16.19.1)
Version of Sveltekit: 1.13.0
Version of Vite: 4.2.1
Version of Svelte: 3.57.0

Additional context
No typescript, no extra packages.

I can't replicate this in any of the example repos I have. Also the stackblitz example doesn't work because there are CORS issues with stackblitz. You can view one of the example repo here https://github.com/supabase-community/supabase-by-example/tree/main/reset-flow/sveltekit

@silentworks I tried cloning the repo you linked, and am getting the exact same issue there.

I'm experiencing this exact issue.
Reproduce:

Setup everything exactly as stated in the documentation
In the root +layout.svelte, add a link to a page that doesn't exist (/whatever).
Click the '/whatever' <a> element
Experience infinite loop of invalidate('supabase:auth')

I'm running into the same issue described above.
Whenever hitting a 404 page. it starts an infinite loop of invalidating invalidate('supabase:auth') and then reloading over and over.
If I comment out invalidate('supabase:auth') in ./src/routes/+layout.svelte and restart the project the infinite ceases.

@silentworks I was able to recreate the issue in the example repo you reference: https://github.com/supabase-community/supabase-by-example/tree/main/reset-flow/sveltekit by upgrading @supabase/supabase-js from v2.10.0 to v2.12.1 with pnpm i @supabase/supabase-js@latest
Issue seems to be directly related to underlying @supabase/gotrue-js going from v2.15.0 to  v2.16.0
https://github.com/supabase/gotrue-js/releases/tag/v2.16.0
To recreate

clone repo: https://github.com/supabase-community/supabase-by-example/tree/main/reset-flow/sveltekit
pnpm i @supabase/supabase-js@latest
pnpm dev
navigate to any route that will produce a 404 error such as: http://localhost:5174/not-there

Temp fix until a patch
@huntabyte, @bhark
For other running into this you can resolve by adding the below to your root package.json
{
...
"pnpm": {
    "overrides": {
      "@supabase/supabase-js@2.12.1>@supabase/gotrue-js": "2.15.0"
    }
  }
}

@ralphwest1 tried this and still got the same issue

@adonis2611
The settings for overriding a nested depend package varies based on:

Are you using pnpm or npm?
Are you using a monorepo or single repo?
What version of @supabase/supabse-js do you have installed?

I think we're talking about two different issues here, although they both seem to stem from gotrue.
It turns out that the main issue i posted can't be reliably reproduced. A colleague of mine with the exact same version of node and npm was able to run my codebase as is without issue.
The 404 loop that @ralphwest1 is talking about can apparently be reliably reproduced. My colleague had this issue too, and I can reproduce it on another workstation of mine.

I'm also experiencing an infinite invalidation loop in onAuthStateChange except it occurs when an error boundary is rendered @silentworks. I discovered it by clicking a link to a page in my app that doesn't exist. Currently trying to determine the root cause of this and will report back if I'm able to identify it this evening.
Reproduction Repo: StackBlitz - Just add a .env with PUBLIC_SUPABASE_ANON_KEY & PUBLIC_SUPABASE_URL
Manual Repro Steps:
1. Setup everything exactly as stated in the documentation

2. In the root `+layout.svelte`, add a link to a page that doesn't exist (/whatever).

3. Click the '/whatever' `<a>` element

4. Experience infinite loop of `invalidate('supabase:auth')`

@ralphwest1 and @huntabyte yeah I can replicate this. You can fix it by updating the script section to be this instead, we will update the guides soon.
        import { invalidate } from '$app/navigation';
	import { onMount } from 'svelte';
	import type { LayoutData } from './$types';

	export let data: LayoutData;

	$: ({ supabase, session } = data);

	onMount(() => {
		const {
			data: { subscription }
		} = supabase.auth.onAuthStateChange((event, _session) => {
			if (_session?.expires_at !== session?.expires_at) {
				invalidate('supabase:auth');
			}
		});

		return () => {
			subscription.unsubscribe();
		};
	});

Awesome, thanks for the swift response & solution!

Having the same problem here. Going to non existing route causes the infinite loop. The problem seems to be caused by invalidate('supabase:auth') in +layout.svelte file.
If I comment invalidate('supabase:auth')  out the loop stops to occur.


Remove 'upload' button while a search is active

Summary
Add a state control to display the search result during the searching event on media library.
Relevant Technical Choices
Add a conditional rendering on the search result display.
To-do
N/A
User-facing changes
See screenshots at the comments
Testing Instructions
Case 1:
User enter a keyword on the search bar -> hit Enter, it will have the followings:

The Upload button should gone
The Upload button should be replace by text n result(s) found

Case 2:
When user is using the filter based on Case 1, if there is no result found

The filter dropdown should still stay there, so that user could switch to other filters
The text No media found should show under the filter

Case 3:
When user clean up the search keyword

The Upload button should come back
The n result(s) found text should gone

Fixes #2235

Here are some screenshots:
Case 1, when user search on keyword:

Case 2, when user use the filter and find nothing:

Case 3, when user clean up the search keyword:

I made some improvements based on my review comments. Apologies for hijacking your PR!
It works, but visually it doesn't look good because the current library design is far away from what's in Figma:

At the very least I think we should make the media filter dropdown more narrow:

I actually did this once in #4397, but it looks like it has regressed since.

I made some improvements based on my review comments. Apologies for hijacking your PR!
It works, but visually it doesn't look good because the current library design is far away from what's in Figma:

At the very least I think we should make the media filter dropdown more narrow:

I actually did this once in #4397, but it looks like it has regressed since.

Got it, will make the dropdown button more narrow.

Update the dropdown button width


Error when creating an instance of flask_fontawesome

Creating an instance of flask_fontawesome without passing 'app' returns a NoneType error in version 0.1.3. Doesn't happen in 0.1.1.
>>> from flask_fontawesome import FontAwesome
>>> fa = FontAwesome()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/ken/Dev/cranialsoft/shit/.venv/lib/python3.8/site-packages/flask_fontawesome/__init__.py", line 192, in __init__
    app.extensions = {}
AttributeError: 'NoneType' object has no attribute 'extensions'

Sorry @heartsucker, I can't do a pull req right now. But proposed fix is edit init.py and indent lines 191-193 so they're in the "if app is not None:" block.

I pushed a fix and will push a new version to PyPI shortly. Thanks for reporting this.


scan doesn't show test failures in the output files

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
There are test failures (tests actually crashed), SCAN lists the failed tests in the console log, however, in the output files and in the final summary, it shows all pass. see logs below:
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

...... too many lines.....
Failing tests:
-[SmartSyncTestSuite testSyncUpLocallyCreated]
-[SmartSyncTestSuite testSyncUpLocallyDeleted]
-[SmartSyncTestSuite testSyncUpLocallyDeletedWithNoOverwrite]
-[SmartSyncTestSuite testSyncUpLocallyUpdated]
-[SmartSyncTestSuite testSyncUpLocallyUpdatedWithGlobalStore]
-[SmartSyncTestSuite testSyncUpLocallyUpdatedWithGlobalStoreNamed]
-[SmartSyncTestSuite testSyncUpLocallyUpdatedWithNoOverwrite]
** TEST FAILED **
The following commands produced analyzer issues:
Analyze Views/RCTMapManager.m
Analyze Modules/RCTRedBox.m
(2 commands with analyzer issues)
[00:05:25]: Exit status: 65
+--------------------+-------+
|        Test Results        |
+--------------------+-------+
| Number of tests    | 622   |
| Number of failures | 0     |
+--------------------+-------+
[00:37:46]: Successfully generated report at '/Users/mhu/dev/SalesforceMobileSDK/iOS/test_output/report.html'
[00:37:57]: Successfully generated report at '/Users/mhu/dev/SalesforceMobileSDK/iOS/test_output/report.junit'
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
[INSERT OUTPUT HERE]
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.11.6

Ruby
2.3.1

Bundler?
false

Git
git version 2.10.1 (Apple Git-78)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.11.6 (15G1212)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.3.1_2/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.2.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
if !ENV["device"] or ENV["device"]==""
	ENV["device"] = "iPhone 6"
end

if !ENV["scheme"] or ENV["scheme"]==""
	ENV["scheme"] = "UnitTests"
end

$Jenkins = false
if ENV["JENKINS_URL"]
  $Jenkins = true
end

$GITPRAPI = "https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/%s/files"
$schemes = ["SalesforceAnalytics", "SalesforceHybridSDK", "SalesforceReact", "SalesforceSDKCore", "SmartStore", "SmartSync"]
$schemesWithUnitTests = Array.new($schemes)
$schemesWithUnitTests.push("UnitTests")

system("/usr/libexec/PlistBuddy -c \"add :ConnectHardwareKeyboard bool 0\" ~/Library/Preferences/com.apple.iphonesimulator.plist || /usr/libexec/PlistBuddy -c \"set :ConnectHardwareKeyboard 0\" ~/Library/Preferences/com.apple.iphonesimulator.plist")
system("rm -r $HOME/Library/Developer/Xcode/DerivedData/SalesforceMobileSDK-*")

def doDanger
	if $Jenkins
		begin
			 danger(
				 danger_id: "CI-result",
				 dangerfile: "DangerFile",
				 github_api_token: ENV["DANGER_GITHUB_API_TOKEN"],
				 verbose: true
			 )
		 rescue => ex
			 UI.error(ex)
		 end
	end
end

def testScheme(scheme)
	scan(
		workspace: "SalesforceMobileSDK.xcworkspace",
		scheme: scheme,
		device: ENV["device"],
		output_directory: "test_output”,
		code_coverage: true,
		clean: true
	)

	begin
		xcodebuild(
		 	xcargs: "CLANG_ANALYZER_OUTPUT=plist-html CLANG_ANALYZER_OUTPUT_DIR=./clangReport RUN_CLANG_STATIC_ANALYZER=YES",
		 	workspace: "SalesforceMobileSDK.xcworkspace",
		 	scheme: scheme,
		 	fail_build: false
		)
	rescue => ex
		UI.error(ex)
	ensure
		#move clangReports to one folder
		system("mkdir -p ../clangReport/StaticAnalyzer")
		system("mv ../libs/SalesforceAnalytics/clangReport/StaticAnalyzer/SalesforceAnalytics ../clangReport/StaticAnalyzer/")
		system("mv ../libs/SalesforceHybridSDK/clangReport/StaticAnalyzer/SalesforceHybridSDK ../clangReport/StaticAnalyzer/")
		system("mv ../libs/SalesforceReact/clangReport/StaticAnalyzer/SalesforceReact ../clangReport/StaticAnalyzer/")
		system("mv ../libs/SalesforceSDKCore/clangReport/StaticAnalyzer/SalesforceSDKCore ../clangReport/StaticAnalyzer/")
		system("mv ../libs/SmartStore/clangReport/StaticAnalyzer/SmartStore ../clangReport/StaticAnalyzer/")
		system("mv ../libs/SmartSync/clangReport/StaticAnalyzer/SmartSync ../clangReport/StaticAnalyzer/")
	end

  xcov(
    workspace: "SalesforceMobileSDK.xcworkspace",
    scheme: scheme,
    output_directory: "xcov_output",
    exclude_targets: "CocoaLumberjack.framework,SalesforceSDKCoreTestApp.app,SmartStoreTestApp.app,SmartSyncTestApp.app,SalesforceHybridSDKTestApp.app,SalesforceAnalyticsTestApp.app,RestAPIExplorer.app,AccountEditor.app,NoteSync.app,SmartSyncExplorerHybrid.app,SmartSyncExplorer.app,SmartSyncExplorerCommon.framework,RecentContactsTodayExtension.appexs"
  )

  schemes = [scheme]
  if scheme.include?("UnitTests")
     schemes = $schemes
  end
  for oneScheme in schemes
  	slather(
  		workspace: "SalesforceMobileSDK.xcworkspace",
  		scheme: oneScheme,
  		output_directory: "slather_output/#{oneScheme}",
      html: true,
      jenkins: $Jenkins,
      cobertura_xml: true,
      proj: "./libs/%s/%s.xcodeproj" %[oneScheme, oneScheme]
  	)
  end
end

lane :PR do
	schemes = Set.new
	if ENV["ghprbPullId"] && ENV["gitToken"]
		prFilesAPI = $GITPRAPI % ENV["ghprbPullId"]
		curlCommand = "curl %s -H 'Authorization: token %s'" % [prFilesAPI, ENV["gitToken"]]
		pullfiles = `#{curlCommand}`
		prfiles = JSON.parse(pullfiles)
		for prfile in prfiles
			path = prfile["filename"]
      for scheme in $schemes
  			if path.include? scheme
  				schemes = schemes.add(scheme)
  			end
      end
		end
		puts "schemes:" + schemes.to_a().join(",")
	end

	if schemes.size == 0
			schemes = ENV["scheme"].split(',')
	end

	if schemes.size >= 3 || schemes.include?("UnitTests")
		testScheme("UnitTests")
		doDanger
	else
		for scheme in schemes
			testScheme(scheme)
			doDanger
		end
	end
end

lane :LCL do
  index = 1
	puts "Select scheme:"
	for scheme in $schemesWithUnitTests
			puts index.to_s + ": " + scheme
			index = index + 1
	end

	print "Just enter a number:"
	selection = STDIN.gets.strip

	testScheme($schemesWithUnitTests[selection.to_i-1])

end

lane :CI do
	testScheme("UnitTests")
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.9.0
🚫 Update available

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
1.5.1

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

terminal-table
1.4.5

plist
3.1.0

addressable
2.3.8

multipart-post
2.0.0

word_wrap
1.0.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander
4.4.0

excon
0.53.0

faraday
0.9.2

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20160826

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
1.6.8

gh_inspector
1.0.2

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.9.15

json
1.8.3

mini_magick
4.5.1

multi_xml
0.5.5

rubyzip
1.1.7

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

faraday_middleware
0.10.0

i18n
0.7.0

thread_safe
0.3.5

tzinfo
1.2.2

minitest
5.8.3

activesupport
<IP_ADDRESS>

io-console
0.4.5

CFPropertyList
2.3.3

claide
1.0.1

nanaimo
0.2.2

xcodeproj
1.4.1

bundler
1.13.7

generated on: 2017-01-26

I can confirm the same behavior of fastlane scan with Xcode 8.2.1 on macOS 10.12.2.

@realf Have you looked inside the actual xcodebuild log?
You can use scan's buildlog_path option to specify output dir for log path.
It there are no details in the original log, then xcpretty would not be able to pick them up and parse.
If the original build log has errors, then probably we'd have to open pull request to xcpretty.

If I understand the problem correctly, either xcpretty, or fastlane scan misses some tests. For example, 8 tests were run, 1 failed, but we see, that fastlane reports about 7 tests and 0 failures.
...
16:48:34 All tests
16:48:34 Test Suite UITests.xctest started
16:48:34 NGTrialPassTests
16:48:34 RewardsExtendedTests
16:48:34 ✓ testRejectTermsAndConditions (22.303 seconds)
16:48:34 ✓ testRewardsList (33.495 seconds)
16:48:34 StandardizedFlowTests
16:48:34 ✓ testInterstitialScreenStandardisedFlowWithLFIdentityProvider (9.874 seconds)
16:48:34 ✓ testLoginAsGuest (11.937 seconds)
16:48:34 ✓ testWelcomeScreenStandardisedFlow (7.807 seconds)
16:48:34 ✓ testWelcomeScreenStandardisedFlowWithGuestPassGuestMode (11.400 seconds)
16:48:34 ✓ testWelcomeScreenStandardisedFlowWithGuestPassNoGuestMode (7.750 seconds)
16:48:34
16:48:34
16:48:34 	 Executed 8 tests, with 1 failure (1 unexpected) in 147.675 (147.738) seconds
16:48:34
16:48:34 Failing tests:
16:48:34 -[NGTrialPassTests testTrialPassSuccessfulScenarioAndFieldValidations]
16:48:34 ** TEST FAILED **
16:48:34 [16:48:34]: Exit status: 65
16:48:35 +--------------------+-------+
16:48:35 |        Test Results        |
16:48:35 +--------------------+-------+
16:48:35 | Number of tests    | 7     |
16:48:35 | Number of failures | 0     |
16:48:35 +--------------------+-------+
...

Here is what I found in scan's buildlog:
...
Test Case '-[NGTrialPassTests testTrialPassSuccessfulScenarioAndFieldValidations]' failed (43.110 seconds).
Test Suite 'NGTrialPassTests' failed at 2017-02-03 16:46:50.082.
	 Executed 1 test, with 1 failure (1 unexpected) in 43.110 (43.152) seconds
...
Test Suite 'UITests.xctest' failed at 2017-02-03 16:48:34.668.
	 Executed 8 tests, with 1 failure (1 unexpected) in 147.675 (147.738) seconds
Test Suite 'All tests' failed at 2017-02-03 16:48:34.670.
	 Executed 8 tests, with 1 failure (1 unexpected) in 147.675 (147.742) seconds

@realf
From the output looks like xcpretty did pick them up and reported, but then there is a bug in the code that generates the Test Results table.
I think we may even have this issue in our project, but never noticed, because we just use junit test report for CI integration.
In any case, this looks like a bug in reporting tests summary. Thanks for spotting it 👍

@realf Oh, wait, did you also mean that report.html and report.junit have no failed tests in them?

Yes, it was absent in reports.
We have a custom script to restart UI tests that fail sometimes because of Apple's bug, but now with this bug some failing tests din't fail test suit, causing false positives.
Sergey Dunets

On Feb 4, 2017, at 13:16, Maksym Grebenets<EMAIL_ADDRESS>wrote:
@realf Oh, wait, did you also mean that report.html and report.junit have no failed tests in them?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

To illustrate my previous comment, I'd like to add an extract of our test logs on CI.
16:26:37 ✗ testRejectTermsAndConditions, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 ✗ testRewardsList, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 StandardizedFlowTests
16:26:37 ✗ testInterstitialScreenStandardisedFlowWithLFIdentityProvider, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 ✗ testLoginAsGuest, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 ✗ testWelcomeScreenStandardisedFlow, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 ✗ testWelcomeScreenStandardisedFlowWithGuestPassGuestMode, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 ✗ testWelcomeScreenStandardisedFlowWithGuestPassNoGuestMode, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37
16:26:37
16:26:37 UITests.RewardsExtendedTests
16:26:37 testRejectTermsAndConditions, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37 testRewardsList, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37 UITests.StandardizedFlowTests
16:26:37 testInterstitialScreenStandardisedFlowWithLFIdentityProvider, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37 testLoginAsGuest, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37 testWelcomeScreenStandardisedFlow, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37 testWelcomeScreenStandardisedFlowWithGuestPassGuestMode, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37 testWelcomeScreenStandardisedFlowWithGuestPassNoGuestMode, UI Testing Failure - Failure attempting to launch <XCUIApplicationImpl: 0x7fc72dc45d60 com.Company.TheApp.inhouse at /Users/jenkins/Library/Developer/Xcode/DerivedData/product-ayeybvhadfuubdftdfygzjnazjvr/Build/Products/UITests-iphonesimulator/TheApp.app>: Error Domain=IDEPseudoTerminalDomain Code=1 "(null)"
16:26:37 <unknown>:0
16:26:37
16:26:37
16:26:37 	 Executed 132 tests, with 10 failures (3 unexpected) in 3378.525 (3378.967) seconds
16:26:37
16:26:37 Failing tests:
16:26:37 -[NGABCFlowSignUpTests testSuccessfulSignUpScreen2]
16:26:37 -[NGStandardizedFlowSignInTests testSignInWithNonExistingEmailWithNeedHelp]
16:26:37 -[NGTrialPassTests testTrialPassSuccessfulScenarioAndFieldValidations]
16:26:37 -[RewardsExtendedTests testRejectTermsAndConditions()]
16:26:37 -[RewardsExtendedTests testRewardsList()]
16:26:37 -[StandardizedFlowTests testInterstitialScreenStandardisedFlowWithLFIdentityProvider()]
16:26:37 -[StandardizedFlowTests testLoginAsGuest()]
16:26:37 -[StandardizedFlowTests testWelcomeScreenStandardisedFlow()]
16:26:37 -[StandardizedFlowTests testWelcomeScreenStandardisedFlowWithGuestPassGuestMode()]
16:26:37 -[StandardizedFlowTests testWelcomeScreenStandardisedFlowWithGuestPassNoGuestMode()]
16:26:37 ** TEST FAILED **

Note, 10 tests failed.
16:26:37 [16:26:37]: Exit status: 65
16:26:50 +--------------------+-------+
16:26:50 |        Test Results        |
16:26:50 +--------------------+-------+
16:26:50 | Number of tests    | 129   |
16:26:50 | Number of failures | 7     |
16:26:50 +--------------------+-------+
16:26:50
16:27:04 [16:27:05]: Successfully generated report at '/tmp/Logs/scan/2017-02-06_15-23-51/output/report.html'
16:27:18 [16:27:18]: Successfully generated report at '/tmp/Logs/scan/2017-02-06_15-23-51/output/report.junit'
16:27:18
16:27:18 [!] Test execution failed. Exit status: 65
16:27:18 NG_TESTS_FAILED

Note, 7 tests were reported as failed and this is what I can actually find in /tmp/Logs/scan/2017-02-06_15-23-51/output/report.html.
This is why we are retrying only 7 tests of 10 that actually failed.
We retry only 7 tests.
16:27:19 Retrying tests:
16:27:19 UITests.RewardsExtendedTests
16:27:19 testRejectTermsAndConditions
16:27:19 UITests.RewardsExtendedTests
16:27:19 testRewardsList
16:27:19 UITests.StandardizedFlowTests
16:27:19 testInterstitialScreenStandardisedFlowWithLFIdentityProvider
16:27:19 UITests.StandardizedFlowTests
16:27:19 testLoginAsGuest
16:27:19 UITests.StandardizedFlowTests
16:27:19 testWelcomeScreenStandardisedFlow
16:27:19 UITests.StandardizedFlowTests
16:27:19 testWelcomeScreenStandardisedFlowWithGuestPassGuestMode
16:27:19 UITests.StandardizedFlowTests
16:27:19 testWelcomeScreenStandardisedFlowWithGuestPassNoGuestMode

And this is a result:
16:27:41 [16:27:42]: ▸ Test Suite UITests.xctest started
16:27:41 [16:27:42]: ▸ RewardsExtendedTests
16:28:02 [16:28:03]: ▸ ✓ testRejectTermsAndConditions (21.150 seconds)
16:28:33 [16:28:34]: ▸ ✓ testRewardsList (31.091 seconds)
16:28:33 [16:28:34]: ▸ StandardizedFlowTests
16:28:43 [16:28:44]: ▸ ✓ testInterstitialScreenStandardisedFlowWithLFIdentityProvider (9.613 seconds)
16:28:53 [16:28:54]: ▸ ✓ testLoginAsGuest (10.518 seconds)
16:29:01 [16:29:02]: ▸ ✓ testWelcomeScreenStandardisedFlow (7.658 seconds)
16:29:12 [16:29:13]: ▸ ✓ testWelcomeScreenStandardisedFlowWithGuestPassGuestMode (11.313 seconds)
16:29:20 [16:29:21]: ▸ ✓ testWelcomeScreenStandardisedFlowWithGuestPassNoGuestMode (7.594 seconds)
16:29:20 [16:29:21]: ▸ 	 Executed 7 tests, with 0 failures (0 unexpected) in 98.937 (98.957) seconds
16:29:20 [16:29:21]: ▸
16:29:20 [16:29:21]: ▸ Test Succeeded
16:29:21 +--------------------+-------+
16:29:21 |        Test Results        |
16:29:21 +--------------------+-------+
16:29:21 | Number of tests    | 7     |
16:29:21 | Number of failures | 0     |
16:29:21 +--------------------+-------+
16:29:21
16:29:23 [16:29:23]: Successfully generated report at '/tmp/Logs/scan/2017-02-06_16-27-20/output/report.html'
16:29:24 [16:29:25]: Successfully generated report at '/tmp/Logs/scan/2017-02-06_16-27-20/output/report.junit'

16:29:28 Finished: SUCCESS

All 7 pass, and this is can be a false positive since we did not retry 3 tests that failed the previous time we run the full test suite.

I am experiencing the same issue. The Test Results table reports 0 failures and an incorrect number of tests (total number minus actual failures). This finishes with "success", which allows our Bamboo build to succeed, which is not good behavior.

I'm pretty sure this is related: https://github.com/supermarin/xcpretty/issues/87
Looks like we need a fix in xcpretty dependency.

I agree. I did some research yesterday and it looks like all of my tests which aren't included had some other log output interrupt them. As a workaround, I switched log level to .error instead of .info but that doesn't fix all of my issues because we're using a library that doesn't allow specification of log level.

I am not sure if it is related, but it seems that fastlane sometimes doesn't report tests as failed when xcpretty marks them as unexpected.

Are there any updates on this issue?


release lock as soon as finish using

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #1098
Special notes for your reviewer:
Does this PR introduce a user-facing change?

None

/lgtm
/asign @mimowo

/ok-to-test

/hold

/lgtm cancel
I'll leave the LGTM to @mimowo

It looks ok, but I have a slight concern, that if there is a panic thrown between Lock and Unlock the lock will remain. It is usually not an issue if the code in between is very simple (sort of like here), but I have a feeling this code may evolve.
I would suggest to wrap the code into a function call and use Lock / defer Unlock pattern for the duration of the function. This could be either in a named function, like "snapshotQueueData", or an unnamed, like we do for example here:
https://github.com/kubernetes-sigs/kueue/blob/0ee53de7f2f10ea7eb129f34c143126bdc002ee1/client-go/informers/externalversions/factory.go#L148-L159
.

It sounds reasonable. The current implementation is a bit dangerous.

It sounds reasonable. The current implementation is a bit dangerous.

Have updated.

/hold cancel


[Question] Is it possible to use "Extract into function" from Rust Analyzer?

Is it a code action that kak-lsp does not support or an external feature provided by each extension?
In vscode:

In Kakoune:

kak-lsp only sends the cursor position, but it should send the (main) selection coordinates (cursor position + anchor position)
I've fixed that on the code-action-on-selection branch.
Unfortunately, I get "Extract to variable" on your example instead of
"Extract to function". No idea why, I'll try to ask rust-analyzer folks.
Strangely, not even neovim seems to support this.


Misc improvements

This

updates license files and package/crate manifest license statements
adds lincese headears + checks
adds rustfmt config
updates rust edition
updates tauri version
brings over the package.json export section from tauri-plugin-log

There are still one or two problems with yarn build here.

the syntax in build:esm is wrong and just throws an error (--format esm,cjs instead should work, but unecessary if we drop cjs)
with type:module, tsup outputs the esm as a .js file, which is fine imo anyway since it seems we want to switch to esm only anyway. kinda surprised by this because iirc we came to a different conclusion a few weeks ago. But the less commonjs, the better if you ask me lolol
we don't output a minified file, so "browser": "webview-dist/index.min.js", should cause problems too.

the syntax in build:esm is wrong and just throws an error (--format esm,cjs instead should work, but unecessary if we drop cjs)

Didn't touch that 🤷🏻♂ but I can fix it sure!

with type:module, tsup outputs the esm as a .js file, which is fine imo anyway since it seems we want to switch to esm only anyway. kinda surprised by this because iirc we came to a different conclusion a few weeks ago. But the less commonjs, the better if you ask me lolol
we don't output a minified file, so "browser": "webview-dist/index.min.js", should cause problems too.

I left a comment under the commit that introduced tsup stating exactly this, but I don't really know how to move forwards here. The reason why we had a minified browser build (and why we're checking the dist folder into git at all) is so that people who don't want to setup a full build system for trying out tauri can just use a script tag. Or - something that denjell apparently likes - use this plugin by making it a git submodule of ones app.
And as all other plugins (even @tauri-apps/api) export a minified file, I'd like this plugin to do the same.
But 👍🏻 from me on removing cjs (I think building cjs was a regression bc I had removed it a long time ago)


[Bug]: MistralTokenizer Detokenization Issue

Your current environment

The output of `python collect_env.py`

Collecting environment information...
/workspace/my-vllm/lib64/python3.12/site-packages/transformers/utils/hub.py:128: FutureWarning: Using `TRANSFORMERS_CACHE` is deprecated and will be removed in v5 of Transformers. Use `HF_HOME` instead.
  warnings.warn(
PyTorch version: 2.4.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A

OS: Red Hat Enterprise Linux 9.4 (Plow) (x86_64)
GCC version: (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3)
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.34

Python version: 3.12.1 (main, Aug 23 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (64-bit runtime)
Python platform: Linux-4.18.0-372.46.1.el8_6.x86_64-x86_64-with-glibc2.34
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA A100-SXM4-80GB
Nvidia driver version: 535.104.12
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 57 bits virtual
Byte Order:                      Little Endian
CPU(s):                          80
On-line CPU(s) list:             0-79
Vendor ID:                       GenuineIntel
Model name:                      Intel Xeon Processor (Icelake)
CPU family:                      6
Model:                           134
Thread(s) per core:              2
Core(s) per socket:              20
Socket(s):                       2
Stepping:                        0
BogoMIPS:                        5600.04
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid fsrm md_clear arch_capabilities
Virtualization:                  VT-x
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       2.5 MiB (80 instances)
L1i cache:                       2.5 MiB (80 instances)
L2 cache:                        160 MiB (40 instances)
L3 cache:                        32 MiB (2 instances)
NUMA node(s):                    2
NUMA node0 CPU(s):               0-39
NUMA node1 CPU(s):               40-79
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected

Versions of relevant libraries:
[pip3] flashinfer==0.1.6+cu124torch2.4
[pip3] numpy==1.26.4
[pip3] nvidia-cublas-cu12==<IP_ADDRESS>
[pip3] nvidia-cuda-cupti-cu12==12.1.105
[pip3] nvidia-cuda-nvrtc-cu12==12.1.105
[pip3] nvidia-cuda-runtime-cu12==12.1.105
[pip3] nvidia-cudnn-cu12==<IP_ADDRESS>
[pip3] nvidia-cufft-cu12==<IP_ADDRESS>
[pip3] nvidia-curand-cu12==<IP_ADDRESS>
[pip3] nvidia-cusolver-cu12==<IP_ADDRESS>
[pip3] nvidia-cusparse-cu12==<IP_ADDRESS>
[pip3] nvidia-ml-py==12.560.30
[pip3] nvidia-nccl-cu12==2.20.5
[pip3] nvidia-nvjitlink-cu12==12.6.77
[pip3] nvidia-nvtx-cu12==12.1.105
[pip3] pyzmq==26.2.0
[pip3] torch==2.4.0
[pip3] torchvision==0.19.0
[pip3] transformers==4.45.2
[pip3] triton==3.0.0
[conda] Could not collect
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.6.3.dev71+g6a5d85f4
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0	NIC0	CPU Affinity	NUMA Affinity	GPU NUMA ID
GPU0	 X 	SYS	40-79	1		N/A
NIC0	SYS	 X

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

NIC Legend:

  NIC0: mlx5_0

Model Input Dumps
No response
🐛 Describe the bug
Reproducing the error case mentioned here - https://github.com/vllm-project/vllm/issues/8627#issuecomment-2364194419
from vllm.transformers_utils.tokenizers import mistral

tokenizer = mistral.MistralTokenizer.from_pretrained('/path/to/mistral/tokenizer')

byte_string = "hello".encode()

# input 1
tokenizer.convert_tokens_to_string(["hello", "there", byte_string, "🌶"])

# input 2
tokenizer.convert_tokens_to_string([b""])

# input 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/workspace/my-vllm/lib64/python3.12/site-packages/vllm/transformers_utils/tokenizers/mistral.py", line 191, in convert_tokens_to_string
    self.tokenizer._tekken_token2id_nospecial[t] + shift
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
KeyError: b'\xf0\x9f\x8c\xb6\xef\xb8\x8f'

# input 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/workspace/my-vllm/lib64/python3.12/site-packages/vllm/transformers_utils/tokenizers/mistral.py", line 191, in convert_tokens_to_string
    self.tokenizer._tekken_token2id_nospecial[t] + shift
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
KeyError: b''

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Unfortunately it's not easy to replicate the issue while generation, it happens very randomly while sampling.
We saw 2 error conditions which @tjohnson31415 has mentioned in the linked PR, I can dive deeper into them:
Empty string:
  File "/home/vllm/my-vllm/lib64/python3.12/site-packages/vllm/transformers_utils/tokenizers/mistral.py", line 223, in convert_tokens_to_string
    self.tokenizer._tekken_token2id_nospecial[t] + shift
  KeyError: b''

This happens when then model tries to print URGENCY. If we take a look at the ids, it looks like  …'UR', 'G', 'EN', '', '_\n']. Instead of the CY to finish URGENCY, it has a blank. The string CY is token id 130282 but it is being set to an empty string because it exceeded the length of the tokenizer.
Another is for a bytestring
  File "/home/vllm/my-vllm/lib64/python3.12/site-packages/vllm/transformers_utils/tokenizers/mistral.py", line 223, in convert_tokens_to_string
    self.tokenizer._tekken_token2id_nospecial[t] + shift
  KeyError: b'\xc2\x9f\xef\xbf\bd'

This happens if the model tries to generate [1492, 1176, 115679] these token ids. I've captured the error in this test case - https://github.com/vllm-project/vllm/pull/9625/files#diff-7abe9ab945e9c48dd0e151ffdb3891ee0796f153619666366d8d5901a49e86daR65-R68


hide generate support bundle cli command for embedded cluster

What this PR does / why we need it:
https://app.shortcut.com/replicated/story/104120/remove-instructions-on-generating-a-bundle-from-the-cli
This PR hides the "click here" to generate a support bundle via CLI command and the upload bundle dropzone for Embedded Cluster.

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Steps to reproduce

Does this PR introduce a user-facing change?

Hide generate support bundle command for embedded cluster

Does this PR require documentation?

@cbodonnell thanks for catching the log! ready for re-review.


How to reproject using gridfile

Question:
I'm trying to convert coordinates from Gauß-Krüger (DHDN GK3) to UTM32 using the official gridfile BWTA2017.gsb (supplied by the German surveying authority Landesamt für Geoinformation und Landentwicklung Baden-Württemberg.
Here's the proj4 cs2cs command line that does it for me (returns correct results).
cs2cs +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +nadgrids=.\BWTA2017.gsb +units=m +to +proj=utm +ellps=GRS80 +nadgrids=@null +zone=32 < koordinaten.txt > koordinaten_transformiert.txt
Unfortunately following code returns wrong coordinates, so something must be wrong with my method.
const string proj4stringGK = @"+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +nadgrids=C:\UTM-Transformation\Baden-Württemberg\Grid\BWTA2017.gsb +units=m +no_defs";
const string proj4stringUTM32 = @"+proj=utm +ellps=GRS80 +nadgrids=@null +zone=32";

GridShift.InitializeExternalGrids(@"C:\UTM-Transformation\Baden-Württemberg\Grid", false);
ProjectionInfo quelle = ProjectionInfo.FromProj4String(proj4stringGK);
ProjectionInfo ziel = ProjectionInfo.FromProj4String(proj4stringUTM32);

var gkPunkte = new double[] { 3456711.57, 5423083.85 };
Reproject.ReprojectPoints(gkPunkte, new double[] { 0.0 }, quelle, ziel, 0, 1);

Console.WriteLine($"Ost: {gkPunkte[0]} Nord: {gkPunkte[1]}");

It outputs: Ost: 456723,618349022 Nord: 5421468,62059541 while the correct result would be something along  Ost: 456653,47 Nord: 5421354,08
I think the culprit might be that GeographicInfo.Datum.DatumType of the target system is DatumType.Unknown so that the code returns in Projections.Reproject.DatumTransform() in line 247 of Reproject.cs before applying any grid shift but I have no idea what to do instead to instantiate the target correctly.
Any help would be appreciated.

You have at least two different choices for UTM zone 32 here in Germany:
EPSG 25832: ETRS89 / UTM zone 32n
EPSG 32632: WGS84 / UTM zone32n
If you initialize your ProjectionInfo object through
ProjectionInfo.FromEpsgCode(id);
your destination projection has a correct Geo-CRS, and therefore a DatumType, set.
BUT:
In our application, we're using transformations between DHDN / Gauss-Krüger and both variants of UTM zone 32 with BETA2007.gsb (I assume it is very similar to BWTA2007). We noticed there is a handful of bugs in the way, DotSpatial works with GsbNadTables. We fixed those and made them available in pull-request #1059 (Multiple Changes on handling of GsdNadTable ). In our opinion, those changes are crucially important, if you want to use BETA2007.gsb (and probably BWTA2007). Otherwise, you get totally wrong results.

Hi Matthias,
thanks for your comment.
I applied your code changes (both from your pull-request and from your comment) but GridShift.Apply(...) exits early in line 67 of GridShift.cs in
if (!_shift.Tables.TryGetValue(name, out tableLazy)) continue;, as the value for entry BWTA2017 is apparently not initialized yet. I don't understand when or where Lazy<NadTable>gets initialized. Any hints?

Hi Matthias,
using your snippet eventually returns the right coordinates - thanks for your assistance!
Now - it'd be fine if the maintainers of the project could check and incorporate your pull requests.
Have a nice day, Bernd

I am trying to transform coordinates from EPSG:31467 to EPSG:4326, so far no problem.
Using grid files BETA2007 or HeTa2010 has no effect. I tried both (Mattias and Bernds) solutions. Debugging  shows, that the method TryGrid returns fals, even if the coordinates fits the grid.
another issue is, if there is one subgrid, it seeems to be ignored.
if (table.SubGrids != null && table.SubGrids.Count > 1)
Any help would be appreciated.

@MaSchue1 I assume you didn't incorporate the changes from my pull request #1059 (as described above). Those were crucial for using BETA2007 sucessfully.

@MaSchue1 I assume you didn't incorporate the changes from my pull request #1059 (as described above). Those were crucial for using BETA2007 sucessfully. The line of code you cite looks slightly different to my PR code (which is, of course, not the cause for the problems, but a hint you're not using the same code as Bernd and I do)

@MatthiasSchilder Hi Matthias, yes, you are right, I am sorry! Now it delivers much better results, but still 1m inaccuracy compared to google maps, is it google or the transformation?

@MaSchue1 I'm always using [1] for doing reference calculations for comparision with DotSpatial. For transformations from DHDN/GaussKrueger to ETRS89/UTM, DotSpatial's results match those of the Geodatenzentrum with millimeter precision, so yes, possibly Google does something different, probably using a different datum transform approach.
[1] http://sg.geodatenzentrum.de/web_coordtrans/

@MaSchue1 I'm always using [1] for doing reference calculations for comparision with DotSpatial. For transformations from DHDN/GaussKrueger to ETRS89/UTM, DotSpatial's results match those of the Geodatenzentrum with millimeter precision, so yes, possibly Google does something different, probably using a different datum transform approach.
[1] http://sg.geodatenzentrum.de/web_coordtrans/

@MatthiasSchilder This helped a lot! working exactly! Thank you very much!


The 2017 data period  with Turkish support

Hi,
Thank you for this wonderful project. Is it possible to add Turkish language to 2017 data? I really need Windows string search. Their 2020+ data is very limited. I miss their old terminology search website.

Hi @queeup! Thank you for your kind words.
I'm sorry to hear that data is limited for the 2020+ period. Right now I'm not really pleased with how the 2017 data is implemented as it's taking a very long time to search in the DB and I'm not even sure the request is able to proceed successfully most of the time. Unfortunately I haven't had a lot of time to work on termic these last few months and I couldn't improve this side of things as I had planned to.
I will try to add 2017 data for Turkish in the next couple of weeks but I'm not sure this is going to work out; as in if search will be efficient enough and if it will even work properly.

Thank you for adding it. Do you know anywhere that I can download 2017 data with windows localization included? I don't think official microsoft language portal search included windows strings.

I have it but unfortunately there is no Turkish data. tk_* is not Turkish. It must be tr_*.... You don't have Turkish data in termic_data/TranslationAndUIStrings/2017 dropbox folder.

I think Turkish data is in 2018. I found the file name but no download available online.tr_ui_strings_glossary_july_2018_x86_x64_12866510.zip

You're right. Actually I recall now that when searching 2017 files I couldn't find data for some languages, Turkish included. I wrote about it on my blog back in July:

Currently, the 2017 data period option is only available for VSCode-supported languages (Czech, English, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Simplified Chinese, Spanish (Spain) and Traditional Chinese). Turkish is not available because that language’s files are missing from the 2017 data repository.

I'm not sure to what extent I may be able to find the missing data for Turkish but I can try to take a look at it. Perhaps the 2018 data will be available; thanks for the clue! I'll keep you updated.


Add plant_stage to Plant table

Why?

Need a way to track plant lifecycle.

What's New?

PlantStage interface in FBJS
plant_stage column in the DB.
Default is "planned"

Coverage remained the same at 88.14% when pulling 5f241d245507c323bee574f354dcab46920223e2 on RickCarlino:plant_stages into f8fa19d0778c97598230a7fd91afa2407468d7b8 on FarmBot:staging.


Multi-signature support

It would be great if they added multi-signature support to add a higher level of security against brute force attacks on seeds

Thanks for reporting this issue. This repository is obsolete and is replaced by https://github.com/ACINQ/phoenix. Please create an issue there.


102.103.image.interface

#103 Added rocky_9 image
#102 Update VM Handler to determine PCI address inside VM and interface name for NICs

Is this 1.4 or 1.5?

I was planning to push in 1.4, but can move to 1.5 if needed


How to build latest master?

When I try build latest master branch, I got error:
D:\Projects\parsers\pegjs>make
Error: Couldn't find preset "es2015" relative to directory "D:\\Projects\\parsers\\pegjs" while parsing file: D:\Projects\parsers\pegjs\lib\peg.js
    at D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\options\option-manager.js:281:17
    at Array.map (native)
    at OptionManager.resolvePresets (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\options\option-manager.js:265:20)
    at OptionManager.mergePresets (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\options\option-manager.js:254:10)
    at OptionManager.mergeOptions (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\options\option-manager.js:239:14)
    at OptionManager.init (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\options\option-manager.js:338:12)
    at File.initOptions (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\index.js:216:65)
    at new File (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\file\index.js:137:24)
    at Pipeline.transform (D:\Projects\parsers\pegjs\node_modules\babelify\node_modules\babel-core\lib\transformation\pipeline.js:46:16)
    at Babelify._flush (D:\Projects\parsers\pegjs\node_modules\babelify\index.js:27:24)
Makefile:66: ошибка выполнения рецепта для цели «browser»
make: *** [browser] Ошибка 1

Adding
{
  "name": "pegjs",
...
  "babel": {
    "presets": [
      "es2015"
    ]
  }
}

to package.json not resolve this issue

Ok, it appeared, babel-preset-es2015 package just wasn't installed. I think, it is necessary to add to Readme information on how to build the project since it is absolutely unobvious (for those who are engaged in development under node.js from time to time) that for automatic downloading of dependences it is enough to launch npm install in the project folder.

I think, it is necessary to add to Readme information on how to build the project since it is absolutely unobvious (for those who are engaged in development under node.js from time to time) that for automatic downloading of dependences it is enough to launch npm install in the project folder.

I agree this should be documented. I filed #457 to track that.


Add SDK language and version to User-Agent header

Add for each language
Add to log context for all request logs

closing as duplicate of #845 (which has the SDK change request template)

Will archive instead so it doesn't appear on a board.


feat: improve the lifetime of as_ast_kind methods

I tried to introduce new methods in PR #5491 , but encountered:
pub fn get_function_like_declaration<'b>(
    node: &AstNode<'b>,
    ctx: &LintContext<'b>,
) -> Option<&'b BindingIdentifier<'b>> {
    let parent = outermost_paren_parent(node, ctx)?;

    if let AstKind::VariableDeclarator(decl) = parent.kind() {
        let ident = decl.id.get_binding_identifier()?;
        Some(ident)
    } else {
        None
    }
}

to
pub fn get_function_like_declaration<'b>(
    node: &AstNode<'b>,
    ctx: &LintContext<'b>,
) -> Option<&'b BindingIdentifier<'b>> {
    let parent = outermost_paren_parent(node, ctx)?;
    let decl = parent.kind().as_variable_declarator()?;

    let ident = decl.id.get_binding_identifier()?;
    Some(ident)
}

error:
temporary value created hererustc[E0515](https://doc.rust-lang.org/error-index.html#E0515)
ast_util.rs(436, 5): original diagnostic
// size = 8, align = 0x8
let parent: &AstNode<'_>

When I changed the method to the following, there was no longer this problem.
pub fn as_variable_declarator(self) -> Option<&'a VariableDeclarator<'a>> {
    if let Self::VariableDeclarator(v) = self {
        Some(v)
    } else {
        None
    }
}

@IWANABETHATGUY cc

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

We don't need to consume itself, just adding the lifetime is enough.

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

I am ok for both, but as_xxx return reference is default behavior in rust-analyzer

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

We don't need to consume itself, just adding the lifetime is enough.

Oh, I just saw this comment, Please ignore my comment on the merged PR.
I was thinking that since both the &AstKind and AstKind have the same size maybe we can save a few CPU cycles by avoiding the extra dereferencing.

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

I am ok for both, but as_xxx return reference is default behavior in rust-analyzer

Yes Sir, Maybe since the naming is an anti-pattern this isn't worth doing. Please go ahead and implement it as you see fit.

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

We don't need to consume itself, just adding the lifetime is enough.

Oh, I just saw this comment, Please ignore my comment on the merged PR.
I was thinking that since both the &AstKind and AstKind have the same size maybe we can save a few CPU cycles by avoiding the extra dereferencing.

ok, that make sence.

You are right, AstKind is cheap to copy - and implements Copy - so this implementation makes sense and is more versatile as it doesn't require the user to clone/copy at the call site.

I am ok for both, but as_xxx return reference is default behavior in rust-analyzer

Yes Sir, Since the naming is an anti-pattern this might not be worth doing. Please go ahead and implement it as you see fit.

performance goes first,

@IWANABETHATGUY No I'm sorry, I was hullucinating. The AstKind type is 16 bytes since it needs 8 bytes for the tag. The implementation with the reference is more performant and better overall.
Please everything I said above.

The AstKind type is 16 bytes since it needs 8 bytes for the tag. The implementation with the reference is more performant and better overall.

Out of interest, is your "is more performant" conclusion based on measurement?
I would tend to always make methods on Copy types receive self not &self (unless they're large types, but we probably shouldn't make large types Copy). And I'd assume that's more performant, if both "words" of the type are read in the method, and so need to be read into registers one way or another.
But maybe I'm wrong. If I am, I would very much like to know!
Most of AstKind's method take self.

Out of interest, is your "is more performant" conclusion based on measurement?

No Sir, But since it is bigger than a pointer it isn't an open-and-shut case anymore and indirection may or may not be faster. I could've used better wording there.

Thanks for coming back. Hmm I wonder which is more performant. Probably (hopefully) these tiny functions will all get inlined anyway, so it'll make no difference in practice. But it'd be useful to know for other cases.


Update to NetBeans 11.1

Motivation for this change
Updated NetBeans to 11.1 which contains several new features and bugfixes (http://netbeans.apache.org/download/nb111/index.html).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"

[demo@nixos:~/dev/nix/nixpkgs]$ nix-shell -p nix-review --run "nix-review rev b10b7d07908"
$ git fetch --force https://github.com/NixOS/nixpkgs master:refs/nix-review/0
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Total 7 (delta 5), reused 7 (delta 5), pack-reused 0
Unpacking objects: 100% (7/7), done.
From https://github.com/NixOS/nixpkgs
   8dbca5e3ca4..889537352b5  master     -> refs/nix-review/0
$ git worktree add /home/demo/.cache/nix-review/rev-b10b7d07908327fe00ac698646d9871790c07e8e/nixpkgs 889537352b5e208017dad66dd51b3923b7f2d23f
Preparing worktree (detached HEAD 889537352b5)
Checking out files: 100% (19839/19839), done.
HEAD is now at 889537352b5 h2o: 2.2.6 -> 2.3.0-beta2, enable multi-output
$ nix-env -f /home/demo/.cache/nix-review/rev-b10b7d07908327fe00ac698646d9871790c07e8e/nixpkgs -qaP --xml --out-path --show-trace
$ git merge --no-commit b10b7d07908327fe00ac698646d9871790c07e8e
Automatic merge went well; stopped before committing as requested
$ nix-env -f /home/demo/.cache/nix-review/rev-b10b7d07908327fe00ac698646d9871790c07e8e/nixpkgs -qaP --xml --out-path --show-trace --meta
$ nix build --no-link --keep-going --max-jobs 4 --option build-use-sandbox true -f /home/demo/.cache/nix-review/rev-b10b7d07908327fe00ac698646d9871790c07e8e/build.nix
[4 built, 131 copied (682.4 MiB), 157.4 MiB DL]
1 package were build:
netbeans

[0.0 MiB DL]
$ nix-shell /home/demo/.cache/nix-review/rev-b10b7d07908327fe00ac698646d9871790c07e8e/shell.nix
these paths will be fetched (1.51 MiB download, 8.27 MiB unpacked):
  /nix/store/jpmqrdn1jsghfhf6pndfq0mk17654d57-bash-interactive-4.4-p23-info
  /nix/store/lqg80z4wdkkwszkw6cwmazywvk9kvzvd-bash-interactive-4.4-p23-doc
  /nix/store/r9y9gg5lbsdgaxmhp6idl0k556l0x9hs-readline-7.0p5
  /nix/store/s9l4454hlkrbj5fd5yv1dr9xz1daqswj-bash-interactive-4.4-p23
  /nix/store/v4a4366hrmrwhg55fbq6fz39qvww56qg-bash-interactive-4.4-p23-man
  /nix/store/w4bin8lakab76zmcvixql3x77w7329zs-bash-interactive-4.4-p23-dev
copying path '/nix/store/lqg80z4wdkkwszkw6cwmazywvk9kvzvd-bash-interactive-4.4-p23-doc' from 'https://cache.nixos.org'...
copying path '/nix/store/jpmqrdn1jsghfhf6pndfq0mk17654d57-bash-interactive-4.4-p23-info' from 'https://cache.nixos.org'...
copying path '/nix/store/v4a4366hrmrwhg55fbq6fz39qvww56qg-bash-interactive-4.4-p23-man' from 'https://cache.nixos.org'...
copying path '/nix/store/r9y9gg5lbsdgaxmhp6idl0k556l0x9hs-readline-7.0p5' from 'https://cache.nixos.org'...
copying path '/nix/store/s9l4454hlkrbj5fd5yv1dr9xz1daqswj-bash-interactive-4.4-p23' from 'https://cache.nixos.org'...
copying path '/nix/store/w4bin8lakab76zmcvixql3x77w7329zs-bash-interactive-4.4-p23-dev' from 'https://cache.nixos.org'...

[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @svanderburg @rszibele

@rszibele Is there anything preventing this from merging?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/70


Different errors using the tool

I have a project https://github.com/verhas/jamal with a lot of adoc files in it. I tried to upload them using the tool to the cloud hosted by Atlassian.
First I ran into the issue that the process fails if a document does not have top-level title. It is okay, but it took me 6 hours debugging to discover that it is not the file it reports, but one that it has link to.
After that I got an error about duplicate key when collecting the attachments to a map, because there are multiple README.adoc files in different directories that the top-level README.adoc links. The key is the name of the file, hence the issue.
I modified the key, may not be a solution, but I wanted to get past this error. Now I get
response: 500 Internal Server Error {"statusCode":500,"data":{"authorized":true,"valid":true,"errors":[],"successful":true},"message":"com.atlassian.confluence.api.service.exceptions.InternalServerException: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.XhtmlException: Unhandled element type '{http://www.w3.org/1999/xhtml}code'"}, reason: <none>)

and I cannot get through it. I debugged the upload and could copy this JSON containing the whole XHTML.
x.json.log
(The other files all have code segments... what is the issue?)
I very much want to use this tool, I successfully uploaded some demos and then I was stuck after two days with the first real-life-sized example.

Hi @verhas, thank you very much for your valuable report from real-world usage of the Confluence Publisher. Such feedback is much appreciated! We are eating our own dog food for the documentation of the Confluence Publisher to ensure the documented features actually work, and are using it in real-world projects whenever possible / useful. Anyway, every scenario differs from the others and the specific use is hard to foresee.
Since your project is open-source, could you please point me to the corresponding AsciiDoc sources and the Confluence Publisher configuration? That way, I could investigate on the issues reported, file specific bug reports and get them fixed.
Thank you again for your efforts!

The project url is there in the comment.
The configuration is under my fork of confl update in the same github org.

We can also do some interactive session if that helps. I plan to introduce this solution together with Jamal (btw: your project could also use Jamal to avoid errors like the one I fixed in the last PR) at a large Swiss bank on feb 8.
For that, I have to be confident.

@verhas would be great if you can provide the command you used to upload docs.
I tried to use text2confl and succeed with uploading docs from "documentation" directory:
<jamal_repo_root>/documention$ text2confl upload --confluence-url https://text2conf.atlassian.net/wiki/  --space JAMAL --docs . --user ... --password ...
WARNING: ENVIRONMENT_VARIABLES.adoc: line 27: section title out of sequence: expected level 1, got level 3
..other warnings about level mismatch...
Created: "README.adoc.jam" from - SAMPLE_README.adoc. URL - https://text2conf.atlassian.net/wiki/x/AQDmAg.
Created: "Jamal API" from - JAMAL_API.adoc. URL - https://text2conf.atlassian.net/wiki/x/AQDoAg.
Created: "Jamal Environment Variables" from - ENVIRONMENT_VARIABLES.adoc. URL - https://text2conf.atlassian.net/wiki/x/CYDmAg.
Created: "Standard Built-In Macro Argument Splitting" from - ARGSPLIT.adoc. URL - https://text2conf.atlassian.net/wiki/x/AoDjAg.
Created: "Modules of the Jamal Project" from - MODULES.adoc. URL - https://text2conf.atlassian.net/wiki/x/FIDnAg.
Created: "Standard Built-In Parop Parsing" from - PAROPS.adoc. URL - https://text2conf.atlassian.net/wiki/x/O4DnAg.
Created: "Debugging" from - HOWTO_DEBUG.adoc. URL - https://text2conf.atlassian.net/wiki/x/BYDmAg.
Created: "Planned and Created Video Tutorials" from - VIDEO.adoc. URL - https://text2conf.atlassian.net/wiki/x/AQDnAg.
Created: "Starting with Jamal in 5 minutes" from - TUTORIAL-5min.adoc. URL - https://text2conf.atlassian.net/wiki/x/AoDmAg.
Created: "Resource Files and Web Resources" from - FILE_NAMES.adoc. URL - https://text2conf.atlassian.net/wiki/x/AYDnAg.

Disclaimer - I'm mostly interested in testing text2confl of course, so you can give it a try as well, and ping me in PM (see profile contacts)

Well, that was more than a year ago.
Does your upload create the confluence oages in their original format? What I tried was to create formatted confluence oages from asciidoc and that did not work, as the conversion failed for some constructs that I used in my documentation files.

@verhas I'm not sure what do you mean by "original format"?

The line
Created: "README.adoc.jam" from - SAMPLE_README.adoc. URL - https://text2conf.atlassian.net/wiki/x/AQDmAg
says it uploaded the README.adoc.jam file. This file is asciidoc eith Jamal meta markup. First it has to be processed using Jamal, the. Asciidoc to get the xhtml appropriate fir a confluence page.
Is the uploaded oage a nicely formatted confluence page, or is it text?

No, the line says "page with title "README.adoc.jam" was created from source file SAMPLE_README.adoc"

I am getting the same error while trying to publish asciidoc files to confluence.
response: 500  {"statusCode":500,"message":"","reason":"Internal Server Error"}, reason: <none>)
here is my docker script:
docker run --rm -e ROOT_CONFLUENCE_URL=https://myconfluence.com \
-e SKIP_SSL_VERIFICATION=false \
-e MAX_REQUESTS_PER_SECOND=10 \
-e CONNECTION_TIME_TO_LIVE=500 \
-e PASSWORD= mypassword\
-e SPACE_KEY=myspacekey \
 -e ANCESTOR_ID=myancestorid \
-e PAGE_TITLE_PREFIX="Draft - " \
-e PAGE_TITLE_SUFFIX=" (V 1.0)" \
-e PUBLISHING_STRATEGY=REPLACE_ANCESTOR \
-e ORPHAN_REMOVAL_STRATEGY=KEEP_ORPHANS \
-e VERSION_MESSAGE="V 1.0" \
-e NOTIFY_WATCHERS=true \
-e ATTRIBUTES='{"attribute1": "value1", "attribute2": "value2"}' \
-e CONVERT_ONLY=false \
-v /home/georgi/asciidoc-root-folder:/var/asciidoc-root-folder \
confluencepublisher/confluence-publisher:0.0.0-SNAPSHOT
The funny thing is that the page gets published, but I am getting an error 500 and cannot publish multiple pages (subpages).
Anyone has an idea what it could be the problem?

Hi @gjorgiev, actually, the Confluence Publisher is only respecting files ending on .adoc, not .asciidoc (see FolderBasedAsciidocPagesStructureProvider). Therefore, I assume that your error only disappeared because no files at all are being processed when using .asciidoc as the file extension. Do you have any additional information available from a log file on the server or the like?

Yes, I agree with you, just checked and actually nothing gets uploaded.
Anyway, if I change back to .adoc I am still getting the same error :
Exception in thread "main" org.sahli.asciidoc.confluence.publisher.client.http.RequestFailedException:  (request: POST https://wiki.flowable.com/rest/api/content/357238584/property , response: 500  {"statusCode":500,"message":"","reason":"Internal Server Error"}, reason: <none>)         at org.sahli.asciidoc.confluence.publisher.client.http.ConfluenceRestClient.lambda$sendRequestAndFailIfNot20x$9(ConfluenceRestClient.java:231)         at org.sahli.asciidoc.confluence.publisher.client.http.ConfluenceRestClient.sendRequest(ConfluenceRestClient.java:246)         at org.sahli.asciidoc.confluence.publisher.client.http.ConfluenceRestClient.sendRequestAndFailIfNot20x(ConfluenceRestClient.java:228)         at org.sahli.asciidoc.confluence.publisher.client.http.ConfluenceRestClient.sendRequestAndFailIfNot20x(ConfluenceRestClient.java:224)         at org.sahli.asciidoc.confluence.publisher.client.http.ConfluenceRestClient.setPropertyByKey(ConfluenceRestClient.java:315)         at org.sahli.asciidoc.confluence.publisher.client.ConfluencePublisher.updatePage(ConfluencePublisher.java:197)         at org.sahli.asciidoc.confluence.publisher.client.ConfluencePublisher.startPublishingReplacingAncestorId(ConfluencePublisher.java:113)         at org.sahli.asciidoc.confluence.publisher.client.ConfluencePublisher.publish(ConfluencePublisher.java:84)         at org.sahli.asciidoc.confluence.publisher.cli.AsciidocConfluencePublisherCommandLineClient.main(AsciidocConfluencePublisherCommandLineClient.java:109)
    The weird part is that I asked for the logs from the team responsible for the confluence project, and they told me that there is no 500 error on their side, I am sure we are working on the same instance. Is that possible ?

I am waiting for the logs from the server, so I will come back with more details.

The error disappeared, probably they fixed it on their side and was not an issue with the confluence publisher, Thanks!


Relative pathing for contract compilation

Describe
Have ape compile try to find the contract at relative path before searching for contracts folder.
Specification
No response
Dependencies
No response

I think honestly relative paths work and the bug may be more related to projects with contracts in the root path not working on compile when specifying them, for some reason.
I also think there is something to think about regarding compiling in a project when you are in a nested dir... The --project flag helps but also may not be understood to new users of the framework. It is something to think about, not sure I like any proposed solution to that yet.
But the first paragraph is worth investigating. It the user's scenario, I would have expected it to compile and for it to have created a .build/ folder in the cwd with the contracts folder detected as being the same as the bath path (recognized in the contract_type.source_ids as well).

actually wasnt able to reproduce:
(ape09) ➜  sources git:(fix/base-p-compile) ✗ ape compile ./ContractA.sol
INFO:     Compiling using Solidity compiler '0.8.27+commit.40a35a09'.
Input:
        ContractA.sol
        ContractB.sol
        ContractC.sol
SUCCESS:  'local project' compiled.


feat: edit flag now accepts the path to the commit file

I took the liberty to tackle #40 because I was suffering from the same problem.

Thanks for fixing this! Added some documentation to the PR.

Released via https://github.com/marionebl/commitlint/releases/tag/v4.2.0


How to use the function 'VectorRestrictedCoefficient'

Dear Mark,
Sorry to bother you again.
In #648 you told me how to assign current source by filling the function JFunc and I have understood, at the same time, you also suggested to use function
'VectorRestrictedCoefficient' when the shape is complex. Could you please give me some examples to show how to use this function to assign current on a complex shape, for example, on an irregular loop with region number (or element attribute) 1, with current density J and direction (Jx, Jy, Jz) at (x, y, z)?
In addition, can I also use this function to assign material attribution of elements for different regions by this function? How to do?
Thanks,
Tang Laoya

Hello, @TangLaoya ,
If you want to define a current within some regular shape then you can write a function that uses the coordinates to determine if you are inside the region of interest and then returns the value of the current or zero if the coordinates are outside.  If the shape is irregular such a function can be difficult to write.  An alternative is to label the irregular shape with its own attribute number.  The  you can define a VectorRestrictedCoefficient which will only be applied your chosen attribute number is found in the present element.  This does not help you determine the value of the current that you should return it only helps to answer the question of wether or not a non-zero current should be returned.  If your shape is irregular and the current density is also irregular then this type of coefficient will not be enough.
Regarding material regions: you may be able to use a PWConstCoefficient to define your material coefficients.  This class can return a different constant value for each element attribute.  See fem/coefficient.hpp for more information.
Best wishes,
Mark

Dear Mark,
Thank you very much for your kindly reply. Yes, I just need to know how to use 'VectorRestrictedCoefficient ' to filter elements that are in that region of current source. The value and direction of the source of the given point (x,y,z) in known, they are J, (Jx, Jy, Jz). How to filter these elements?
For the 'PWConstCoefficient ', I will try to study at first and if any problem I will ask for your help.
Thanks,
Tang Laoya

Hello, @TangLaoya ,
To use the VectorRestrictedCoefficient you create the object with a VectorCoefficient which returns (Jx,Jy,Jz) and an Array<int> of length pmesh->attributes.Max().  This array is what we call a "marker array", it contains zeroes for attributes that are set to "off" and ones for those that are "on".  The Eval method will use "attribute number - 1" as an index into this array if it finds a 0 it will return a vector of zeroes, if it finds a 1 it will return (Jx, Jy, Jz) from the VectorCoefficient that you passed to the constructor.
Best wishes,
Mark

Dear Mark,
I am sorry to bother you again but I really don't know how to implement. Suppose there are 4 regions in the whole domain, numbered 1, 2, 3 and 4. Region 1 is the coil where current source is assigned. The mesh and element attribute is know by the following code:
Mesh *mesh = new Mesh(node, nnode, 		element_indices, Geometry::TETRAHEDRON, 		element_attributes, ntet, 		boundary_indices, Geometry::TRIANGLE, 		boundary_attributes, nbnd, 		3, 3);
The how to do? Should I write separate function to do this, somewhat like the following function
void current_ring(const Vector &, Vector &);
in tesla.cpp?
void fillirregularcoil(const Vector &, Vector &) { 	VectorCoefficient *Current; 	/// how to pass mesh into this function? 	Array<int> marker = Array<int>(mesh->attributes.Max()); 	/// suppose region of coil is regcoil, how to pass the region number into this function? 	marker = 0; 	/// should I set the flag like this? 	marker(regcoil) = 1; 	/// what should I do next?  }
Thanks,
Tang Laoya

Dear, @TangLaoya,
I apologize for not replying sooner.  I don't know how I missed your question, I certainly did not intend to ignore it.
Do you still need help with this or have you found a solution?
Best wishes,
Mark

Dear Mark,
Thank you very much for your kindly reply. In fact this problem is still not solved but I am working on another issue. I appreciate you if you can give me an efficient solution.
Thanks,
Tang Laoya


Alternative syntax for objects

Very nice library!
I had a superficial suggestion regarding the description of json objects. When the object contains a lot of fields, the positional ordering of the members could get out of sync with the make function arguments:
let make pseudo book_count name = { name; pseudo; book_count }
let jsont =
  Jsont.Object.map ~kind:"Author" make
  |> Jsont.Object.mem "name" Jsont.string ~enc:name
  |> Jsont.Object.mem "book_count" Jsont.int ~enc:book_count
  |> Jsont.Object.mem "pseudo" Jsont.string ~enc:pseudo
  |> Jsont.Object.finish

While careless mistakes are unavoidable, I like that custom binding operators can make it less likely to happen:
let jsont =
  let open Jsont.Object.Syntax in
  define ~kind:"Author" @@
  let+ name = mem "name" Jsont.string ~enc:name
  and+ book_count = mem "book_count" Jsont.int ~enc:book_count
  and+ pseudo = mem "pseudo" Jsont.string ~enc:pseudo
  in
  { name; book_count; pseudo }

Now this is arguably more verbose and it has a different aesthetic, so feel free to dismiss this PR if you don't like it :) (I had my fun with the GADT, which is enough satisfaction... The implementation is a bit tortuous to make the tree-shaped applicative conform with the existing dec_fun GADT.) Otherwise I'm happy to make any change you desire!

Ah nice. Well actually I was trying to find such a syntax without succeeding.

When the object contains a lot of fields, the positional ordering of the members could get out of sync with the make function arguments:

Indeed that's a problem and it's easy to get wrong (it's what convinced me to add let operators in cmdliner since it allows you to use functions with labelled arguments).
It will take me a few days to have a deeper look into that but it's likely a good idea to switch the library to use that only that (but only have let operators in Jsont.Object.Syntax and still have Jsont.Object.{map,mem,opt_mem}).

I'm glad you like it! The PR was attempting to avoid a breaking change, but if the previous syntax is undesired then I think the implementation could be simplified by changing the dec_fun type to be closer to a free applicative (and we wouldn't need to fight its GADT then). Would you like a commit in that direction to evaluate the difference?

Yes, please do.

So in d9bfb8c7c9ed06c I added a simple test to compare the two approaches. It seems that the difference is not as bad as I would have thought. On that five field record constructor it adds 35ns per record (see below). Now I'm unsure about the kind of gc pressure this could put on real programs or more complex structures.
However what got me a bit cold feet is that I first quickly tried to port geojson.ml with it but failed. I then I realized it lives a bit on its own, it doesn't integrate case members and unknown members (the latter could be specified in define though).
That leaves me more undecided that I would have want :-) And I have to say, I now no longer have a lot of time to spend on this (e.g. to try to integrate your approach directly into Object.map).
> b0 -- test_syntax --gen --n 1_000_000 bla.json
> du -h bla.json
144M	bla.json
> hyperfine "$(b0 --path -- test_syntax) bla.json"
Benchmark 1: /Users/dbuenzli/sync/repos/jsont/_b0/b/user/test_syntax/test_syntax bla.json
  Time (mean ± σ):      1.416 s ±  0.008 s    [User: 1.369 s, System: 0.045 s]
  Range (min … max):    1.403 s …  1.431 s    10 runs

> hyperfine "$(b0 --path -- test_syntax) --let-syntax bla.json"
Benchmark 1: /Users/dbuenzli/sync/repos/jsont/_b0/b/user/test_syntax/test_syntax --let-syntax bla.json
  Time (mean ± σ):      1.451 s ±  0.006 s    [User: 1.400 s, System: 0.049 s]
  Range (min … max):    1.443 s …  1.461 s    10 runs


Probability of random research removal

I want to do this

set the mode to remove random research

a Set the percentage to remove before removing random research (1. % of currently unlocked research or 2. % of all research)

#5


Legacy Parameterized tests hangs

What is your Test Scenario?
Run Parameterized tests
What is the Current behavior?
Parameterized tests hangs
Steps to Reproduce:
Run the test-functional-local-legacy TestCafe task with the following fixtures directory: test/functional/legacy-fixtures/using-shared-code)
Additional info
commit: [8df250f] "Update testcafe-hammerhead, lodash ...":
-    "testcafe-hammerhead": "14.4.12", // works well
+    "testcafe-hammerhead": "14.4.14", // test hangs

Support Center ticket:
https://www.devexpress.com/Support/Center/Question/Details/T728133/legacy-parameterized-tests-hang-when-run-in-testcafe-studio
Your Environment details:

browser name and version: Chrome
platform and version:          Windows 10

This issue is not reproduced under<EMAIL_ADDRESS>


streamSSE example with Cloudflare AI

What version of Hono are you using?
4.5.5
What runtime/platform is your app running on?
Cloudflare pages
What steps can reproduce the bug?
Getting error A hanging Promise was canceled when streamSSE is returned from the API. Any suggestion?
ai.get('/stream', async (ctx) => {
  const authUser: AuthUser = ctx.req['user'];
  const question = ctx.req.query('q');
  return streamSSE(ctx, async (stream) => {
    await stream.writeSSE({ data: 'Searchig in docs...' });
    const aiResponse = await ctx.env.AI.run('@cf/meta/llama-2-7b-chat-int8', {
      max_tokens: 512,
      stream: true,
      messages: [{ role: 'user', content: question }],
    });
    stream.pipe(aiResponse as any);
  });
});

What is the expected behavior?
No response
What do you see instead?
No response
Additional information
No response

Hi @vickyRathee
How about adding await at the line?
app.get('/stream', async (ctx) => {
  // ...
  return streamSSE(ctx, async (stream) => {
    // ...
    await stream.pipe(aiResponse as any) // <--- add `await`
  })
})


 not enclosing correctly on visual editor

Hi,
For more than 1 month, and after updating to the latest versions, the problem still persists:

grapesjs - 0.17.29
grapesjs-mjml - 0.6.0
grapesjs-plugin-ckeditor - 0.0.10

I find that when importing a MJML, the texts that follow the images are lost. The  tag is not correctly self closing.

The  tag is not self-closing and wraps all the text that follows it.

What should be displayed:

The  tag is not self-closing and wraps all the text that follows it.

But aparrently, when clicking on export, all the information is correct

duplicate of https://github.com/artf/grapesjs-mjml/issues/149


Refactor find(attr, value) to not return one List

	/**
	 * Find one or many Entities by some of its attributes
	 *
	 * @return {@link List} with many Entities or empty
	 */
	public List<Entity> findBy(String field, Object value);

	/**
	 * Like {@link #findBy(String, Object)} but accept one or more parameter
	 * that should be concatenated in condition String. This string should have
	 * an expected format.
	 *
	 * @param condition
	 *            in JPA case it would be like field=:value AND
	 *            other_field=:value2
	 *
	 * @return {@link List} with many Entities or empty
	 */
	public List<Entity> where(String conditions);

They are doing same thing, findby could return one object

Solved in #39


Add way to differentiate references for definitions at requesting location

Bug Report

🔎 Search Terms

references
find all references

Problem
We use the references request to power VS Code's references code lens feature. References returned by TS have an optional isDefinition property that tells if the reference is to a definition or not. We use this to avoid showing multiple references for a case such as:
function foo(a: number): number;
function foo(a: string): string;
function foo(a: string | number): string | number;

The references code lens basically just filtered out any references that are marked isDefinition
However this also prevents us from showing the correct reference count in cases such as:
interface IFoo {
    foo(): void;
}

class Foo implements IFoo {
    foo(): void { }
}

In this case, the two references to foo should have 1 reference, but we show 0 references because both references are definitions.
https://github.com/microsoft/vscode/issues/117021 shows another case with object literal shortcut
Proposal
We'd like a new property on the references response that tells us if the reference belongs to definition from the requesting location (not yet sure what the name of this should be).
For a case with overloads such as:
function foo(a: number): number;
function foo(a: string): string;
function foo(a: string | number): string | number;

If we request references on any of the calls to foo, this new property would be marked true. However it would not be true in cases such as:
export const foo = 123;

console.log({ foo });

or:
interface IFoo {
    foo(): void;
}

class Foo implements IFoo {
    foo(): void { }
}

I'm also open for alternative proposals on how to handle this. The main issue is that can't handle these cases reliably on the VS Code side today for the references code lens, and would like to improve this

Let's chat about this on Wednesday at the next editor sync.

const foo = 123;
console.log({ foo });

This is a great test case, but it also maybe speaks to how we name things here.

One of the ideas here was to instead add an argument to the find-all-references request, and the language server could do the filtering on its own side. Naming will still be weird/hard here.

I'm going to mark this as a VS Code priority since it is a pretty annoying papercut. We still need to finalize the names in the api but I think agreed that the general concept of this api makes sense
This would be for the 4.4 timeframe, not for the current 4.3 release

Is there any case where the count would be wrong except for overloads? Maybe the solution is to have isDefinition: false for overloads, or all but the last overload for signatures?

From talking about this at the editor sync meeting:

It is difficult (or at least error-prone) for VS Code to identify the self-declaration in the list of references returned. The best solution for Code is
for Typescript to have a new property isSelfDeclaration which takes a declaration node, and only marks isSelfDeclaration: true for declarations of the symbol (and any overloads).
Nobody thought of any cases besides overloads.
Nobody was sure if/how VS uses isDefinition, or something else. There may be related, or even duplicate code here.
This was discussed previously and concluded

If we just had both isDefinition and isReference, VS Code could accomplish what it wants and no one else would be broken.

I'll think about how hard it is to calculate isReference versus isSelfDeclaration.


Incorrect detection when using a sticky footer

My footer is "sticky" with position:absolute and bottom:0px. I'm not referring to the sticky feature in this library.
I want to detect when the user scrolls to the very bottom of the page, so my waypoint is:
new Waypoint({
  element: document.body,
  offset: "-100%",                               // I also tried "bottom-in-view"
  handler: function (direction) { /* ... */ }
});

However due to the absolute positioning, the waypoint is triggered a lot before the actual bottom of the page. Is there some way to correct for this?

@migig Using body as the element wont do what you hope here. The answer also depends on your CSS and HTML, but here's a try at it:
If you have a wrapper around all of your content on the page this get's really easy:
new Waypoint({
  element: document.getElementById('page-wrapper'),
  offset: 'bottom-in-view',
  handler: function (direction) { /* ... */ }
})

If you don't have a wrapper, the CSS gets fussier and there may be cross browser issues with various height methods, but it would look something like this:
new Waypoint({
element: window,
offset: function () {
  return -document.body.scrollHeight + document.body.clientHeight
},
handler: function (direction) { /* ... */ }


Publish 1/08/2020 3:32 PM PST

Docs Build status updates of commit e3fec45:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/dism/Mount-WindowsImage.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


about Model Implementation

Thank you for your great work.
Could you explain why SCNet directly predicts the complex spectrum instead of predicting a mask like BandSplitRoformer? Is this choice made because predicting the complex spectrum achieves better performance?

Directly predicting the complex spectrum or predicting the mask are both common approaches in separation tasks. In my experiments, predicting the complex spectrum performs slightly better.

However, directly predicting the complex spectrum seems to generate additional background noise.Is there any solution to this?
scnet：

band spilt roformer ：

I think this issue might not only be related to the prediction target. I don't have a good solution for now, but I will continue to try the approach of predicting masks.

and why Dual-path Module use lstm not roformer. is lstm can have berrer result than  roformer？

Why is FeatureConversion used? Is it because it can increase the number of parameters and improve quality without affecting speed?
Also, if I increase the kernel_size in the ConvolutionModule, can it achieve better results?

I haven't tried RoFormer, so I can't determine which one is better. FeatureConversion allows the model to learn in different spaces, which will affect the speed, but it is more effective than continuing to stack DualPath layers (6 layers + FeatureConversion > 9 layers of DP). Increasing the kernel size might be slightly better, but the improvement may not be significant.