FIX: Collate fieldmap coefficients into list of lists

Currently the fieldmap coeffficients from each estimator are aggregated into a single list. When selected by downstream nodes, the first application node gets the first coefficient of the first estimator, the second application node gets the second coefficient of the first estimator, the third application node gets the first coefficient of the second estimator, and so on.
This has been obscured from using test datasets with only one estimator, so only the low frequency components are getting applied.
This PR simply prevents this list from being flattened. Will test with downstream to make sure a list of coefficients can be passed.
Node: single_subject_EB_wf (fmap_preproc_wf (out_merge_fmap_coeff (utility)
===========================================================================

 Hierarchy : fmriprep_0_0_wf.single_subject_EB_wf.fmap_preproc_wf.out_merge_fmap_coeff
 Exec ID : out_merge_fmap_coeff

Original Inputs
---------------

* axis : vstack
* in1 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00000/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00000/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* in2 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00001/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00001/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* in3 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00002/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00002/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* in4 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00003/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00003/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* no_flatten : False
* ravel_inputs : False

Execution Inputs
----------------

* axis : vstack
* in1 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00000/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00000/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* in2 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00001/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00001/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* in3 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00002/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00002/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* in4 : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00003/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00003/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']
* no_flatten : False
* ravel_inputs : False

Execution Outputs
-----------------

* out : ['/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00000/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00000/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00001/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00001/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00002/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00002/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00003/bs_filter/fmap_syn0Warp_Hz_trans_coeff000.nii.gz', '/scratch/fmriprep_0_0_wf/single_subject_EB_wf/fmap_preproc_wf/wf_auto_00003/bs_filter/fmap_syn0Warp_Hz_trans_coeff001.nii.gz']

Codecov Report
Base: 83.80% // Head: 90.18% // Increases project coverage by +6.37% :tada:

Coverage data is based on head (4f1e8b4) compared to base (7057072).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #317      +/-   ##
==========================================
+ Coverage   83.80%   90.18%   +6.37%
==========================================
  Files          24       24
  Lines        1995     1996       +1
  Branches      235      307      +72
==========================================
+ Hits         1672     1800     +128
+ Misses        281      156     -125
+ Partials       42       40       -2

Flag
Coverage Δ

travis
83.81% <100.00%> (+<0.01%)
:arrow_up:

unittests
90.08% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

sdcflows/workflows/base.py
100.00% <100.00%> (ø)

sdcflows/workflows/outputs.py
93.84% <0.00%> (+1.53%)
:arrow_up:

sdcflows/interfaces/reportlets.py
89.83% <0.00%> (+1.69%)
:arrow_up:

sdcflows/interfaces/bspline.py
85.00% <0.00%> (+8.33%)
:arrow_up:

sdcflows/interfaces/utils.py
90.41% <0.00%> (+9.58%)
:arrow_up:

sdcflows/interfaces/fmap.py
87.35% <0.00%> (+14.94%)
:arrow_up:

sdcflows/utils/tools.py
97.36% <0.00%> (+21.05%)
:arrow_up:

sdcflows/workflows/fit/syn.py
69.82% <0.00%> (+21.30%)
:arrow_up:

sdcflows/utils/phasemanip.py
94.02% <0.00%> (+28.35%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Organizations tab

It would be extremely useful for community building to list organizations in a tab in much the same way that datasets are in their tab, with a count at the top of the list.

Is the important part to know which origanisations have published data for a specific filter - that is to answer questions like
"who are the publishers that publish datasets containing Flabellina in Mexico"
Or is it more to display the full lost of publishers - possible including publishers who haven't published occurrence data (checklist or metadata only)

Somewhere on a portal, the full list of institutions/publishers which publish data in the context of the entire portal is very useful for community building. The list of institutions per search filter would also be useful - but the full list is priority one (on behalf of Living Norway).

For VertNet the important thing was to have the full list of participating organizations. No particular need to have the list reflect the current filter in our case, nor would I want there to be confusion on the part of a user seeing a partial list of organization just because a filter was in place.

We (SiB Colombia) suport this idea, we currently have someting like this https://sibcolombia.net/red-de-socios/ where each organization has some general metrics https://sibcolombia.net/socios/pispesca/, of course for the hosted portal It will have to be different, but just to let you know ;).

So this is interesting - none of you seem to be interested in search/filter on publishers. Just a list/table is what I understand? It is a positive surprise as it makes life simpler.
In VertNets case that would be a list driven from facets (distinct publishers for occurrences). For others it would probably be a fixed filter on publisher search for a country.
No one here seem to be interested in the "who are the publishers that publish datasets containing Flabellina in Mexico" use case.
So essentially this could be a hardcoded list in a markdown table, but as that is hard to maintain, then it would be nicer to drive it from the APIs I gather.

I do find the filter useful as SiB Colombia has 157 publishers and growing + ~20 per year, I guess for the regional portals the publisher's number will be also high so a long list without filters will be less suited, but the filter can be an upgrade for later.
As other mentioned, for the more 'basic' or most immediate needs of having a list of publishers (https://www.gbif.org/publisher/search?country=CO) and a basic page for each one (https://www.gbif.org/publisher/57dfb71a-f0aa-47c2-b997-30c6048dc98a), I think the API is the way to go to make it sustainable for a long time.
Another option could be to have a more hardwired layout for all portals integrated with the data window such as the one we have for dataset or individual records (I think this is also what @tucotuco had in mind when he opened the issue):

And if some needs something more specific then it can be done with the API/markdown mix.
@MortenHofft you let us know what is posible and wat's not at this first stage

nor would I want there to be confusion on the part of a user seeing a partial list of organization just because a filter was in place.

@camiplata It seems there is disagreement on what is the desired behaviour. I'll have to give it some more thought when the implementation of this starts.

So this is interesting - none of you seem to be interested in search/filter on publishers. Just a list/table is what I understand? It is a positive surprise as it makes life simpler.
In VertNets case that would be a list driven from facets (distinct publishers for occurrences). For others it would probably be a fixed filter on publisher search for a country.
No one here seem to be interested in the "who are the publishers that publish datasets containing Flabellina in Mexico" use case.
So essentially this could be a hardcoded list in a markdown table, but as that is hard to maintain, then it would be nicer to drive it from the APIs I gather.

I think there may be three distinct use cases.
The first one is the list of publishers who are participating in the network. This is the one I created the issues for. For VertNet the participants are managed in the GBIF registry at the dataset level. So in theory you could get publishers from the registry in our case, but it wouldn't work for all hosted portals. So your solution to get distinct publishers for all occurrences in the hosted portal (without respect to any other filter) is a better one.
Being able to filter on publisher is a second use case. That could be interesting, but it is not the original issue we posed and is less important in our case.
It seems the third use case is to get the facet for the publishing organization having records in a filtered query. That could be interesting also, but in our case it is less important than the originally posted use case.

@camiplata
In your example above I notice that your interest is a list of

publishers from Colombia. Including those that have not published data.
publishers that only have published checklists without occurrences
Not all publishers that have published occurrences located in Colombia. E.g. this Costa Rican published dataset with data about Colombia

Is it correct that you would be happy with the list of Colombian publishers (despite the discrepancy with occurrences)
https://www.gbif.org/publisher/search?country=CO
and similar for datasets I suppose then?
https://www.gbif.org/dataset/search?publishing_country=CO

Hi @MortenHofft, sorry to arraice so late to this trheadth.

Publishers from Colombia. Including those that have not published data. YES
Publishers that only have published checklists without occurrences  YES as we hope the portal eventually supports checklist.
Is it correct that you would be happy with the list of Colombian publishers (despite the discrepancy with occurrences)
https://www.gbif.org/publisher/search?country=CO YES.
and similar for datasets I suppose then? YES.
https://www.gbif.org/dataset/search?publishing_country=CO
Not all publishers that have published occurrences located in Colombia. E.g. this Costa Rican published dataset with data about Colombia YES but we have to further think about it, maybe to have a aditional list for publishers from repatriated data

Based on this thread I suggest:
Version 1: We start with a simple port of the publisher search functionality on GBIF.org. With the limitations it has. That will meet the needs of @camiplata I believe.
Version 2, will be to support networks that has their own non-searchable publisher endpoint.
That is @tucotuco and possible @dagendresen - where publishers are the list of distinct publishers for the constituent datasets for the network. This could include checklists without occurrences.
version 3 will be to find a way to support publisher search for e.g. taxonomic scoped sites.
I'm not sure if @dagendresen belong in this or above, but either that would have to be driven from the occurrence index. This will not include checklists without occurrences.


Centralization risk in RUSD contract

Centralization risk in RUSD contract
Severity: Informational
Type: Centralization risk
The add_vault() and remove_vault() functions allow the contract intializer to change the vault contract address.  The vault contract has the priviledge of calling the mint() and burn() functions in the RUSD contract.
add_vault() and remove_vault() functions in RUSD contract:
https://github.com/burralabs/ruscet-contracts/blob/93c58b12d72429d1a680429bcbf72c4246a70502/contracts/assets/rusd/src/main.sw#L126-#L136
#[storage(read, write)]
fn add_vault(vault: ContractId) {
    _only_gov();
    storage.vaults.insert(vault, true);
}

#[storage(read, write)]
fn remove_vault(vault: ContractId) {
    _only_gov();
    storage.vaults.remove(vault);
}

mint() and burn() functions in RUSD contract:
https://github.com/burralabs/ruscet-contracts/blob/93c58b12d72429d1a680429bcbf72c4246a70502/contracts/assets/rusd/src/main.sw#L202-#L213
#[storage(read, write)]
fn mint(account: Account, amount: u64) {
    _only_vault();
    _mint(account, amount);
}

#[payable]
#[storage(read, write)]
fn burn(account: Account, amount: u64) {
    _only_vault();
    _burn(account, amount);
}

Recommendation
Consider limiting the ability to update the vault contract to a team multisig or voting contract.

acknowledged. Gov will be a team multisig


Fixed go to positions commands to wait for an actor to finish talking

An example to test this are the platforms which were still going to their position even during actor interactions.
Preview here: https://pr-592.lba2remake.net

Isn't there a risk that actors will keep moving forward without turning, and missing their target, if their animation was set to the forward animation before running this command?

Isn't there a risk that actors will keep moving forward without turning, and missing their target, if their animation was set to the forward animation before running this command?

This could potentially happen for the actor that is talking, but unlikely as interaction will most likely reset to a different track.
We enable animations to be playing for who is talking, so we can see actors turning and have Twinsen with reading/talking animation.
All other actors that are not talking will be blocked and only the scripts will be executed.

Makes sense.


Je suis en train de travailler et Marv me change d’onglet et m’ouvre celui-ci, c’est MAGIQUEEEEEEEEEEE

Marv is redirecting you to this page because an error has occurred. Please complete the report below and send it to help developers resolve this issue
Describe the bug
Je suis en train de travailler et Marv me change d’onglet et m’ouvre celui-ci, c’est MAGIQUEEEEEEEEEEE
To Reproduce
Il suffit de travailler

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop

OS: Windows_NT 10.0.19043 win32
Marv: v1.7.0

Browser

Version: [e.g. chrome, safari]

Additional context
Add any other context about the problem here.
Stack trace
UnhandledRejection: FetchError: invalid json response body at https://api.twitch.tv/helix/users/follows?to_id=66246555&first=100 reason: Unexpected token < in JSON at position 0
    at C:\Users\srm\AppData\Local\Programs\marv\resources\app.asar\node_modules\node-fetch\lib\index.js:272:32
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

closed by #261


--ignore option does not work

--ignore option does not work, at least for "*.sh" pattern.
Reproduce:
mkdir test
cd test
mkdir node_modules
cd node_modules/
mkdir test_module
cd test_module/
touch smth.sh
cd ../../
modclean --patterns="default:safe,default:caution,default:danger" --run --ignore="*.sh" --verbose --test

Expected not to remove smth.sh, actual result:

MODCLEAN  Version 2.1.2
RUNNING IN TEST MODE
When running in test mode, files will not be deleted from the file system.
EVENT> start
VERBOSE>
{
"cwd": "/home/jehy/tmp/test/node_modules",
"patterns": [
"default:safe",
"default:caution",
"default:danger"
],
"additionalPatterns": [],
"ignorePatterns": [
"*.sh"
],
"noDirs": false,
"ignoreCase": true,
"dotFiles": true,
"modulesDir": "node_modules",
"removeEmptyDirs": true,
"errorHalt": false,
"test": true,
"followSymlink": false
}
Searching for files in /home/jehy/tmp/test/node_modules...
EVENT> files
Found 1 files/folders to remove
EVENT> process
VERBOSE> DELETED (1/1) test_module/smth.sh
EVENT> finish
VERBOSE> FINISH Deleted 1 files/folders of 1
EVENT> complete
FILES/FOLDERS DELETED
Total:    1
Skipped:  0
Empty:    0

Even specifying --ignore="smth.sh" does not work :(

Environment: Ubuntu 17.10, node v8.9.1, using last version of modclean

Specifying --ignore="***/*.sh" works but that's very strange. Seems like an issue with node-glob package.

Thanks for reporting, you're right about this one. I dove back through the code and it appears I never actually merged the provided ignore list from the ignorePatterns configuration property into the list that is pulled in the from patterns, so no matter what you provide, it shouldn't work.
I'm going through some of my open source modules and upgrading them and doing some refactoring. This is on my list and should get it fixed soon.
Thanks for reporting!

@jehy I think I figured out what may be causing this issue. Since the patterns already has a *.sh pattern to match, node-glob gets into a race condition where it is not sure whether it should match or not match that pattern. In this case, the match takes precedence over the ignore pattern. When you specify ***/*.sh, it will work because this pattern is more "global" than the default *.sh pattern.
The only way I can think about fixing this without impacting performance would be to compare any passed in ignore patterns with the match patterns and remove those from the match patterns if they exist.
I'm going to see if there is any better way of handling this, but for right now, that seems like the best solution.

Added functionality that will remove passed in ignore patterns from the matching patterns if it exists in the matching patterns list. This will prevent the race condition you were seeing here. This has been release in version 3.0.0-beta.1.
I'm working on writing tests now and once that is complete, 3.0.0 will be released.
Thanks again for reporting this!


Fails to run on CentOS stream 9 (due to selinux policy)

While running the the library on CentOS stream 9 with SELinux enforcing, it fails to load kernel-modules (implicitly).
Test log:
=== RUN   TestConfig
    config_test.go:85:
        	Error Trace:	config_test.go:85
        	            				config_test.go:67
        	            				config.go:31
        	            				config_test.go:36
        	Error:      	Received unexpected error:
        	            	failed to execute /usr/sbin/nft nft -j -f /tmp/spoofcheck-747880379: exit status 1 stdout:'' stderr:'internal:0:0-0: Error: Could not process rule: No such file or directory

        	            	'
        	Test:       	TestConfig
--- FAIL: TestConfig (0.03s)

Journal:
SELinux is preventing /usr/sbin/nft from module_request access on the system labeled kernel_t.

*****  Plugin catchall_boolean (89.3 confidence) suggests   ******************

If you want to allow domain to kernel load modules
Then you must tell SELinux about this by enabling the 'domain_kernel_load_modules' boolean.

Do
setsebool -P domain_kernel_load_modules 1

*****  Plugin catchall (11.6 confidence) suggests   **************************

If you believe that nft should be allowed module_request access on system labeled kernel_t by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'nft' --raw | audit2allow -M my-nft
# semodule -X 300 -i my-nft.pp

EDIT: Fixed the description of the problem.

In CentOS stream 9 new kmod has been introduced and some have not been loaded automatically as before.
Preparing a PR.


Acrylic backdrop will cause LayoutUpdated event to be infinitely raised

Title says it all, when using the acrylic backdrop on a window, LayoutUpdated event will be raised infinitely until window is closed.
@wherewhere

But I don't know how to fix it🤣.

Hi! Sorry to hear that.
Here's another project forked on this one, and the problem might be fixed there.
https://github.com/InkoreStudios/UI.WPF.Modern
If you like that, pls give me a star ⭐.
Thank you

Thanks for the heads-up. If you're looking for an adventure @NotYoojun we're still trying to figure out how to fix the issue with ComboBox where the autoscroll on ComboBox opening fails to stop on the selected item.
https://github.com/wherewhere/ModernWpf/issues/21

In my computer even the new version still has this problem. It is caused by the customized window style, not the mica actually. So later I'll check it carefully when I'm available.
If you want to commit your code, I recommend to move to my repo, which is listed above, there's only difference in the namespaces, so you can move easily.
Thanks :)


Different periods for recitations?

This shows the recitations to be way longer than what is advertised on the CWRU schedules.

As you can see here, the Jolly Advisor says that recitations are 1:15 minutes each while the CWRU homepage claims that they are 50 minutes each.
Thanks!
Phillip

I've successfully reproduced the bug. @ajm188 sounds like a SIS syncing problem?

@thehunter9709 thanks for reporting!
@JKobyP, indeed. The SIS syncing is currently additive only. So, if a course changes it's time length, we wouldn't pick that up automatically, since in a way we would "delete" the old time and add the new time.
I am also wondering: is it possible this is data from the wrong semester/year?

@ajm188 If your question is toward whether this is human error, I'll tell you I paid particular attention to that, because that was my first assumption when the bug was posted.
We can close this as duplicate then, I suppose. But we need to figure out how to fix our additivity issue. It's not a feature that's working for us.

Weighing in, but this was a design issue that was discussed at length in the beginning. We ended up going with additive (which everyone agreed wasn't a fantastic long-term solution) because of the difficulties in uniquely identifying recitations when they changed. That being said, we know a little more about SIS data now, so it's probably overdue to revisit it.
Looks like the model could be extended to include a recitation ID. Does anyone know how often those change when the time of the recitation changes?


Some Grammar Comments

The grammar still has the concept of "connection". It's my understanding that we want to drop it.

The following looks strange to me - why do we need the ellipsis?
lastFormalParameter
    :   variableModifier* typeType '...' variableDeclaratorId
    ;

Do resource parameters always include exactly one user defined type?
resourceParameters
    :   '(' userDefineType Identifier (',' formalParameterList)? ')'
    ;

The grammar for "ifElseStatement" allows an empty "if" path as well as an empty "else" path:
ifElseStatement
    :   'if' parExpression statement ('else' statement)?
    ;

The same is true for "whileStatement":
whileStatement
    :   'while' parExpression statement
    ;

....but the syntax summary document requires at least one statement in "while".
Since the grammar defines the empty statement ";" as statement the "while" body should also support an empty body too.  The same is true for "iterateStatement".

Please find my comments inline,

The grammar still has the concept of "connection". It's my understanding that we want to drop it.

Fixed.

The following looks strange to me - why do we need the ellipsis?
lastFormalParameter
:   variableModifier* typeType '...' variableDeclaratorId
;
Fixed in current grammar.

Do resource parameters always include exactly one user defined type?
resourceParameters
:   '(' userDefineType Identifier (',' formalParameterList)? ')'
;

Fixed in current grammar.

The grammar for "ifElseStatement" allows an empty "if" path as well as an empty "else" path:
ifElseStatement
:   'if' parExpression statement ('else' statement)?
;

Fixed in current grammar.

The same is true for "whileStatement":
whileStatement
:   'while' parExpression statement
;

Fixed in current grammar.

....but the syntax summary document requires at least one statement in "while".
Since the grammar defines the empty statement ";" as statement the "while" body should also support an empty body too. The same is true for "iterateStatement".

This is already addressed in current grammar.


Add stride to fixed point conv1d

To reduce the temporal dimension of signals in a 1d CNN, we should allow strides >= 1. Currently we only allow a stride of 1.

will be added as part of #398


BST is not a valid timezone

Steps to reproduce
{:error, {:invalid_timezone, "BST"}} = Timex.Timezone.get("BST")
Description of issue

What are the expected results?
BST should return the same value as UTC +1

If you are certain this is a bug in Timex, do you have references I
can use to check the algorithm/logic against? For instance, a well-established
date/time library in another language, a paper, test suite, etc. It is by no
means a requirement, but is immensely helpful in fixing bugs, and provides me
extra data to use when building out the test suite

https://www.timeanddate.com/time/zones/bst

BST is not a timezone name in the Olson timezone database - it is an abbreviation of a zone name, for a specific time of year, and Timex (and more precisely, tzdata) only supports abbreviations for a few zones for legacy reasons, namely their use in POSIX standards, which are limited to the North American abbreviations only as far as I can recall, e.g. PST, MST, CST, EST.
What you should use instead is Europe/London, which represents the time zone properly across DST boundaries.


Rename file case not recognized by various features

After renaming a file to change its case (upper to lower), most of the Menu / File options show the old file name instead of the new file name
Steps to reproduce

create a file ABC.txt

Use Menu -> File -> Rename to rename the file to abc.txt (changing its case from upper to lower)

Open these dialogs.  Note that the old file name ABC.txt is shown instead of the new file name abc.txt

Menu -> File -> Move
Menu -> File -> Copy
Menu -> File -> Delete
Menu -> File -> Rename

These are just the features that I tested.
I expect other features also use the old file name instead of the new file name

https://stackoverflow.com/questions/33998669/windows-ntfs-and-case-sensitivity

I went through the steps above and the new name (lower case) is shown as expected.  Thus I am closing this as not repro.


Coffee++ is detected as python.

All the .cf++ files seem to be detected as python maybe consider a pull request to the linguist repo? https://github.com/github/linguist

Good idea! I'll have a look :)

Github has guidelines that your language has to have I think at least 100 (or so) repos with your language before they include it.


KOS

Servo #5 is finally selected as cargo servo, ardupilot binaries are update correspondingly; functions, that can be used by contestants, are described in README.kos.md (these functions are wrappers over IPC-messages); flight_mode/main.cpp (it is highly likely, that contestants should modify only this file) got some commentaries on start process, alse code for pause/resume flight is removed -- it should be done by contestants (as it is one of the obstacles)

LGTM


Mod loading error has occurred

Once every few times when launching the game, the mod will fail to load.
latest (31).log
crash-2023-11-10_01.07.38-fml.txt

mod conflict likely

Is there any way to figure which mod it is without doing a binary search? Or would that be the only option. Would I it also be another create addon conflicting with it?

Was having the same mod loading error, but it seems to have been fixed in the 0.2a update.


Update ToJson to support a generic KeyValuePair

Thanks! I will have to dig into the problem myself when I have some time. Sorry it takes so long.

No worries, I can try to dig in more as well - just been busy. Thanks!!


"apktool.yml" package info is not used while build

hi,
i have patched the codes all around my code and also changed the application folder structure for my new packge from: com.appName.App
to: com.NewappName.App
so i have added in the "packageInfo" inside of the "apktool.yml"
packageInfo:
cur_package: com.NewappName.App
orig_package: com.NewappName.App
after creating an APK file i now again "decompile" the new generated APK and i see that the ApkTool 2.0.2 still created the folder structure of the old "\com\appName\App" and didn't updated it to a new
"\com\NewappName\App"
am i missing something ?

The functionality in apktool.yml is used for handling
--rename-manifest-package
       Rewrite the manifest so that its package name is the package name
       given here.  Relative class names (for example .Foo) will be
       changed to absolute names with the old package so that the code
       does not need to change.

Since some applications are built with this, we identify this so we can rebuild using the same parameter. This functionality is not meant for what you are attempting to do.
If you want to blanket change the package name you will have to:

Change the apktool.yml (like you did)
Update the AndroidManifest.xml package name to the new value.
Manually update the smali from (old/foo/bar to 'new/foo/bar`) in terms of the directories
Find and replace ALL *.smali files with the old package name Lold/foo/bar and replace with Lnew/foo/bar.

@iBotPeaches Thank you for this step-by-step guide on changing the package name.
However, it seems a bit outdated. Thereby I have several questions I would like to ask:

I didn't find any cur_package and orig_package references in the source code.
Does this mean that the step 1 should be omitted?
Newer Apktool versions produce the unknown/ directory.
Its structure is similar to the smali/ directory.
Considering this, do I also need to update its catalog structure as in step 3?
If I decode the resources, do I also need to replace occurrences in the underlying *.xml files as in step 4?

@qminds, @iBotPeaches had provided a great guide that's not necessarily outdated as much as it being a more of a "General Guide" in nature.
There's so many variables to consider now days with Apps that either requires additional steps (and such) as well as many of them have one or more forms of security features that makes it extremely difficult and, in most of those cases, impossible to do without the Source Code.
I've learned allot, regarding various topics, to include changing the package name. This involved ALLOT of research, reading, trial & error, etc...
The following link is to unique guide that is very helpful in what your trying to do...
https://forum.xda-developers.com/showthread.php?t=2760965
... which is the best way I can personally help you in this topic. I may understand much of this, but I really don't do it very much at all myself.
I wish you the best of luck! :-)
~Ibuprophen

@Ibuprophen Thanks for your feedback. The linked website describes the same aciton sequence as provided by @iBotPeaches. I understand that there are different security tricks in applications used to prevent from changing the package name. However, both of these guides are dated 2014-2015, therefore some steps seem be outdated according to the current Apktool source code (e.g., see the step 1 in my message) and its updated decoding techniques. That is why I'm humbly asking @iBotPeaches for brief clarifications on this topic.


Use non interactive command to install xfce4

[Enter feedback here]
Replace the below in documentation
sudo apt-get -y install xfce4
to
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4
This avoids entering a keystroke that is prompted to pick the default windows manager

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

ID: 077ee673-528a-d893-5832-7656b91dbec8
Version Independent ID: 2180e845-1ead-3b47-03be-c26aee00c6f7
Content: Use xrdp with Linux - Azure Virtual Machines
Content Source: articles/virtual-machines/linux/use-remote-desktop.md
Service: virtual-machines
GitHub Login: @cynthn
Microsoft Alias: cynthn

Thanks for reaching out @sumukhs . We will review and update the document as appropriate.


Why promise will be unwrapped by dynamic import?

import('./sample.json') as expression returns a Promise because it executes asynchronously.
import('./sample.json') as type is not intended to be the same as the expression counterpart. It's meant to reference a type of another module inline. Since it has no runtime behavior, it doesn't need to result in a Promise-type.
Originally posted by @ajafff in https://github.com/microsoft/TypeScript/issues/27678#issuecomment-428459967
You mean it's not runtime behavior, so it's just a static type import, right?
But import() as one of the important features of ECMAScript 2020 (ECMA-262). I wonder if TypeScript should be consistent with it. Especially since there is a difference between local dynamic import and remote dynamic import(although it's not currently supported by TypeScript.).
Should import('./sample.json') be considered a Promise-type in order to be consistent?

This doesn't seem to be describing a defect or proposal. There are valid arguments either way but it's shipped now and the argument for changing it would need to be a lot stronger than "you could"


add "loading" message during async loads so UI doesn't look frozen or not updating

After https://github.com/LukePrior/nbn-upgrade-map/pull/293

related to this when the user selects a new suburb or date the dropdown menus should be disabled until the new data is loaded.

I look forward to your PR.  My javascript foo is bad.

You beat me to it :)

will need to add error handling or maybe just only show data as far back as the format is same.

I figure we should try and make the code backward compatible. I haven't noticed any issues yet

I think I ran into one when I selected the oldest for Blog Bli


Player can make illegal move on bots turn

If the player attempts to make a move during the bots turn, the game will end and count the win toward the player because the bot "made the illegal move", despite the player being the one who made the move.

Hi, this is fixed in the latest version


Raspberry pi 4b (including rev 1.4) not booting on yocto dunfell

Description
I'm trying to build a custom image with Yocto Dunfell to raspberry pi 4b(2GB), all build runs fine but when a burn the SD card, the rpi4 don't boot.
Steps to reproduce the issue:

checkout poky and all layers(below) in dunfell version
configure mender and build a custom image based on: core-image-base
burn SD card and try boot the rpi4

Describe the results you received:
No output image on HDMI, just turn on power led and 3 short blinks green led
Describe the results you expected:
Boot the system on rpi4
Additional details (revisions used, host distro, etc.):
Doesn't work on 2019 rpi4 model and rev 1.4 too.
The same image works fine in raspberry pi 3b.
poky: dunfell
meta-raspberrypi: dunfell
meta-mender: dunfell
Layers in use:
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly

POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  ${TOPDIR}/../poky/meta \
  ${TOPDIR}/../poky/meta-poky \
  ${TOPDIR}/../poky/meta-yocto-bsp \
  ${TOPDIR}/../poky/meta-intel \
  ${TOPDIR}/../poky/openembedded-core/meta \
  ${TOPDIR}/../poky/meta-openembedded/meta-oe \
  ${TOPDIR}/../poky/meta-openembedded/meta-networking \
  ${TOPDIR}/../poky/meta-openembedded/meta-multimedia \
  ${TOPDIR}/../poky/meta-openembedded/meta-perl \
  ${TOPDIR}/../poky/meta-openembedded/meta-python \
  ${TOPDIR}/../poky/meta-clang \
  ${TOPDIR}/../poky/meta-python2 \
  ${TOPDIR}/../poky/meta-security \
  ${TOPDIR}/../poky/meta-raspberrypi \
  ${TOPDIR}/../poky/meta-intel-realsense \
  ${TOPDIR}/../poky/meta-mender/meta-mender-core \
  ${TOPDIR}/../poky/meta-mender/meta-mender-raspberrypi \
"

can you hook up serial console and see if you can find out something on it ?

Can you also share the content of your cmdline.txt file in the root of the boot partition?

Hi, the cmdline.txt of my boot partition is:
dwc_otg.lpm_enable=0   rootfstype=ext4 rootwait   logo.nologo  root=${mender_kernel_root}

I will try to get console output but a I will need tools for that , so it may take a while.
Thanks for help!

Could you try to reproduce the issue with your mender integration? Only using oe-core and meta-raspberrypi.

Sure, I will generate a entire new image with this configuration and return with the result.

Hi I had tested using only the meta-raspberrypi layer and the issue didn't happen. Closing the issue.


How didSelect method can be implemented?

Hi, I am curious to know how UITableviewDelegate(didSelect) can be implemented in this pattern?

hii @cresouls  implement  UITableviewDelegate(didSelect) method in CurrencyDataSource class

@cresouls it really depends how you want to keep the separation of concern.
For UI behaviour, I would personally implement UITableViewDelegate with the view, so into the CurrencyViewController.
For data logic, like add / edit / delete, maybe it makes more sense to leave it to the data layer, so into the CurrencyDataSource.
If you feel the logic concerns the data as well as UI, maybe best it to leave into the viewModel layer, so the CurrencyViewModel.
In conclusion, there is not only one solution, it's a matter to fit the best your purpose, keeping in mind a clean code easy to test following a clear separation of concern. Hope it helps!


SetupNetwork Error - Failed to setup network for pod

I have deployed a multi-cluster, but when I create a pod for a service using kubectl, I have the below error. Kindly help me resolve this,
Events:
FirstSeen     LastSeen        Count   From                    SubobjectPath   Type            Reason          Message

25m           25m             1       {default-scheduler }                    Normal          Scheduled       Successfully assigned mongo-controller-5n2yp to <IP_ADDRESS>
25m           1m              138     {kubelet <IP_ADDRESS>}                  Warning         FailedSync      Error syncing pod, skipping: failed to "SetupNetwork" for "mongo-controller-5n2yp_default" with SetupNetworkError: "Failed to setup network for pod "mongo-controller-5n2yp_default(6b3a1d6f-3c40-11e6-8cea-080027ad62c7)" using network plugins "cni": could not find "." plugin; Skipping pod"

@Immanuel-Daniel are you enabling calico on via the USE_CALICO=true flag?

@aaronlevy yes, they have been set to true. And the Calico-node is enabled and running on them.

Did you update the K8S_VER= env var to use an image which contains the calico binaries? This would be v1.2.4_coreos.cni.1 for the latest release (note the .cni. portion of the version).
Also just to note, in the upcoming 1.3 release the binaries will all be in the same image.

@aaronlevy Thanks a lot!! I had missed the .cni. portion as you mentioned.
Fixing it, runs my containers without any trouble.

Are the calico binaries in the 1.4 images?
I'm getting about the same error using the 1.4 beta image.
  12m  	1s     	506    	{kubelet core9.ntp}    		Warning	FailedSync     	Error syncing pod, skipping: failed to "SetupNetwork" for "kubernetes-dashboard-3781782280-w9tud_kube-system" with SetupNetworkError: "Failed to setup network for pod \"kubernetes-dashboard-3781782280-w9tud_kube-system(9a70e512-7675-11e6-b059-525400cddd82)\" using network plugins \"cni\": failed to find plugin \"calico\" in path [/opt/cni/bin /opt/flannel/bin]; Skipping pod"

I'm starting the kubelet-wrapper with
  --network-plugin-dir=/etc/kubernetes/cni/net.d \
  --network-plugin=cni \

@abh We will be releasing new beta images which contain the calico binaries in the next couple hours (likely v1.4.0-beta.3)

Just in case somebody wonders this issue with v1.4.0_coreos.0 image: this image is broken and doesn't contain the calico binary. Use instead v1.4.0_coreos.1

For anybody who found this (like I did) there are two ways to apply the above advice:

Bump the K8S_VER variable in multi-node/generic/controller-install.sh and multi-node/generic/worker-install.sh from v1.4.0_coreos.0 (or lower) to v1.4.0_coreos.1.
Update your local copy of the repo! It's fixed on master.

Sincerely,
- Someone else who forgets to pull updates regularly


Ability to configure formatting preferences

Thank you for your work on mdformat and plugins @hukkinj1!! :heart: :tada:
I'm looking to adopt mdformat as well as this plugin, but the practice across the repository I work is to indent YAML sequences / lists differently than is currently hardcoded in this project.
My preference
yaml.preserve_quotes = True
yaml.indent(mapping=2, sequence=4, offset=2)

Current hardcoding
https://github.com/hukkinj1/mdformat-config/blob/2afc92ce3f93396e1bd5a42395debdf05af6deab/mdformat_config/__init__.py#L21-L29

I looked into ruamel.yaml's documentation regarding configuring it, and didn't find a simple way to do it without forcing this plugin to expose configuration options to pass onwards =/
I also didn't conclude it would be easy when I inspected the source code.
What do you think, would it be in scope of this project to expose some configuration to pass onwards to ruamel.yaml? My experience in general is that its really tiresome to have to do this 1:1 mapping of configuration, because its often no end to the amount of options you end up needing to map, so its nice if it can be done quite generic.

Thank you for your work on mdformat and plugins

Glad you find it useful :smiling_face_with_three_hearts:

What do you think, would it be in scope of this project to expose some configuration to pass onwards to ruamel.yaml?

It could be if there's a good argument for why someone would use the configuration.

....its really tiresome to have to do this 1:1 mapping of configuration....

100 % agree. I much prefer a good working default over extensive configuration options.
Which brings me to: maybe the initially picked default was bad and we could simply change it? I have the feeling that indenting lists is much more common than not doing so, e.g. YAML spec examples seem to do so. Seeing that you might well be the first person ever to find and use this plugin, lol, it wouldn't cause much disturbance to change the default to yaml.indent(mapping=2, sequence=4, offset=2)
About yaml.preserve_quotes = True  ---  is there a good reason you'd want this? Having spent a few hours of my life discussing meaningless "tabs vs spaces" and "single vs double quotes" matters I've come to the conclusion that making an opinionated autoformatter which simply picks one, and sticks to it can be considered a good deed and will save countless hours of other people discussing the same matter.

Thank you for your work on mdformat and plugins

Glad you find it useful :smiling_face_with_three_hearts:

What do you think, would it be in scope of this project to expose some configuration to pass onwards to ruamel.yaml?

It could be if there's a good argument for why someone would use the configuration.

....its really tiresome to have to do this 1:1 mapping of configuration....

100 % agree. I much prefer a good working default over extensive configuration options.
Which brings me to: maybe the initially picked default was bad and we could simply change it? I have the feeling that indenting lists is much more common than not doing so, e.g. YAML spec examples seem to do so. Seeing that you might well be the first person ever to find and use this plugin, lol, it wouldn't cause much disturbance to change the default to yaml.indent(mapping=2, sequence=4, offset=2)
About yaml.preserve_quotes = True  ---  is there a good reason you'd want this? Having spent a few hours of my life discussing meaningless "tabs vs spaces" and "single vs double quotes" matters I've come to the conclusion that making an opinionated autoformatter which simply picks one, and sticks to it can be considered a good deed and will save countless hours of other people discussing the same matter.

Having spent a few hours of my life discussing meaningless "tabs vs spaces" and "single vs double quotes" matters I've come to the conclusion that making an opinionated autoformatter which simply picks one [...]

I agree with you, and I'm mistaken, I'd like to use double quotes by default and sequence=4/offset=2 indentation ^^
I'd personally be happy with a change to those specifically, I just worry about an arising argument about needing to be able to use different configurations.
I guess in practice, what I'd like most of all, is a plugin exactly like this but would run prettier. Prettier is the autoformatter we use for our config files that are not nested in markdown code blocks. Prettier can be configured with an external file to override default formatting choices, even though in this specific case, the default is to use the double quotes / sequence indentation.

Having spent a few hours of my life discussing meaningless "tabs vs spaces" and "single vs double quotes" matters I've come to the conclusion that making an opinionated autoformatter which simply picks one [...]

I agree with you, and I'm mistaken, I'd like to use double quotes by default and sequence=4/offset=2 indentation ^^
I'd personally be happy with a change to those specifically, I just worry about an arising argument about needing to be able to use different configurations.
I guess in practice, what I'd like most of all, is a plugin exactly like this but would run prettier. Prettier is the autoformatter we use for our config files that are not nested in markdown code blocks. Prettier can be configured with an external file to override default formatting choices, even though in this specific case, the default is to use the double quotes / sequence indentation.

I changed the indentation style in the latest release. I didn't change the quotation style (currently single quotes) as I don't think either style is better (also too lazy to find out how to change it in ruamel.yaml haha).

I guess in practice, what I'd like most of all, is a plugin exactly like this but would run prettier.

This is VERY easy to implement if you want to do so. You basically

copy paste the gofmt plugin
change this line to ["prettier --stdin-filepath dummy-name.md"],. Also make the function name reference markdown
Fix Go references to Markdown on this line
Small maintenance: update the package name, metadata etc.

This sort of plugin runs prettier in a subprocess, so the obvious downside is that it isn't native Python, and prettier will have to be installed in the environment.

I changed the indentation style in the latest release. I didn't change the quotation style (currently single quotes) as I don't think either style is better (also too lazy to find out how to change it in ruamel.yaml haha).

I guess in practice, what I'd like most of all, is a plugin exactly like this but would run prettier.

This is VERY easy to implement if you want to do so. You basically

copy paste the gofmt plugin
change this line to ["prettier --stdin-filepath dummy-name.md"],. Also make the function name reference markdown
Fix Go references to Markdown on this line
Small maintenance: update the package name, metadata etc.

This sort of plugin runs prettier in a subprocess, so the obvious downside is that it isn't native Python, and prettier will have to be installed in the environment.

Closing, as the indentation style is now changed. Configuration can be rediscussed if someone needs the style where lists are not indented.

Closing, as the indentation style is now changed. Configuration can be rediscussed if someone needs the style where lists are not indented.


"az ml" commands ignore the "--subscription" global argument

Extension name (the extension in question)
Machine Learning CLI extension version 1.0.10
Description of issue (in as much detail as possible)

The Azure CLI provides all az ml commands with the --subscription global argument, which is visible in the help text. Unfortunately, az ml commands ignore this argument and use the subscription currently selected as default using az account set --subscription:
> az account set --subscription aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
> az ml workspace list
[]
> az ml workspace list -h
This command is from the following extension: azure-cli-ml

Command
    az ml workspace list : List workspaces.

Arguments
    --resource-group -g : Resource group name.

Global Arguments
    --debug             : Increase logging verbosity to show all debug logs.
    --help -h           : Show this help message and exit.
    --output -o         : Output format.  Allowed values: json, jsonc, none, table, tsv, yaml.
                          Default: json.
    --query             : JMESPath query string. See http://jmespath.org/ for more information and
                          examples.
    --subscription      : Name or ID of subscription. You can configure the default subscription
                          using `az account set -s NAME_OR_ID`.
    --verbose           : Increase logging verbosity. Use --debug for full debug logs.

> az ml workspace list --subscription bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
[]
> az account set --subscription bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
> az ml workspace list
[
  {
    "resourceGroup": "test-rg",
    "subscriptionId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
    "workspaceName": "test-mlsw"
  }
]

This is confusing to the user and makes scripts more complicated and less reliable (because they now rely on global state shared between separate shell windows).
To make matters even worse, az ml datastore commands define their own --subscription-id argument.
It would be very helpful if all az ml commands respected the --subscription global argument.

ml

Hi @azureml-github, is this something that you could help with?


If NotEnoughSpace, the add method adds the given element but removes another random element

Document this unexpected behaviour, and describe how this could be fixed
with an eviction cache.
@seiflotfy did I miss something?

I might be misunderstanding, but isn't this what cuckoo filter already does?

isn't this what cuckoo filter already does?

I could not find something like this, To me, it looks like the last content of fp is implicitly dropped after https://github.com/seiflotfy/rust-cuckoofilter/blob/b27c79f4bcf4a5bbaa6f4283747a10e1ec310314/src/lib.rs#L178
Of course it's totaly possible that I missed it or did not understand it. Can you point me to the code where that is implemented, or explain how it's done?
I stumbled over this problem somewhere else, and found out the reference implementation handles this with something they call the “victim cache”.


Publish new version including combine update?

Hi! Would it be possible to publish a new version of the crate including #107? I'm working to import toml_edit into Fuchsia where we vendor all of our crates, and we'd like to not import the combine 3.x dependency. I'm happy to assist if I can, maybe by updating the changelog?

Thanks!


Places FindPlace Bug - Field "url"

Environment details

Place FindPlace - NodeJS Client
MacOS m1
"@googlemaps/google-maps-services-js": "3.3.28"

Steps to reproduce

Make a FindPlace call with fields url and photo as per documentation on https://developers.google.com/maps/documentation/places/web-service/search-find-place#Place

Code example
const foundplace = await GoogleMapsClient.findPlaceFromText({
                params: {
                    inputtype: 'textquery',
                    input: query.search_term,
                    key: GOOGLE_API_KEY,
                    fields: ['url'],
                }
            })

Stack trace
data: {
      candidates: [],
      error_message: "Error while parsing 'fields' parameter: Unsupported field name 'url'. ",
      status: 'INVALID_REQUEST'
    }

Also as a side note. The documentation on that page says photo field is part of basic fields type. However the table to indicate all the available fields shows photos as plural. Using photo or photos still returns photos successfully.

If you would like to upvote the priority of this issue, please comment below or react with :+1: so we can see what is popular when we triage.
@Portur Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

Check the issue tracker - bugs and feature requests for Google Maps Platform APIs and SDKs
Open a support case - Get 1:1 support in Cloud Console.
Discord - chat with other developers
StackOverflow - use the google-maps tag

This is an automated message, feel free to ignore.


Update ios-guide.md

I tried to follow the iOS installation guide and got test app up and running using Cocoapods and without automatically adding RNGoogleSignin pod. To be honest I have no idea what it is or how it would get added automatically. Never seen it in my multiple installations. 😅
We did installation step multiple times with @AndreiCalazans when we revisited them a few months ago. Provided Podfile example and Example App's Podfile work as they are documented. I also have my own app which is using the exact similar setup as described in the guides. So Cocoapod file does not need to refer to React to get our library linked properly.

@jozan https://github.com/react-native-community/react-native-google-signin/issues/526#issuecomment-423833808 is exactly what this PR is about

I merged since the PR explains exactly the same thing as the comment I linked.

So Cocoapod file does not need to refer to React to get our library linked properly.

no, it does not. The PR does not imply this.


Add ability for sound pools to be tracked per player

Currently, sound pools objects are stored in the machine and only maintain a single copy of their state that determines which sounds have been played.  The state is not reset between games and is not available to be tracked per player.
This is a new feature request to add settings to sound pools to provide an option for per player state tracking as well as reset functions to allow the state to be reset (globally or per player).  Perhaps a sound_pool_player could be added so events could be used to perform the state reset.  That would allow the developer to pick any condition to reset the state (new game, mode, ball, etc.).  This functionality could likely be provided at the asset pool base class level since it is likely to be desired for other asset pools as well.

new Randomizer will help, but will implement asset pools to use this later.


Adding API to set/overwrite string

Needed for TRT autofiller logic

It is being used here: https://github.com/triton-inference-server/tensorrt_backend/blob/tanmayv-dev/src/tensorrt.cc#L846
For TensorRT, we allow user to skip the data_type field in Inputs. The conversion sets such fields to 'TYPE_INVALID'. We will overwrite the TYPE_INVALID to the data type read from the TRT engine.


Fastestbot ever !

https://github.com/mfron/Pokemon-Go-Bot
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

em... spam?

Are you seriously just promoting your own bot here?
Get out of here.

<3

now i see all

Its a botting world, where is the justice ? ^^
He can promote his bot on mine :)

This is an issue section. FOR ISSUES.
Now stop spamming and remove this. nobody cares.

@mfron This is a developers world, and this is a bot project, you are welcome if do a pull request to add new features to this, not for spam.

GPS coordinates from the screenshot: 37.797904, -122.408905 :tongue:

Second time i see him in different repo, Stop spamm.

Dude... you do realise that bot is useless to lots of people here... They chose this bot bc it can be ran on Linux and Mac. Your Bot can't, at least not efficiently. Dumbest advertising ever.

@wsmigielski he's desperate for attention >.>
Besides, anyone who would use his bot would end up with a soft-ban in no-time. so easy to detect.

Bye


Add files via upload

Modified code to enable restart.
Fixed minor syntax errors

I tried updating it.
The color fill is just junk code left after I tested the game without images.
The speed of the game probably increased due to the tick() so I restrained it to 30 fps.
The timer continuing even after game over is an unfiltered event. I added a simple fix.

@SeraphWedd well done on providing some fixes. I do have some feedback for you:

Please be more accurate in naming the PRs wherever you're sending one. Instead of 'Add files via upload', maybe you could have named it something along the lines of 'Enable restart, fixed syntax' and so on.

I probably already mentioned about how some of your refactoring was nice. Well done on that.

I may not fix all naming conventions after I do some clean up, but let this be for both of us: functions are all lower case and words are separated by an underscore. Let's be more accurate in Python's naming conventions.

I don't have much otherwise. Well done! Merging your PR.

@SeraphWedd I found some things while cleaning up:

Some whitespace creeped in while you were coding. When you're sending PRs make sure they're removed.
Some unnecessary else, else-pass statements which aren't needed per se.

Well done regardless!


Kiln 🔥🧱 (the merge) devnets 2022 tracker

Kiln 🔥🧱
Kiln 🔥🧱  is the followup sprint of Kintsugi :tea:  with aim to move client implementations into the production readiness stage. This is the supposed to be last devnet before pre-production testsnets.
Kiln v1 spec: https://hackmd.io/@n0ble/kiln-spec
Kiln v2 spec: https://hackmd.io/@n0ble/kiln-spec#v2-change-set
Milestones tracker: https://notes.ethereum.org/@timbeiko/kiln-milestones
Engine API test vectors: https://notes.ethereum.org/rmVErCfCRPKGqGkUe89-Kg?view
CL Spec Tracker

CL spec 1.1.9

Merge Tracker
Kiln v1:

[x] Interface lodestar with the ELs on Kiln spec 1.0.0.alpha.6 https://github.com/ChainSafe/lodestar/pull/3736
[x] basic interop with

[x] nethermind
[x] geth

[x] #3751
[x] devnet4 participation https://notes.ethereum.org/D5xK4XrmTb6MKGudf_hcrg

[x] setup of devnet by EL team
[x] Merge transition
[x] Issues/Observations

This devnet was important for the EL's beacon sync apart from the changed api semantics.
At the merge points, there were atleast 2 pow chains, and hence when the terminal block came in from the clients that were ahead, the lodestar node (whose EL  - nethermind was on another fork), got accepted and didn't move ahead
Because of some issue (already being investigated by nethermind team), it didn't sync to right chain, with ACCEPTED status being rejected till the head of the chain (of synced ELs) move 128 slots ahead, after that it started syncing, and synced up to chain head with an execution status of syncing. Lodestar's behavior in this is as expected and as per the optimistic specs.

Kiln v2

[x] https://github.com/ChainSafe/lodestar/pull/3777
[x] Rename random to prevRandao https://github.com/ChainSafe/lodestar/pull/3787
- [ ] Add engine_exchangeTransitionConfigurationV1 https://github.com/ChainSafe/lodestar/pull/3785  moved to https://github.com/ChainSafe/lodestar/issues/3945

Devnet -5

[x] https://github.com/ChainSafe/lodestar/pull/3821

Kiln

[x] kiln network config update

Kiln spec v2.1

[x] https://github.com/ChainSafe/lodestar/pull/3855

Closed in favour of the merge tracker: https://github.com/ChainSafe/lodestar/issues/3945


feat(Icon): icon web component

Related Ticket(s)
Web Component: Develop Icon (internal) of the React version #3538
Description
Web component version of <Icon /> or <IBMLogo />
We don't have a storybook story for <Icon />, but it is used within the <Masthead />
Changelog
New

icon.ts file
masthead-logo.ts extends the icon

I believe this is an internal component, so we aren't set up any storybook stories for <Icon />


Fix display name and description key for sql bindings ext

This PR fixes #18662.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.253%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
14802

Relevant Lines:
29124

💛  - Coveralls


Sometimes Alt+Backspace doesn't remove a word

In a terminal, pressing Alt+Backspace removes a last word. Trying to create a button that does just that in Kmonad doesn't always works. Consider:

(around lalt bspc)
(tap-hold-next 200 (around lalt bspc) (layer-toggle altctl))

In the first case, the button removes a word, as it should. But in the second case, it doesn't work as intended (removing a character), despite the debug log showing the emission of correct signals. Here are the logs:

(around lalt bspc)
--------------------------------------------------------------------------------
Received event: Press <alt>
Running hooks
Registering untimed hook: 2
Registering 200ms hook: 1

--------------------------------------------------------------------------------
Received event: Press <ctl>
Running hooks
Pushed layer to stack: navigation
 1. navigation
Base-layer: workman

Pushed layer to stack: layoutworkman
 1. layoutworkman
 2. navigation
Base-layer: workman

Registering untimed hook: 3
Registering untimed hook: 4
Registering untimed hook: 5
Emitting: Press <alt>
Registering untimed hook: 6
Emitting: Press <bks>
Tried cancelling expired hook: 1

--------------------------------------------------------------------------------
Received event: Release <ctl>
Running hooks
Registering untimed hook: 7
Registering untimed hook: 8
Registering untimed hook: 9
Emitting: Release <bks>
Emitting: Release <alt>

--------------------------------------------------------------------------------
Received event: Release <alt>
Running hooks
WARNING: Tried popping layer that was not on stack altcontrol
 1. layoutworkman
 2. navigation
Base-layer: workman

Registering untimed hook: 10
Popped layer from stack: layoutworkman
 1. navigation
Base-layer: workman

Popped layer from stack: navigation
Base-layer: workman

Emitting: Release <alt>

(tap-hold-next 200 (around lalt bspc) (layer-toggle altctl))
--------------------------------------------------------------------------------
Received event: Press <alt>
Running hooks
Registering untimed hook: 2
Registering 200ms hook: 1

--------------------------------------------------------------------------------
Received event: Press <ctl>
Running hooks
Pushed layer to stack: navigation
 1. navigation
Base-layer: workman

Pushed layer to stack: layoutworkman
 1. layoutworkman
 2. navigation
Base-layer: workman

Registering untimed hook: 3
Registering untimed hook: 4
Registering untimed hook: 5
Registering untimed hook: 7
Registering 200ms hook: 6
Tried cancelling expired hook: 1

--------------------------------------------------------------------------------
Received event: Release <ctl>
Running hooks
Registering untimed hook: 8
Registering untimed hook: 9
Registering untimed hook: 10
Emitting: Press <alt>
Emitting: Press <bks>
Emitting: Release <bks>
Emitting: Release <alt>
Tried cancelling expired hook: 6

--------------------------------------------------------------------------------
Received event: Release <alt>
Running hooks
WARNING: Tried popping layer that was not on stack altcontrol
 1. layoutworkman
 2. navigation
Base-layer: workman

Registering untimed hook: 11
Popped layer from stack: layoutworkman
 1. navigation
Base-layer: workman

Emitting: Release <alt>
Popped layer from stack: navigation
Base-layer: workman

Works for me (see below config). Can you post your entire config? It would be better if you could reduce it a minimal reproducible config.
Can you test below config? If it doesn't work, try adding a delay between lalt and bspc - change @bspc's definition to
;; we need to add an `XX` at the end of `tap-macro` because of
;; an issue with `tap-macro` not sending release event of
;; the last button if it's used inside a `tap-{next,hold}-*` button.
;; `XX` means "do nothing".
bspc (around lalt #((pause 20) bspc XX))

If it sill doesn't work, then this is an issue with KMonad, specifically, buttons' composition. This is the reason why we need to add a XX in tap-macro. This has been reported before, but it hasn't been fixed yet. It will take some time.
(defsrc
  = bspc
  lctl c  ;; needed for killing process via Ctrl-C
)

(defalias
  bspc (around lalt bspc)
  bspc2 (tap-hold-next 200 @bspc (layer-toggle altctl))
)

(deflayer main
  @bspc2 @bspc
  lctl c
)

(deflayer altctl
  XX XX
  XX c
)

As per your suggestion, redefining bspc as #((pause 5) bspc XX) works, but if I press the needed key combination too quickly, it doesn't send alt+bspc, so not very usable.
Here's my config:
(defsrc
  lctl lalt
)

(deflayer main
  @ctl @alt
)

(deflayer alted
  @abs _
)

(defalias
  when-releasing (tap-macro-release #((layer-rem altcontrol) (release-only lalt)))
  alt (tap-hold-next
        200
	(around lctl bspc)
	(around
	  (around (layer-toggle alted) (layer-toggle layoutworkman))
          @when-releasing))

  ;; This works.
  ;; abs (around lalt bspc)

  ;; This doesn't.
  abs (tap-hold-next 200 (around lalt bspc) (layer-toggle altctl))

  ;; This works only if I'm slow.
  ;; abs (tap-hold-next 200 (around lalt #((pause 5) bspc XX)) (layer-toggle altctl))

  ;; Not relevant for the example.
  ctl (tap-hold-next 200 lmet (around (layer-toggle ctled) lctl))
  ctlalt (around (release-only lctl) (layer-toggle altctl))
)

;; Not relevant for the example.
(deflayer ctled
  _ @ctlalt
)

(deflayer altctl
  _ _
)

(deflayer altcontrol
  _ _
)

(deflayer layoutworkman
  _ _
)

(deflayer layoutdiktor
  _ _
)

As per your suggestion, redefining bspc as #((pause 5) bspc XX) works, but if I press the needed key combination too quickly, it doesn't send alt+bspc, so not very usable.

Without pause, alt+bspc is send even when typing quickly, but it doesn't delete the word as you wanted.
With pause, typing slowly works, but typing quickly, you are not even getting alt+bspc?
Is this correct? Can you post the debug log you get when you type quickly?

Without pause, alt+bspc is sent, but doesn't delete the word, only a character.
With pause, if I type quickly, nothing happens. If I type slowly, a word is deleted.
After trying to record logs, I found the problem:
If I type quickly, I release alt before ctl, but tap-hold-next sends tap on release, so alt+bspc is never emitted. Thus, the right function to use here is tap-hold-next-release. Thus, with the following definition, I'm able to achieve the desired functionality. Thanks for helping!
abs (tap-hold-next-release 200 (around lalt #((pause 5) bspc XX)) (layer-toggle altctl))


⚠ SceneTime has degraded performance

In 24826cf, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 6190 ms

Resolved: SceneTime performance has improved in 80ba49c.


Modal complete function callbacks stack with lean-overlay click

When using multiple modals, or re-using a single modal, each time you call openModal(options) a new overlay is created with id='lean-overlay'. Because the old overlay is not removed or re-used the old click handlers defined using options.complete get called again.
Either the overlay should be removed when the modal is closed, or the attached click event handler should be overwritten by the new modal.
A demonstration of the issue is available on http://plnkr.co/edit/yFRaQzVhUwkCLucydDAS?p=preview
As a workaround I currently have $('#lean-overlay').remove() at the end of my options.complete function.

Good catch!
Fixed in 41763e00a337d326f24204255bb8d1dcf8a9dbf2


Add an option to ignore unknown enum cases when decoding from JSON (instead of failing)

The issue was already described in the past but looks like no PR was uploaded: https://github.com/apple/swift-protobuf/issues/481#issuecomment-295800326
I know it is unwanted behaviour but in real life scenarios backend teams sometimes coming to the necessity of extending existing enums by adding new cases. This leads to backward incompatibility in the mobile clients using swift-protobuf generated models and when backend encodes enum cases with case names.
To avoid the issue, an option added to pass unknown enum cases and use first enum case as default case following the best practice in proto programming. Backend teams usually define first enum case as "unknown" or "initial" or any other with the intention that it will be used as a default case, or to indicate the problem.

This still feels sorta wrong to add a specific feature for this just to the Swift implementation.  Normally to get better support for a proto definition to expand with time, I believe the binary form is suggested because of these sorta issues with JSON.
If you do feel strongly about this, It seems like it might be worth bring up the discussion on the main proto repo (or maybe better on their mailing list) as if the functionality is useful, it shouldn't be limited to just one language.

If you can point to other protobuf implementations that support this, that would certainly help.  As you've noticed, we're very conservative about adding features.

I haven't found any other networking libraries which are "wrapping" SwiftProtobuf. I think the developers should be using Protobufs in conjunction with their own networking layer implementation.
I am agree with you and I hope I understand why it doesn't look right ideologically. But my reasons is practical. I have already the system working and clients are using REST via gRPC bridging to speak with the backend. Some clients can use Swagger, some other handle requests by manually parsing and building JSONs. In that case I can't force other teams to change their already well-working implementation so my decoding will not fail in my iOS client. I don't see real alternative but fix my implementation.
This is an option for those who can't force their backend to change existing encoding for REST clients.

Sorry, not following the wrapping comment.  I believe we were both asking from the POV of other Protobuf implementations that support something like this.  Hopefully the ones in Google's official distro.

One of google/protobuf implementations contains already an option called 'ignore_unknown_enum_values' inside  'json_util.cc'.
Actual implementation is inside datapiece.cc inside DataPiece::ToEnum:
 // If ignore_unknown_enum_values is true an unknown enum value is ignored.       if (ignore_unknown_enum_values) {           *is_unknown_enum_value = true;           return enum_type->enumvalue(0).number();       }

One of google/protobuf implementations contains already an option called 'ignore_unknown_enum_values' inside 'json_util.cc'.

That appears to be an internal detail for some of the rewriting support between json/binary formats, and isn't directly exposed, if you look at the exposed options, there doesn't seem to be anything: https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/util/json_util.h

@thomasvl, I am not sure I understand your point.
There is an issue with current SwiftProtobuf implementation so it can't be used in production if your backend produces JSON with enum values encoded as names and not numbers.

My point is no other proto implementation seems to provide the option you are suggesting and we prefer to stay inline with the other implementation on abilities.
The Swift impl is to spec and in line with the other libraries.  This is one of the downsides of using JSON (vs. binary) and it is usually handled by doing something like  early in your communications having clients identify a "version" they are using and then the server ensure it only sends (and expects) JSON with the constructs known that that time.
The generally problem with the "ignore" options is they are lossy and there is no way for for clients to really know when things aren't known.  The binary format has unknown fields support (and unknown enum value handing with proto3 syntax), so it is more robust and thus better handle these things.

ps - if you think there is general need/interest, please bring it up on https://github.com/protocolbuffers/protobuf or their discussion group (https://groups.google.com/forum/#!forum/protobuf) to see about getting something like this generally added to multiple languages.  Having the broader feedback is the best way to help figure out if there are likely to be issues/downsides when adding support for something like this and then using it.

Good news! This should help us a lot. @tbkka, I've updated the commit as you requested.

@thomasvl has asked for some additional test cases.  Will you be able to implement those?

If you'd like to continue pursuing this, please rebase against the new main branch and re-submit.  Thank you!


WL-4384 Modify skin to be Oxford blue.

I have done two commits as the change to the calendar variables can be added back to Sakai.


Help commands

If you could send some bot commands with the initial text that'd be helpful!

What kind of help commands are you expecting?

I think to start with, the bot should tell the user about how the login process works and what they'll require to enter followed by how we keep their data safe. In fact we should probably make the credentials prompts clearer by mentioning Amizone, so instead of Enter username: we could have Enter your Amizone username:.
Apart from the login flow, we could tell the user about how the menu-selection based bot control works.

Seems like an simple issue, can be closed with a small effort..but im skeptical about overloading the user with help command message, the existing bot is straightforward to use. Although there are some messages which can be perfected (which i will address)

Seems like an simple issue, can be closed with a small effort..but im skeptical about overloading the user with help command message, the existing bot is straightforward to use. Although there are some messages which can be perfected (which i will address)

Good point. Just improving the existing messages could do the job.

I improved the welcome message. Also the username prompt was repetitive, hence fixed it too. Raising a PR.


添加扩展

How about making extension for mx-player and Desicinemas? you already have made for cs3 before.

@OshekharO
mxplayer needs to get a parameter in the response header, which is currently not possible in miru.
Desicinemas relies on cs3 video extractor, this part of the port is very troublesome, there is also currently in miru to deal with html is very troublesome, and does not provide good use of the api, and there are some bugs.

@OshekharO mxplayer needs to get a parameter in the response header, which is currently not possible in miru. Desicinemas relies on cs3 video extractor, this part of the port is very troublesome, there is also currently in miru to deal with html is very troublesome, and does not provide good use of the api, and there are some bugs.

Hmm, i thought so how about adding some lightnovel and manga website.

是不是有点重复的了，也许可以做个设置？

哦不对 应该用筛选 。

author is not Hour it's Horis

还差个八戒影视，那个是xml的
海外看影视的搜索需要特殊处理
这个筛选是可以按源分类来显示吗？就是之前那种一个一个的显示方式
有没有二级筛选？这些源他也提供了一个分类

还差个八戒影视，那个是xml的 海外看影视的搜索需要特殊处理
这个筛选是可以按源分类来显示吗？就是之前那种一个一个的显示方式 有没有二级筛选？这些源他也提供了一个分类

同样的代码就放一起吧 二级筛选可以做 都做判断就行了 还有 search 有第三个 参数 就是和这个方法一样的就是选择的项
createFilter(filter) {
    const six = {
      title: "性别",
      max: 1,
      default: "all",
      options: {
        all: "全部",
        boy: "男生",
        girl: "女生",
      },
    };
    if (filter && filter.six[0] == "boy") {
      return {
        six,
        category: {
          title: "类别",
          max: 2,
          default: "all",
          options: {
            all: "全部",
            action: "热血",
            adventure: "冒险",
            fantasy: "奇幻",
            comedy: "喜剧",
            drama: "战斗",
            horror: "恐怖",
          },
        },
      };
    }
    return {
      six,
      category: {
        title: "类别",
        max: 2,
        default: "all",
        options: {
          all: "全部",
          action: "热血",
          adventure: "冒险",
          fantasy: "奇幻",
          comedy: "喜剧",
          drama: "战斗",
          horror: "恐怖",
          mystery: "悬疑",
          romance: "爱情",
          scifi: "科幻",
          sliceoflife: "日常",
          thriller: "推理",
          yuri: "百合",
          yaoi: "耽美",
          ecchi: "色情",
          harem: "后宫",
          mecha: "机战",
          sports: "体育",
        },
      },
    };
  }

好了


installation issue

So I manually goes down the list in requirements.txt and use conda install  to isntall the individual packages one by one.However, I encountered a problem，buy_and_hold_backtest.py，raise ValueError('No objects to concatenate')
ValueError: No objects to concatenate

I'm also getting this error.  Wondering if it's related to versioning.

Hi @hlabcd and @baogorek,
Indeed the issue is that there is no data in the ~/data directory. I agree that the error message is not particularly helpful!
We are taking a different approach in the upcoming development version (https://github.com/mhallsmoore/qstrader/tree/development) to ensure that it will be clear if any data is missing prior to a backtest.
Kind regards,
Mike.


hi

Last year, I followed you from SmooNet. May I ask how I can continue to follow your work?

Hi, @HiiHongFe ! Thank you for your focus.
Sorry for the late reply. Would you please specify your question? I'm a liitle bit confused hhh.


heynote: init at 1.6.0

Description of changes
New package: heynote
fixes https://github.com/NixOS/nixpkgs/issues/277545

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Did you try building from source? If not have a look at other packages using electron-builder. It shouldn't be too hard.


Decimal point is added to Int representation in JSON in Value panel

Description
Then:

Now:

Not depends on the database
DBeaver Version
23.1.5
Operating System
win10
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Fixed in devel

Verified


Clean up the Bundle-BundleHepatitisPanel example

fix errors and warning for the Bundle-BundleHepatitisPanel example

Filename
Errors
Warnings
Hints

Bundle-BundleHepatitisPanel
24
9
22

Hi @gcangioli
I ran the publisher through a debugger and it appears to not like CodeSystem.content being set to example at https://github.com/hl7-eu/laboratory/blob/master/input/fsh/terminologies/lab-localVsCs-lab.fsh#L26
Setting it to complete makes all the errors go away, I see experimental is set to true as well, so it might be an issue with the publisher...

thank you @declankieran-nhsd for the indication.
Looking to the definition of the "example" we are not in the case of a "A subset of the valid externally defined concepts are included in the code system resource."
I'll change the setting to "complete" , but I'll leave to @rhausam deciding if to keep it, changing the coded concepts used; or adopting alternative solutions.


Enable module switching through TemplePlus

Save files
Differentiating module - KotB / Co8 Modpack / ...  with their associated save files

@anatoliy-savchak well waddaya know :D


Negation of Yaw in CoreWrapper

It appears this change impacts map generation and not just localization, thus I am closing this PR.


Can't add Apple oauth provider

Hello. Tried to add Apple provider, cause it don't have client secret, leaved it blank. And after trying to login via this provider, got this error. Help me, please.

According to the documentation: https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens
you need to create the client secret yourself and it cannot be left blank.

I generated client secret according to apple documentation (https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens), used https://mysite.com/callback as callback url and got the same error. What am I doing wrong?


sameo/issues/152

This PR fixes issue #152 by creating Config accessors and calling them from Dial() and Serve().

Coverage increased (+0.06%) to 54.348% when pulling 628569b00969f47a5421bac517e1c9e9d8d018f7 on sameo/issues/152 into 009f6c7615b19eb4cd8e6460240f70db18ce9cf1 on master.


Fixup the interaction of CAbstractStruct, abstract types, and polymorphic equalities

This fixes #245
Note: the original test was ill-formed, in that it was declaring a C abstract struct but yet declaring a function that had the ability to construct values of the struct type without a pointer.
I had to add some custom hand-written files to make the test work -- I assume this is representative of your scenario.
Please confirm this solves the problem you were encountering, thanks!

#245 was synthetic test case on which I observed krml crashing. If this fixes the crash, then that's good.
Does this PR also address #247? that's the case that I'm really interested in and is more representative of the issue I was observing in my full scenario.

#247 is coming up next -- my hunch was that I had at least to clean this up before tackling the core visibility issue

I tried out this branch on my sample code and it indeed produces a smaller, better looking interface.
However, I did also notice that the issue I reported in #245 is actually also representative of my application. I have declared a type t as CAbstractStruct. And then have a function in my external API whose signature is like t -> unit. And krml extracts this to something like this header file:
typedef struct t_s t

void f(t x)

Even though f receives a t argument rather than a t * argument.
Is there a way for krml to detect this situation and emit a warning such as "Type t is declared as a CAbstractStruct but its values are exchanged on the public API without a pointer indirection" ... or something like that?
As it stands now, because of this misuse of CAbstractStruct, it is possible for F* + krml to produce code without any warnings that will fail to compile in C.

Correct, this has always been an attribute with no actual check behind the scenes that it is being used properly. I agree that it would be nice for krml to warn about this, but this should be a separate issue and discussion. In the meanwhile, I take it that this solves the crash and I'll merge it as soon as I get an Everest green. Thanks for checking!


Constrain type names to use initial capitals.

@tomlarkworthy
I changed the parser to enforce these rules:

Type names must begin with an initial capital letter.
Functions and method names (and function formal parameters), but begin with an initial lowercase letter.

Internal names for builtin types, also changed to be initial capital for consistency.
I chose to auto-convert invalid uses, but send a warning to the terminal for each instance so the developer can correct them (but parsing continues for the whole file make a best-effort).

I think it is a bad idea that the internal representation is auto converted. It means screwy results if there is  are two functions, one with an uppercase and one with a lower case ( a clash). It also means things named different might get erroneously matched.
I think this belongs in the style guide rather than enforced at the language level. No sane language I know forces casing on identifiers. If this is connected to a legacy system it could cause problems if the collections are already in the system with lower case. Happy to discuss this further.

I have to agree with Tom, let's not auto convert the representation. You can make it a lint issue which can be treated as an error with a compiler flag (a linter would be a good feature if we don't have one), but don't modify what the developer has written. Otherwise, the changes look good.

I'll convert the case-checkers to warnings - but not change the provided values.  We don't have a separate linter - so the approach should be give the developer useful information all in one pass of the compiler.
$ firebase-bolt
    type foo extends Number { validate() { return this == 7; }}
    path / { write() { return this instanceof foo; }}
bolt:1:5: Type names should begin with an uppercase letter: ('foo' should be 'Foo').
{
  "rules": {
    ".write": "newData.isNumber() && newData.val() == 7"
  }
}


Insert newline between docstring and following own line comment

Summary Previously, own line comment following after a docstring followed by newline(s) before the first content statement were treated as trailing on the docstring and we didn't insert a newline after the docstring as black would.
Before:
class ModuleBrowser:
    """Browse module classes and functions in IDLE."""
    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self, master, path, *, _htest=False, _utest=False):
        pass

After:
class ModuleBrowser:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self, master, path, *, _htest=False, _utest=False):
        pass

I'm not entirely happy about hijacking handle_own_line_comment_between_statements, but i don't know a better spot to put it.
Fixes #7948
Test Plan Fixtures

It seems that this PR regressed the Black compatibility for django, home-assistan, transformers, and zullip. The index is unchanged, but each project has significantly more changed files:
Before

project
similarity index
total files
changed files

django
0.99984
2772
33

home-assistant
0.99963
10596
148

transformers
0.99967
2657
328

zulip
0.99970
1459
22

After

project
similarity index
total files
changed files

django
0.99984
2772
48

home-assistant
0.99963
10596
181

transformers
0.99967
2657
339

zulip
0.99970
1459
23

I'm not sure why this wasn't catched by the ecosystem check (CC: @zanieb) but we should make sure that this doesn't get released by either reverting the change, or following up with a follow up PR before the next release goes out.


"Iterable bodies must always iterate in bytestrings"

I just started testing your wrapper.
So far I can connect to our matrix server, get information (e.g. version, user list).
As soon as I try to send a body to the server (i.e. to create a user, send an announcement, ...), I get an error:
"Iterable bodies must always iterate in bytestrings"
Maybe I am just doing something wrong - is there any documentation or could you provide an example of user creation?
Thanks and best regards
Thomas

Yes, I will do some documentation later.
JSON keys in the body should be treated as arguments, for example, user creation:
from synapse_admin import User
user = User()
print(user.creates("test001", password="password", displayname="Test")) # True should be returned.
print(user.lists()) # List out all users

Did you pass a dict or json into the function? Just like:
body = {"password": "password", "displayname": "Test"}
user.creates("test001", body)

I am still thinking whether the function should accept a dict body or treat the body as arguments, comments are welcome.
Btw, I fixed a minor bug in the function of creating user, which do not affect the succession of user creation. You may want to git clone it and install it again, release will be created soon.

Thanks for your reply!
First it seems that I basically understood what to do. Anyway your hints allowed me to try some more. Still the results are the same.
So far I tried both ways you mentioned - as kwargs (I realized the json.dumps inside) and as a pre-jsonified body.
I tried the pip version as well as the latest github-version.
My Python version is 3.7.10
I will add the full output at the end.
Something else I observed: shouldn't it be possible to create e.g. a User-instance passing the variables for server/port/token? If I try, it anyway asks me for the data I submitted.
The full error message is:
Traceback (most recent call last):
File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/hyper/http11/connection.py", line 333, in _send_chunked
self._sock.send(chunk)
File "/usr/lib/python3.7/ssl.py", line 1003, in send
return self._sslobj.write(data)
TypeError: a bytes-like object is required, not 'str'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test.py", line 5, in
print(user.creates("test11", password="xxxxxxxxx", displayname="Test"))
File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/matrix_synapse_admin-0.1.1-py3.7.egg/synapse_admin/user.py", line 99, in creates
File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/hyper/common/connection.py", line 103, in request
method=method, url=url, body=body, headers=headers
File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/hyper/http11/connection.py", line 187, in request
self._send_body(body, body_type)
File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/hyper/http11/connection.py", line 317, in _send_body
return self._send_chunked(body)
File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/hyper/http11/connection.py", line 337, in _send_chunked
"Iterable bodies must always iterate in bytestrings"
ValueError: Iterable bodies must always iterate in bytestrings
Best regards
Thomas

Alright, I can reproduce the error you mentioned. It seems that it is related to the HTTP version. When I do it through my reverse proxy, which enables HTTP2, I created a user successfully. However, when I do it without reverse proxy (no http2), the exception is raised. Probably it is because the HTTP2 use bytes stream and HTTP1 use bytestring to communicate? I will do further investigation on it.
And for the User-instance passing, the variables and the program still ask for the information. I found that it is a bug. I will do some investigation and fix it later.

I found that in the hyper library, which acts as an HTTP client, it will convert string to bytestring in HTTP2 but not in HTTP1, therefore, when sending a request in HTTP1, the body must be bytestring before passing it to hyper. And... I just realized Hyper is no longer maintained. I will move to another HTTP library soon.

Oh, a little bug, fixed.

It seems to work now - thanks a lot! Few more bugs/ideas:
When calling room.lists():
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/schulzeug-matrix/env/lib/python3.7/site-packages/matrix_synapse_admin-0.1.1-py3.7.egg/synapse_admin/room.py", line 96, in lists
TypeError: request() got an unexpected keyword argument 'headers'

Another question: is the creation of rooms just inherited from base/Admin class - did not find anything in room.py. I did not yet manage to create a room, but just started trying.
Btw. if I call room.create() it asks me for the server data each time (but this might be due to misusage).
I realized that the settings, once entered, are saved to a file. Do you think, it is possible to pass a switch to disable this? I can think of situations, where one dont want to have something written to a home directory. I would even try a pull request but I understood you first want to check the problem mentioned in top post.
Best regards
Thomas

Glad to know that this wrapper helps your work! I also planned to develop the CLI and Telegram bot version base on this wrapper, check them out later if you want.
For the room creation, this wrapper is currently based on the documentation of Synapse Admin API, therefore, if the API endpoint is not included in the documentation, it is not implemented in this wrapper yet. If you know there are some undocumented endpoints, More issues are welcome! I will also try to figure out all API endpoints.
Btw, since class Room inherits from class Admin, therefore, you are actually calling the create() function in Admin, which is used for creating the configuration. I think I should change the name of the configuration creation function to avoid confusion.

Yes - as I wrote I suggested, that the create method I called was inherited from Admin() and surely not what I wanted to do. I just wondered, why I am asked for the server information. Anyway it is of course not meant to be used that way.
As for room creation - it was my mistake. I read about "create_room" but this is part of the client-api. And for that there is the client-api available (https://github.com/matrix-org/matrix-python-sdk).
So for now it seems I can do all I want to do. I have another project first (a document camera application for digital whiteboards), after that I am looking forward to write the matrix-extension as planned.
Thank you for your time and work! I will for sure check out the progress from time to time.
Best regards from Germany
Thomas

I renamed some functions in Admin() to avoid confusion. Room.create() is no longer exist.
Regarding room creation, it may be a good idea to include some client APIs that are not implemented in the Admin API in this wrapper. I will take a look into it. Thanks for your contribution! And I hope that your project will be successful!


Consider use trishume/syntect to highligh Makefile

https://github.com/trishume/syntect
If this is fit for fzf-make, the https://github.com/kyu08/fzf-make/issues/124, https://github.com/kyu08/fzf-make/issues/144 and https://github.com/kyu08/fzf-make/issues/49 will be resolved.
Since https://github.com/dustinblackman/oatmeal utilizes trishume/syntect, it might serve as a reference.
https://github.com/dustinblackman/oatmeal/blob/858207ed5bce233aa9ce55a60fb958fc965b6c75/src/domain/services/bubble.rs#L83

What about tree-sitter?

@Sigmanificient
Thanks for the idea.
This crate may be helpful. https://crates.io/crates/tree-sitter-highlight
I'll try it when I work on this issue.