大佬 微信群进不去了，得需要别人拉进去

You must follow the issue template and provide as much information as possible. otherwise, this issue will be closed.
请按照 issue 模板要求填写信息。如果没有按照 issue 模板填写，将会忽略并关闭这个 issue
Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.
You can post pictures, but if specific text or code is required to reproduce the issue, please provide the text in a plain text format for easy copy/paste.

[ ] I have searched in existing issues but did not find the same one.
[ ] I have read the documents

Environment

OS [e.g. Mac OS, Linux]:
Python Version:
requirements.txt:

[Paste requirements.txt file here]

Question
[A clear and concise description of what you want to know.]

加群管理员入群~


Fix docs workflow

What would you like to be added:
It would be better if make release-docs did all the git stuff it does when the openPR flag is true BUT did not actually submit the PR. It'd be nice if submitting the PR was still an option though
Why is this needed:
Makes the release docs workflow less cumbersome.

Related:

https://github.com/aws/eks-distro/issues/773
https://github.com/aws/eks-distro/issues/755
https://github.com/aws/eks-distro/issues/744


_WD_FrameList - not always takes all frames

Bug report
Describe the bug
_WD_FrameList() gets list of frames which is not always complete.
It is due to the fact that Not all frames document are load completly.
How to reproduce
use this following code.
Func UserTesting() ; here you can replace the code to test your stuff before you ask on the forum
	_WD_Navigate($sSession, 'https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe')
	_WD_LoadWait($sSession)

	; Example 1 - from 'https://www.w3schools.com' get frame list as string
	Local $sResult = _WD_FrameList($sSession, False)
	#forceref $sResult
	ConsoleWrite("! ---> @error=" & @error & "  @extended=" & @extended & " : Example 1" & @CRLF)
	ConsoleWrite($sResult & @CRLF)

	; Example 2 - from 'https://www.w3schools.com' get frame list as array
	Local $aFrameList = _WD_FrameList($sSession, True)
	ConsoleWrite("! ---> @error=" & @error & "  @extended=" & @extended & " : Example 2" & @CRLF)
	_ArrayDisplay($aFrameList, 'Example 2 - w3schools.com - get frame list as array', 0, 0, Default, 'Absolute Identifiers > _WD_FrameEnter|Relative Identifiers > _WD_FrameEnter|IFRAME attributes|URL|Body ElementID|IsHidden')

	; Example 2 - from 'https://www.w3schools.com' get frame list as array
	$aFrameList = _WD_FrameList($sSession, True)
	ConsoleWrite("! ---> @error=" & @error & "  @extended=" & @extended & " : Example 2 - again" & @CRLF)
	_ArrayDisplay($aFrameList, 'Example 2 - w3schools.com - get frame list as array - again', 0, 0, Default, 'Absolute Identifiers > _WD_FrameEnter|Relative Identifiers > _WD_FrameEnter|IFRAME attributes|URL|Body ElementID|IsHidden')
EndFunc

When first _ArrayDisplay is displayed wait at least 1 minute before you close the displayed array.
Compare second _ArrayDisplay result with the frst result.
Also check window.top.document.querySelectorAll('iframe') in browser console.
Expected behavior
Always full list of frames.
Screenshots

Additional context
none
System under test
not related

please assign this issue to me.
btw.
I will try to fix it next few weeks, as this is not a pressing problem.

After some thought.
It should be assumed that some websites work dynamically.
This means that the user/scripter should first bring the page to a static state.
However, if the website undergoes constant dynamic changes and the number of frames changes (e.g. advertisements appear and disappear), we are not able to ensure that the state of the website at the beginning when the function is called will be constant in time until the completion of the processing by this function , the more so that it is quite a complementary function that performs a lot of operations that can be extended in time even to many seconds.
.....

I think that it should be taken as normal and despite everything (even in the case of an error), try to return the result that has been correctly processed so far, or even otherwise.
If the given information is no longer available, leave the field empty, without returning an error.
If you initially agree with this approach, let's say let's leave this task as pending, until other tasks are completed.

I think that it should be taken as normal and despite everything (even in the case of an error), try to return the result that has been correctly processed so far, or even otherwise. If the given information is no longer available, leave the field empty, without returning an error.
If you initially agree with this approach, let's say let's leave this task as pending, until other tasks are completed.

@Danp2
Can you confirm that you agree or do you have other opinion ?

Yes, I see the existing functionality as a "feature" rather than a bug since you can't gather data on an element that doesn't yet exist.

you can't gather data on an element that doesn't yet exist

..... or disappeared during processing.


Regarding the setting of c2wh = dict([(64,56), (128,28), (256,14) ,(512,7)]) in the fcanet.py file.

In my model, the output feature map shape is (512, 16, 16), but I am worried that the adaptive_avg_pool2d() operation in the layer.py file will cause information loss. So I want to ask if the parameter: c2wh = dict([(64,56), ( 128,28), (256,14) ,(512,7)]) need to be changed?

Change according to the corresponding size of the channel.

@Max-Well-Wang
First, the adaptive_avg_pool2d operation should not harm the performance since our model works well in all COCO experiments. The input size on COCO is much bigger than ImageNet.
Second, if you want to change the size, you can simply modify the c2wh dict. Make the item (512, 7) to (512, 16) should work.

@Max-Well-Wang
First, the adaptive_avg_pool2d operation should not harm the performance since our model works well in all COCO experiments. The input size on COCO is much bigger than ImageNet.
Second, if you want to change the size, you can simply modify the c2wh dict. Make the item (512, 7) to (512, 16) should work.

OK, thank you very much for your reply!

请问top里面的最优频率分量 是不是只适用于77，一旦改变尺寸为1616  最优频率分量是否需要更换，还是仍起作用？


fix e2e scenario 5 for ISO 6

Description
applied the fix for the 5th E2E scenario on ISO6

Processing this pull request

Merged into branches iso6 in ddbdb76a3bfc941c90316e0899d0ab9f0a6eec1b


mbedtls_pem_read_buffer may leave base64-decoded data undecrypted without signaling failure

pem_des_decrypt calls mbedtls_des_crypt_cbc, and pem_des3_decrypt calls mbedtls_des3_crypt_cbc, without checking their return values.
mbedtls_des_crypt_cbc and mbedtls_des3_crypt_cbc will fail and do nothing with the input data if its length is not a multiple of 8:
Code present in both DES functions:
     if( length % 8 )
         return( MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH );

Similarly, pem_aes_decrypt calls mbedtls_aes_crypt_cbc, which refuses buffer lengths that are not a multiple of 16:
 870     if( length % 16 )
 871         return( MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH );

Of course, mbedtls_pem_read_buffer will return success if the wrong password is used to try decrypt the PEM, if the decrypted data (which is effectively gibberish) happens to pass the following heuristic:
364         /*
365          * The result will be ASN.1 starting with a SEQUENCE tag, with 1 to 3
366          * length bytes (allow 4 to be sure) in all known use cases.
367          *
368          * Use that as heurisitic to try detecting password mismatchs.
369          */
370         if( len <= 2 || buf[0] != 0x30 || buf[1] > 0x83 )
371         {
372             mbedtls_free( buf );
373             return( MBEDTLS_ERR_PEM_PASSWORD_MISMATCH );
374         }

But errors due to a wrong input size can be observed much more reliably if the return values of mbedtls_des_crypt_cbc,  pem_des3_decrypt and  mbedtls_aes_crypt_cbc are checked.
Here is a proof of concept showing that mbedtls_pem_read_buffer will return 0 (success) for any password for the specially crafted PEM input file used here.
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include "include/mbedtls/config.h"
#include "include/mbedtls/pem.h"

/*
 This is a correct PEM (tests/data_files/ec_prv.sec1.pw.pem)
const char* PEM = \
"-----BEGIN EC PRIVATE KEY-----\n"
"Proc-Type: 4,ENCRYPTED\n"
"DEK-Info: DES-CBC,AA94892A169FA426\n"
"\n"
"gSkFuUENNke5MvkWHc11/w1NQWBxaIxGT+d5oRcqs44D3tltVOwtdnYexoD9uSIL\n"
"wMFFRLL6I5ii1Naa38nPOMaa7kLU2J3jY8SeIH1rQ43X6tlpv9WFGqDn/m6X7oKo\n"
"RMMfGdicPZg=\n"
"-----END EC PRIVATE KEY-----\n";
*/

const char* PEM2 = \
"-----BEGIN EC PRIVATE KEY-----\n"
"Proc-Type: 4,ENCRYPTED\n"
"DEK-Info: DES-CBC,AA94892A169FA426\n"
"\n"
"MAAA\n" // 0x30 0x00 0x00
"-----END EC PRIVATE KEY-----\n";
int main(void)
{
    mbedtls_pem_context pem;
    mbedtls_pem_init( &pem );
    int ret;
    size_t len = 0;

    ret = mbedtls_pem_read_buffer( &pem,
            "-----BEGIN EC PRIVATE KEY-----",
            "-----END EC PRIVATE KEY-----",
            PEM2, "pwd", 3, &len );
    printf("mbedtls_pem_read_buffer returned: %d\n", ret);
    mbedtls_pem_free( &pem );
}

Guido

ARM Internal Ref: IOTSSL-1169

Thanks for reporting this! I believe this is fixed by #828 which is now merged into the development branch and therefore will be in the next release.


Improve handling of urls missing /

Improve handling of urls missing /
Ex: http://<IP_ADDRESS>:3000/hyper/0.13.2/hyper/client/conn
Fix #288
Previous Attempt: https://github.com/rust-lang/docs.rs/pull/582


How to publish app

https://developer.pebble.com/guides/appstore-publishing/

sign in here https://dev-portal.getpebble.com/developer. Click add watchapp, follow instructions.


Update to latest deegree version, fix docker network name

Small adjustments to the deegree cookbook.

thanx @julianzz98


Update ollama_client.py to match current ollama API

Fixes #2
As I already stated, the API has changed within the ollama python library and so it caused the plugin to break.

Thanks for the fix! Just saw this, will merge 😊


Enhacement

Would that be possible to be able to create new users for the UI interface with certains permissions?

Hi @remusv
Yes it is possible with 0.9.2 OpenVPN-UI release which is on the way.
In short you can have Administrators and regular users. Here is new functionality description.

It is included now into the main branch.
Closing this issue now.


test.sh: Set RUST_LIB_BACKTRACE=0 so debug_assertions tests don't take forever due to capturing a ton of backtraces

We still want RUST_BACKTRACE=1 to print a backtrace on panicking, as that's very useful and doesn't slow tests down. But that also causes Backtrace::capture() to actually capture a backtrace, and since we do that in every DisjointMut::{index,index_mut} call, it makes the tests extremely slow. Setting RUST_LIB_BACKTRACE=0 overrides this and makes the tests fast (enough) again. And it can always be overridden again on the command line.

Also fine with this.
@kkysen could we put a short comment on the added line so it is clear why we do that instead of just setting RUST_BACKTRACE=0? You have a very detailed commit message but others may not see it.

Also fine with this.
@kkysen could we put a short comment on the added line so it is clear why we do that instead of just setting RUST_BACKTRACE=0? You have a very detailed commit message but others may not see it.

Sure, I'll add it there.

After trying to educate myself on RUST_LIB_BACKTRACE I think it takes precedence over RUST_BACKTRACE. If so, do we still need to set RUST_BACKTRACE=1if RUST_LIB_BACKTRACE takes precedence? Is the type of backtrace generated between the two different?

RUST_LIB_BACKTRACE only takes precedence for when Backtrace::capture is called, but when there's a panic, only RUST_BACKTRACE is checked.  Since we want a backtrace on panicking and that doesn't slow things down at all, we set RUST_BACKTRACE=1 and RUST_LIB_BACKTRACE=0.


Safer file & dir permissions for FsStore

Currently the permissions used in fs.go for directories are 0755 and files are at 0666. This would allow everyone to read, and also to write to (!!), the created files and directories, which is undesirable, especially since it contains the encryption/pairing keys.
A safer default for the directories would be 0750 and for files it would be 0640. This would allow the user running the hap process to read & write to these files, only read access for the group, and nobody else.

The changes in 4329b4f should fix this issue.

Thanks! Actually this commit saved me from filing another bug:
store.Set("file", []byte("abcdef"))
store.Set("file", []byte("123"))

In this case store.Get("file") will actually return 123def because OpenFile() doesn't truncate the file first. os.WriteFile says it will truncate the file if it exists, so that fixes the bug.
I encountered this bug because my JSON persisted into the store was getting corrupted, which was weird because it came directly from json.Marshal.


Python 3 conversion?

Any chance we could get this converted to Python 3?
I tried the trusty old 2to3 but it blows up after thumbnail generation:
9 thumbs written in /mnt/videoscripts/sprites/thumbs/test_encode_vtt
START [2020-03-19 20:44:25.282928] : mogrify -geometry 100x /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv002.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv003.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv004.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv005.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv006.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv007.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv008.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv009.jpg /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv010.jpg
END   [2020-03-19 20:44:25.497202]
b''
START [2020-03-19 20:44:25.497783] : identify -format "%g - %f
" /mnt/videoscripts/sprites/thumbs/test_encode_vtt/tv002.jpg
END   [2020-03-19 20:44:25.507754]
b'100x56+0+0 - tv002.jpg\n'
Traceback (most recent call last):
  File "makesprites.py", line 292, in <module>
    run(task)
  File "makesprites.py", line 259, in run
    coords = get_geometry(thumbfiles[0]) #use the first file (since they are all same size) to get geometry settings
  File "makesprites.py", line 145, in get_geometry
    parts = geom.split("-",1)
TypeError: a bytes-like object is required, not 'str'

https://github.com/vlanard/videoscripts/pull/16

Btw you can check my fork for python3 compatibility and minor improvements

Btw you can check my fork for python3 compatibility and minor improvements

hi, it's not working out of the box, could you just rewrite her script in python3 language? thanks

Btw you can check my fork for python3 compatibility and minor improvements

hi, it's not working out of the box, could you just rewrite her script in python3 language? thanks
the issue you see if your script works for one video at a time. this script is called batchsprites for a reason, this is what I use to do:
cd to videos dir ls -d -1 $PWD/.mp4 > videos.txt python batchsprites.py videos.txt
all videos in the folder would have a sprite conversion job.

Hey, I guess I've added feature you needed. Check it if you still need it.
And it is more a feature request rather than an issue so I don't think it is relevant to request it here :)

yes and no. basically what op asked was a translation of the original script to python3. so we wouldn't lose any functionalities


Add LICENSE file

Is this project free software?  What license is the code under?

// , https://www.zerobin.net/tos.html

@v6 This has nothing to do with the software license.

Also, because there is no LICENSE file, the project automatically defaults to this:
http://choosealicense.com/licenses/no-license/

As stated within the README file :

It's an Python implementation of the zerobin project under the WTF licence. It's easy to inst:l even if you know nothing about Python.

But yeah, having a LICENCE file would be nice.

:+1: for a license file.
In GitHub this is very easy to add.

This has been fixed in the V2 branch, which we will merge with master soon.


Implement Interface design of live data view

Done. In case of issues on the map let us open specific issues


[Check] Operator Image Source

I got this!
Waiting on acceptance for https://github.com/redhat-openshift-ecosystem/openshift-preflight/pull/18
The 2 are not related but... just in case someone wants me to rewrite the whole thing.

@tonytcampbell Just going through some old issues and wondering where we stand with this one?


Add Script to Remove the bulk liked videos in Youtube at Once

Title

Script to remove Bulk liked videos in Youtube at Once

Description

You have to paste the script in developer tools in browser and press enter and when the code runs, it will remove 100 liked videos at once

Tech Stack Used

[x] JavaScript

Hello, I'm a GSSo'C 2022 Contributor,
Please assign me this issue, I want to add "Script to remove Bulk liked videos in Youtube at Once"

@AviralSheoran while creating PR please follow all the Contribution Rules which are mentioned in the issue #43 .


Upgrade Cypress to 8.5.0 version

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest


Register package

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/115846
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" 588cd4dc6b431b5742a366c76eb5fc87c7955f2b
git push origin v0.1.0

@JuliaRegistrator register

Registration pull request updated: JuliaRegistries/General/115846
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" da5592cbfc5c03ee2160181d6347724e0dcb2a87
git push origin v0.1.0


RFC: new circulation module

The circulation module is going to be rewritten from scratch in Invenio 2, making it more flexible and covering more library use cases. The purpose of this RFC is to discuss current development stages.
Current stage: Data structure
It's about what to store in a database.
Two ideas:
    1+-----------------+
+--->|Record           |
|    +-----------------+
|    |Won't change this|
|    +-----------------+
|
|            +---------------------------------+
|            v1                                |
|    +--------------+        n+------------+   |
|    |ItemManager   |    +--->|Item        |   |
|    +--------------+    |    +------------+   |
+----+record        |    |    |item_manager+---+
     |items: []     +----+ +--+infos       |
     |requesters: []+--+   |  |status: []  |
     +--------------+  |   |  |history: [] +---------------+
                       |   |  +------------+               |
+----------------------+   |           ^n                  |
|                          |           |                   vn
|   n+-----------+1        |           |             +-----------+
+---^+Borrower   +^--------+           |             |Event      |
     +-----------+                     |             +-----------+
     |           |                     |             |date       |
     |loans: []  +---------------------+             |description|
     |history: []+---------------------------------->|borrower   |
     ------------+                                  n|item       |
                                                     +-----------+

    1+-----------------+
+--->|Record           |
|    +-----------------+
|    |Won't change this|
|    +-----------------+
|
|           +---------------------------------+
|           vn                                |
|    +--------------+        1+-----------+   |
|    |Item          |    +--->|Borrower   |   |
|    +--------------+    |    +-----------+   |
+----+record        |    |    |loans: []  +---+
     |borrower      +----+    |history: []+---+
     |status: []    |         +-----------+   |
+----+history: []   |               ^n        |
|    |requesters: []+---------------+         |
|    +--------------+                         |
|                                             |
|                                             |
|   n+-----------+n                           |
+--->|Event      |<---------------------------+
     +-----------+
     |date       |
     |description|
     |borrower   |
     |item       |
     +-----------+

I know calling any class '*Manager' is a bad idea, but well ^^
Both outlines should be able to handle the current use cases of

Simple loans
Simple loans, with unavailable item(s)
inter library loan
purchase request

ItemManager?

The ItemManager would just handle the steps required for items which are not immediately available
The same functionality could be provided using some more elaborate (maybe not?) database queries

The Event objects are proposed to keep track of loans and item statuses in order to satisfy the need to generate meaningful statistics
The attributes are dummies

Personally, I suggest the second approach.
Criticism and ideas are highly encouraged :)

Simple (first iteration)
Objects

records
items
users

Relations

record has many items
user can borrow many items

States

items - on shelf, borrowed, requested, ...

Second iteration
Objects

records
items
users
requests

Relations

user has many requests
request has (item | many items)
record has many items

States

items - on shelf, borrowed, requested, ...
requests - new, pending, running, expired, done

Actors

user can create new requests
"desk manager" can process requests

--
Can we start with proper state machine? Can we meet and create a model in e.g. http://www.uppaal.org/ ?

Some further iteration:

Items commonly have an accession number as primary key. This can but has not to be the same as the barcode of the item.
Other item related values can be found in LoC holdings tag 852: Location as well as LoC holdings tag 876/878: Item Information-General Information. It seems clever to follow them, they have quite an experience in item information at the Library of Congress.
Items can hold supplemental material (ie. refer to other records) like a CD-ROM or DVD or a map... If you borrow such an item you usually (but not always) borrow the supplement as well.
States need to be configurable. Additional states would be at least

missing
reference work (== not for loan)
permanent loan (this could also be handled as a sublocation)

It would be nice if states can be configured by a librarian not a programmer
The "on shelf" (= shelfing and location) state needs to be more explicit (probably not in this part of the model?): on what shelf?

Items might be in several departments
several libraries
several sublocations within a library (common is: one reference work not for loan, one or several for loan)

It can well be, that holding a history of all borrowers of a given item runs into legal issues (privacy). In Germany you may hold the last borrower (sure) but not those before => clipping of borrower history needs to be configurable.

Pinging some of our fellow librarians in join2 for additional input: @katringrosse, @CLSi, @mahncm, @shesselbach, @martinkoehler

States need to be configurable. Additional states would be at least

missing
reference work (== not for loan)
permanent loan (this could also be handled as a sublocation)

It would be nice if states can be configured by a librarian not a programmer

Agree on the configurability, up to a certain limit, since some states are expected to exists in order for workflows to correctly work (e.g. from on-shelf to on-loan etc.)

The "on shelf" (= shelfing and location) state needs to be more explicit (probably not in this part of the model?): on what shelf?

Items might be in several departments
several libraries
several sublocations within a library (common is: one reference work not for loan, one or several for loan)

A single item can be in a single position (shelf/department/library), and typically it's a stable property for the item. So either the book is on loan, or when it's on shelf it's in its declared position. (which can be of course amended).

It can well be, that holding a history of all borrowers of a given item runs into legal issues (privacy). In Germany you may hold the last borrower (sure) but not those before => clipping of borrower history needs to be configurable.

Good point.

Some additional musings:

In theory, an item may be associated with more than one record.  Think book proceedings where each chapter lives as an independent bibilographic record.  In practice, does this happen, or would there always be a "parent record" for book?  Check with CERN library use case and other CC-ed libraries.

Item borrowing times may differ for various items depending on their state.  This is akin to reference books never leaving the room.

Item availability may differ depending on item location.  Think deposition store in the basement, or other building.  We need a "libraries" class as @aw-bib already commented on above.

It is good to study the current table structure to see what was deemed needed, such as crcLIBRARY.  Even if the code etc will be replaced fully, and even if the table structure will be changed fully.

Borrowers are being sent recall email, if they are overdue.  This is another core feature that may need to be represented and made configurable.  Different libraries may have different workflows.

In theory, borrowing times could differ for different class of users.  E.g. students, staff, professors, retirees.  In practice, does this have to happen?  Check with CERN library use case and other libraries.

In Invenio 1, the acquisition and ILL were part of the module, so to speak. In Invenio 2, it will be good to separate them away.  Anyway, it seems profitable to discuss these use cases at the same time, so that the whole picture could be attacked globally.  Can you start thinking about and preparing sister RFCs for these?

I like the state-machine-like approach with rebrushing our use cases from blank slate.  Instead of starting from scratch, have you got inspiration from existing state diagrams describing circulation processes and event diagrams and whatnot? Here is one example for illustration; our system librarian colleagues will be able to provide the best domain knowledge pointers.

Another inspiration can be obtained from similar applications, e.g. see Koha's workflows and table structure.

In addition to @aw-bib's CC list above, I'm CC-ing also @Kennethhole @PXke who may have other requirements coming from @tind clients, and @anastass @jgarcial who may offer insight from IAEA workflows.

@kaplun: for configurability, I agree that there's a defined set. Probably, it needs elaboration, but this might depend on the model further down the road. One can treat permanent loans like a collection of a library,  maybe this is a better approach.
For the defined shelf: My musing was in the direction of item = one bibliographic item (=record), which holds several of your items. I think now it's clear to me what your item is. Still more status info (thinking in 876 $j in Marc) is locked even to your items:  you're right , that "on shelf" is the status, however, Marc 876 always goes with 852 defining which shelf.
@tiborsimko: for individual articles in a proceedings volume, if you want to make them available for lending, you'd have individual bibliographic records and add holdings to them, not the parent. You'd need this anyway for retrieval on the users side. I agree that I'd also have a parent record as a common bracket around them (requires record linking), but the holdings, status and such would live on the articles, not on the parent entity. Very similar are multi volume works which are very common. E.g. you'd catalogue every volume of the Britannica Biographical encyclopedia of artists and not just Encyclopedia Britannica, 4 Volumes A-Z (E.g. http://gso.gbv.de/DB=2.1/PPNSET?PPN=523994168 for the parent, http://gso.gbv.de/DB=2.1/SET=7/TTL=1/FAM?PPN=523994168 for the children). Another very similar thing where it is quite obvious, would be a book series. Surely, you'd catalogue every book and the series would only be used as the bracket.

Besides the reference works @tiborsimko mentioned, borrowing times would better not live on the item, but on the borrower(s' role) as also commented by you below. E.g. if you have a lot of students at your lab it might well be that you give them a lending period of only a week (probably they are only there for the 4 weeks of your regular lending period...) while a regular scientist of the lab gets 4 weeks. Or in a university setting: students get 4 weeks while university staff gets "unlimited till claimed by someone."

For the LIBRARIES class there is definitely some sub location (named collection in current bibcirculation, if I understood it correctly). This could handle the above mentioned reference works: if in sub location "reference" it follows that nobody can borrow it,  unless role allows to (probably staff can get it anyway as they are assumed "on campus and available all the time").

For additional inspiration I think Koha is probably indeed a pretty good starting point as AFAIK it models most use cases.

Still, even if you might not love it (you don't have to), I'd check into the Marc Holdings (852)[http://www.loc.gov/marc/holdings/hd852.html] and (876/878)[http://www.loc.gov/marc/holdings/hd876878.html]. I discussed the issue of cataloging with @katringrosse, @CLSi and also our local man at the front @mahncm.  It crystallized that the current procedure of doing bibedit the click through the holdings stuff is not very convenient. For our case I thus implemented a simple one way sync from Marc 852/876 to the internal tables as this is a much more streamlined work flow for the cataloguers. I added some field-templates to ease up things (here it would be nice if a field template could add two fields at once) and currently try to integrate a few simple kbs to keep typing to a minimum. The general comment was: "I'm in bibedit anyway for cataloguing, no need to leave it. Make addition of holdings to happen there and with just adding fields." My current implementation uses (indicator 1 == 7 signifies: source in $2 as usual) uses:

8527_

subfield
value
example

2
Source
DESY

a
Library
DESY Hamburg Library

b
collection
Permanent Loan

c
shelfmark
C Loe

h
classification
C

p
barcode
082932

t
item number
1

z
public note

8767_

At DESY NSK is a number similar to an accession number. But the real accession number is the the barcode (in general accession number and barcode differ). I don't like the $h yet as it should actually live on the users role but I fear I can't do that in invenio 1.x:

subfield
value
example

2
Source
DESY

a
NSK
47538

d
Accession date
20141120000000.0

p
barcode
082932

h
loan period
4 weeks / 1 week / reference

j
availability
available/missing

t
item number
1

I'll have to extend this to model the book of acquisitions completely (adding prices and seller), that's already ticketized at join2.

Have you compared the proposed data model from other library systems, e.g. https://github.com/liblime/LibLime-Koha/tree/4_18/t/data/db_schemas

or e.g. http://docs.evergreen-ils.org/2.8/schema/

As discussed with @jirikuncar:
Maybe we can agree on a name for this module and start a new repository so we can discuss the different aspects of the design in separate RFCs and host some design documents there.
We could then use this RFC to summarize the process.

https://github.com/liblime/LibLime-Koha/tree/4_18/t/data/db_schemas

FWIW I posted nicer URL above :stuck_out_tongue_winking_eye:

http://schema.koha-community.org/relationships.html
http://schema.koha-community.org/index.html

Maybe we can agree on a name for this module

I think invenio-circulation would be a good name.  This is how the facility is usually called,  see for example ILS@Wikipedia:

acquisitions (ordering, receiving, and invoicing materials)
cataloging (classifying and indexing materials)
circulation (lending materials to patrons and receiving them back)
serials (tracking magazine and newspaper holdings)
the OPAC (public interface for users)

Some other points :

We need signals !

We need to be able to create message template easily, for different situation, for example a librarian with no prior knowledge in python should be able to create a message that will be sent on different action.

It needs to be possible to chose when to change the message either by plugging it on some signals or on some workflow steps.

It needs to be possible to add some type of variable in the message like dates, barcode or other information about the operation.

It needs to be possible to choose how to send the message (Ie SMS, Mails etc) I think only mail should be implmented by default but the send message interface should allow to plug module.

Message should be able to be associate in which way it needs to be sent.

Data is important for Librarian,  it will be cool to be able to keep history of operations, which record has been lend and when.

Data must be able to be mine to extract tendencies. Establish estimation data, forecast data.

It would be cool if it contains a part to do intercommunication between different invenio instances, for ILL or other IL operations.

It should be possible to configure which type of delay and periodicity of message for different type of object and people category. Default situation should be possible.

That's all at the moment.

Regarding message templates: as Invenio support multiple libraries, the signature should reflect the library which lend out the item.

@Kennethhole I'd add sublocation (collection in LoC speak) to the list to manage things like:
Dear Kenneth,
You have item 823.914: "The book of strange new things" by  Michel Faber from  the Reference collection of DESY Library, Hamburg (Barcode 01234) on loan. We have a request for this book and would kindly ask...
Reference collection would be such a sublocation. Similar departments local shelfs or the like. (I put the variables of the above in italics.) BTW: perfectly agreed with @PXke that this has to be easily configurable by a non-programmer.

A short comment to other library systems
IHMO: Besides KOHA, ALPEH has a lots of use cases as well
see http://lib.haifa.ac.il/extprojects/scill/images/pdf/Aleph 21 Circ guide.pdf
@kaplun With respect to the on-helf:
When an item has been requested it is usually put on a request shelf (same can be true if it is returned and still waits for further processing, then its on a return shelf. It might from there be shipped to another sublibrary (e.g. an item from DESY Zeuthen (Berlin) is at DESY Hamburg, it must be shipped back to Zeuthen (Btw1: with the status "in-transit" during shipping :-). BTW2: "in transit" belongs in MARC 876$l (temporary location))
Another shelf is the new item shelf. Items are on-display on that shelf for e.g. one week for users to see them more prominently. Then the item is moved to the "final" loaction (btw. during that stage this item can not be borowed (This is an example for  @tiborsimko variable borrowing times)
With respect to the checkout. A self checkout is important for 7/7 opening hours
There is a module from KOHA for SIP which might be usefull in this connection.

Even though there is still a lot of information to process, I split this RFC into 3 RFCs in another repo inveniosoftware/invenio-circulation#2, inveniosoftware/invenio-circulation#3, inveniosoftware/invenio-circulation#4.
This will hopefully lead to a more structured discussion, while this RFC is used for some kind of summary :)

Discussion continues in Invenio-Circulation package.


[LLVMGPU] Add a lowering pipeline for warp reductions

Use vector distribution to implement warp reduction.

Last comment on using cast<AffineDimExpr> otherwise LGTM!

Did you add a comment about that? I don't see it


TypeError: Cannot read property 'message' of undefined

Versions
$ ng --version
Angular CLI: 1.5.4
Node: 8.9.1
OS: linux x64
Angular: 5.0.3
... core
@angular/cli: 1.5.4
@angular/common: 5.0.1
@angular/compiler-cli: 5.0.1
@angular/compiler: 5.0.1
@angular/platform-browser-dynamic: 5.0.1
@angular/platform-browser: 5.0.1
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.21
@angular-devkit/schematics: 0.0.37
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.7
typescript-register: 1.1.0
typescript-require: 0.2.9
typescript: 2.6.1
webpack-config: 7.5.0
webpack-dev-server: 2.9.4
webpack-node-externals: 1.6.0
webpack-stream: 4.0.0
webpack: 3.8.1

LInux: Ubuntu 16.04.3 LTS - 4.10.0-40-generic #44~16.04.1-Ubuntu SMP - x86_64
Repro steps
Use my config and app-files below.
Observed behavior
 build [=================   ] 86%
/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:1312
                this.errors.forEach(function(error) {

              ^
TypeError: Cannot read property 'message' of undefined
    at /home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:1313:25
    at Array.forEach (<anonymous>)
    at Compilation.createHash (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:1312:15)
    at sealPart2 (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:645:9)
    at next (/home/python1/Dokumente/development/git/v2-web-client/node_modules/tapable/lib/Tapable.js:202:11)
    at Compilation.compilation.plugin (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/ProgressPlugin.js:111:6)
    at Compilation.applyPluginsAsyncSeries (/home/python1/Dokumente/development/git/v2-web-client/node_modules/tapable/lib/Tapable.js:206:13)
    at Compilation.seal (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:605:8)
    at applyPluginsParallel.err (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compiler.js:508:17)
    at /home/python1/Dokumente/development/git/v2-web-client/node_modules/tapable/lib/Tapable.js:289:11
    at _addModuleChain (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:507:11)
    at processModuleDependencies.err (/home/python1/Dokumente/development/git/v2-web-client/node_modules/webpack/lib/Compilation.js:477:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Desired behavior
AOT compilation of my source code.
Mention any other details that might be useful (optional)
webpack.config.ts (main part for aot compiler)
 ...
  , plugins: [
      new ProgressPlugin()
    , new HtmlWebpackPlugin({
        inject: false
        , template: helpers.getPath('config/webpack/index.ejs')
        , title: 'Webapp V2'
        , filename: 'index.html'
    })
  , new AngularCompilerPlugin({
        tsConfigPath: helpers.getPath('tsconfig.json')
        , entryModule: helpers.getPath('src/client/web.module#AppComponent')
    })
  ]
, module: {
    rules: [
        { test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/ , loader: '@ngtools/webpack' }
      , { test: /\.html$/ , loader: "raw-loader" , exclude: /\.async\.html$/ }
      , { test: /\.css$/ , loader: ['css-loader'] }
   ]
  }

web.main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import {enableProdMode} from '@angular/core';
import { WebModule } from './web.module';
platformBrowserDynamic().bootstrapModule(WebModule /*, options*/)
  .catch(err => console.log(err));

web.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { APP_COMPONENTS, AppComponent } from './app/components/index.components';

@NgModule({
  imports: [ BrowserModule ],
  declarations: [ APP_COMPONENTS ],
  bootstrap: [ AppComponent ]
})
export class WebModule { }

app.component.ts
import { Component } from '@angular/core';
@Component ({
   moduleId: module.id.toString()
  , selector: 'aslingo-app'
  , templateUrl: 'app.component.html'
  , styleUrls: ['app.component.css']
})

export class AppComponent {  title = 'title is that'; }

index.components.ts
import { AppComponent } from './app.component';
export const APP_COMPONENTS: any[] = [  AppComponent ];
export * from './app.component';

The app compiles perfectly with "awesome-typescript-compiler" without AOT.
It  does compile with "skipCodeGeneration: true" (ngctools/webpack), but with errors:

ERROR in Error: No NgModule metadata found for 'AppComponent'.
    at NgModuleResolver.resolve (/home/python1/Dokumente/development/git/v2-web-client/node_modules/packages/compiler/esm5/src/ng_module_resolver.js:50:12)
    at CompileMetadataResolver.getNgModuleMetadata (/home/python1/Dokumente/development/git/v2-web-client/node_modules/packages/compiler/esm5/src/metadata_resolver.js:641:58)
    at visitLazyRoute (/home/python1/Dokumente/development/git/v2-web-client/node_modules/packages/compiler/esm5/src/aot/compiler.js:757:14)
    at AotCompiler.listLazyRoutes (/home/python1/Dokumente/development/git/v2-web-client/node_modules/packages/compiler/esm5/src/aot/compiler.js:725:17)
    at AngularCompilerProgram.listLazyRoutes (/home/python1/Dokumente/development/git/v2-web-client/packages/compiler-cli/src/transformers/program.ts:194:26)
    at Function.NgTools_InternalApi_NG_2.listLazyRoutes (/home/python1/Dokumente/development/git/v2-web-client/packages/compiler-cli/src/ngtools_api.ts:95:34)
    at AngularCompilerPlugin._getLazyRoutesFromNgtools (/home/python1/Dokumente/development/git/v2-web-client/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:246:66)
    at Promise.resolve.then.then (/home/python1/Dokumente/development/git/v2-web-client/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:542:50)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
    at Function.Module.runMain (module.js:678:11)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

Thanks for any help.

This seems like a bug but we'll need to look at a reproduction to find and fix the problem. Can you setup a minimal repro please? Custom webpack configurations can have any subtle details so a partial config isn't enough.
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.

Thanks @filipesilva .
I setup an repository on GitHup to reproduce the error:
ngtools-webpack-error-message-undefined
New research results can also be documented in the README.md file - under section "RESEARCH RESULTS".  I already added one :). So we can keep this thread as clear as possible.

:white_check_mark: [SOLVED] AOT working with webpack 3 and ngtools/webpack
So it was all about these things:

You can't use extract-text-webpack-plugin for components CSS templates, because it does not support / or do not function with "Child compilations". However you can with global css.
Use two CSS rules in webpack config: 1) with "css-loader" and second with extract-text-webpack-plugin and include statement, for your global CSS files.

  // COMPONENT CSS LOADER
      , { test: /\.css$/
        , use: ['css-to-string-loader'].concat(['css-loader'])
        }
      // GLOBAL CSS LOADER
      , { test: /\.css$/
         , include: helpers.getPath('src/client/style')
         , use: ['css-to-string-loader'].concat(
            ExtractTextPlugin.extract({
                fallback: 'style-loader'
              , use: ['css-loader']
            })
          )
        }

I had to use "css-to-string-loader" to get rid of "Loader expecting string array"-error!

I used the wrong module (like the one with "NgModules" definitions instead of the main module with bootstrap for "mainPath" and "entryModule" options.
--This is why I got No **NgModule** metadata found for 'AppComponent' error - in JIT MODE (skipCodeGeneration:true)
I wrote the path to main file like a module import in "mainPath" option - means without ".ts" at the end! ("web.main" instead of "web.main.ts").  This leads to Cannot read property length of undefined and ...message of undefined... errors.

All things can be reproduced in the following ErrorProject  on GitHub:
ErrorProject: ngtools-wepback-message-undefined
Thanks for contributing. Maybe the documentation could be more precisely on some points, that would help beginners to use modules more quickly.
But the Angular-Team makes great work - thanks for your effort!

Heya, the solution you came to is pretty much what we do<EMAIL_ADDRESS>We load global styles 'normally' but component styles as raw strings.
I agree this isn't common knowledge. Would you be available to making a PR adding this information to<EMAIL_ADDRESS>

I'm getting a similar error:
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
 88% hashing/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:1313
                        hash.update(`${error.message}`);
                                             ^

TypeError: Cannot read property 'message' of undefined
    at /home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:1313:25
    at Array.forEach (<anonymous>)
    at Compilation.createHash (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:1312:15)
    at sealPart2 (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:645:9)
    at next (/home/chris13524/programming/coconut/client/node_modules/tapable/lib/Tapable.js:202:11)
    at Compilation.compilation.plugin (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/ProgressPlugin.js:111:6)
    at Compilation.applyPluginsAsyncSeries (/home/chris13524/programming/coconut/client/node_modules/tapable/lib/Tapable.js:206:13)
    at Compilation.seal (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:605:8)
    at applyPluginsParallel.err (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compiler.js:504:17)
    at /home/chris13524/programming/coconut/client/node_modules/tapable/lib/Tapable.js:289:11
    at _addModuleChain (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:507:11)
    at processModuleDependencies.err (/home/chris13524/programming/coconut/client/node_modules/webpack/lib/Compilation.js:477:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

I'm not using custom webpack config. This error only shows up when I add --aot to ng serve. It does not occur with just plain ng serve.

I'm running a custom Webpack config using @ngtools/webpack that is modeled after the CLI. I've got exports-loader for Sass files and raw-loader for HTML templates just like the CLI. Works great.
I just started a new project using this config, except now I'm getting this error. I compared my package.json with my previous project and noticed raw-loader gets installed as 1.0.0-beta.0 by default now. Downgrading to 0.5.1 resolved it.
So if you're getting this error, and you've checked all the other boxes, check to see what version of raw-loader you've got installed.
Hopefully this saves somebody a few hours :)


docs: use github urls for diagrams in catalog json

Description
Update catalog json file to use the github urls for the architecture diagrams.
Check the relevant boxes:

[ ] Bug fix (nonbreaking change that fixes an issue)
[ ] New feature (nonbreaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Examples or tests (addition or updates of examples or tests)
[x ] Documentation update
[ ] CI related update (pipeline, etc.)

Checklist

[ ] If relevant, a test for the change has been added or updated as part of this PR.
[ ] If relevant, documentation for the change has been added or updated as part of this PR.

Merge

Merge using "Squash and merge".
Make sure to use a relevant conventional commit message that is based on the PR contents. The commit message determines whether a new version of the modules needs to be released, and if so, which semver number to use).

:tada: This PR is included in version 1.5.1 :tada:
The release is available on:

GitHub release
v1.5.1

Your semantic-release bot :package::rocket:


mudtable height property not support all css units

Bug type
Component
Component name
mudTable
What happened?
mudtable height property not support all css units. it works only with px not other units.
Expected behavior
in docs has told that it mudtable height property support all css units
Reproduction link
https://try.mudblazor.com/snippet/GOmnOIuPyVbYrVJV
Reproduction steps
1.create a mudtable
2. set height property to 50% or 50vh for example
3.You will see that it has no effect
...
Relevant log output
https://try.mudblazor.com/snippet/GOmnOIuPyVbYrVJV

Version (bug)
6.2.0
Version (working)
No response
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows, Android
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Anymore development on this? I am running into the same issue and it is hard to development around this when making full screen blazor web apps where portions are meant to scale with screen size. Thanks!

CSS percentage heights are relative to the height of the parent element. If the parent element doesn't have a defined height (e.g., height is not explicitly set or defaults to auto), the div with 50% height won't calculate correctly.
I tried 50vh and it's working on my end: https://try.mudblazor.com/snippet/wkcSlQmuFdpmsUZA.
Please let me know if this helps or if there's still a problem with the table!


Nav bar styles different on home page to other pages.

Issue still in need of fixing please @monimaj89  can you review if this change has been made


Account details should be listed with particular accountName

Account details should be listed with particular accountName
Actual Behaviour:
Command :
[root@ramya-sc-worker noobaa-core]# node src/cmd/manage_nsfs account list --config_root /ibm/fs1/ces/s3-config
Oct-25 23:17:32.074 [/2859127]   [LOG] CONSOLE::  [ { name: 'noobaa' } ]
Expected Behaviour:
Command :
[root@ramya-sc-worker noobaa-core]# node src/cmd/manage_nsfs account list --config_root /ibm/fs1/ces/s3-config —name noobaa
Oct-25 23:17:32.074 [/2859127]   [LOG] CONSOLE::  [ { name: 'noobaa' ,config_root:/ibm/fs1/ces/s3-config,email:noobaa@gmail.com,new_buckets_path:/ibm/fs2  } ]

listing a single account is not a list, if we want to get specific account details using the account name, we should use the account status command.
Keeping this issue open till we have a symlink between account and name, and then status can work with only the name flag and without the access key and secret key.

we want to see the accesskey and secret key information as part of the status so reopening the defect. if we want to delete it using access key we need to have this info view so we need this info as well.

reopened as per @ramya-c3 request.
@ramya-c3
access key and secret key are secrets and should not be printed.
deleting an account per its access key should not be allowed, Access keys are used for access to account resources and should not grant the option to delete the entire account based on it.
To sum it up:

access keys should not be printed unless it is the creation of the account, then you need them to be written
access keys can be reached by reading the config file, but the CLI should not expose them
delete should be based on the account name only and not on the access keys.

@nimrod-becker @romayalon @guymguym WDYT?

another thing is that the --wide flag is printing the account details:
$ node src/cmd/manage_nsfs account list --wide --config_root /private/tmp/test_bucketspace_fs/config_root_manage_nsfs1

...
Nov-28 12:16:34.871 [/16530]   [LOG] CONSOLE:: Account list: [ { name: 'account1', email<EMAIL_ADDRESS>creation_date: '2023-11-28T10:16:08.829Z', new_buckets_path: '/private/tmp/test_bucketspace_fs/root_path_manage_nsfs1/new_buckets_path_user1/' } ]

@liranmauda uid and gid are also not printed for some reason...

Issues observed in Account List command #7548

@romayalon it was intended. (see https://github.com/noobaa/noobaa-core/pull/7568)
as described in https://github.com/noobaa/noobaa-core/issues/7548 under the Expected Behaviour of issue number 1 the list should return:
Expected Behaviour:
Command :
[root@ramya-sc-worker noobaa-core]# node src/cmd/manage_nsfs account list --config_root /ibm/fs1/ces/s3-config
Oct-25 23:17:32.074 [/2859127] [LOG] CONSOLE:: [ { name: 'noobaa' ,config_root:/ibm/fs1/ces/s3-config,email:[<noobaa@gmail.com|noobaa@gmail.com](mailto:noobaa@gmail.com)>,new_buckets_path:/ibm/fs2 } ]

For access and secret, we can add a --show-secrets (or something similar) and then show it

@ramya-c3 --wide, --show_secrets are available now, please use the status command for the account's full data.
https://github.com/noobaa/noobaa-core/pull/7655
adding require validation


Fix drawers are draggable on desktop platforms

fixes https://github.com/flutter/flutter/issues/100321

minimal code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key, this.dark = true}) : super(key: key);

  final bool dark;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Material App',
      theme: dark ? ThemeData.dark() : ThemeData.light(),
      home: const Home(),
    );
  }
}

class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Material App Bar'),
      ),
      drawer: const Drawer(),
      endDrawer: const Drawer(),
    );
  }
}

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Gold has detected about 1 new digest(s) on patchset 1.
View them at https://flutter-gold.skia.org/cl/github/100476

I think this should be reverted. I don't like when the framework is making decisions on my behalf. And this change makes the 2 settings for disabling the drag obsolete on desktop, which is bad. If the dev wants to block the drag, he/she should use the existing props to do it depending on the platform.  drawerEnableOpenDragGesture and endDrawerEnableOpenDragGesture allows to disable this

Are you saying that desktop doesn't have drag and drop gesture?
Then what is  this ?
Scroll list are something completely different.
I'm saying that you are making a global change of the framework because of one person and one issue with zero thumbs up reactions.


feat(v13): Flagship Code v13

Describe your changes

Issue ticket number and link

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Test Plan

Checklist before requesting a review

[ ] A self-review of my code has been completed
[ ] Tests have been added / updated if required
[ ] Documentation has been updated to reflect these changes

running yarn prebuild -b internal.blah -e prod in example app doesn't stop at config due to missing build config, but continues to run and you end up seeing undefined error in template instead of invalid build config error.

updated.

looks good, let's rebase this to only have history of the rewrite and get it up on the brandingbrand repo


Feature: cookie handling

added cookie support

This looks good. One request, can you remove the version bump in the change? If not eventually I'll get around to changing that and merging this in.

Out of interest, why remove the version bump? Functionality is changing enough that some users may want to stay with 0.3.0 so that there are no significant changes to tests (and usage), while others may wish to force the change in deployment which wouldn't necessarily be seen by automated systems (eg. I have 0.3.0, therefore I don't need to do anything).

@OldhamMade its something that generally doesnt make sense with a feature change. i.e. versioning should come outside of changing features.
Generally what I tend to do in my projects is either bump the version immediately after a release, or bump it before. I usually side w/ the latter as then it's easier to decide what next version makes sense (i.e. how big are the changes).
That said, the version doesnt reflect whats in master. 0.3.0 (assuming that was the last release) is tagged, and pushed to pypi, and doesnt change. That means leaving this at 0.3.0 has no affect on anyone.

Makes sense!

Done.

Thanks!

@OldhamMade quick question about the change. Is this designed to send the cookies with followup requests as well? I'm looking at another pending patch I have that cause a conflict here so I want to understand the behavior better.

Yes, it should be persisting cookies between requests, so that one can mimic sessions.

@OldhamMade alright thats good to know. I have a patch that actually changes this to use sessions, so I'll get a test worked up and hopefully be able to simply remove that code.

@dcramer Sounds good, but don't forget that some users may wish to mimic cookies without sessions, e.g. preferences stored on the client-side, rather than server-side.

@dcramer the last few comments describe the trouble I've run into in issue #80 - do you have anything to share?


Does not work for now

Guess this is due to new function with voice messages

yeah, same issue :/

and same here :/ any fixes?

I'm sad  :(


Wrong version in titlebar

Minor issue, version 0.2.9 says 0.2.8 in the titlebar.

 Thanks for the heads up, I'll have to remember to change it when the next release comes out.


Many Tests show up as unmapped in version 0.7.4 that were correctly mapped in 0.7.3

When using version 0.7.4 many spec files wouldnt get read correctly, resulting in many unmapped tests.
I switched to 0.7.3 where most of the tests could be mapped again.
I got a bunch of these messages:
[2022-08-28 16:12:29.579] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...].component.spec.ts: SyntaxError: Unexpected token (5:15)
[2022-08-28 16:12:29.580] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...].component.spec.ts: SyntaxError: Unexpected token (6:15)
[2022-08-28 16:12:29.581] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...].component.spec.ts: SyntaxError: Unexpected token (10:15)
[2022-08-28 16:12:29.583] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...].component.spec.ts: SyntaxError: Unexpected token (16:15)

I look into the files, but I cant seem to find anything wrong with them.
So I switched back to 0.7.3 and it worked again.

OS: WSL: Ubuntu
Karma Version: 0.7.4
Frameworks: Angular, Jasmine

Are they JS or TS (or other type of) test file?
What's their file extension?
Are you able to share some of the test files, or a snippet of the sections where the syntax error is being reported?

import { ComponentFixture, TestBed } from '@angular/core/testing';
import Mexp from 'math-expression-evaluator';

import { SolutionFormulaComponent } from './solution-formula.component';

describe('SolutionFormulaComponent', () => {
  let component: SolutionFormulaComponent;
  let fixture: ComponentFixture<SolutionFormulaComponent>;

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      declarations: [SolutionFormulaComponent]
    })
      .compileComponents();
  });

  beforeEach(() => {
    fixture = TestBed.createComponent(SolutionFormulaComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

[2022-08-29 09:48:09.327] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...]/numeric-description.component.spec.ts: SyntaxError: Unexpected token (5:15)
It seems to me that the error always occurs in the describe line.

I am also having this issue, with the same error message. However for me, the Unexpected token occurs on (6:15) then (7:15), (8:15), (9:15) and (10:15) all in the same file. Some of those lines are blank.
Thanks for making this extension, it really helps me a lot :)

The beta branch has some updates to the parser. Install the visx build of the branch (it should appear as v0.7.5) and post all WARN messages from the log, even if the tests are all mapped.

There seem to be three kinds of errors:
SyntaxError: This experimental syntax requires enabling one of the following parser plugin(s): "decorators", "decorators-legacy". (11:0):
@Component({selector: 'app-notification', template: ''})
^
(Does file extension accurately reflect type of file contents?)
[2022-08-30 08:07:30.087] [WARN] [AstTestFileParser]: Parse operation pxxa1v3o00e: Error parsing file '/home/paul/git/[...]/src/app/app.component.spec.ts' using parser plugins: []:
-----

it seems to dislike : characters
[2022-08-30 08:07:30.491] [WARN] [AstTestFileParser]: Parse operation hfiaz6m2tk: Error parsing file '/home/paul/git/[...]/image.component.spec.ts' using parser plugins: []:
-----
SyntaxError: Unexpected token (5:15):
  let component: ImageComponent;
               ^
(Does file extension accurately reflect type of file contents?)
[2022-08-30 08:07:30.491] [WARN] [AstTestFileParser]: Parse operation hfiaz6m2tk: Error parsing file '/home/paul/git/[...]/image.component.spec.ts' using parser plugins: []:
-----
SyntaxError: Unexpected token (5:15):
  let component: ImageComponent;
               ^
(Does file extension accurately reflect type of file contents?)
[2022-08-30 08:07:30.491] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...]/image.component.spec.ts: Error: Parse operation hfiaz6m2tk: Error parsing file '/home/paul/git/[...]/image.component.spec.ts':
-----
SyntaxError: Unexpected token (5:15):
  let component: ImageComponent;
               ^
[2022-08-30 08:07:30.492] [WARN] [AstTestFileParser]: Parse operation 27zcqnw2soe: Error parsing file '/home/paul/git/[...]/media-browser.component.spec.ts' using parser plugins: []:
-----
SyntaxError: Unexpected token (9:15):
  let component: MediaBrowserComponent;
               ^
(Does file extension accurately reflect type of file contents?)
[2022-08-30 08:07:30.493] [WARN] [AstTestFileParser]: Parse operation 27zcqnw2soe: Error parsing file '/home/paul/git/[...]/media-browser.component.spec.ts' using parser plugins: []:
-----
SyntaxError: Unexpected token (9:15):
  let component: MediaBrowserComponent;
               ^

These errors occure in files that are referenced in tests but not tests themselfes.
(Does file extension accurately reflect type of file contents?)
[2022-08-30 08:07:30.531] [WARN] [AstTestFileParser]: Parse operation wy7xg00lvq: Error parsing file '/home/paul/git/[...]/src/app/common/test/test-data.ts' using parser plugins: []:
-----
SyntaxError: Unexpected token (8:11):
    public static testTaskImage: MediaAttributes = {
           ^
(Does file extension accurately reflect type of file contents?)
[2022-08-30 08:07:30.531] [ERROR] [TestLocator]: Failed to get tests from spec file /home/paul/git/[...]/src/app/common/test/test-data.ts: Error: Parse operation wy7xg00lvq: Error parsing file '/home/paul/git/[...]/src/app/common/test/test-data.ts':
-----
SyntaxError: Unexpected token (8:11):
    public static testTaskImage: MediaAttributes = {
           ^

I ran into the same issue, things worked fine with 0.7.3 with the exception of test files containing decorator syntax.
With 0.7.4 almost no tests showed up. I found that the new Enable Parser Plugins setting was empty and after adding typescript, decorators and jsx, all tests seemed to show up, even the ones with decorator syntax.

I ran into the same issue, things worked fine with 0.7.3 with the exception of test files containing decorator syntax.
With 0.7.4 almost no tests showed up. I found that the new Enable Parser Plugins setting was empty and after adding typescript, decorators and jsx, all tests seemed to show up, even the ones with decorator syntax.

Same here. Adding this setting fixed the issues, and all tests are now correctly mapped in my Angular project:
"karmaTestExplorer.enabledParserPlugins": ["typescript", "decorators"]

Try the latest .visx from the beta branch to verify if it resolves the issue, and post any warnings or errors from the logs.

Released a fix as v0.7.5. Please update and confirm if any other issues.

Thank you for your work. Seems to work fine on my side 👍


adding builds for linux/arm64/v8

Hey @btannous, thanks so much for submitting this.
It was my understanding that linux/arm64 was the same as linux/arm64/v8.
I tested your change this morning and the resulting image was identical to the linux/arm64 variant and it built from the cache of the linux/arm64 image.
Furthermore, a docker image inspect showed the architecture as linux/arm64.
What’s the use case for having linux/arm64/v8?
Thanks.

Interesting. Thank you for checking it out quickly, and for the images :)
I’m using Fedora IoT on a Pi 3b+ which uses podman instead of docker.
For some reason it didn’t pull your image as it was looking for arm64/v8. I’m new to this combo, so maybe i’m missing something.
I will try to specify the arm64 variant. I’ll check it out here in a bit.

No worries at all. I'm happy to add linux/arm/v8 if it solves your problem mate. Just let me know.

So it's looking like the plain arm64 will work with an addtl flag.  I'll close the PRs! Sorry for the false alarm, but maybe these comments will help someone running into this issue.
http://docs.podman.io/en/latest/markdown/podman-pull.1.html
Adding: --override-arch=arm64 seems to work, when podman is trying to look for arm64/v8 specifically.

Thanks for letting me know. I have subbed to the libpod case you opened.
Agree the architecture names are a mess. armel, armhf, armv7l, aarch64, arm64... It is not intuitive at all.


splitString illogical behaviour

At the moment (nixpkgs 183eeb3c0fdac8de3146aedaa6028b474f96db6f), lib.splitStrings ":" ":a:" == ["" "a:"]
I would have expected the result to either be ["" "a" ""] or [":a:"], not a different behavior with separators at the beginning and end of the string.
I would like to try and fix this, but the function seems quite used (51 occurrences). What do you think is a possible way forward? Just run through all points in the code where the function is used and check the proposed change doesn't break things? Keep the current function and add another one for handling a "saner" version of it?

Let me suggest:

consensus on what the exact behavior should be
implementation of that, not significantly less efficient than the current one (which is inefficient enough)
instantiate Hydra jobs before+after and check for changed hashes

The Haskell "split" package does the first one:
$ nix-shell -p 'haskellPackages.ghcWithPackages (hs: [hs.split])' --run ghci
λ import Data.List.Split
λ splitOn ":" ":a:"
["","a",""]

As pointed in the comments, this function should not be used because of its bad performance.
It is unfortunate as the only alternative is hacky use of builtins.match, eg  builtins.match "(:)?(([^:]*)(:))+" ":a:", but regexp support is limited (no non capturing group support for example).
It would really be nice to have more builtins functions for string manipulation. (related feature request https://github.com/NixOS/nix/issues/1062)

I have just pushed https://github.com/NixOS/nixpkgs/pull/23851 which fixes the function implementation, however I haven't checked the callers are safe with the new behavior, as if I understood correctly hydra will tell us where to look for instead of blindly checking everything.

This is fixed on master:
nix-repl> splitString ":" ":a:"
[ "" "a" "" ]


Git integration for versioning

It might prove useful to integrate Git-functionality. Some random thoughts:

[ ] git init in current folder
[x] Some sort of git add mechanism
[x] git commit
[ ] git checkout [-b] "feature"
[ ] List available branches
[ ] Merge branches
[ ] Show diffs

git add and git commit added with https://github.com/danielperna84/hass-poc-configurator/releases/tag/0.1.3.

git checkout [-b] and list of branches added with https://github.com/danielperna84/hass-poc-configurator/releases/tag/0.1.4

git init added with https://github.com/danielperna84/hass-poc-configurator/releases/tag/0.1.5

How about git stash?

I have added it to the list of possible features.

@carterthayer
What exactly do you expect from a git stash implementation? I have hadded an entry in the git-menu that simply does git stash to the repository. You can test it by checking out the dev-branch.
If it's just meant as a possibility to drop the latest changes, then this should be enough. And to be honest, I think more than that is out of scope for the configurator.

@danielperna84 Nice! What I meant from that was just to drop the recent changes. I generally use the git pull add on to sync my changes and if I have recently changed something with configurator, I need to drop those changes.
Having git stash only drop the changes seems reasonable for this scope. If someone needs to make use of the stash stack, they would probably want a command line anyway.

I notice that we don't have a way to pull in changes (git pull) - is this because of possible conflicts triggering an interactive editor or some other non-automated conflict?

is this because of possible conflicts triggering an interactive editor or some other non-automated conflict?

Yes. The way the configurator is designed is not capable of handeling interactive output. Everything must be "fire and forget". And without a way of ensuring a pull will be successful I don't want to implemented. If I did, people would start complaining that pulling doesn't work, even though it could work if the repo was clean.
Another thing that's just my personal opinion: the configurator is the tool you use for configuration. Git is for versioning and backup. You shouldn't modify the configuration remotely and then pull it in. If someone really has a great idea while on the go, the draft should just be saved some other way and manually applied when back home by using the configurator. But that's just my opinion.


tools: Add brackets to email

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 33.853%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6011

Relevant Lines:
17756

💛  - Coveralls


[maven-release-plugin] prepare release rocketmq-all-5.3.1

Which Issue(s) This PR Fixes

Fixes #issue_id
Brief Description

How Did You Test This Change?

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 47.32%. Comparing base (df8757f) to head (fbe679a).

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #8749      +/-   ##
=============================================
- Coverage      47.34%   47.32%   -0.02%
+ Complexity     11548    11544       -4
=============================================
  Files           1282     1282
  Lines          89848    89848
  Branches       11557    11557
=============================================
- Hits           42535    42525      -10
- Misses         42073    42074       +1
- Partials        5240     5249       +9

Flag
Coverage Δ

47.32% <ø> (-0.02%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


guide: move gdrive

Migrates Google Drive guide and command ref info to new guide section. No substantive changes. Part of #2866

Thanks @dberenbaum ! Do we need to update redirects by chance?

Good catch. Added for https://dvc.org/doc/user-guide/how-to/setup-google-drive-remote. I don't think we need any others since we still have the cmd ref pages and they link to these guides.

There is some failure in deployment though. Need to check it first or please try to run locally.

🤔 Deployment is working for me locally

I've fixed the deployment. Merging this, let's please rebase / merge main into the other branches after that.


Autocomplete for zsh?

What do you think about autocomplete plugin for zsh? Does it exist?

This would be really easy to implement by using https://github.com/click-contrib/click-completion

@timofurrer Actually we can just rewrite existed pip plugin for zsh. As i can judge pip and pipenv are similar tools.

With click-completion you'd only have to add it as a dependency and initialize it. Nothing about writing anything.

@timofurrer Oh, that's cool!

click-completion looks cool!

open to a README update for ZSH and BASH!

@kennethreitz That's great!

Any tips on adding this to zsh?

same way it is for fish!


Load uhdm plugin before reading uhdm file

This change is required for yosys version that is using UHDM frontend as external plugin.
Signed-off-by: Kamil Rakoczy<EMAIL_ADDRESS>

Corresponding yosys run: https://github.com/antmicro/yosys-uhdm-plugin-integration/pull/97


using xpath for xml navigation

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #411
What are the significant changes in functionality due to this change request?
Switches our xmlUtilities to use XPATH instead of "|" syntax.  Users do interact with
this through the RavenOutput postprocessor.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code. Done
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts). Done
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details. respected
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.  All passed
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True. not a significant functionality
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync. N/A
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done. yes
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added? N/A

Checklists reviewed by Congjian Wang @wangcj05 on Oct. 30, 2017.

All changes are reviewed, and checklists are satisfied.

Could you propose an email regarding the changes for the raven users?

RAVEN users:
In our quest to provide the most consistent experience possible, we have changed the syntax for navigating XML programatically.  For you, this means the syntax for the "RavenOutput" postprocessor has changed slightly.
Previously, we used the following syntax to specify an XML node for the postprocessor:

 x | expectedValue
 x | percentile_5
 x | percentile_95

Note specifically the "pipe" character |. As of merge #412(link), this is changing to XPath-compatible syntax:

 x / expectedValue
 x / percentile_5
 x / percentile_95

For your convenience, we have created a syntax fixer that can convert any code that needs changing in a programatic way.  The script is found in raven/scripts/conversionScripts/pipeToXpath.py and can be run from the command line as
python /path/to/pipeToXpath.py myRavenInput.xml
This change will allow more power in searching XML trees and increase our consistency with existing XML standards.  As always, we stand by ready to assist if you run into difficulties.
Thanks!

Email is good, and the checklists are all satisfied. Good to merge.


Include custom javascript or custom revealjs plugins

Is your feature request related to a problem? Please describe.
I wanted to add some interactivity to my slides, so I tried including a <script></script> tag but that didn't seem to get picked up. I also found no way (aside from directly modifying the advanced slides plugin) to include a custom javascript file.
Describe the solution you'd like
Maybe an additional "scripts" config in frontmatter, just like "css", to include custom javascript files.
Or some other way to load a revealjs plugin.
Describe alternatives you've considered
I can do <img src onerror="alert('hi')"> and inject a new script tag into the head like this, but that's a pretty extreme hack.

I'm mostly curious whether I overlooked any other options.
I don't mind having a go at a Pull Request if someone can give me some pointers on how we can implement this properly.

The possibility of adding script files is something i am missing too. This will be subject of the next major release.


CREATE TABLE without Engine spec SIGSEGV

Hi, I was fiddling with MATERIALIZED VIEWs, and when I create a table by using MV schema without ENGINE spec it crashes. A minimal example would be something like:
CREATE TABLE tmp (date Date, name String) ENGINE ...;
CREATE MATERIALIZED VIEW tmp_mv ENGINE = AggregatingMergeTree(date, (name), 8192) AS SELECT date, name, countState() AS cc FROM tmp GROUP BY name;
CREATE TABLE IF NOT EXISTS tmp_mv_table AS tmp_mv;

Crashes with:
<Error> BaseDaemon: ########################################
<Error> BaseDaemon: (from thread 118) Received signal Segmentation fault (11).
<Error> BaseDaemon: Address: NULL pointer.
<Error> BaseDaemon: 1. /usr/bin/clickhouse-server(DB::StorageView::StorageView(std::string const&, std::string const&, DB::Context&, std::shared_ptr<DB::IAST>&, std::shared_ptr<DB::NamesAndTypesList>, DB::NamesAndTypesList const&, DB::NamesAndTypesList const&, std::unordered_map<std::string, DB::ColumnDefault, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, DB::ColumnDefault> > > const&)+0x428) [0x12ef6a8]
<Error> BaseDaemon: 2. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x96) [0x325d216]
<Error> BaseDaemon: 3. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7f4e62c7f064]
<Error> BaseDaemon: 4. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f4e622a762d]

It's the last stable 1.1.54180.
It works when I create the the table from MV as:
CREATE TABLE IF NOT EXISTS tmp_mv_table AS tmp_mv ENGINE = ...;

Ok. Thank you for the report.
But it is not clear for me what should such clause do
CREATE TABLE IF NOT EXISTS tmp_mv_table AS tmp_mv;

Either materialized view
CREATE TABLE tmp_mv_table (date Date, name String, cc AggregateFunction(count)) ENGINE = AggregatingMergeTree(date, (name), 8192)

, either ordinary table with MV schema
CREATE MATERIALIZED VIEW tmp_mv_table ENGINE = AggregatingMergeTree(date, (name), 8192) AS SELECT date, name, countState() AS cc FROM tmp GROUP BY name;

Currently
CREATE TABLE IF NOT EXISTS tmp_mv_table AS tmp_mv ENGINE = ...;

creates ordinary table with specified engine.
But for me it is more logically to create MV with specified engine.
If engine isn't specified, it will use the same engine as tmp_mv.

My expectation was that CREATE TABLE IF NOT EXISTS tmp_mv_table AS tmp_mv creates a table that reuses the same engine as the MV (AggregatingMergeTree), but it's perfectly fine if it requires me to say explicitly what the engine should be. It just shouldn't crash the CH.

Yes, of course -)
I just needed an opinion about the semantics.

Sure :) I'd vote for: when the statment says CREATE TABLE, it should create a table and not MV.
The MVs are really cool by the way, really cheap way how to do rollups.


Implement ParallelInsertObject()

This is motivated by a question (#11145). Some applications have largish in-memory buffers (think "10 GiB") and would like to parallelize the upload.  Maybe use  parallel single-shot uploads and then compose the results.

that I want to upload to GCS. PrepareParallelUpload seems like a fit to my needs,

Maybe. That would use resumable uploads, which are slower than single-shot uploads.  The new non-copying version of InsertObject() would allow you to upload those buffers without making copies.  These will appear in the next release:
https://googleapis.dev/cpp/google-cloud-storage/HEAD/classgoogle_1_1cloud_1_1storage_1_1Client.html#ace17975b9eeae9df0da67712a430a349
For in-memory buffers that may be the most efficient way to upload the buffer.  If the buffers are not too big (say up to a few GiB), something like this could work:
namespace g = google::cloud;
namespace gcs = google::cloud::storage;

// TODO: actually compile and test this.
// TODO: the error handling is a bit naive.
gcs::ObjectMetadata
ParallelUpload(
    gcs::Client client, std::string bucket_name, std::string object_name, absl::string_view data) {
  auto const kShardSize = 32 * 1024 * 1024L;
  auto const prefix = gcs::CreateRandomPrefix();
  struct Shard {
    std::string name;
    absl::string_view data;
  };
  std::vector<Shard> shards;
  shards.reserve(data.size() / kShardSize + 1);
  int counter = 0;
  for (std::size_t offset = 0; offset < data.size(); offset += kShardSize) {
      shards.push_back(Shard{prefix + "/shard-" + counter, Shard{data.substr(offset, kShardSize)});
  }
  std::vector<std::future<g::StatusOr<gcs::ObjectMetadata>>> tasks(shards.size());
  std::transform(shards.begin(), shards.end(), tasks.begin(), [&](auto shard) mutable {
    return std::async(std::launch::async, [](auto client, auto bucket, auto object, auto data) {
        return client.InsertObject(bucket, object, data);
      }, client, bucket_name, shard.name, shard.data);
  });
  std::vector<gcs::ObjectMetadata> results(tasks.size());
  std::transform(tasks.begin(), tasks.end(), results.begin(), [](auto& f) {
      auto metadata = f.get();
      if (!metadata) throw std::move(metadata).status();
     return *std::move(metadata);
  });
  std::vector<gcs::ComposeSourceObject> sources(results.size());
  std::transform(results.begin(), results.end(), sources.begin(), [](auto m) {
     return ComposeSourceObject{m.name(), m.generation(), absl::nullopt};
  });
  auto metadata = gcs::ComposeMany(
      client, bucket_name, sources, prefix, object_name, /*ignore_cleanup_failures=*/true);
  if (!metadata) throw std::move(metadata).status();
  auto status = gcs::DeleteByPrefix(client, bucket_name, prefix);
  if (!status.ok()) throw status;
  return *std::move(metadata);
}

For much larger buffers (say starting at around 4 GiB) you may want to create fewer shards, or use resumable uploads (to avoid resending data on partial failures).

but unfortunately it is declared in the google::cloud::storage::internal namespace, discouraging external code from using it.

Correct.

Describe the solution you'd like I would like PrepareParallelUpload (and CreateUploadShards, might be useful for others) to become available in the public google::cloud::storage namespace. Currently only ParallelUploadFile is public; don't know if it's intentional or an oversight.

It is intentional, we did not know if the API was useful or if we wanted to tie the implementation down by exposing the implementation details.  For example, we could change the implementation to use single-shot uploads (when the shards are small enough), or to use XML multipart uploads, or to use the asynchronous gRPC client (which is progressing too slowly), and then this function would disappear or its interface would completely change.

Using them from the internal namespace doesn't sound a good idea.

Certainly not recommended.
Originally posted by @coryan in https://github.com/googleapis/google-cloud-cpp/issues/11145#issuecomment-1490320273

Will consider in 2023/Q4.

Will consider in 2024/Q2.

Determine if we still need to do this.


 See here for design documentation.
The plugin allows you to provide all the parameters that are supported by the Docker for AWS CloudFormation template, including:

KeyName
EnableCloudWatchLogs
ManagerSize
ManagerInstanceType
ManagerDiskSize
ManagerDiskType
ClusterSize
InstanceType
WorkerDiskSize
WorkerDiskType

The format for adding a parameter (-p | --parameter) is more compact than the format used by the AWS CLI. For example, instead of:
--parameters ParameterKey=ManagerInstanceType,ParameterValue=t2.medium ...

use this format instead:
--parameter ManagerInstanceType=t2.medium ...

And for updates, instead of:
--parameters ParameterKey=ManagerInstanceType,UsePreviousValue=true ...

just use this instead:
--parameter ManagerInstanceType   # no assigned value assumes UsePreviousValue=true ...

Prerequisites

Ensure you have a keypair for the region you want to use to create a stack using the plugin. I recommend you upload your own public key and give it the same name for each region you want to test (see keypair docs).

Ensure your AWS credentials are configured (see credentials docs).

Verification
NOTE: I've provided a lot of detail here for the benefit of everyone on the team who might want to look while this is under development; most of you won't care about ssh tunnels, etc, and will interact with the swarm via the AMP CLI when this is finished.
Please ensure that any stacks you create for testing have your name in it using the following pattern:
name-test-foo

Ex:
tony-test-amp-awsplugin

This makes it a bit easier to identify test resources that can be deleted without guilt in case you forget to remove them. Please do try to remember to remove on your own after testing.
From the cluster/plugin/aws directory, run the following:
$ make compiler
$ make
$ export REGION=us-west-2 # or any region where you have a valid keypair
$ export KEYNAME=tony-amp-dev
$ export STACKNAME=tony-amp-1
$ export ONFAILURE=DO_NOTHING
$ docker run -it --rm -v ~/.aws:/root/.aws appcelerator/amp-aws-plugin init \
    --keypair $KEYPAIR \
    --region $REGION \
    --stackname $STACKNAME \
    --onfailure $ONFAILURE \
    --parameter KeyName=$KEYNAME \
    --parameter ...

Verify output similar to the following:
$ docker run -it --rm -v ~/.aws:/root/.aws appcelerator/amp-aws-plugin init --region us-west-2 --name tony-amp-7
2017/06/14 20:31:23 {
  StackId: "arn:aws:cloudformation:us-west-2:654814900965:stack/tony-amp-7/6d88d410-5140-11e7-8af9-503acbd4dc29"
}
2017/06/14 20:31:23 2010-05-15

Also verify the stack has been created in the AWS console. The URL looks like this (updated the region value as appropriate):
https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks?filter=active&tab=resources
SSH to an instance
On the page opened by the previous link, you can click on your stack, then click on "Outputs", then click on the "Managers" link to the manager instances that were created. From there, you can obtain the public IP and DNS names created for each manager. Using the ssh key associated with your AWS keypair, you can ssh into any of these instances.
For example, if your private key is called id_rsa and the IP address of a manager node is <IP_ADDRESS>, then you can ssh into it like this:
$ ssh -i ~/.ssh/id_rsa docker@ <IP_ADDRESS>

You can then run docker swarm commands, like docker node ls.
Once you are connected to a manager node you can then ssh to a worker node using the node name as reported by docker node ls. Make sure you have ssh agent forwarding set up from your host system to ensure your keys propagate so that your private key doesn't need to be installed on each node you ssh from (see docs).
# can only ssh to a worker from a manager node
$ ssh <worker>

SSH Tunnel
If you don't need to ssh to a work and just want to connect to a manager for running docker commands, it can be more convenient to open an ssh tunnel. You can do this as follows:
$ ssh -i ~/.ssh/id_rsa -NL <IP_ADDRESS>:2374:/var/run/docker.sock<EMAIL_ADDRESS>
Or run the command and put it in the background -- just don't forget to kill it when done to release the port.
$ ssh -i ~/.ssh/id_rsa -NL <IP_ADDRESS>:2374:/var/run/docker.sock<EMAIL_ADDRESS>&

Then you can specify the docker host to connect to using that port for the tunnel to run docker commands. For example:
$ docker -H localhost:2374 node ls

Finally, you can set DOCKER_HOST so you don't have to use the -H option each time:
$ export DOCKER_HOST=localhost:2374
$ docker node ls

Tests
$ KEYNAME=<aws-keypair-name> REGION=<aws-region> make test

For now, you need to manually delete your own test stacks. Look in the console for stacks like this:
<keyname>-plugin-test-<guid>

Ex: tony-amp-dev-plugin-test-147f0799-1925-4578-91e4-2fa1afd027ac

t2.micro is just the default for instances in the Docker for AWS CloudFormation template. You have to override using the InstanceType (for workers) and ManagerInstanceType parameters. However, I didn't have support for passing through custom parameters until my last commit. Try it now ... you can tune all the template parameters (see the updated description above).


[How to Question] - Promote player long track via API call

Hello,  I am looking for a way to promote a player along a certain track in code vs. executing a command.
I utilize the permApi for various other objectives but couldn't locate a way to do this.
The command I use is /lp user PLAYER promote members
Members is the name of the track.
Thank you.

This doesn't exist at the moment - so will consider this to be a suggestion.


prog2c shouldn't print the 'missed: %v/%v' line at the beginning of the program

Already fixed by https://github.com/google/syzkaller/commit/4cc089432d3257d947c586230cda891d5b86a330


Improvements in Project UI

Add contract upload/updated_at date
Break applicant instructions
Fix css buttons issues
Show the category above the document name
Add back to project link in PAF edit page
Make headers collapsible based on project status
Unhide contract download option after contracting status
Hide PAF Approvals for the applicant
Hide Add invoice except for staff and applicant
Add 'Upload invoices' as the next step for project with IN PROGRESS status.
Add icons to all the project page's action buttons (except document actions).
Add notification bar for project actions. #3326
Greyed Pending PAF approvals(below next step section)
Fix #3318
Fix #3321
Fix #3322
Fix #3324
Fix #3323
Fix #3311

@frjo I think we can put it on the test, it may make our testing smoother. The buttons' iconography still needs some work but this PR contains changes for the things mentioned in the PR description.

@frjo Should I create a separate PR for upcoming changes?

This PR contains mostly Ui and text-related changes, so I think it is better to merge it in. I'll create a separate PR for the other changes.


Mod support

Add datasets for various popular mods, with checkboxes to enable/disable their items and recipes.

Added multiple dataset support in a87d984eff7d37f4041cf95fb8867bf5ec13575c. Will add more datasets later, but calling this issue closed now.


Non-animated gif not recognized as such

I ran into this issue using AsyncDisplayKit, and documented it here: https://github.com/facebook/AsyncDisplayKit/issues/2590#issuecomment-260467659
An image that shows this behavior is here: http://ak-cache.legacy.net/legacy/images/fhlogo/7630fhlogo.gif

It looks like we should add a method pin_isAnimatedGIF which returns YES only if the data is a GIF and animated. We'd then need to check this instead of isGIF in most places.

Is there any progress with this? Because GIPHY, which is one of largest gif provider (as can you see in image below), is using non-animated gifs as placeholder images, so there is a lot of blanks spaces in our application because of this (using Texture in our app).

@ArmandsB sorry, no progress on this yet, but I'd happily accept a pull request!

Had some extra time :)


Create structure for Unit Tests

#55.
Add the base folder structure for unit tests, as well as implement an initial unit test for a Service in Core layer.
PR also test how Github Actions behaves when faced with a unit test.

Current folder structure:
/root
|__/src
   |__/Core
   |__/Data
   |__/UI
|__/tests
   |__/UnitTests
      |__/Core.Tests

Intended folder structure (for future reference):
/root
|__/src
   |__/Core
   |__/Data
   |__/UI
|__/tests
   |__/UnitTests
      |__/Core.Tests
      |__/Data.Tests
      |__/UI.Tests
   |__/IntegrationTests

Close branch and issue as structure is now created and merged with main. #55.


vi-mode stuck in insert mode

regression when we upgraded codemirror: https://github.com/twosigma/beaker-notebook/commit/97c7f34a3b54340f0611058d62bf9bae1ac5c25e

here is where we set that mode: https://github.com/twosigma/beaker-notebook/blob/master/core/src/main/web/app/mainapp/components/notebook/notebook-directive.js#L116
but their code actually sets vimMode to true: https://github.com/codemirror/CodeMirror/blob/f1692af532b78b7aeacb9dfc1962e2443866f65b/test/vim_test.js#L110


vcpu: Expose more parameters for register intercept result hypercall

Summary of the PR
This especially concerns subleaf_specific and ecx. In cases like topology configuration that are passed through the leafs 0xb or 0x1f, multiple subleafs are involved and thus the hypercall arguments need to be prepared accordingly.
In addition to the exposed configuration parameters, some more inline documentation is added to improve the understanding on the hypercall configuration and arguments.

@NunoDasNeves Could you please take a look again?

Thanks for the quick turnarounds, everyone!


Add exclude parameter

Add --exclude CLI option to ignore files/dir glob. Code taken from
https://github.com/hhatto/autopep8/blob/ce4c6333a7bc3a7a83ef4e65591082e67d82a180/autopep8.py#L3724
Closes https://github.com/myint/autoflake/issues/11
Hmm... because I take the code from there, I guess I will need a permission from you @myint? :smile:

Coverage decreased (-0.4%) to 98.224% when pulling 80690d58d4b9031c38113e53dbbc959c5bca93ea on adhikasp:exclude into 96f4a8ceaba46e10d1efd45a29e8986bbcd5fd74 on myint:master.

Coverage decreased (-0.4%) to 98.224% when pulling be622cfd511bb3bb65a36087991cb540ad53a32a on adhikasp:exclude into 96f4a8ceaba46e10d1efd45a29e8986bbcd5fd74 on myint:master.

Yeah, you have permission! 😄
Looks great! Thanks!


Add hugging face file system support

Hi @Xuanwo , is this issue suitable for me to take on?

Hi @Xuanwo , so Hugging Face FS basically works like Git. That means we can't create an empty folder. What's the suggestion here? Should we implement create_dir with something like a .gitkeep inside the folder? Or just not implement it?

Or just not implement it?

We don't need to support write for now. Just reading is enough.

We can use https://huggingface.co/datasets/opendal/huggingface-testdata for behavior test.

Should hf:// be listed in the README?


[Build] update test library sha

Description
Version was bumped but the SHA needed to be updated
Signed-off-by: Kawika Avilla<EMAIL_ADDRESS>Issues Resolved
n/a
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

I thought npm install will automatically generate a new lock file if you delete the old one. Curious why the hash is not updated but the version number is updated.

I thought npm install will automatically generate a new lock file if you delete the old one. Curious why the hash is not updated but the version number is updated.

 Since any command either completely modified the lock file or did not include any hash.


Fix: Linking to the dataset/download area

For both, nubbe and coconut the links in the download sections are currently not working.
@edgardmarx needs to set up a link where I can reach /srv/data/chemnet/ on dino

This seems to have been finished, just confirmed all links working.