Filename used twice error when using Cocoapods

Hi,
When I setup SugarRecord with Cocoapods, I get the following error for each of the SugarRecord files:
<unknown>:0: error: filename "CDArray+SugarRecordResults.swift" used twice:
'/Users/user/Projects/project/Pods/SugarRecord/library/CoreData/Base/CDArray+SugarRecordResults.swift' and '/Users/user/Projects/project/Pods/SugarRecord/library/CoreData/Base/CDArray+SugarRecordResults.swift'

For the setup, I had to specify the git source on the Podfile, but everything installed fine.
Did I miss something?

Did you try the pre-release version @deivuh ?

I had the 0.36.0 prerelease version installed, but apparently the binary was still from 0.35.0.
Had to uninstall Cocoapods and delete the binary manually to get the 0.36.0 binary installed.
Now with 0.36.0 and the updated wiki instructions, it's working fine. Thanks @pepibumur, I wouldn't notice if you didn't ask.


vNEXT: Update inconsistent naming of core system implementations

All core system services should have consistent naming.
With the new naming conventions, I've noticed we've got some inconsistent names.
Ideal: <FeatureName>System
I think extension services are fine, and don't need to update the names right away, but I'd at least like to address the core system services first.
List of good:

MixedRealitySpatialAwarenessSystem

List of bad:

MixedRealityBoundaryManager
MixedRealityDiagnosticsManager
MixedRealityInputManager
MixedRealityTeleportManager

I thought we went through and cleared this up for the Beta, gosh darn it.
Needs fixing ASAP


update extension.js so it uses the default proxy #263

set the default api url block value to latest default proxy set by mubi instead of setting it to the old and shut down "https://proxy.mubilop.tech/v1"

this PR only changes some error messages and removes a comment @AdamMady


WIP: Listing filters

1. Why is this change necessary?
2. What does this change do, exactly?
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 16 committers have signed the CLA.:white_check_mark: shyim:white_check_mark: jleifeld:white_check_mark: NTWEXO:x: leducduc:x: keulinho:x: leichteckig:x: OliverSkroblin:x: pweyck:x: philipgatzka:x: mkrafeld:x: GitEvil:x: vienthuong:x: Hero10001:x: seggewiss:x: raknison:x: taltholtmannYou have signed the CLA already but the status is still pending? Let us recheck it.


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter viessmann for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.viessmann
   -
ERRORS:

[x] :heavy_exclamation_mark: [E162] js-controller 3.3.22 listed as dependency but 4.0.24 is required as minimum, 5.0.19 is recommended. Please update dependency at io-package.json.

WARNINGS:

[x] :eyes: [W028] Minimum node.js version 18 recommended. Please adapt "{'engines' : { 'node' >= '16' } }" at package.json.
[x] :eyes: [W040] "keywords" within package.json should contain "ioBroker"
[ ] :eyes: [W113] Adapter should support compact mode
[x] :eyes: [W115] "common.tier" is required in io-package.json. Please check https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#adapter.
[ ] :eyes: [W173] Potential sensitive data "password" not listed at "protectedNative" in io-package.json
[ ] :eyes: [W174] Potential sensitive data "password" not listed at "encryptedNative" in io-package.json
[x] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[x] :eyes: [W184] "common.title" is deprecated and replaced by "common.titleLang". Please remove from io-package.json.

SUGGESTIONS:

[ ] :pushpin: [S522] Please consider migrating to admin 5 UI (jsonConfig).

Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Suggestions reported by repository checker should be reviewed. Suggestions can be ignored due to a decision of the developer but they are reported as a hint to use a configuration which might get required in future or at least is used be most adapters. Suggestions are always optional to follow.
You may start a new check at any time by adding the following comment to this issue:
@iobroker-bot recheck
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
Note: This issue replaces issue #212
@mcm1957 for evidence

@iobroker-bot recheck

Thanks for contacting me.
I received your request to recheck this repository. I will start doing my work soon.
I will close an existing issue and create a new one if still any issues are to be evaluated and potentially to be fixed.
Thanks for spending your time and working at an ioBroker adapter.
your
ioBroker Check and Service Bot

This issue has been replaced by new isse #215
This issue can be closed.
your
ioBroker Check and Service Bot


Deploying metric rule for all VMs in a given Resource Group not available?

Is the feature allowing a single metric alert that targets multiple Azure VM resources available yet? I see an "InternalServerError" in the deployment logs when I attempt to follow the example from the "All virtual machines in one or more resource groups" section of this article.
Thanks
Clay

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

ID: 1f2bd9d0-af11-d684-051b-7ac8e611cca9
Version Independent ID: f83d6e85-4d52-6b7f-a79e-f3ed3f3d0a95
Content: Create a metric alert with a Resource Manager template
Content Source: articles/monitoring-and-diagnostics/monitoring-create-metric-alerts-with-templates.md
Service: azure-monitor
GitHub Login: @snehithm
Microsoft Alias: snmuvva

@ClayJackson412 Thanks for the Comment. We are actively investigating and will get back to you soon.

adding @snehithm

Hi @ClayJackson412,  the feature is available.
Could you reach out to me on email at snmuvva AT Microsoft DOT com, we need more information in diagnosing what happened to your deployment. You could also create a support case via the Azure portal for a faster response.
Regards,
Snehith

Closing this thread since the conversation has been redirected to email.
@snehithm , Would appreciate it if you can update the thread with the final outcome.


Small fixes in spatial sound pages

Small fixes in flow, based on past PR comments.

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

File
Status
Preview URL
Details

mixed-reality-docs/spatial-sound-design.md
:white_check_mark:Succeeded
View

mixed-reality-docs/spatial-sound.md
:white_check_mark:Succeeded
View

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.


Add Vagrant

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md

I am:

[ ] Suggesting edits to an existing Topic page
[x] Curating a new Topic page

EDITING AN EXISTING TOPIC PAGE*
I'm suggesting these edits to an existing topic:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[ ] Content (and my changes are in index.md)

Please explain why these changes are necessary:
CURATING A NEW TOPIC PAGE

[ ] I've formatted my changes as a new folder directory, named for the topic as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please explain why you think this Topic page should be curated:
Add topic on todo list.
Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

How's this look @MikeMcQuaid ?

Thanks again @alexleventer!


Removed Unnecessary Whitespaces From Spark 3.3.4 Shim [skip ci]

As a follow-on for #10082 this PR removes unnecessary whitespaces that were inadvertently added as part of the Spark 334 shims

build


Decide on governance

Summary
Currently, we stripped the gov module entirely from celestia-app. We should decide on the gov mechanism if any.
Problem Definition
There is no way to vote on (parameter) changes currently.
Proposal
@musalbas proposed to only have signalling text governance proposals on chain.
The upgrade path must be clearly defined for various scenarios and what role governance should play in this if any.
E.g. should coin holders vote on a block size increase? On upgrading to a new software release? On other params? Only on non-binding signalling text proposals?
Action Items

[ ] Decide on if we want any governance in the sense of "coin-voting" at all
[ ] Decide on what kind of proposals governance can vote
[ ] Summarize findings and decision in a brief ADR
[ ] then: implement changes in app
[ ] add a more fine-grained document about various upgrade-paths including what can be voted on but also beyond what is covered by governance

Related:

https://www.figment.io/resources/cosmos-parameter-change-documentation, https://github.com/gavinly/CosmosParametersWiki/blob/master/param_index.md
https://github.com/celestiaorg/celestia-specs/issues/128
https://github.com/celestiaorg/celestia-specs/issues/171
some SDK discussions and issues to keep an eye on:

https://github.com/cosmos/cosmos-sdk/discussions/9066
https://github.com/cosmos/cosmos-sdk/discussions/9913
https://linktr.ee/cosmos_gov

code that (currently) handles text proposals: https://github.com/cosmos/cosmos-sdk/blob/5725659684fc93790a63981c653feee33ecf3225/x/gov/types/proposal.go#L249-L253, code that (currently) handles param changes: https://github.com/cosmos/cosmos-sdk/blob/58a6c4c00771e766f37f0f8e50adbbfe0bc7362d/x/params/proposal_handler.go#L26

The decision for now:

we will add back the full governance module for the next testnet
if we want to limit anything we should figure this out between testnet and mainnet

IMHO, we should simply use the full governance module at launch. If we ever want to move away from signalling/coin-voting, there either needs to be a governance proposal to do that, or, a coordinated hard-fork. cc @musalbas @adlerjohn

Sounds good


Playback Stops in the Middle of Streaming

I'm writing an application that leverages both pychromecast and gmusicapi to create a collaborative music queue to stream to my Google Home. I send streaming URLs to my Google Home like so:
from gmusicapi import Mobileclient
import pychromecast
from getpass import getpass

email = input("Email: ")
pwd = getpass()
android_id = 'XXXXXXXXXXXXXXXX' # ID of registered google play music device
api = Mobileclient()
api.login(email, pwd, android_id)    # successful login

cast = pychromecast.Chromecast('<IP_ADDRESS>')
mc = cast.media_controller

track_id = 'Tpa22h67vzxazrkpbtmuu543h24'   # The Google Play Store ID for a song
stream_url = api.get_stream_url(track_id, device_id=android_id)   # yields a url pointing to a streaming source for an mp3
mc.play_media(stream_url, 'audio/mpeg')

My Google Home chimes, letting me know that a new app has started, and shortly after, the music begins playing. However, around 75% of the way through the song, playback stops, and it cannot be restarted with successive calls to play_media() or with voice commands.
According to this issue on gmusicapi it appears to be happening because the stream_url is only valid for ~90 seconds, and the song hasn't completely buffered.
Is it possible in play_media() to force a complete load of the song instead of a streamed buffer?

Hi,
I am having the same issue as well. However, everything works fine on a chromecast.

This just started happening to me about a week ago with untouched code that has worked for years, almost exactly as shown above except that I'm using pychromecast.get_chromecasts() instead of explicitly providing the URL. It happens 100% of the time (previously never happened).

Same issue for me. The code was working long time but the music stops randomly. Does anyone already have a workaround or an idea how to debug this?

I solved it by downloading the whole file and then playing from the local version. Because the download finishes before Google expires the link, it doesn't get cut off. A bit of a nuisance but it does work.

Thanks. But not really a satisfying solution :(

It means that my code behaves as it did before Google broke it so I'm ok with it.

Good point. Can you share the code you use now?

@gallmerci Great job!
@stefan-sherwood You downloaded the file? I have some songs on my computer that I use for testing, but Google Home automatically stops a song after ~10 seconds. I am aware that the link expires before the song finishes, so how were you able to overcome this problem?

I'm using Python 3.7 on Windows 10. I stripped out a bunch of error handling to make it easier to read.
self.cache_and_stream_gmusic_track_on_chromecast( track_id )

# Serve locally cached songs using a subclassed BaseHTTPRequestHandler:
def do_GET( self ):
	track_id = self.get_track_id_from_url( self.path )
	file = self.get_music_fullpath( track_id )

	seek_to = 0
	if "Range" in self.headers:
		res = re.match( "(?P<units>[^=]*)=(?P<start>\\d+)-(?P<end>\\d*)", self.headers[ "Range" ] )
		if res:
			seek_to = int( res.group( "start" ) )
			self.logger.log( f"Requested byte offset: {seek_to}" )

	with open( file, 'rb' ) as f:
		if seek_to:
			print( f"Seeking to {seek_to}" )
			f.seek( seek_to )
		data = f.read()

	self.send_response( 200 )
	self.send_header( "Accept-Ranges", "bytes" )
	self.send_header( "Content-Type", "audio/mpeg" )
	self.send_header( "Content-Disposition", f"filename={file} )
	self.send_header( "Content-Length", f"{len( data )}" )

# Connect to Google Music API
def get_music_api( self ):
	self.music = gmusicapi.Mobileclient( debug_logging = False )
	if not music.oauth_login( device_id = music.FROM_MAC_ADDRESS ):
		self.logger.err( "GMusic login failed" )

def get_music_url( self, track_id ):
	return f"{self.server_ip}/{self.get_cache_path( track_id )}"

def get_music_fullpath( self, track_id ):
	return f"{self.library_loc}\\{self.get_cache_path( track_id )}"

# Retrieve and cache a song:
def get_cache_path( self, track_id ):
	from urllib.request import urlretrieve

	url = self.music.get_stream_url( track_id )
	path = f"library\\{store_id}"
	thing = urlretrieve( url, path )

	if thing[1].get_content_maintype() == 'audio':
		self.db.add_song_to_cache( store_id, thing[0] )
		return path
	else:
		self.logger.error( Fetch of Song ID {store_id} returned a non-audio type")

def get_stream_target( self, device_name ):
	import pychromecast
	devices = pychromecast.get_chromecasts()
	return next( (dev for dev in devices if dev.name == device_name), None )

def cache_and_stream_gmusic_track_on_chromecast( self, song_id ):
	url = self.get_music_url( song_id )
	self.streamer = self.get_stream_target( 'Whole House' )
	self.streamer.media_controller.play_media( song_url, 'audio/mpeg', metadata = song_info, current_time=offset )


Refactor project structure

As a developer I would like to refactor the project structure to have a better overview over the different components of the project. It will statisfy the requirements for multi-target environment configuration.
My proposal for the new project structure:

koalixcrm

apps

accounting

const
locale
management
migrations
tests

crm

....

djangoUserExternsion

....

substriptions

...

static
templates

documentation
koalixcrm

settings

environment1_settings.py
environment2_settings.py
...

globalSuppoertFunctions.py
plugin.py
urls.py
wsgi.py

requirements
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENCE
manage.py
MANIFEST.in
Procfile (required by Heroku)
README.md
requirements.txt (required by Heroku)
setup.py

Sounds good, I agree with the proposed structure.


E121: Undefined variable: vim8#complete in legacy script with custom command-completion function

Steps to reproduce

Run vim --clean -S vim8.vim, with

function vim8#complete(...)
    return ['aaa', 'bbb', 'ccc']
endfunction
command -nargs=1 -complete=customlist,vim8#complete Test echomsg <q-args>

Type: :Test <tab>
Result:

E121: Undefined variable: vim8#complete

Expected behaviour
No error messages when using the old syntax in legacy scripts.
Version of Vim
8.2.4583
Environment
Linux
Logs and stack traces
No response

i cannot reproduce it at v8.2.4567, so perhaps it is a regression. :-)

It does work to do the completion, but it gives the error message first.  That error was added by 8.2.4578, apparently there was no test for using an autoload function for completion.


Backend website down

It looks like the website the app downloads all the miners and configs from is down or hasn't been renewed, or is been hacked mayb?  That site is
http://xgminer.com/
Also the apps maine webpage is down or hasn't been renewed here:
http://multiminerapp.com/

The main problem appears to be that the URL "http://www.multiminerapp.com/miners?platform=win32" is hard-coded into the application, and that website page is 404, so it doesn't retrieve the list of URLs of miners to install, so the application then throws an unhandled .NET exception about the resulting empty string.


prefilter step died when running easy-search: Segmentation fault (core dumped)

Expected Behavior
easy-search should finish execution without errors
Current Behavior
Error during pre-filter step

Index table k-mer threshold: 0 at k-mer size 15
Index table: counting k-mers
Segmentation fault (core dumped)                                  ] 0.00% 1 eta -
Error: Prefilter died
Error: Search step died
Error: Search died

Steps to Reproduce (for bugs)
First create a custom nucleotide database
mmseqs createdb --dbtype 2 --compressed 1 refseq_bacteria_archaea_fungi_viral.fna.gz seqTaxDB
mmseqs createtaxdb seqTaxDB tmp --ncbi-tax-dump ncbi-taxdump --tax-mapping-file fastaid_taxid.tsv
Next run easy-search
mmseqs easy-search all_nuc.fasta seqTaxDB tax_assignments.txt tmp --search-type 3 --min-seq-id 0.65 -e 0.01 -c 0.8 --cov-mode 2 --threads 16
MMseqs Output (for bugs)
Below is the output of easy-search

easy-search all_nuc.fasta seqTaxDB tax_assignments.txt tmp --search-type 3 --min-seq-id 0.65 -e 0.01 -c 0.8 --cov-mode 2 --threads 16
MMseqs Version:                        	8ef39f4151eddcdc78f9c2dadf6b4dd6864435c9
Substitution matrix                    	aa:blosum62.out,nucl:nucleotide.out
Add backtrace                          	false
Alignment mode                         	3
Alignment mode                         	0
Allow wrapped scoring                  	false
E-value threshold                      	0.01
Seq. id. threshold                     	0.65
Min alignment length                   	0
Seq. id. mode                          	0
Alternative alignments                 	0
Coverage threshold                     	0.8
Coverage mode                          	2
Max sequence length                    	65535
Compositional bias                     	1
Compositional bias                     	1
Max reject<PHONE_NUMBER>
Max accept<PHONE_NUMBER>
Include identical seq. id.             	false
Preload mode                           	0
Pseudo count a                         	substitution:1.100,context:1.400
Pseudo count b                         	substitution:4.100,context:5.800
Score bias                             	0
Realign hits                           	false
Realign score bias                     	-0.2
Realign max seqs<PHONE_NUMBER>
Correlation score weight               	0
Gap open cost                          	aa:11,nucl:5
Gap extension cost                     	aa:1,nucl:2
Zdrop                                  	40
Threads                                	16
Compressed                             	0
Verbosity                              	3
Seed substitution matrix               	aa:VTML80.out,nucl:nucleotide.out
Sensitivity                            	5.7
k-mer length                           	0
Target search mode                     	0
k-score                                	seq:2147483647,prof:2147483647
Alphabet size                          	aa:21,nucl:5
Max results per query                  	300
Split database                         	0
Split mode                             	2
Split memory limit                     	0
Diagonal scoring                       	true
Exact k-mer matching                   	0
Mask residues                          	1
Mask residues probability              	0.9
Mask lower case residues               	0
Minimum diagonal score                 	15
Selected taxa
Spaced k-mers                          	1
Spaced k-mer pattern
Local temporary path
Rescore mode                           	0
Remove hits by seq. id. and coverage   	false
Sort results                           	0
Mask profile                           	1
Profile E-value threshold              	0.001
Global sequence weighting              	false
Allow deletions                        	false
Filter MSA                             	1
Use filter only at N seqs              	0
Maximum seq. id. threshold             	0.9
Minimum seq. id.                       	0.0
Minimum score per column               	-20
Minimum coverage                       	0
Select N most diverse seqs             	1000
Pseudo count mode                      	0
Min codons in orf                      	30
Max codons in length                   	32734
Max orf gaps<PHONE_NUMBER>
Contig start mode                      	2
Contig end mode                        	2
Orf start mode                         	1
Forward frames                         	1,2,3
Reverse frames                         	1,2,3
Translation table                      	1
Translate orf                          	0
Use all table starts                   	false
Offset of numeric ids                  	0
Create lookup                          	0
Add orf stop                           	false
Overlap between sequences              	0
Sequence split mode                    	1
Header split mode                      	0
Chain overlapping alignments           	0
Merge query                            	1
Search type                            	3
Search iterations                      	1
Start sensitivity                      	4
Search steps                           	1
Prefilter mode                         	0
Exhaustive search mode                 	false
Filter results during exhaustive search	0
Strand selection                       	1
LCA search mode                        	false
Disk space limit                       	0
MPI runner
Force restart with latest tmp          	false
Remove temporary files                 	true
Alignment format                       	0
Format alignment output                	query,target,fident,alnlen,mismatch,gapopen,qstart,qend,tstart,tend,evalue,bits
Database output                        	false
Overlap threshold                      	0
Database type                          	0
Shuffle input database                 	true
Createdb mode                          	0
Write lookup file                      	0
Greedy best hits                       	false
createdb all_nuc.fasta tmp/7701176895607249840/query --dbtype 0 --shuffle 1 --createdb-mode 0 --write-lookup 0 --id-offset 0 --compressed 0 -v 3
Converting sequences
[1335322] 2s 17mss
Time for merging to query_h: 0h 0m 0s 221ms
Time for merging to query: 0h 0m 1s 64ms
Database type: Nucleotide
Time for processing: 0h 0m 4s 959ms
Create directory tmp/7701176895607249840/search_tmp
search tmp/7701176895607249840/query seqTaxDB tmp/7701176895607249840/result tmp/7701176895607249840/search_tmp --alignment-mode 3 -e 0.01 --min-seq-id 0.65 -c 0.8 --cov-mode 2 --threads 16 -s 5.7 --search-type 3 --remove-tmp-files 1
splitsequence seqTaxDB tmp/7701176895607249840/search_tmp/9045538653068861586/target_seqs_split --max-seq-len 10000 --sequence-overlap 0 --sequence-split-mode 1 --headers-split-mode 0 --create-lookup 0 --threads 16 --compressed 0 -v 3
[=================================================================] 100.00% 22.15M 12s 856ms
Time for merging to target_seqs_split_h: 0h 0m 31s 837ms
Time for merging to target_seqs_split: 0h 0m 35s 517ms
Time for processing: 0h 1m 59s 373ms
extractframes tmp/7701176895607249840/query tmp/7701176895607249840/search_tmp/9045538653068861586/query_seqs --forward-frames 1 --reverse-frames 1 --create-lookup 0 --threads 16 --compressed 0 -v 3
[=================================================================] 100.00% 1.34M 0s 620ms
Time for merging to query_seqs_h: 0h 0m 0s 734ms
Time for merging to query_seqs: 0h 0m 2s 576ms
Time for processing: 0h 0m 5s 91ms
splitsequence tmp/7701176895607249840/search_tmp/9045538653068861586/query_seqs tmp/7701176895607249840/search_tmp/9045538653068861586/query_seqs_split --max-seq-len 10000 --sequence-overlap 0 --sequence-split-mode 1 --headers-split-mode 0 --create-lookup 0 --threads 16 --compressed 0 -v 3
[=================================================================] 100.00% 2.67M 0s 919ms
Time for merging to query_seqs_split_h: 0h 0m 0s 832ms
Time for merging to query_seqs_split: 0h 0m 0s 878ms
Time for processing: 0h 0m 3s 919ms
prefilter tmp/7701176895607249840/search_tmp/9045538653068861586/query_seqs_split tmp/7701176895607249840/search_tmp/9045538653068861586/target_seqs_split tmp/7701176895607249840/search_tmp/9045538653068861586/search/pref_0 --sub-mat 'aa:blosum62.out,nucl:nucleotide.out' --seed-sub-mat 'aa:VTML80.out,nucl:nucleotide.out' -k 15 --target-search-mode 0 --k-score seq:2147483647,prof:2147483647 --alph-size aa:21,nucl:5 --max-seq-len 10000 --max-seqs 300 --split 0 --split-mode 2 --split-memory-limit 0 -c 0.8 --cov-mode 2 --comp-bias-corr 1 --comp-bias-corr-scale 1 --diag-score 1 --exact-kmer-matching 1 --mask 1 --mask-prob 0.9 --mask-lower-case 0 --min-ungapped-score 15 --add-self-matches 0 --spaced-kmer-mode 1 --db-load-mode 0 --pca substitution:1.100,context:1.400 --pcb substitution:4.100,context:5.800 --threads 16 --compressed 0 -v 3 -s 5.7
Query database size: 2670930 type: Nucleotide
Target split mode. Searching through 18 splits
Estimated memory consumption: 326G
Target database size: 100684280 type: Nucleotide
Process prefiltering step 1 of 18
Index table k-mer threshold: 0 at k-mer size 15
Index table: counting k-mers
Segmentation fault (core dumped)                                  ] 0.00% 1 eta -
Error: Prefilter died
Error: Search step died
Error: Search died

Context
Hi I am trying to run an nucleotide-nucleotide search in mmseq2 with a custom database. This error does not occur with a different, smaller nucleotide database.
Thank you very much for this amazing tool and all your hard work.
Your Environment
I am using a google cloud VM with 64 CPUs and 416 GBs of memory on an ubuntu operating system, version 20.04.
I install mmseq with the command
static build with AVX2 (fastest)
wget https://mmseqs.com/latest/mmseqs-linux-avx2.tar.gz; tar xvfz mmseqs-linux-avx2.tar.gz; export PATH=$(pwd)/mmseqs/bin/:$PATH

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."

I have the same error when running a NT search in mmseq2 NT NCBI database. I am running on our internal server with 256 GB memory.

I've encountered segfault errors with mmseqs due to not enough memory (which is a valid reason for segfaults, according to quick web search). Large databases like NT/GTDB might need around 900GB RAM, so I would guess too little RAM is the reason in your cases as well.

Can you try again with release 16. We fixed one bug that resulted in excessive memory consumption in the prefilter for some target databases.


spiffsgen.py with ESP-IDF 4.4.2 on Windows generates invalid binary image (IDFGH-8530)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v4.4.2
Operating System used.
Windows
How did you build your project?
Eclipse IDE
If you are using Windows, please specify command line type.
PowerShell
What is the expected behavior?
If I create a SPIFFS image bin file with spiffsgen.py I expect it to work and be the same as the image created by cmake's spiffs_create_partition_image.
What is the actual behavior?
I am creating a SPIFFS partition with spiffsgen.py. When I generate the partition bin file, insert it into my executable, download it, and in my code flash the partition, I get an error when I attempt to open a file on the partition.
If, instead, I use the cmake spiffs_create_partition_image to generate the partition bin file, and I perform the same above steps, I am able to successfully open files on the partition.
I did a binary compare between the bin files created by spiffsgen.py and spiffs_create_partition_image from the same source tree and there were differences.
Steps to reproduce.

Start with a file structure on my PC
Build the bin SPIFFs partition using spiffsgen.py from ESP-IDF 4.4.2: python spiffsgen.py 0x20000 srcfolder spiffs.bin (NOTE: 0x20000 is the size of the spiffs partition as defined in my partition.csv file)
Load the spiffs.bin into my target system
Target system generates error attempting to open a file in the SPIFFS partition

CMakeList.txt that creates a system that doesn't work
cmake_minimum_required(VERSION 3.16.0)
cmake_policy(SET CMP0076 NEW)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

project(BD-OTB)
set(PROJECT_VERSION "1.0.1")

# Create the www SPIFFS partition binary and inject into elf

set(WWW_DIR ${CMAKE_CURRENT_SOURCE_DIR}/web_root)
set(SPIFFSGEN_DIR ${IDF_PATH}/components/spiffs)
set(WWW_FILE "www.bin")

add_custom_command(OUTPUT ${BUILD_DIR}/${WWW_FILE}
     COMMAND python ${SPIFFSGEN_DIR}/spiffsgen.py 0x20000 ${WWW_DIR} ${BUILD_DIR}/${WWW_FILE})

target_add_binary_data(${PROJECT_NAME}.elf ${BUILD_DIR}/${WWW_FILE} BINARY)

add_custom_target(www_fs DEPENDS ${BUILD_DIR}/${WWW_FILE})

# Main dependencies

add_dependencies(${PROJECT_NAME}.elf www_fs)

CMakeList.txt that works (sort of: it doesn't handle dependency from spiffs_create_partition_image properly)
cmake_minimum_required(VERSION 3.16.0)
cmake_policy(SET CMP0076 NEW)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

project(BD-OTB)
set(PROJECT_VERSION "1.0.1")

# Create the www SPIFFS partition binary and inject into elf

set(WWW_DIR ${CMAKE_CURRENT_SOURCE_DIR}/web_root)
set(SPIFFSGEN_DIR ${IDF_PATH}/components/spiffs)
set(WWW_FILE "www1.bin")

spiffs_create_partition_image(www ${WWW_DIR})

add_custom_command(OUTPUT ${BUILD_DIR}/${WWW_FILE}
     COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/www.bin ${BUILD_DIR}/${WWW_FILE})

target_add_binary_data(${PROJECT_NAME}.elf ${BUILD_DIR}/${WWW_FILE} BINARY)

add_custom_target(www_fs DEPENDS ${BUILD_DIR}/${WWW_FILE})

# Main dependencies

add_dependencies(${PROJECT_NAME}.elf www_fs)

@igrr thanks so much for the reply. Ok, I was very remiss in not checking what spiffs_create_partition_image generated. I had previously taken a look at the build output spew but didn't see it. I looked more carefully this time and did find it. This command adds the options: --page-size=256 --obj-name-len=64 --meta-len=4 --use-magic --use-magic-len. When I include these in the explicit python command it does indeed work as expected.
Thanks again, and apologies for not looking at this more carefully before creating a ticket.


Condition fix for form integrations (#222) breaks mark integrations

See https://github.com/paypal/paypal-checkout/issues/222
The fix for this issue works for preventing PayPal rendering when there are form validations, but prevents mark integrations from firing correctly when condition() resolves to true.

Hot-fix made and pushed to production, and akamai cache cleared.

Recommending that merchants still seeing this issue use the following version of the script to ensure the cache is cleared:
<script src="https://www.paypalobjects.com/api/checkout.js?v=4.0.47-condition-hotfix"></script>

Official fix is pushed and ready to release -- but the live hot-fix is still out there.

Fixed and pushed.


Update Float32 and Float16 methods

I forgot to do these in #7.

done -- the float16 methods take a long time anyway they are done, so I did not special case them .. I aliased the builtins for float16 -- tagging a new release

Thanks!


FictAdvisor mobile app

It would be much better, if there was a mobile app for FictAdvisor. Opening the website on phone browser every time is frustrating and takes too much time to access the reviews on teachers.

It would be much better, if there was a mobile app for FictAdvisor. Opening the website on phone browser every time is frustrating and takes too much time to access the reviews on teachers.

You can join Dev Department and start creating mobile app with us <3

@just-hoshinon I am not a mobile developer myself,  but wanted to suggest something, that can acquire new people to the department, where they can grow their skills in FA team if they wish to. Still, that's very kind of you Sviatoslav, thanks for the invitation!


google-play-music-desktop-player: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory

I am using Mint 19.3 and am trying version 4.7.1 and while trying to run the app I get
google-play-music-desktop-player: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory
The problem is, I already have version 3 installed. I have version 3.2 of libgtk
libgtk-3-0 is already the newest version (3.22.30-1ubuntu4).

I've got the same issue on Ubuntu 18.04 when installed i386 version on x64 system. So, make sure you've installed proper version of the player.


question in rate limiting plugin

// Describe your PR here; eg. Fixes #issueNo
Question: When I test rate limit plugin, nowhere can pass the replenish rate and burst capacity, and there is no initial value.
First, In rate_limiter plugin, there is no initial value of burst_capatity and replenish_rate, so I add the initial Enum value in the constant file. Second, In soul admin, the rate_limit configuration pages can not configure burst_capatity and replenish_rate, so you should find some one familiar with JS adding the setting of burst_capatity and replenish_rate and log options in rate_limiter plugin rule configuration pages.

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

why modify  js in static?

Codecov Report

Merging #747 (a32df35) into master (66909a4) will increase coverage by 0.62%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #747      +/-   ##
============================================
+ Coverage     60.40%   61.03%   +0.62%
- Complexity     1229     1242      +13
============================================
  Files           266      266
  Lines          5900     5900
  Branches        633      633
============================================
+ Hits           3564     3601      +37
+ Misses         2041     1996      -45
- Partials        295      303       +8

Impacted Files
Coverage Δ
Complexity Δ

...va/org/dromara/soul/common/constant/Constants.java
50.00% <ø> (ø)
1.00 <0.00> (ø)

...ara/soul/plugin/ratelimiter/RateLimiterPlugin.java
100.00% <ø> (ø)
6.00 <0.00> (ø)

...gin/apache/dubbo/cache/ApplicationConfigCache.java
38.46% <0.00%> (+11.53%)
9.00% <0.00%> (+4.00%)

...in/alibaba/dubbo/cache/ApplicationConfigCache.java
38.46% <0.00%> (+11.53%)
9.00% <0.00%> (+4.00%)

.../alibaba/dubbo/proxy/AlibabaDubboProxyService.java
50.00% <0.00%> (+43.75%)
3.00% <0.00%> (+2.00%)

...in/apache/dubbo/proxy/ApacheDubboProxyService.java
56.52% <0.00%> (+52.17%)
4.00% <0.00%> (+3.00%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 66909a4...ebea83f. Read the comment docs.

Some thing wrong happened, I am so sorry, I delete my Static file, and re download the file, then cause the inconsistancy, I do not know how to fix it.

@lmhmhl  hi， you can follow this ： How contribute to Soul.
Look forward to your contribution again.

@lmhmhl this pr have more error ,please close it..


[HOT FIX] import sparkContext.implicits._ to pass the compilation

fix a mistake

ping @rxin

Can one of the admins verify this patch?

Actually I pushed a hotfix just now before seeing this. Thanks a lot.

OK, closing. :)


Edited KeyboardShortcutManager.cpp Issue #744

Fixes #744 .
Description of the changes:

Moved the check for Shift and Control out of the "!args->Handled" as it was fails for just ctrl and just shift leading to the issue

How changes were validated:

Manually tested by following steps on issue
Ran included tests to make sure no other functionality broke

Since there aren't any other event handlers for Pivot which handles the OnKeyDown event when KeyEventArgs's  handled  is true, this fix appears sufficient to fix the indicated issue without causing side effects.
However, the suggested fix may not be fully extensible in the sense that future keyboard shortcuts that don't involve the Ctrl or Shift keys could also run into a similar issue, and it's unclear whether this fix would work if a four-key keyboard shortcut was ever created (eg. Ctrl-Shift-Alt-A). But this issue may be moot depending on the trajectory of calculator's product management.
Deferring to @grochocki for PM sign-off.

It is true that there might be other exceptional cases in the future, but I would say we can tackle those if they come up. Probably good to get this in to help in this (relatively) common case.

@grochocki Let me know if you need me to change anything! :)

It looks like #1223 already fixed this issue, so this change is no longer necessary. That PR stopped attempting to track up/down events for the ctrl and shift keys, and just checks with CoreWindow directly. That fixes lots of issues, including this one.
I'm sorry it took so long to review this. Even though it didn't turn out to be necessary, I'm thankful for your efforts here.


Bicep Expressions should be allowed to be multiline between parentheses

Is your feature request related to a problem? Please describe.
A common feature of languages is the ability for expressions defined in parentheses to be defined on multiple lines. This allows for both better git diff (PRs can be per-property rather than per-line) and readability with complex statements like long formats.
Describe the solution you'd like
How it works today
output fgaManagementSSHConfig string = format(fgManagementSSHConfigTemplate, fortigateA.outputs.fgName, fqdn, fgaManagementSshPort, adminUsername)
How it should be able to work
output fgaManagementSSHConfig string = format(
  fgManagementSSHConfigTemplate,
  fortigateA.outputs.fgName,
  fqdn,
  fgaManagementSshPort,
  adminUsername
)

Dupe of https://github.com/Azure/bicep/issues/146


Add Cash Register Challenge

Design a cash register drawer function that accepts purchase price as the first argument, payment as the second argument, and cash-in-drawer (cid) as the third argument. cid is a 2d array listing available currency. Return the string "Insufficient Funds" if change due is less than the cash-in-drawer. Return the string "Closed" if cash-in-drawer is equal to the change due. Otherwise, return change in coin and bills, sorted in highest to lowest order.

Please provide a valid solution to the challenge so that we can quickly test in production.

I'll submit test for these challenges and others in the future, but is it necessary? Shouldn't valid tests be all that is needed? If not, what is the solution actually testing in production? My solution will only be one out of a possible many. If one solution is needed, wouldn't all possible solutions be needed (if that were even possible)? What benefit does a solution provide?

The copy and the valid tests are all that's needed, but in this case, we'd like to see how you go about solving it so we can better determine how difficult it is. As a general rule, if @terakilobyte and I have a hard time solving it in less than an hour, that means it may be of limited use to our campers and could probably stand to be broken down into a problem with fewer steps.

Here is my solution. I know I could definitely refactor the changeDue function, but this is a working solution. However, I could not get it to successfully run within bonfire. But I ran the script in a browser and manually checked it against the assertions (I found one typo in a test though).
function totalDrawer(arr){
  var total = 0;
  for(var i = 0; i < arr.length; i += 1) {
    total += arr[i][1];
  }
  return Math.round(total * 100) / 100;
}

function changeDue(change, drawer, arr) {
  var newArr = [],
      balance = 0,
      newDrawer = Math.round((drawer - change) * 100) / 100;
  // Will channge require $100?
  if(Math.floor(change / 100) > 0 && arr[8][1] > 0) {
    balance = Math.round((change % 100) * 100) / 100;
    newArr.push(['ONE HUNDRED', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // Will change require $20?
  if(Math.floor(change / 20) > 0 && arr[7][1] > 0) {
    balance = Math.round((change % 20) * 100) / 100;
    newArr.push(['TWENTY', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // 10?
  if(Math.floor(change / 10) > 0 && arr[6][1] > 0) {
    balance = Math.round((change % 10) * 100) / 100;
    newArr.push(['TEN', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // $5?
  if(Math.floor(change / 5) > 0 && arr[5][1] > 0) {
    balance = Math.round((change % 5) * 100) / 100;
    newArr.push(['FIVE', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // $1?
  if(Math.floor(change / 1) > 0 && arr[4][1] > 0) {
    balance = Math.round((change % 1) * 100) / 100;
    newArr.push(['ONE', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // $0.25?
  if(Math.floor(change / 0.25) > 0 && arr[3][1] > 0) {
    balance = Math.round((change % 0.25) * 100) / 100;
    newArr.push(['QUARTER', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // $0.10?
  if(Math.floor(change / 0.10) > 0 && arr[2][1] > 0) {
    balance = Math.round((change % 0.10) * 100) / 100;
    newArr.push(['DIME', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // $0.05?
  if(Math.floor(change / 0.05) > 0 && arr[1][1] > 0) {
    balance = Math.round((change % 0.05) * 100) / 100;
    newArr.push(['NICKEL', Math.round((change - balance) * 100) / 100]);
    change = balance;
  }
  // $0.01?
  if(Math.floor(change / 0.01) > 0 && arr[0][1] > 0) {
    newArr.push(['PENNY', change]);
  }
  return newArr;
}

function drawer(price, cash, cid) {
  var totalCashInDrawer = totalDrawer(cid),
      change = Math.round((cash - price) * 100) / 100;
  if(change > totalCashInDrawer) {
    return 'Insufficient Funds';
  }
  if(change === totalCashInDrawer) {
    return 'Closed';
  }
  return changeDue(change, totalCashInDrawer, cid);
}

drawer();

Closing this PR after with brndnb to conform the challenge format and tests to bonfire.


After burn security boot fw, then cann't burn again. (IDFGH-4253)

Environment

Development Kit:
ESP32-(POE version)
Module or chip used:
ESP-wridev-E
IDF version (run git describe --tags to find it):
// v3.2-dev-1148-g96cd3b75c
v4.-dev-1561-g357a27760
Operating System:     [Windows|Linux|macOS]
linux

Problem Description
I use tools/testapps/security/secure_boot sample,I follow the README to config my sdk.  When I generate the .pem, then burn the image. I can not reburn again.
Debug Logs
I (50) boot.esp32: SPI Flash Size : 2MB
I (55) boot: Enabling RNG early entropy source...
I (60) boot: Partition Table:
I (64) boot: ## Label            Usage          Type ST Offset   Length
I (71) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (79) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (86) boot:  2 factory          factory app      00 00 00010000 00100000
I (94) boot: End of partition table
I (98) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x05ff0 ( 24560) map
I (116) esp_image: segment 1: paddr=0x00016018 vaddr=0x3ffb0000 size=0x02794 ( 10132) load
I (121) esp_image: segment 2: paddr=0x000187b4 vaddr=0x40080000 size=0x00404 (  1028) load
I (125) esp_image: segment 3: paddr=0x00018bc0 vaddr=0x40080404 size=0x07458 ( 29784) load
I (147) esp_image: segment 4: paddr=0x00020020 vaddr=0x400d0020 size=0x1406c ( 82028) map
I (178) esp_image: segment 5: paddr=0x00034094 vaddr=0x4008785c size=0x0269c (  9884) load
I (183) esp_image: segment 6: paddr=0x00036738 vaddr=0x00000000 size=0x09898 ( 39064)
I (205) boot: Loaded app from partition at offset 0x10000
I (205) boot: Disabling RNG early entropy source...
I (217) cpu_start: Pro cpu up.
I (217) cpu_start: Starting app cpu, entry point is 0x40080eb8
I (0) cpu_start: App cpu up.
I (231) cpu_start: Pro cpu start user code
I (231) cpu_start: cpu freq: 160000000
I (231) cpu_start: Application information:
I (236) cpu_start: Project name:     secure_boot
I (241) cpu_start: App version:      v4.3-dev-1561-g357a27760-dirty
I (248) cpu_start: Compile time:     Nov 11 2020 21:42:58
I (254) cpu_start: ELF file SHA256:  d8b204ef7e25e7dc...
I (260) cpu_start: ESP-IDF:          v4.3-dev-1561-g357a27760-dirty
I (267) heap_init: Initializing. RAM available for dynamic allocation:
I (274) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (280) heap_init: At 3FFB2FB0 len 0002D050 (180 KiB): DRAM
I (286) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (293) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (299) heap_init: At 40089EF8 len 00016108 (88 KiB): IRAM
I (306) spi_flash: detected chip: generic
I (310) spi_flash: flash io: dio
W (314) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (328) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.

Example to check Secure Boot status
This is ESP32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 3, 2MB external flash
I (359) example_secure_boot: Checking for secure boot v2..
I (369) example_secure_boot: Secure boot v2 not enabled. Enable Secure Boot V2 in menuconfig, build & flash again.
I (379) example_secure_boot: Checking for secure boot v1..
I (379) example_secure_boot: Secure Boot V1 not enabled. Enable Secure Boot in menuconfig, build & flash again.

Hi @asd617140123 ,

tools/testapps/security/secure_boot

The tools/testapps are unfortunately not examples. These are intended for use in our internal automated testing of ESP-IDF, not for users.
You can enable Secure Boot on any example (see under "examples" directory) by following the steps in the ESP-IDF documentation:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/security/secure-boot-v2.html
(This link is to the Secure Boot V2 docs, as I see you have an ESP32 revision 3 chip.)

When I generate the .pem, then burn the image. I can not reburn again.

Can you please explain exactly what happens when you "can not reburn again"? i.e. exactly what commands do you run, and exactly what is the output?
The Secure Boot feature places some limitations on reflashing the firmware, once it's enabled the device is permanently locked into Secure Boot mode and will only boot correctly signed bootloader and app (for Secure Boot V2). However according to the log you posted, hardware Secure Boot is not actually enabled on the device.
One thing to note is that the bootloader binary not included in the default "idf.py flash" if Secure Boot is enabled. This is to avoid accidentally enabling Secure Boot. You need to run idf.py bootloader-flash or the command printed by idf.py bootloader in order to flash the bootloader.

When I try to burn the image again, I see the below result. Device can halt at search /dev/ttyUSB1.
esptool.py --chip esp32 -p /dev/ttyUSB1 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 blink.bin
esptool.py v3.0-dev
Serial port /dev/ttyUSB1
Connecting........_____....._____.....

And I have try to press EN button then press BOOT button then release EN button, I can see the "Download mode is disabled."
Example to check Secure Boot status
This is ESP32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 3, 2MB external flash
I (359) example_secure_boot: Checking for secure boot v2..
I (369) example_secure_boot: Secure boot v2 not enabled. Enable Secure Boot V2 in menuconfig, build & flash again.
I (379) example_secure_boot: Checking for secure boot v1..
I (379) example_secure_boot: Secure Boot V1 not enabled. Enable Secure Boot in menuconfig, build & flash again.
Download mode is disabled. Restart with GPIO0 high.
Download mode is disabled. Restart with GPIO0 high.

Since I burn the sample Secure Boot what i thought. I can not into download mode.
thank your reply.

Hi @asd617140123 ,
Thanks for being patient while someone got back to you.
I'm afraid that by default when you enable Secure Boot V2 in menuconfig, the default configuration will "Permanently disable ROM download mode" (see screenshot):

This is intended to reduce the attack surface for any potential security issue. The idea is that this will be enabled when you go to production with your firmware, not during development.
It is possible to disable this flag in the config (under "Potentially Insecure Options"), but as you've already flashed the firmware I'm afraid it won't be able to undo this - you will need a new ESP32 to continue with.

Please let us know if you don't think the explanation above explains what you're seeing.

Please let us know if you don't think the explanation above explains what you're seeing.

Ok , Thanks. I will use another esp32 module to develop.

Ok , Thanks. I will use another esp32 module to develop.


Port Stockholm I/O to skbio.io.stockholm

Additionally add read and write methods to StockholmAlignment and Alignment for reading and writing this format.

Closing in favor of #967.


context switch in x86 memory domains needs optimization

Context switching between threads in different memory domains on x86 is very slow with difficult to predict latency. Unlike other arches, which just write a fixed bank of registers, we have to go through and walk the page tables multiple times to rearrange the permissions on every page included by either the outgoing or incoming memory domain. This all happens with interrupts locked and can take varying amounts of time. This is very bad from a hard real-time perspective.
This is the code:
void _x86_swap_update_page_tables(struct k_thread *incoming,
				  struct k_thread *outgoing)
{
	/* Outgoing thread stack no longer accessible */
	_x86_mmu_set_flags((void *)outgoing->stack_info.start,
			   ROUND_UP(outgoing->stack_info.size, MMU_PAGE_SIZE),
			   MMU_ENTRY_SUPERVISOR, MMU_PTE_US_MASK);

	/* Userspace can now access the incoming thread's stack */
	_x86_mmu_set_flags((void *)incoming->stack_info.start,
			   ROUND_UP(incoming->stack_info.size, MMU_PAGE_SIZE),
			   MMU_ENTRY_USER, MMU_PTE_US_MASK);

	/* In case of privilege elevation, use the incoming thread's kernel
	 * stack, the top of the thread stack is the bottom of the kernel stack
	 */
	_main_tss.esp0 = incoming->stack_info.start;

	/* If either thread defines different memory domains, efficiently
	 * switch between them
	 */
	if (incoming->mem_domain_info.mem_domain !=
	   outgoing->mem_domain_info.mem_domain){

		 /* Ensure that the outgoing mem domain configuration
		  * is set back to default state.
		  */
		_arch_mem_domain_destroy(outgoing->mem_domain_info.mem_domain);
		_arch_mem_domain_configure(incoming);
	}
}

The x86 memory protection port is not intended for devices with constrained amounts of RAM. What we really need to do is when memory domains are initialized or modified, to allocate and configure a page table for that memory domain. Then upon context switch, instead of going through and doing expensive modification of a single page table with the two calls to _arch_mem_domain_destroy() and _arch_mem_domain_configure(), just update the CR3 register to point to the incoming thread's memory domain. This takes a fixed amount of time and is much faster.
The solution is not perfect as we still have to do some page table walking for adjusting the permission of thread stack pages for the incoming/outgoing threads, but this should still be an improvement. If we wanted to go all the way and make this completely a single step operation, we would need per-thread page tables which I feel is probably too expensive from a RAM perspective.
In more detail:

The page table we generate at build time will be the kernel's page table, and will be used for any threads that are not part of any memory domain.

We need to introduce a k_mem_slab pool of 4K pages, to draw from when we configure memory domains.

When a memory domain is initialized, we will allocate some pages out of the slab pool and clone the kernel's page table into it, and save a pointer to that page table in some arch-specific field in the k_mem_pool struct (we will have to add this), since this page table is associated with the domain and not an individual thread.

When a memory domain is configured, either at initialization or when partitions are added/removed, the domain's page table will be modified to suit the configuration. Removing partitions will just copy the old configuration for each affected page from the kernel's page table.

On context switch:
-- We remove access to the outgoing stack like we currently do.
-- If the incoming thread is in a different domain, we load the incoming thread's domain page table into CR3, or the kernel's page table if the incoming thread is not a member of a domain
-- We grant access to the incoming thread's stack memory like we currently do.

Upon further contemplation:

Think it's best to do page tables on a per-thread basis, not per-domain. This will have the lowest latency on context switch, for both stack and domain configuration it's just a quick update.
We only need a set of PTEs per-thread for system RAM. For systems where memory starts at 0 (most x86), and have 2MB or less, this is one 4K page table. Context switch will just update its address in the PDE for it. If we have a nonzero origin, or more than 2MB, we might require more page tables for system ram, but the number of pages for each thread should be computable at build time.
We already reserve a non-present page in every thread stack for the kernel mode stack overflow guard area. Dual purpose this. The thread-specific page table will go here, and the page will be marked read-only instead of non-present, so it still works as a guard page.
Modification of thread page tables from supervisor mode will temporarily disable the WP bit in CR0 since the pages are read-only. If we don't do supervisor mode stack overflow detection we can skip this.
Any modification of memory domains will require iterating over all the member threads and updating their page tables, but we should be able to do this in such a way to minimize amounts of time that interrupts are locked. We'll probably have to lock the scheduler during the entire operation.
We should have infrastructure for performance profiling this.

If we have per-thread page tables, the following actions need to take place when various memory domain APIs are called. This should also be applicable to #15223
The following assumes that for any thread, HW state is applied when context switching in, or dropping to user mode.

k_mem_domain_add_thread() / k_mem_domain_remove_thread() - Re-compute that thread's data to reflect the change in membership.
k_mem_domain_destroy() - For all member threads, re-compute the thread's data to reflect no memory domain membership.
k_mem_domain_init() - no thread actions
k_mem_domain_add_partition() / k_mem_domain_remove_partition() - For all member threads, re-compute the thread's data to reflect the change in memory domain partitions

For re-computation on an MMU-based system, we need a baseline configuration, this will be copied from the kernel's page table, which has all the boot configuration applied.
We need two (and I think only two) arch APIs:

z_arch_mem_domain_calculate(struct k_thread *thread) - For the given thread, examine its memory domain and update thread->arch data used to program the hardware. Invoked by the memory domain APIs when memory domains are changed, see above. May be a no-op if no thread->arch data is used.
z_arch_mem_domain_configure(struct k_thread *thread) - Apply the thread's memory domain configuration to the MMU/MPU hardware. Called on context switch or drop to user mode.

Do we want an implicit call from, z_arch_mem_domain_calculate() to z_arch_mem_domain_configure() if the supplied thread == kernel->current?

If we have per-thread page tables, the following actions need to take place when various memory domain APIs are called. This should also be applicable to #15223
The following assumes that for any thread, HW state is applied when context switching in, or dropping to user mode.
* k_mem_domain_add_thread() / k_mem_domain_remove_thread() - Re-compute that thread's data to reflect the change in membership.

* k_mem_domain_destroy() - For all member threads, re-compute the thread's data to reflect no memory domain membership.

* k_mem_domain_init() - no thread actions

* k_mem_domain_add_partition() / k_mem_domain_remove_partition() - For all member threads, re-compute the thread's data to reflect the change in memory domain partitions

For re-computation on an MMU-based system, we need a baseline configuration, this will be copied from the kernel's page table, which has all the boot configuration applied.
We need two (and I think only two) arch APIs:
* z_arch_mem_domain_calculate(struct k_thread *thread) - For the given thread, examine its memory domain and update thread->arch data used to program the hardware. Invoked by the memory domain APIs when memory domains are changed, see above. May be a no-op if no thread->arch data is used. This can be time-consuming, but if at all possible, done without interrupts locked (locking the scheduler should be sufficient)

* z_arch_mem_domain_configure(struct k_thread *thread) - Apply the thread's memory domain configuration to the MMU/MPU hardware. Called on context switch or drop to user mode. This API needs to be FAST.

I agree above design.

Do we want an implicit call from, z_arch_mem_domain_calculate() to z_arch_mem_domain_configure() if the supplied thread == kernel->current?

It also doesn't take effect to the MPU(for arm) at once in current code if current thread change him-self's memory domain.


First mutation

I'm using the latest version of this repository.
The @@router/UPDATE_LOCATION action do not reach the end of my middleware chain during the first mutation of the state.
I'm wondering if this is intentional, or an issue with this project (it's working with redux-router).
Here is my middleware chain in case you ask:
import promiseMiddleware from 'redux-promise';
import thunk from 'redux-thunk';

...

  middleware = applyMiddleware(
    promiseMiddleware,
    thunk,
    reduxRouterMiddleware,
    analyticsMiddleware
  );

The issue for me is that, I want  to send every @@router/UPDATE_LOCATION event to google analytics but the first page is missing.

For now, I'm using this fix inside at the end of my reducer list.
  analyticsMiddleware({
    getState: () => state,
  })(() => {})(action);

The middleware chain you posted does not include the analyticsMiddleware you have above. Can you paste the full code you're working with?

Sure, here is my analyticsMiddleware.js
import {UPDATE_LOCATION} from 'redux-simple-router';
import pluginAnalytics from 'plugin/analytics';

function analyticsMiddleware(store) {
  return next => action => {
    const result = next(action);

    if (action && action.type === UPDATE_LOCATION) {
      pluginAnalytics.trackView(store.getState().get('routing').location.pathname);
    }

    return result;
  };
}

export default analyticsMiddleware;

Ah, it's because the listener is being set up before the rest of the middleware is applied to the store and dispatching before applyMiddleware completes. This may actually be a redux bug....
We could hack around this with setTimeout, but I'm not a huge fan of that approach.

Opened up rackt/redux#1240. We'll see if anything happens there.

This is happening to me as well after upgrading. I have an authorization / restricted routes flow and the way I'm getting around it is by triggering a fake system action on init, which will then process my middleware as it did before.

Well, I guess we'll have to defer our initial listener with setTimeout. That's the only way around it I can see. I'm open to PRs if someone has a better solution. I'll try to get this tested, fixed, and released soon.

Thought I had a fix, but didn't work. setTimeout just makes listening async, which works fine in the browser, but busts everything in the server context.

This should be solved once #259 settles, as it operates on an instantiated store which will have all of its middleware set up.

For those who are using it, the upgrade fixed the problem? My version is 2.0.4 and I see this happening.

Yes it does.


Incorrect type signature on Print and PrintT from TLC module

Description
Snowcat reports a type error when passing anything except a string as Print or PrintT from the TLC module.
Real TLC accepts any type of value in these positions.
Impact
Can't use Apalache to typecheck all valid TLA+ specs.
Input specification
---- MODULE PrintProblem ----

EXTENDS TLC

VARIABLES
    \* @type: Str;
    a,
    \* @type: Bool;
    b,
    \* @type: Int;
    c,
    \* @type: Set(Str);
    d,
    \* @type: Seq(Str);
    e,
    \* @type: { x: Str, y: Str };
    f

Init ==
    /\ a = "hello world"
    /\ b = TRUE
    /\ c = 0
    /\ d = {"hello", "world"}
    /\ e = <<"hello", "world">>
    /\ f = [x |-> "hello", y |-> "world"]

Next ==
    /\ a = Print("", "hello world")                     \* ok
    /\ b = Print("", TRUE)                              \* ok
    /\ c = Print("", 0)                                 \* ok
    /\ d = Print("", {"hello", "world"})                \* ok
    /\ e = Print("", <<"hello", "world">>)              \* ok
    /\ f = Print("", [x |-> "hello", y |-> "world"])    \* ok
    /\ a = Print(a, "hello world")                      \* ok
    /\ b = Print(b, TRUE)                               \* ERROR
    /\ c = Print(c, 0)                                  \* ERROR
    /\ d = Print(d, {"hello", "world"})                 \* ERROR
    /\ e = Print(e, <<"hello", "world">>)               \* ERROR
    /\ f = Print(f, [x |-> "hello", y |-> "world"])     \* ERROR
    /\ PrintT(a)    \* ok
    /\ PrintT(b)    \* ERROR
    /\ PrintT(c)    \* ERROR
    /\ PrintT(d)    \* ERROR
    /\ PrintT(e)    \* ERROR
    /\ PrintT(f)    \* ERROR
    /\ UNCHANGED <<a, b, c, d, e, f>>

Spec == Init /\ [][Next]_<<a, b, c, d, e, f>>

====

The command line parameters used to run the tool
apalache-mc typecheck PrintProblem.tla

Expected behavior
Print and PrintT accept any type of input.
Type sigs should probably be:
\* @type: (a, b) => b;
Print(a, b) == (* ... *)

\* @type: (a) => Bool;
PrintT(a) == (* ... *)

Log files
System information

Apalache version [apalache-mc version]: 0.30.2

Triage checklist (for maintainers)

[ ] Reproduce the bug on the main development branch.
[ ] Add the issue to the apalache GitHub project.
[ ] If the bug is high impact, ensure someone available is assigned to fix it.

Print is a TLC operator, not an Apalache operator. We have no plans for supporting it. See #2336

@Kukovec I know that, and I am not asking for support for these operators in Apalache. I'm asking for Snowcat to not fail typechecking because of it. If you read my issue again, I said that the impact of this issue is that I cannot use Apalache to typecheck a TLA+ spec. I already know Apalache isn't suitable for model checking my spec.
Apalache already has some understanding of the type signature of these operators, it's just incorrect. I'm just asking for that to be fixed.

Apalache already has some understanding of the type signature of these operators, it's just incorrect. I'm just asking for that to be fixed.
Why do you believe the type signature is incorrect?

Why do you believe the type signature is incorrect?

Because it's more restrictive than what actual TLC accepts. If you run the example I provided, you'll see that Apalache believes the type to be Print: (Str, a) => a and PrintT: (Str) => Bool. Those Strs should also be type vars.

Hi @BGR360!
We have assigned type signatures kind of randomly, since I could not find (or did not care much about finding) good documentation on the expected behavior of Print and PrintT. Now looking at PrintT, our type signature for it seems to be wrong. Not sure about the signature Print, but it is also trivial to fix.
The type signatures for Print and PrintT are defined here:
https://github.com/informalsystems/apalache/blob/e38fb1fccb28b31979d01c4874c9c53ed0e9e537/src/tla/__rewire_tlc_in_apalache.tla#L43-L53
If you could create a pull request that contains the following items, that would help:

a two-line fix to __rewire_tlc_in_apalache.tla,
your test,
an entry in the test suite, see the documentation in the file.


Change XLA bincount determinism string rationale

Add a more detailed pointer to the CUB determinism constrains

For the TF kernel https://github.com/NVIDIA/cub/issues/471#issuecomment-1194682443

Is HistogramEven currently deterministic or not?

Yes, assuming that your histogram output is an integral type that is either unsigned or won't overflow at runtime.

/cc @reedwm

@reedwm Do you know why copybara is failing?

Flaky internal tests. This should get merged soon.


4337 Account Abstraction support [WIP]

Here's a first draft at what supporting 4337 account abstraction could look like.
How it works:

Split all User Operations from transactions sent to the ERC4337 entrypoint into separate 'UserOp transactions' (1 transaction to the entrypoint can include multiple user operations). This steps also removes log entries from the entry point contract and the eth transfer from the entry point to the bundler that submitted the transaction since those are not relevant to the user operation

Decode the call from the entry point to the smart account contract. Smart account contracts all contain functions that the entry point calls that then executes the user operation, so we need to decode that function call and get the arguments from that to get to what the user wants to do. There are lots of different account implementations where the entrypoint fn signature differ slightly but do the same thing:
function execute(address,uint256,bytes)                       // 0xb61d27f6
function execute(address[],uint256[],bytes[])                 // 0xa516a5bf
function execute(address,uint256,bytes,uint8)                 // 0x51945447
function executeBatch((address,uint256,bytes)[])              // 0x34fcd5be
function execTransactionFromEntrypoint(address,uint256,bytes) // 0x70641a22
function executeBatch(address[],uint256[],bytes[])            // 0x47e1da2a

After these two steps the existing contextualizers can use the same logic as for non-ERC4337 transactions to give context to the transaction, I've included examples for a token approval, token transfer, eth transfer and an nft mint.
This WIP implementation only supports transactions where each user operation only contains "one action" (either just execute or executeBatch with just one action)
TODO/Remaining questions:

Should the 'UserOp transactions' be merged into one again after contextualizing them? Technically it is just one transaction onchain even though the operations could be submitted by different users to the same bundler
This isn't specific to ERC4337 but also relevant for things like safes, how should "multiple actions" in one transaction be handled? (Like https://github.com/safe-global/safe-smart-account/blob/main/contracts/libraries/MultiSend.sol) One way could be to split them into multiple "action transactions", contextualize them individually and then combine them again. There could be a 'context reducer' layer that knows how to combine multiple contexts

Closing this in favor of https://github.com/Once-Upon/context/pull/291


Accept Google tokens from users not in Dockstore

If API call made with a Google token not issued against the Dockstore
audience (client id), accept it if it's issued against a whitelisted
Google client id (see
DockstoreWebserviceConfiguration.externalGoogleClientIds).
If the user is not in Dockstore, create the user. The main difference
for a User created this way vs. a user signing in is that there is no
refresh token.
Added org.mockito.plugins.MockMaker file so I could mock Userinfoplus,
a final class, which Mockito doesn't let you mock by default.

Coverage decreased (-15.9%) to 49.08% when pulling 27749b6c5b965411fa0e4313d746ce3dd8ec6c2d on feature/googletokensupport into 54ab051730f701b9f1df34951d86c6e1776dad4a on develop.

Coverage decreased (-15.9%) to 49.08% when pulling 27749b6c5b965411fa0e4313d746ce3dd8ec6c2d on feature/googletokensupport into 54ab051730f701b9f1df34951d86c6e1776dad4a on develop.

A few follow-up questions:

If a user was created in this fashion, did you test whether that user is effectively "picked up" by a subsequent Google login?
The refresh token is not created this way, is it subsequently populated at sign in if 1) does in fact work?

I believe the code coverage drop is misleading. If I look at the results from two commits ago, there was only a 0.01% drop (select the edited dropdown in the CodeCov report comment to see this):

My two additional commits after that were trivial (the second one added a small amount of testing), but to be sure I hadn't really forced a drop in testing, I created a new branch from that same commit where there was only 0.01% drop and maden PR #1580 . There, for the same commit where it had shown a 0.01% drop, it showed a 2.4% drop.
Given the nature of the change, which would only affect logging in with Google, I'm going to go ahead and merge.


[Service] logutil in service-db

Code clean, use common logutil in service-db.

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #323. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


InvalidRequestError

Hello,
I keep getting the "InvalidRequestError: Unknown request URL: POST /v1/fine-tunes" error when I try to run finetuning / few shot inference from the examples you have provided.
The issue persists on both windows and linux systems and I was not able to find a way to solve it, do you have any ideas on what I could be doing wrong?
Thanks!

I feel this might be because you use a newer version of the openai library

I encountered the same problem when i try to run the first example and  my openai library is  version 0.28.0. The attachment file is the error message when I debugged the program. Can you give me some advices? thanks very much.


Fix for broken Azure Threads url

Threads API is broken for Azure OpenAI implementation returning a 404 error
Expected URL = https://your_resource_name.openai.azure.com/openai/threads?api-version=2024-02-15-preview
Current URL = https://your_resource_name.openai.azure.com/openai/deployments/UNKNOWN/threads?api-version=2024-02-15-preview
Link to Microsoft docs: https://github.com/MicrosoftDocs/azure-docs/blob/bb63f74fabd8a70267e1ab2960773f706c8c50c3/articles/ai-services/openai/assistants-reference-threads.md
Fix removes /deployments/UNKNOWN/ by using same approach for /models /assistants API
Added unit tests for Azure Threads API
FYI, this fix also addresses same issue with messages & runs APIs

@sashabaranov any further comments / issues you'd like to address?


Snowflake: set current schema the right way

We should do it properly, which is going to resolve various inconsistencies, such as not using bold font for the current schema in the navigator, etc. On top of that, we should respect Snowflake's rules for escaping identifiers.

Fixed the problems with setting the current database and the current schema. The issue regarding Swnoflake identifier rules will be transferred to a separate ticket.

verified


[BUG]: TourPoint attach

Description
Two issues:
1) It seems like top and bottom and right and left are switched around? Can be seen in storybook
2) Attaching a tour point to the bottom of a component near the edge of the screen will go off the screen
Steps to Reproduce
1) Check the attach options in Storybook. These seem inverted?
2) Add a tour point to an element near the edge of the screen. Ideally the tour point would be nudged to a few pixels in from the edge and the arrow would still point to the correct element.
Storybook Demonstration
https://vimeo.github.io/iris/sb/main/?path=/story/components-info-tourpoint--controls&args=attach:right
Version
0.109.0
What browsers are you seeing the problem on?
No response
Relevant log output
No response
Screenshots
No response

Take a quick look at those libraries and react-tiny-popover is the smallest in bundle size. The API looks pretty clean and intuitive.

Package
Bundle size
Link

@floating-ui/react-dom
20.7kb
https://bundlephobia.com/package/<EMAIL_ADDRESS>

react-tiny-popover
11.8kb
<EMAIL_ADDRESS>

@popperjs/core
20.9kb
https://bundlephobia.com/package/<EMAIL_ADDRESS>

I like the positions priority prop. I was looking at fixing it and was thinking we'd have to check if there's more room on the left or right before moving it, but having the user set priorities means they can avoid covering important pieces of the page.

We can probably use react-tiny-popover and refactor TourPoint to use it. It might be a bigger change than fixing the bug though 🤔 .


Error?

Hi, thanks for the excellent job!
When I install it from pip, and
import torchshard as ts
ts.init_process_group(group_size=2)

The AttributeError occurs:
AttributeError: module 'torchshard' has no attribute 'init_process_group'

Ops! Sorry about this. It should be ts.distributed.init_process_group(group_size=2) . I have fixed it in README.
Please refer to the https://github.com/KaiyuYue/torchshard/blob/main/docs/api/dist.md#init_process_group.