mongo backend doesnt let collection_name to be modified

It seems that the mongo backend forces a collection name parameter (responses) whereas collection_name is an optional parameter of MongoCache :
self.responses = MongoPickleDict(db_name, 'responses', options.get('connection'))

I think the intended behavior was :
self.responses = MongoPickleDict(db_name, options.get('collection_name'), options.get('connection'))

Where do you see collection_name as an optional parameter of MongoCache? Also I see that this issue is a year and a half old now, so it's possible the code has changed since then.
I think the intent is for this to behave the same as all the other backends, which create two tables (or collections/namespaces/etc.) for 'responses' and 'urls' (redirects), respectively.
If you'd like to be able to modify those table names, that's something that should be added to all backend classes. Is that something you'd like to submit a PR for?

Closing this issue for now. Please leave a comment if this is still something you or anyone else needs, and/or if you want to submit a PR for this.


force_split and no_gaps_when_only prevents dragging windows

Steps to reproduce
Example configuration:
dwindle {
    force_split = 2 # setting to 1 also produce bug
    no_gaps_when_only = on
}

Expected outcome
Normal windows moving
Noted outcome
Window can't be moved from right to left (from left to right when force_split = 1) when dragging it with mouse. It's actual for two and more windows

By the way, it's also prevents to move tabs in Yandex Browser (chrome-based) when only window opened

that is expected behavior though, you forced the split...?

fixed in a4c120d6081ee35b7997afdec451480048242d06


optimize Linode SD by polling for event changes during refresh

Most accounts are fairly "static", in the sense that they're not cycling
through instances constantly. So rather than do a full refresh every
interval and potentially make several behind-the-scenes paginated API
calls, this will now poll the /account/events/ endpoint every minute
with a list of events that we care about. If a matching event is found,
we then do a full refresh.
Co-authored-by: William Smith<EMAIL_ADDRESS>Signed-off-by: TJ Hoplock<EMAIL_ADDRESS>Signed-off-by: William Smith<EMAIL_ADDRESS>

The change of permissions of the token is a bit annoying for users who would upgrade. Would there be a possibility to have a fallback if the token does not have the permission for listing events?
Also, what if the list of event changes in the future, or we miss one? What is the stability here? Would it be better to work with an exclude list instead of an include list?
It also seems like d.lastRefreshTimestamp is set too late and if listing 10 pages takes 10s, we would miss all the updates during the 10s now.

The change of permissions of the token is a bit annoying for users who would upgrade. Would there be a possibility to have a fallback if the token does not have the permission for listing events?

I suppose it could fall back to reloading everything on every refresh if it sees a 401 response when attempting to fetch events the first time.

Also, what if the list of event changes in the future, or we miss one? What is the stability here? Would it be better to work with an exclude list instead of an include list?

That's a fair concern.  We could remove all the filters on event action and this would still be a big improvement; events are only created when there are changes being made to the account, and I believe it will be more common for there to be no events most refreshes.

It also seems like d.lastRefreshTimestamp is set too late and if listing 10 pages takes 10s, we would miss all the updates during the 10s now.

Good catch 👍

I've rebased to current and added in a way to fallback to full refreshes if event polling isn't possible. Lemme know if you have any other feedback! 👍

Is there a bug in the linode API? It seems that if also need account:read_only to read the events. events_readonly is not enough.
I have run a simple test and it seems that accepting this pull request would cause a regression: the nodes __meta_linode_status label is no longer updated when the node is shutdown manually (and lassie is disabled). I do not have any idea about how to fix this at this moment. What about we still trigger a full refresh every 10*refresh_interval or so?

It turns out that this indeed is a bug in the API; it's being fixed in the next release scheduled for 7/12.  After that point, only the events:read_only scope will be necessary to list Events.  We should hold off on this proposed change until the fix is released.

Hi @roidelapluie, the events token scope has been fixed. 👍

I have run a simple test and it seems that accepting this pull request would cause a regression: the nodes __meta_linode_status label is no longer updated when the node is shutdown manually (and lassie is disabled). I do not have any idea about how to fix this at this moment. What about we still trigger a full refresh every 10*refresh_interval or so?

Polling the /events endpoint will only return events that the Linode API is aware of, so you're correct -- if you manually shut down an instance, the API won't have an event for it. I added in a counter to trigger a full refresh after 10 requests to the /events endpoint without changes (since we now trigger a refresh on any event detected). This should catch the edge case you mentioned and ensure that we periodically refresh regardless.
Lemme know if you have any other feedback!

I would take the date before the refresh:
Pseudocode
nextRefreshdate = time.Now
err = ListEvents(d.lastRefreshDate)
if err == nil {
d.lastRefreshDate = nextRefreshdate
}

Good catch, and my thoughts as well. I'll make the change 👍

Hey @roidelapluie, just following up to see if you have any further thoughts or feedback on the proposed changes. Please lemme know if I can help 👍

thanks!

Thanks for all the help @roidelapluie!


Differences of Metanorma ISO XML between ISO Rice English/Chinese

The ISO Rice document is provided in https://github.com/metanorma/mn-samples-iso . Apparently, the DOC output differs as raised in https://github.com/metanorma/mn-native-pdf/issues/31 .
Issue content quoted below:

There are differences between xml and doc for ISO rice.

In iso-rice-zh.xml there isn't section/preface/introduction, looks like it moved into sections/clause (first clause), i.e. second clause in iso-rice-zh.xml is first clause (Scope) in iso-rice-en.xml.
If compare docs iso-rice-en.doc  and iso-rice-zh.doc :

in iso-rice-zh.doc  section 'Normative references' (7 elements) moved at the end of document as Bibliography (7 elements)
in iso-rice-zh.doc  there isn't last Bibliography section which contains 16 elements (in iso-rice-en.doc).
But xml there are such data.

In iso-rice-en.xml  the section 'Terms and definitions' placed in terms/term tag, but iso-rice-zh.xml this section placed in clause/clause tag.
These texts 'paddy', 'husked rice', 'milled rice' display in Contents table (see image), because they are in clause/clause (we show 1st and 2nd level titles from clauses).

The Chinese XML T&D section is marked up incorrectly, see https://github.com/metanorma/mn-native-pdf/issues/31#issuecomment-566579269 .


Selecting text to read specific bit of text not working

The bookmarklet reads the whole page even when using it with a selected block of text. This happens on all web pages, at least in Firefox 28 and 29, and Chrome 34, both in Ubuntu 14.04. Haven't checked on other browsers or OSes.

squirt uses window.getSelection() function, which does not work on text selected in form fields due to this Firefox bug.

squirt uses  window.getSelection() function, which does not work  on text selected in form fields due to this Firefox bug.


Mixed Decimal/Float operations throw error or attach warning

Arithmetic operations throw; comparisons attach warnings.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[x] Unit tests have been written where possible.

#10765 has been integrated. Attaching warnings to errors shall no longer crash the engine


Impove proc-macro error handling

Use as error location the field which causes the error instead of only the proc-macro location
Allow reporting errors for all fields by merging them into one error.

bors r+

bors r+


⚠ Bofrost.be has degraded performance

In b26040e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1094 ms

Resolved: Bofrost.be performance has improved in ae701fc.


Cartisian product supporting named arguments

So far working nicely for my benchmark dataset generation task. I need to sweep over some keyword/named arguments (--kwarg X), and I see GNU parallel can potentially do this via --header?
E.g. see this from my custom command random-graph-walks kind size --n-walks --n-jumps --seed, where the named arguments have default values, and I want to have rust-parallel sweep over --seeds without giving it n-walks and n-jumps input (they would stay randomized).
rust-parallel -p random-graph-walks ::: tree block ::: 5 10 15

that works just fine to loop over combinations of (kind,size). But if I want to provide --seed  options, how would I specify? This doesn't work:
rust-parallel -p random-graph-walks ::: tree block ::: 5 10 15 ::: --seed 2 5 10

complaining that parameter 'seed' requires an argument ( meaning, --seed, 2,5,10 all get passed as n-walks individually)

One way to do this currently would be using regular expression groups to rewrite the commands - I think something like this should work (here using echo for demo):
rust-parallel --dry-run -r '(.*) (.*) (.*)' echo {1} {2} --seed {3} ::: tree block ::: 5 10 15 ::: 2 5 10

regex pattern matches each argument group and {1} {2} {3} are numbered capture groups - you can write arbitrary commands similar to above using these.
In your case I think this command should work:

Looks like GNU parallel can use --header option in this way for your example:
parallel --header : random-graph-walks {kind} {size} --seed {seed}  ::: kind tree block ::: size 5 10 15 ::: seed 2 5 10

From this reference, --header : lets the first argument after each ::: be a named alias that gets replaced - in this example names are kind, size, seed.
So far rust-parallel does not support --header option but can consider adding this.  The options in previous comment using regex/bash function could be workarounds for now.
@rtbs-dev am I understanding your use case correctly?  Thanks!

Awesome, yes! This is a super helpful pattern for parameter sweeps. I've been successfully using the regex version you posted and it definitely works nicely, though something like the header option might be very nice to simplify things.
Not sure if you're wanting feature parity, since imo the header syntax is a little weird for gnu-parallel. Open to any syntactic sugar, really, that implements argument interpolation for combinations of variables.

Working in this branch https://github.com/aaronriekenberg/rust-parallel/tree/autoregex
With these changes below commands work and are equivalent:
rust-parallel --auto-interpolate-args echo {1} {2} --seed {3} ::: tree block ::: 5 10 15 ::: 2 5 10

rust-parallel --auto-interpolate-named-args echo {kind} {size} --seed {seed} ::: kind tree block ::: size 5 10 15 ::: seed 2 5 10

Todo:

tests
code cleanup
Consider better option names - currently using auto-interpolate-args and auto-interpolate-named-args.  I agree --header : in GNU parallel is not very obvious :)

In version 1.18.0 - added support for automatic numbered variable interpolation
In addition to above options - the following will work now:
rust-parallel --dry-run echo {1} {2} --seed {3} ::: tree block ::: 5 10 15 ::: 2 5 10

May in future consider adding support for named arguments similar to --header : in GNU parallel, but starting with above only for now :)
Thanks @rtbs-dev !


ImprovementSupport file split for TableValueFunction.

Current getSplits for TVF is to create one split for each file. In this case, large file scan performance maybe bad. This pr is to implement the getSplits function in TVFSplitter to support split file to multiple blocks which may improve the performance for large files.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.35 seconds
stream load tsv:          459 seconds loaded<PHONE_NUMBER>9 Bytes, about 155 MB/s
stream load json:         24 seconds loaded<PHONE_NUMBER> Bytes, about 93 MB/s
stream load orc:          73 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230321101446_clickbench_pr_117915.html

run buildall

run buildall


(chores): cleanup camel-activemq tests

remove unused exceptions
cleanup tests that check for exceptions thrown
use log markers for the test log messages
use simpler assertions when possible
minor test cleanups: use lambdas when cleaner, fixed typos
ensure tests have assertions

@otavioprado there is a CS formatting issue, you need to
mvn clean install -P fastinstall in the camel-activemq folder to regen the source formatter.

@otavioprado there is a CS formatting issue, you need to
mvn clean install -P fastinstall in the camel-activemq folder to regen the source formatter.

Aha! Thanks Claus! Indeed, I was wondering why the sourcecheck was not catching these locally. I am going to try this.


[Feature] Support show binlog properties by show create table

What type of PR is this：

[ ] BugFix
[x] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

supporting show binlog propeties by sql show create table table_name

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:disappointed: fail : 2 / 19 (10.53%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
1
18
05.56%
[2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2300, 2301, 2302, 2303, 2305, 2306, 2307, 2308]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
1
1
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 9 / 27 (33.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
1
18
05.56%
[2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2300, 2301, 2302, 2303, 2305, 2306, 2307, 2308]

:large_blue_circle:
com/starrocks/binlog/BinlogManager.java
2
3
66.67%
[78]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/leader/ReportHandler.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/alter/SchemaChangeHandler.java
1
1
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 2 / 19 (10.53%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
1
18
05.56%
[2289, 2290, 2291, 2292, 2293, 2295, 2296, 2297, 2298, 2300, 2301, 2302, 2303, 2305, 2306, 2307, 2308]

:large_blue_circle:
com/starrocks/alter/SchemaChangeHandler.java
1
1
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test


updating tasks to use powershell rather than direct API call actions

AWS actions not recognised for instance state change
Updated input to use powershell commands

I get a failure running this as
│ Error: creating SSM Document (ami-build): InvalidDocumentContent: Unknown plugin name: aws:createImage
│
│   with aws_ssm_document.ami_build,
│   on ec2_common.tf line 43, in resource "aws_ssm_document" "ami_build":
│   43: resource "aws_ssm_document" "ami_build" {
│

If there's a 'createImage' ssm document then I think you need to use the aws:RunDocument action and then reference that one, rather than calling it directly document plugin ref see example here


[Bug]: Fake Data Transform: Bad metadata for dates emitting for "Date and Time"->Birthday as (String) instead of Date causes errors downstream

Apache Hop version?
2.7
Java version?
17
Operating system
Windows
What happened?
Originally I was inspecting the test case for duckdb which only tested Strings.  When trying to introduce a date to the pipeline I realized that there is a class problem when the Select transform tries to convert a string to a date.
2023/12/21 16:28:01 - Hop - Pipeline opened.
2023/12/21 16:28:01 - Hop - Launching pipeline [duckdb-write]...
2023/12/21 16:28:01 - Hop - Started the pipeline execution.
2023/12/21 16:28:01 - duckdb-write - Executing this pipeline using the Local Pipeline Engine with run configuration 'local'
2023/12/21 16:28:01 - duckdb-write - Execution started for pipeline [duckdb-write]
2023/12/21 16:28:01 - duckdb-write - ERROR: Execution information location 'Runs your pipelines locally with the standard local Hop pipeline engine' could not be found in the metadata
2023/12/21 16:28:01 - generate 100k rows.0 - Finished processing (I=0, O=0, R=0, W=10, U=0, E=0)
2023/12/21 16:28:01 - Select values 2.0 - ERROR: Unexpected error
2023/12/21 16:28:01 - Select values 2.0 - ERROR: java.lang.ClassCastException: class java.util.Date cannot be cast to class java.lang.String (java.util.Date and java.lang.String are in module java.base of loader 'bootstrap')
2023/12/21 16:28:01 - Select values 2.0 - 	at org.apache.hop.core.row.value.ValueMetaBase.getDate(ValueMetaBase.java:2578)
2023/12/21 16:28:01 - Select values 2.0 - 	at org.apache.hop.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:4170)
2023/12/21 16:28:01 - Select values 2.0 - 	at org.apache.hop.pipeline.transforms.selectvalues.SelectValues.metadataValues(SelectValues.java:344)
2023/12/21 16:28:01 - Select values 2.0 - 	at org.apache.hop.pipeline.transforms.selectvalues.SelectValues.processRow(SelectValues.java:399)
2023/12/21 16:28:01 - Select values 2.0 - 	at org.apache.hop.pipeline.transform.RunThread.run(RunThread.java:55)
2023/12/21 16:28:01 - Select values 2.0 - 	at java.base/java.lang.Thread.run(Thread.java:840)
2023/12/21 16:28:01 - Select values 2.0 - Finished processing (I=0, O=0, R=1, W=0, U=0, E=1)
2023/12/21 16:28:01 - duckdb-write - Pipeline detected one or more transforms with errors.
2023/12/21 16:28:01 - duckdb-write - Pipeline is killing the other transforms!
2023/12/21 16:28:01 - fake book data.0 - Finished processing (I=0, O=0, R=10, W=10, U=0, E=0)
2023/12/21 16:28:01 - duckdb-write - Pipeline duration : 0.063 seconds [  0.063" ]
2023/12/21 16:28:01 - duckdb-write - Execution finished on a local pipeline engine with run configuration 'local'
convert_to_date_fails.zip
Issue Priority
Priority: 1
Issue Component
Component: Transforms, Component: Other

convert_to_date_fails_in_select.zip
This is a reproduction pipeline with no other dependencies.

Ciao @usbrandon
The problem doesn't seems to be the Select Value but what comes out from the Fake data transform.  Try this simple pipeline, as confirmation of what I'm saying, where I forced a string representing the date you want in the same format as yours and set your format mask. The next transform, a select value, is properly transforming the string to date. Without any exception.
I'm investigating if the Fake data transform is presenting wrong metadata in the output dataset (I mean a date that is already a date and not a String as expected and shown in the "Show output fields"
sample_date_convertion.zip

I got the cause of the problem. Basically the birthday type in the Fake data transform is generating a Date element and not a String as expected. Going to fix the issue in the Fake data transform

Hey there, this fix worked well.  That is great.  Now we can have a real timestamp coming out for testing instead of just strings.


nRF52832: MCUBoot cannot read signed SMP Server Sample binary

Description
While following the SMP Server Sample for an nRF52dk_nrf52832 board, flashing the signed binary results in output from MCUBoot that it can't read the image headers and that the image is invalid.
To Reproduce:
My commands, in order with the guide steps:

west build -b nrf52dk_nrf52832 -d build_mcuboot bootloader/mcuboot/boot/zephyr
west flash -d build_mcuboot
west build -b nrf52dk_nrf52832 zephyr/samples/subsys/mgmt/mcumgr/smp_svr -- -DOVERLAY_CONFIG=overlay-bt.conf
west sign -t imgtool -- --key bootloader/mcuboot/root-rsa-2048.pem
west flash --bin-file build/zephyr/zephyr.signed.bin

All of the above compile and flash successfully.
Expected behavior
Image would be validated and ready for communicating with mcumgr.
Impact
Showstopper. Cannot proceed with DFU process over BLE.
Logs and console output
Bootloader output:
*** Booting Zephyr OS build zephyr-v2.3.0-1818-g07b4df1945b5  ***
[00:00:00.004,913] ␛[0m<inf> mcuboot: Starting bootloader␛[0m
[00:00:00.011,108] ␛[0m<inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3␛[0m
[00:00:00.021,514] ␛[0m<inf> mcuboot: Boot source: none␛[0m
[00:00:00.027,130] ␛[1;33m<wrn> mcuboot: Failed reading image headers; Image=0␛[0m
[00:00:00.034,820] ␛[1;31m<err> mcuboot: Image in the primary slot is not valid!␛[0m
[00:00:00.042,663] ␛[1;31m<err> mcuboot: Unable to find bootable image␛[0m

Environment:

OS: Ubuntu 18.04.5
Zephyr 2.3.0, Zephyr SDK 11.3
SHAs:

mcuboot: 813d29c
zephyr: 07b4df1

Additional context

imgtool (1.6.0) installed through pip install imgtool while in a Python3.6 virtualenv consisting of Zephyr + MCUBoot requirement packages.
Signed binary flashed by nrfjprog, automatically pin resetting the device after flash.
Building from the general zephyrproject setup resulting from the Getting Started guide; not a custom project.

Can you post here shell output of the
west flash --bin-file build/zephyr/zephyr.signed.bin

command?
Try using:
west flash --hex-file build/zephyr/zephyr.signed.hex
instead, is it OK?

$ west flash --bin-file build/zephyr/zephyr.signed.bin
-- west flash: rebuilding
[0/1] cd /home/saruman/zephyrproject/build/zephyr/cmake/flash && /usr/bin/cmake -E echo

-- west flash: using runner nrfjprog
-- runners.nrfjprog: Flashing file: /home/saruman/zephyrproject/build/zephyr/zephyr.hex
Parsing hex file.
Erasing page at address 0xC000.
Erasing page at address 0xD000.
Erasing page at address 0xE000.
Erasing page at address 0xF000.
Erasing page at address 0x10000.
Erasing page at address 0x11000.
Erasing page at address 0x12000.
Erasing page at address 0x13000.
Erasing page at address 0x14000.
Erasing page at address 0x15000.
Erasing page at address 0x16000.
Erasing page at address 0x17000.
Erasing page at address 0x18000.
Erasing page at address 0x19000.
Erasing page at address 0x1A000.
Erasing page at address 0x1B000.
Erasing page at address 0x1C000.
Erasing page at address 0x1D000.
Erasing page at address 0x1E000.
Erasing page at address 0x1F000.
Erasing page at address 0x20000.
Erasing page at address 0x21000.
Erasing page at address 0x22000.
Erasing page at address 0x23000.
Erasing page at address 0x24000.
Erasing page at address 0x25000.
Erasing page at address 0x26000.
Erasing page at address 0x27000.
Erasing page at address 0x28000.
Erasing page at address 0x29000.
Erasing page at address 0x2A000.
Erasing page at address 0x2B000.
Erasing page at address 0x2C000.
Erasing page at address 0x2D000.
Erasing page at address 0x2E000.
Erasing page at address 0x2F000.
Erasing page at address 0x30000.
Erasing page at address 0x31000.
Erasing page at address 0x32000.
Erasing page at address 0x33000.
Erasing page at address 0x34000.
Erasing page at address 0x35000.
Erasing page at address 0x36000.
Erasing page at address 0x37000.
Erasing page at address 0x38000.
Erasing page at address 0x39000.
Applying system reset.
Checking that the area to write is not protected.
Programming device.
Enabling pin reset.
Applying pin reset.
-- runners.nrfjprog: Board with serial number 682178881 flashed successfully.

Looks like flashing the hex file works just fine:
*** Booting Zephyr OS build zephyr-v2.3.0-1818-g07b4df1945b5  ***
[00:00:00.004,913] ␛[0m<inf> mcuboot: Starting bootloader␛[0m
[00:00:00.011,108] ␛[0m<inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3␛[0m
[00:00:00.021,514] ␛[0m<inf> mcuboot: Boot source: none␛[0m
[00:00:00.027,191] ␛[0m<inf> mcuboot: Swap type: none␛[0m
[00:00:00.298,950] ␛[0m<inf> mcuboot: Bootloader chainload address offset: 0xc000␛[0m
[00:00:00.306,945] ␛[0m<inf> mcuboot: Jumping to the first image slot␛[0m
*** Booting Zephyr OS build zephyr-v2.3.0-1818-g07b4df1945b5  ***

␛[1;32muart:~$ ␛[m␛[8D␛[J[00:00:00.152,313] ␛[0m<inf> smp_bt_sample: Advertising successfully started␛[0m
␛[1;32muart:~$ ␛[m␛[8D␛[J␛[1;32muart:~$ ␛[m

Yes, seems that there is some problem with --bin-file switch.

@de-nordic Noticed in the two west outputs of --bin-file and --hex-file:
Bin:
$ west flash --bin-file build/zephyr/zephyr.signed.bin
-- west flash: rebuilding
[0/1] cd /home/saruman/zephyrproject/build/zephyr/cmake/flash && /usr/bin/cmake -E echo

-- west flash: using runner nrfjprog
-- runners.nrfjprog: Flashing file: /home/saruman/zephyrproject/build/zephyr/zephyr.hex

Hex:
west flash --hex-file build/zephyr/zephyr.signed.hex
-- west flash: rebuilding
[0/1] cd /home/saruman/zephyrproject/build/zephyr/cmake/flash && /usr/bin/cmake -E echo

-- west flash: using runner nrfjprog
-- runners.nrfjprog: Flashing file: build/zephyr/zephyr.signed.hex

I would expect the --bin-file to flash the zephyr.signed.bin and not the general zephyr.hex output, like --hex-file does with zephyr.signed.hex

@kyberdin the nrfjprog command, that is invoked by west flash to program nrf52840, does not support uploading bin files.
You will need to use --hex-file parameter with hex file as an argument.

@de-nordic Will do! Thanks for the info and assist.

@kyberdin One more info: when you will be using mcumgr to upload files via serial/bluetooth use bin files instead, not hex files.

Thanks, I'll keep that in mind. Speaking of which, my problem has moved past west and is now with mcumgr:
sudo mcumgr --conntype ble --connstring ctlr_name=hci0,peer_name='Zephyr' image upload build/zephyr/zephyr.signed.bin
 0 B / 182.20 KiB [-----------------------------------------------------------------------------------------------------------------------------------------------------]   0.00%
panic: send on closed channel

goroutine 596 [running]:
mynewt.apache.org/newtmgr/nmxact/nmp.(*Listener).AfterTimeout.func1()
	/home/saruman/go/src/mynewt.apache.org/newtmgr/nmxact/nmp/dispatch.go:50 +0x65
created by time.goFunc
	/usr/local/go/src/time/sleep.go:167 +0x45

Application doesn't offer much help:
␛[1;32muart:~$ ␛[m␛[8D␛[J[00:12:35.377,197] ␛[0m<inf> smp_bt_sample: Advertising successfully started␛[0m
␛[1;32muart:~$ ␛[m␛[8D␛[J␛[1;32muart:~$ ␛[m␛[8D␛[J[00:15:59.451,721] ␛[0m<inf> smp_bt_sample: Connected␛[0m
␛[1;32muart:~$ ␛[m␛[8D␛[J␛[1;32muart:~$ ␛[m␛[8D␛[J[00:16:02.644,012] ␛[0m<inf> smp_bt_sample: Disconnected (reason 0x13)␛[0m
␛[1;32muart:~$ ␛[m␛[8D␛[J[00:16:02.644,958] ␛[0m<inf> smp_bt_sample: Advertising successfully started␛[0m
␛[1;32muart:~$ ␛[m␛[8D␛[J␛[1;32muart:~$ ␛[m

Though btmon is quite active during the attempt.
Other mcumgr commands still work though, such as image list:
sudo mcumgr --conntype ble --connstring ctlr_name=hci0,peer_name='Zephyr' image list
Images:
 image=0 slot=0
    version: 0.0.0
    bootable: true
    flags: active confirmed
    hash: fea488b32bd50d104c79b805d52912452cfaf2aad46442afdd410deb181acb25
Split status: N/A (0)

Might be out of scope for this bug report though. I can open a new ticket if I'm unable to resolve it on my own.

@kyberdin Please open other issue for that problem if it persist. I have not been able to reproduce the problem with closed channel

Looks like the issue with mcumgr has already been addressed. Closing the issue from @de-nordic 's feedback.


Log span about VirtualMachineInstancePresets deprecation without any usage of it

What happened:
Continues log emission without any reference to VirtualMachineInstancePresets in cluster configuration:
W1113 06:26:40.352146 1 warnings.go:70] kubevirt.io/v1 VirtualMachineInstancePresets is now deprecated and will be removed in v2.
What you expected to happen:
No log spamming if I do not use the deprecated feature.
How to reproduce it (as minimally and precisely as possible):
Install Kubevirt and create a VM.
Environment:

KubeVirt version (use virtctl version): 1.3.1
Kubernetes version (use kubectl version): 1.30.5
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): N/A
Kernel (e.g. uname -a): N/A
Install tools: N/A
Others: N/A

@vladimirfx on your cluster, are there any VMs using presets? Did you actually use this feature?

No, nothing is mentioned VirtualMachineInstancePresets, even in annotations. Not instances of VirtualMachineInstancePresets in the cluster.
Actual VM config:
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: reporting-vm
  namespace: reporting
spec:
  running: true
  template:
    metadata:
      labels:
        app.kubernetes.io/name: reporting-vm
    spec:
      domain:
        cpu:
          cores: 2
        memory:
          guest: 5Gi
        devices:
          disks:
          - disk:
              bus: sata
            name: datavolumevolume
          interfaces:
          - name: network
            model: rtl8139
            bridge: {}
          rng: {}
        machine:
          type: "q35"
        resources:
          requests:
            memory: 2Gi
            cpu: 1
          limits:
            memory: 5Gi
            cpu: 2
      terminationGracePeriodSeconds: 0
      volumes:
      - dataVolume:
          name: reporting-dv
        name: datavolumevolume
      networks:
      - name: network
        pod: {}

Thanks @vladimirfx!
Would you also mind providing the full log file? Which pod emits these logs?

Virt-api pod:
virt-api.log

Thank you @vladimirfx. I was able to reproduce this.
/triage accepted
/remove-kind deprecation
From a first glance, I would assume that the problem comes from here, but not sure why the log appears more than once:


⚠ Mobitopup has degraded performance

In 2163f47, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 4473 ms

Resolved: Mobitopup performance has improved in 59538a8.


Hook up calculator

Finally adding the code to connect the first piece of the calculator to the frontend

Hi @NicolasZanotti I'm working on this branch now and have resolved the conflicts locally

Commits are a bit messy, but now uses database cost_aggregator @benkrikler @NicolasZanotti


Initialize the project, Create database and update schema file.

Hello 😃  @codeWithHyder  👋🏾

In this pull request, I did the following things :
Here is a concise list of tasks I have completed :-

Initialize the project
Add devise

@codeWithHyder Thanks for the professional review.


update: yarn version berry

chg: yarn version to berry
update lock and yarn version
add: workplace plugin
update: typechain
chg: ignore catch unknon type errors/
update: typechain import
fix: type errors

Why are we doing this? Node 16 I think has some issues with some of our 3rd part libraries.

Not bumping it to 16.x, just tried cause it's failing the docker build


Update openshift-manage-subscriptions.yml

corrected a 404 in the LR tile

/ok-to-test

I have closed the RHCloud ticket that I opened for this patch since it has been merged into main.


Prometheus 2.0.0 dies on headChunkReader

What did you do?
Actually nothing, few people watch Grafana, some alerts firing, some metrics collected. Nothing special
What did you expect to see?
Prometheus work smooth and by the numbers
What did you see instead? Under which circumstances?
Prometheus process got
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x159134a]

Environment
Prometheus running in docker, from prom/prometheus
Server Version: 17.09.0-ce
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: xfs
Kernel Version: 4.4.0-95-generic
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 79.42GiB
Prometheus was started with followed command:
docker run --restart=always -d -p 9090:9090 -h="fancyname" --name=prometheus -v /opt/prom-docker/:/etc/prometheus/ -v /opt/prometheus/data:/prometheus --entrypoint="" prom/prometheus sh -c '/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus  --storage.tsdb.min-block-duration=1h --storage.tsdb.retention=91d'

System information:

Linux 4.4.0-95-generic x86_64

Prometheus version:
docker exec -it prometheus /bin/sh
/prometheus $ prometheus --version
prometheus, version 2.0.0 (branch: HEAD, revision: 0a74f98628a0463dddc90528220c94de5032d1a0)
build user:       root@615b82cb36b6
build date:       20171108-07:11:59
go version:       go1.9.2

Alertmanager version:

no issues with alertmanager actually

Logs:

This happens time-to-time actually
level=info ts=2017-12-07T02:30:00.085795682Z caller=compact.go:361 component=tsdb msg="compact blocks" count=1 mint=1512608400000 maxt=1512612000000
level=info ts=2017-12-07T02:30:03.080997533Z caller=head.go:345 component=tsdb msg="head GC completed" duration=135.564515ms
level=info ts=2017-12-07T02:30:04.84143907Z caller=head.go:354 component=tsdb msg="WAL truncation completed" duration=1.760338949s
level=info ts=2017-12-07T03:30:00.081869338Z caller=compact.go:361 component=tsdb msg="compact blocks" count=1 mint=1512612000000 maxt=1512615600000
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x159134a]

goroutine 7029625 [running]:
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*headChunkReader).Chunk(0xc4289568a0, 0xcdf7c0001fb, 0x28a0f40, 0xc4507dc560, 0x0, 0x0)
        /go/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/head.go:775 +0x8a
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*populatedChunkSeries).Next(0xc423fae5a0, 0xc4556e5bc0)
        /go/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:533 +0x12a
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*blockSeriesSet).Next(0xc433a9b340, 0xc4507dc001)
        /go/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:564 +0x48
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*mergedSeriesSet).Next(0xc433a9b380, 0xc4e098d901)
        /go/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:416 +0x245
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*mergedSeriesSet).Next(0xc433a9b400, 0xc4a2433401)
        /go/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:416 +0x245
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*mergedSeriesSet).Next(0xc433a9b540, 0xc4e10fecb8)
        /go/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:416 +0x245
github.com/prometheus/prometheus/storage/tsdb.seriesSet.Next(0x2893c80, 0xc433a9b540, 0xc4ae9cf0f0)
        /go/src/github.com/prometheus/prometheus/storage/tsdb/tsdb.go:208 +0x31
github.com/prometheus/prometheus/storage/tsdb.(*seriesSet).Next(0xc450c63220, 0x2890540)
        <autogenerated>:1 +0x45
github.com/prometheus/prometheus/promql.expandSeriesSet(0x289b2c0, 0xc450c63220, 0x5, 0x8, 0x289b2c0, 0xc450c63220, 0x500)
        /go/src/github.com/prometheus/prometheus/promql/engine.go:546 +0x6a
github.com/prometheus/prometheus/promql.(*Engine).populateIterators.func2(0x2881f00, 0xc48587c120, 0x0)
        /go/src/github.com/prometheus/prometheus/promql/engine.go:518 +0xf2
github.com/prometheus/prometheus/promql.inspector.Visit(0xc428e83860, 0x2881f00, 0xc48587c120, 0x2889100, 0xc428e83860)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:305 +0x3a
github.com/prometheus/prometheus/promql.Walk(0x2889100, 0xc428e83860, 0x2881f00, 0xc48587c120)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:254 +0x58
github.com/prometheus/prometheus/promql.Walk(0x2889100, 0xc428e83860, 0x2881cc0, 0xc43f084380)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:281 +0x832
github.com/prometheus/prometheus/promql.Walk(0x2889100, 0xc428e83860, 0x2881cc0, 0xc43f084440)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:280 +0x7d9
github.com/prometheus/prometheus/promql.Walk(0x2889100, 0xc428e83860, 0x2881cc0, 0xc43f084500)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:280 +0x7d9
github.com/prometheus/prometheus/promql.Walk(0x2889100, 0xc428e83860, 0x2881cc0, 0xc43f084540)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:281 +0x832
github.com/prometheus/prometheus/promql.Inspect(0x2881cc0, 0xc43f084540, 0xc428e83860)
        /go/src/github.com/prometheus/prometheus/promql/ast.go:315 +0x4b
github.com/prometheus/prometheus/promql.(*Engine).populateIterators(0xc4201c0ed0, 0x289cbc0, 0xc48587c180, 0xc4e07420a0, 0x411bcc, 0xc4202126c0, 0xc4e10ff2b8, 0x43c8ac)
        /go/src/github.com/prometheus/prometheus/promql/engine.go:515 +0x409
github.com/prometheus/prometheus/promql.(*Engine).execEvalStmt(0xc4201c0ed0, 0x289cbc0, 0xc48587c180, 0xc43f084580, 0xc4e07420a0, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/prometheus/prometheus/promql/engine.go:361 +0xf5
github.com/prometheus/prometheus/promql.(*Engine).exec(0xc4201c0ed0, 0x289cbc0, 0xc48587c180, 0xc43f084580, 0x0, 0x0, 0x0, 0x0)
        /go/src/github.com/prometheus/prometheus/promql/engine.go:341 +0x317
github.com/prometheus/prometheus/promql.(*query).Exec(0xc43f084580, 0x289cb40, 0xc420134540, 0xbe824b4ea59e679f)
        /go/src/github.com/prometheus/prometheus/promql/engine.go:179 +0xb8
github.com/prometheus/prometheus/rules.(*AlertingRule).Eval(0xc4b0456600, 0x289cb40, 0xc420134540, 0xbe824b4ea59e679f, 0x1164df035159b, 0x2967e40, 0xc4201c0ed0, 0xc42038cd00, 0x0, 0x0, ...)
        /go/src/github.com/prometheus/prometheus/rules/alerting.go:163 +0x133
github.com/prometheus/prometheus/rules.(*Group).Eval.func1(0x1bb1720, 0x8, 0xc4b0456680, 0xbe824b4ea59e679f, 0x1164df035159b, 0x2967e40, 0x0, 0x289ce80, 0xc4b0456600)
        /go/src/github.com/prometheus/prometheus/rules/manager.go:307 +0x194
github.com/prometheus/prometheus/rules.(*Group).Eval(0xc4b0456680, 0xbe824b4ea59e679f, 0x1164df035159b, 0x2967e40)
        /go/src/github.com/prometheus/prometheus/rules/manager.go:375 +0xbf
github.com/prometheus/prometheus/rules.(*Group).run.func1()
        /go/src/github.com/prometheus/prometheus/rules/manager.go:182 +0x81
github.com/prometheus/prometheus/rules.(*Group).run(0xc4b0456680)
        /go/src/github.com/prometheus/prometheus/rules/manager.go:207 +0x23c
github.com/prometheus/prometheus/rules.(*Manager).ApplyConfig.func1.1(0xc420134580, 0xc4b0456680)
        /go/src/github.com/prometheus/prometheus/rules/manager.go:511 +0x46
created by github.com/prometheus/prometheus/rules.(*Manager).ApplyConfig.func1
        /go/src/github.com/prometheus/prometheus/rules/manager.go:506 +0x56
level=info ts=2017-12-07T03:30:03.976175161Z caller=main.go:215 msg="Starting Prometheus" version="(version=2.0.0, branch=HEAD, revision=0a74f98628a0463dddc90528220c94de5032d1a0)"
level=info ts=2017-12-07T03:30:03.976263503Z caller=main.go:216 build_context="(go=go1.9.2, user=root@615b82cb36b6, date=20171108-07:11:59)"
level=info ts=2017-12-07T03:30:03.976307744Z caller=main.go:217 host_details="(Linux 4.4.0-95-generic #118-Ubuntu SMP Thu Sep 7 16:07:16 UTC 2017 x86_64 <IP_ADDRESS> (none))"
level=info ts=2017-12-07T03:30:03.978955907Z caller=web.go:380 component=web msg="Start listening for connections" address=<IP_ADDRESS>:9090
level=info ts=2017-12-07T03:30:03.979089041Z caller=targetmanager.go:71 component="target manager" msg="Starting target manager..."
level=info ts=2017-12-07T03:30:03.979067183Z caller=main.go:314 msg="Starting TSDB"
level=info ts=2017-12-07T03:30:14.228461082Z caller=main.go:326 msg="TSDB started"
level=info ts=2017-12-07T03:30:14.228554358Z caller=main.go:394 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2017-12-07T03:30:14.244134657Z caller=main.go:371 msg="Server is ready to receive requests."

level=info ts=2017-12-07T03:30:03.979067183Z caller=main.go:314 msg="Starting TSDB"
level=info ts=2017-12-07T03:30:14.228461082Z caller=main.go:326 msg="TSDB started"
level=info ts=2017-12-07T03:30:14.228554358Z caller=main.go:394 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2017-12-07T03:30:14.244134657Z caller=main.go:371 msg="Server is ready to receive requests."


MNT:Deployment script that utilizes conda and epics ioc infrastructure

attn @hhslepicka

This is not good to go. I still need to finish the script on the google docs and improve some stuff such as the port used on the manage-iocs.
DO NOT USE IT YET.


Cannot login into admin anymore

PHP Version
8
Shopware Version
<IP_ADDRESS>
Expected behaviour
Successful login into admin.
Actual behaviour
After updating to sw <IP_ADDRESS> I cannot login into the backend anymore. I get the error:
Mixed Content: The page at 'https://mysite.de/admin/#login' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://mysite.de/api/oauth/token'. This request has been blocked; the content must be served over HTTPS.
How to reproduce
Use a reverse proxy to handle the SSL-Certificate and forward to the actual shop without SSL.
My .env has this line
SECURE_SCHEME=https

Before updating, it worked.

Configure https://symfony.com/doc/3.2/components/http_foundation/trusting_proxies.html correctly. SECURE_SCHEME should not have any affect on Shopware

Is also set:
TRUSTED_PROXIES=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>,REMOTE_ADDR

do you have an x-forwarded-proto?

yep: in my nginx config these values are set:
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Forwarded-Port $server_port;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Server $host;

does your trusted proxies look like this? https://github.com/shopware/production/blob/6.4/public/index.php#L66

When I add
var_dump(explode(',', $trustedProxies));```

to this line,  get this output:

array(4) {
| [0]=>
  | string(9) "<IP_ADDRESS>"
  | [1]=>
  | string(9) "<IP_ADDRESS>"
  | [2]=>
  | string(10) "<IP_ADDRESS>"
  | [3]=>
  | string(11) "REMOTE_ADDR"
  | }

... and yes, the file is exactly the same :(

We have the same issue after updating one of our dev-instances to <IP_ADDRESS> (development-template). We are using Cloudfront as CDN with non-SSL traffic to the real ec2.

Can you try?
https://github.com/shopware/platform/pull/2101

Can you try? #2101

works!


Firefox 45.0.1 Unsecure connection - prohibiting tests running

Firefox seems to have certificate security issues when booting up from Protractor, hangs and then doesn't run the tests. We tried to set the homepage to something other than Firefox first start page (https://www.mozilla.org/en-US/firefox/45.0.1/firstrun/learnmore/) on start but it ignores the settings. We also tried to add this exception but it didn't solve this issue, nor would I see how it could on a CI environment.
This has been tested on multiple workstations and worked prior to upgrade to this version (previous versions were 44.x).
Screenshot of security warnings
Bug report

Node Version: >=4.1.2
Protractor Version: ~3.0.0
Browser(s): Firefox 45.0.1
Operating System and Version OSX El Capitan 10.11.3
Your protractor configuration file

'use strict';

var paths = require('./.yo-rc.json')['generator-gulp-angular'].props.paths;

// An example configuration file.
exports.config = {

  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'firefox'
  },

  // Spec patterns are relative to the current working directly when
  // protractor is called.
  specs: [paths.e2e + '/**/*.js'],

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 60000
  },

  allScriptsTimeout: 60000
};

A relevant example test

navbar.po.js
'use strict';

var Navbar = function() {
  this.navbar = element(by.css('nav'));
  this.searchButton = this.navbar.element(by.css('.search'));
  this.logoButton = this.navbar.element(by.css('.logo'));
};

module.exports = new Navbar();

navbar.spec.js
'use strict';

describe('Navbar', function () {
  var navbar;

  beforeEach(function () {
    navbar = require('./navbar.po');
  });

  describe('the logo', function () {
    beforeEach(function () {
      browser.get('http://localhost:3000/about');
    });

    it('should go to the home page when clicked', function () {
      navbar.logoButton.click().then(function () {
        expect(browser.getCurrentUrl()).toBe('http://localhost:3000/');
      });
    });
  });
});

Output from running the test

Selenium standalone server started at http://<IP_ADDRESS>:53357/wd/hub

/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:108
  var template = new Error(this.message);
                 ^
UnknownError: Unable to connect to host <IP_ADDRESS> on port 7055 after 45000 ms.  Use isContentWindowPrivate instead (but only for frame scripts).
pbu_isWindowPrivate@resource://gre/modules/PrivateBrowsingUtils.jsm:25:14
get_inPrivateContext@chrome://global/content/bindings/autocomplete.xml:159:8
handleEnter@chrome://global/content/bindings/autocomplete.xml:523:18
handleKeyPress@chrome://global/content/bindings/autocomplete.xml:498:24
onKeyPress@chrome://global/content/bindings/autocomplete.xml:431:18
onxblkeypress@chrome://global/content/bindings/autocomplete.xml:600:8

    at new bot.Error (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:108:18)
    at Object.bot.response.checkResponse (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/response.js:109:9)
    at /Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:160:24
    at [object Object].promise.Promise.goog.defineClass.invokeCallback_ (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1337:14)
    at [object Object].promise.ControlFlow.goog.defineClass.goog.defineClass.abort_.error.executeNext_.execute_ (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2776:14)
    at [object Object].promise.ControlFlow.goog.defineClass.goog.defineClass.abort_.error.executeNext_ (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2758:21)
    at goog.async.run.processWorkQueue (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/run.js:124:15)
    at process._tickCallback (node.js:402:9)
From: Task: WebDriver.createSession()
    at Function.webdriver.WebDriver.acquireSession_ (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:157:22)
    at Function.webdriver.WebDriver.createSession (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:30)
    at [object Object].Builder.build (/Users/user/workspace/user-app/node_modules/protractor/node_modules/selenium-webdriver/builder.js:445:22)
    at [object Object].DriverProvider.getNewDriver (/Users/user/workspace/user-app/node_modules/protractor/lib/driverProviders/driverProvider.js:38:7)
    at [object Object].Runner.createBrowser (/Users/user/workspace/user-app/node_modules/protractor/lib/runner.js:186:37)
    at /Users/user/workspace/user-app/node_modules/protractor/lib/runner.js:276:21
    at _fulfilled (/Users/user/workspace/user-app/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/Users/user/workspace/user-app/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/Users/user/workspace/user-app/node_modules/protractor/node_modules/q/q.js:759:13)
    at /Users/user/workspace/user-app/node_modules/protractor/node_modules/q/q.js:573:44
[launcher] Process exited with error code 1

/Users/user/workspace/user-app/gulp/e2e-tests.js:23
        throw err;
        ^
Error: protractor exited with code 1

Steps to reproduce the bug
Simple command-line usage, we run our protractor tests via gulp. I can provide gulp task code if necessary but this doesn't seem like a gulp problem.
The URL you are running your tests against (if relevant)
localhost

When TravisCI upgraded from FF v45.0 Linux to v45.0.1, the Protractor tests stopped working (Error('Timed out waiting for the WebDriver server at ' + url)); Using FF v45.0 fixed the issue on TravisCI.
Now seeing the same thing happening after FF upgraded to v45.0.1 on OSX. Changed Protractor config to use "chrome" as the browser (and used webdriver-manager update to get chromedriver), and everything works fine.
FF v45.0.1 == :imp:

Any updates on this issue?

@chriswong929 Seems like it's working post 45.0.1! Working fine since 45.0.2.

Thanks For the update - I'll check it out
Sent from my iPhone

On 4 May 2016, at 10:40 PM, Matthew Rowles<EMAIL_ADDRESS>wrote:
@chriswong929 Seems like it's working post 45.0.1! Working fine since 45.0.2.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

45.0.1, 45.0.2 and 46.0 on Travis CI (Linux) do not work with Protractor 3.1.1.
Version 45.0 works on Travis CI. Sticking with that for now.

Let me check logs when I get in, we perhaps are running an old version also now. Sorry! Locally it runs fine on those versions though

I should add, the website address I'm connecting to is https://localhost:3000/. The certs are self-signed (part of webpack). Haven't had a problem with Firefox until 45.0.1

Actually, 46 is not working locally now, it must have been 45.0.2 and 45.0.3 that worked.

FF 47 beta 7 EN-GB Windows also not working with Protractor 3.2.1. Tried with both a HTTP and HTTPS version of the site. Site works fine with FF v45.0 Windows (EN-GB).
From my testing (see history above) no version of Firefox after version 45.0 works with Protractor 3.2.1.

We've been having the same issue, we've had firefox disabled for the past couple months because we cannot get protractor to run on any of the newer versions.

Same here wit Firefox version: 47.0

Using Ubuntu 16.04, Firefox 47.0. It isn't working. I get a "WebDriverError: Connection refused" error message

I am experiencing the same with Firefox 47.0.1
11:55:23.900 INFO - Executing: [new session: Capabilities [{count=2, browserName=firefox}]])
11:55:23.901 INFO - Creating a new session for Capabilities [{count=2, browserName=firefox}]
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host <IP_ADDRESS> on port 7055 after 45000 ms.

Subscribing. Same for me with 47.0+build3-0ubuntu<IP_ADDRESS>.

Same as above: Firefox 47 for Linux Mint

@cnishina for firefox woes :)

same for me; from 45 on all versions of firefox does not work.
the upstream issue is described here and is a bug in firefox solved in 47.0.1 but i cannot confirm it: https://github.com/SeleniumHQ/selenium/issues/2204
i think that all the tickes that lead to this fix (https://github.com/angular/protractor/issues/3384) were starting from having this firefox issue; this could help you dealing with such users.

Same issue with FF 48.0.1 on Mac and Windows.

Hi, I've tested this with Firefox 48.0.2 on OSX 10.11.6, using protractor 3.2.2 and whilst the security message is gone, absolutely nothing happens in the browser - nor can I see any console logs:
WebDriverError: Unable to connect to host <IP_ADDRESS> on port 7055 after 45000 ms. Firefox console output:

I'll +1 to that. I've tried with Protractor Version 4.0.4 on Mac and any Firefox after 38+
No options adding in Marionette: true or directConnect: false / true seem to work.

I'm going to go ahead and close this as obsolete. FF 47 works. FF 48 and 49 don't work with anything because of changes to webdriver, and we're investigating getting FF50 running now that webdriver@3 is out.

This issue seems to keep bubbling up.  Our CI env just updated to FF ESR (extended service release) v52.4, which has the certs problem again.
I see chrome has a nice way to bypass self signed certs via chromeOptions in the protractor.conf, ideally other browsers would have analogous config options.


NodeJS auto-instrument agents cannot be used as expected

Please answer these questions before submitting your issue.

Why do you submit this issue?
[  ] Question or discussion

Question

What do you want to know?
We shouldn't say we support NodeJS auto-instrument agents, because it cannot run as expected. One critical bug is that span references(childof) is incorrect. The agent lack of a "ThreadLocal" implementation, it cannot set/get per-request context.

NodeJS is not an official Apache repo. The issue is not managed here.

I mean we should modify our documents
SkyWalking supports to collect telemetry (traces and metrics) data from multiple sources and multiple formats, including
Java, .NET Core,  NodeJS and PHP auto-instrument agents in SkyWalking format

There is no ThreadLocal in NodeJS. It works for some cases already, we don't need to remove it from my understanding. If it isn't suitable for you, you could contribute, that is how open source project works.


Is the drop to nexus central automatic?

The nexus repos that hold release up to 4.2.0-beta.3 have not recieed beta.4 as yet as far as I can tell at least.   So just checking in case a step got skipped in the release process (or that I just haven't wating long enough).

The releases of Dropwizard Metrics are indeed automated via a GitHub workflow:
https://github.com/dropwizard/metrics/blob/v4.2.0-beta.4/.github/workflows/release.yml
Unfortunately the original workflow run failed due to a problem with OSSRH, but the latest run succeeded:
https://github.com/dropwizard/metrics/actions/runs/726168628

thanks.  our nexus proxy finds it now.
On Tue, Apr 13, 2021 at 11:39 PM Jochen Schalanda @.***>
wrote:

Closed #1863 https://github.com/dropwizard/metrics/issues/1863.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dropwizard/metrics/issues/1863#event-4591695964, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDZE3ZI6QMWHJF4ICCAMYTTIU2D5ANCNFSM424G74LQ
.

--
https://smart.salesforce.com/sig/jgalloway//us_mb/default/link.html


Seems a problem with huawei mapkit 2.3.0

i did not check the app back then when i upgraded it
Today, i checked how it would look like in the map but no map shows up and in logcat it shows this error message
HmsMapKit_...ragment_13          E  MapsInitializer is not initialized.

Sorry. Closing this for now. might be an internal huawei issue. Ill contact them for support.

@SupasinTatiyanupanwong hi. could the issue be within the library? i never touched anything else since using this but i noticed now the maps do not get loaded because it says MapsInitializer is not initialized.

Closing this. The issue was that MapsInitialize.initialize() is required for Huawei Maps.

Hi @chitgoks ,
Thank you for reporting this. Ideally I think perhaps the library should do this for you. What do you think?

hi. i actually thought at first huawei maps should throw an exception so we would know. but then google maps does not throw any as well.
still, i think huawei maps should because they only introduced this probably last yr, but i never called that method because i never read the change log
i also never received rejected submissions until now. they probably forced users to call it, else no map rendered.

if you can add it such that it will throw an exception if MapsInitializer is not initialized, that would be helpful.
because right now it just shows the error message in console. it doesnt crash the app

I believed Google Maps SDK also asking clients to manually call MapsInitializer.initalize if necessary as well. But, they also handle this themselves on our behalf if possible when we are using their Maps SDK. Perhaps it would be better if the lib will call the initializer under the hood.

ah i didnt know that. no wonder i didnt see any errors in google maps if it automatically handles it for us regardless. This is how i think huawei shoul have done it as well since i never check what's new, i only depend on compiler errors if there are new changes.
that will definitely help if mapkit will call MapsInitializer.initialize() under the hood.


Change Thriftserver icon to differentiate from Spark

Context: https://github.com/opendatahub-io/odh-dashboard/pull/32#discussion_r560609796

No longer tracked in our resources -- OdhApplication resources now track the icon.


[W20]

Late update of the schedule. So so sorry it is so late but we just made our final decisions ~24 hours ago!
I have added in the schedule to the "ACL 2020 Workshop Information" sheet under W20 tab. Should we update it on the workshop page or how do you want to handle it at this stage?

@kverspoor  I will add this onto the workshop page. I see that there are quite a few unlabeled events. Is there any reason you've added only certain events? If not, is it okay if I put in all events mentioned in the detailed spreadsheet? (https://docs.google.com/spreadsheets/d/1eem24ssMD1wzWWBqSrlmqdIoM_0NkeM8UjOKKyu0B2M/edit#gid=0)

@kverspoor Okay, I noticed your comment below the doc link and copied everything over. Is it possible to get a timeline for  the closing end time?

We will end after the final Q&A, so 21:30

Sorry I think I must have two "ACL 2020 Workshop Information" spreadsheets because I put the complete details in a different one. Anyway since you found the source that is fine :)

We will end after the final Q&A, so 21:30

Sorry for being ambiguous. Our default schedule format includes both start and end times for each event. I understand that the spreadsheet only lists the start times for events. I meant to ask about the time the closing concludes (21:30-XX:XX)

Sorry I think I must have two "ACL 2020 Workshop Information" spreadsheets because I put the complete details in a different one. Anyway since you found the source that is fine :)

Yeah, it's all good :)

I really meant that we are ending at 21:30. There is no "closing session". So just 21:30-21:30!
Best regards,
Karin
sent from a device that encourages brevity and typos

From: tlikhit<EMAIL_ADDRESS>Sent: Wednesday, July 8, 2020 6:35:46 PM
To: acl-org/acl-2020-virtual-conference<EMAIL_ADDRESS>Cc: Karin Verspoor<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [acl-org/acl-2020-virtual-conference] [W20] (#569)
We will end after the final Q&A, so 21:30
Sorry for being ambiguous. Our default schedule format includes both start and end times for each event. I understand that the spreadsheet only lists the start times for events. I meant to ask about the time the closing concludes (21:30-XX:XX)
[Screen Shot 2020-07-08 at 4 24 32 AM]https://user-images.githubusercontent.com/58948612/86895927-30591b80-c0d3-11ea-9bf8-157e93fd65c6.png
Sorry I think I must have two "ACL 2020 Workshop Information" spreadsheets because I put the complete details in a different one. Anyway since you found the source that is fine :)
Yeah, it's all good :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/acl-org/acl-2020-virtual-conference/issues/569#issuecomment-655376183, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABEXND6MGP2Y44OJ5ZJJ7O3R2QVWFANCNFSM4OUIQFMQ.

Ah, that makes sense. Thanks!

sent from a device that encourages brevity and typos

😂


Powershell issue

There's an issue in the powershell code under "To view the list of all user accounts in your organization that have been assigned any of your licensing plans (licensed users), run the following command:"
The wrong code starts with :

Get-AzureAdUser | ForEach { $licensed=$True ;

however $licensed should be initialized with $false

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

ID: bde00c3a-d106-76a1-1dc4-ad2306497187
Version Independent ID: 27e87ec9-9ff3-333f-32fe-b45a4ee3d3fb
Content: View licensed and unlicensed Microsoft 365 users with PowerShell - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/view-licensed-and-unlicensed-users-with-microsoft-365-powershell.md
Service: o365-administration
GitHub Login: @JoeDavies-MSFT
Microsoft Alias: josephd

@pbox Thank you for your feedback. Per the document, you would make the below changes in the cmdlets
To view the list of all user accounts in your organization that have NOT been assigned any of your licensing plans (unlicensed users), you use $licensed=$False
To view the list of all user accounts in your organization that have been assigned any of your licensing plans (licensed users), you use $licensed=$True
So, I don't think any changes are required. Hope this clarifies your question.
Thanks
Sri

I understand what your saying, but the point of that code is to "To view the list of all user accounts in your organization that have been assigned any of your licensing plans (licensed users)" but it does not work because it show every user (licensed and unlicensed) because nothing ever sets $licensed to $false.
pseudo code bellow
for each user in azure {
licensed = true
if at least one license is applied{
licensed=true
}
if licensed = true { this is always true
display user
}
}
The only difference between showing licensed or unlicensed users should be in the if statement.
wrong code from the site bellow, simply formated better
 Get-AzureAdUser | ForEach {
     $licensed=$True ; # <= should be $false
     For ($i=0; $i -le ($_.AssignedLicenses | Measure).Count ; $i++) {
         If( [string]::IsNullOrEmpty(  $_.AssignedLicenses[$i].SkuId ) -ne $True) {
             $licensed=$true
         }
     }

      If( $licensed -eq $true) {  # <= $true or $false whether you're trying to check if licensed or not
         Write-Host $_.UserPrincipalName
      }
}

Thank you. I will test the code and update the document if required.
Thanks,
Sri
From: pbox<EMAIL_ADDRESS>Sent: Thursday, December 3, 2020 3:15 PM
To: MicrosoftDocs/microsoft-365-docs<EMAIL_ADDRESS>Cc: Sriraman M S<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/microsoft-365-docs] Powershell issue (#3581)
I understand what your saying, but the point of that code is to "To view the list of all user accounts in your organization that have been assigned any of your licensing plans (licensed users)" but it does not work because it show every user (licensed and unlicensed) because nothing ever sets $licensed to $false.
pseudo code bellow
for each user in azure {
licensed = true
if at least one license is applied{
licensed=true
}
if licensed = true { this is always true
display user
}
}
The only difference between showing licensed or unlicensed users should be in the if statement.
wrong code from the site bellow, simply formated better
Get-AzureAdUser | ForEach {
$licensed=$True ; # <= should be $false
For ($i=0; $i -le ($.AssignedLicenses | Measure).Count ; $i++) {
If( [string]::IsNullOrEmpty(  $.AssignedLicenses[$i].SkuId ) -ne $True) {
$licensed=$true
}
}
  If( $licensed -eq $true) {  # <= $true or $false whether you're trying to check if licensed or not
     Write-Host $_.UserPrincipalName
  }

}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/MicrosoftDocs/microsoft-365-docs/issues/3581#issuecomment-737795260 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AK63OZCX3HLBSGCWOHVTQVLSS5M23ANCNFSM4UEWVVDQ .  https://github.com/notifications/beacon/AK63OZALG5TV24VKLHXA5PLSS5M23A5CNFSM4UEWVVD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFP45ZPA.gif

@pbox Thank you again for your valuable feedback. You are correct! The code needs to be modified and I have done that via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/3647
The document will be modified once the author approves the Pull request.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @pbox Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Handle DDF Scopes appropriately

The Engine should be able to handle DDF-specific scopes. When an entity is specified in the Scope, the engine should apply the rules to the items within that class.

There is a red line when you add Entities and Attributes to the Rule Editor. I will delete the other issue.

I agree that Include and Exclude in Scope need to be applied for Entities. At the moment, the rule is applied to all "datasets" (i.e., sheets) included in the test data Excel file.  For rules that cross-check between entities, it's likely that information from one entity will be processed using Operations to be made available via an operation variable for checking of the primary entity dataset.  In this situation, correct handling of Scope is necessary to prevent the rule being executed for the entity that is intended to be referenced only via Operations.

It should also be possible to define "All" for Scope / Entities / Include for generic rules that are based on variable existence like DDF00010 (#94) and DDF00014 (#93).


Specify conda environment via hdfs path

Currently if you specify an environment it must exist locally as a .zip file, and is always stored in hdfs by knit in a .knitDeps repo. If a file of the same name/path already exists on hdfs, has the same size, and the timestamp is after the local file, then uploading of the environment is skipped.
This is problematic for us for a few reasons:

Managing local zipped conda environments is a delicate process
We'd like to store them in our own central location, with permissions managed across a few users
We'd like the code not to need a local build of the environment.
We'd like to manage environments separate from managing deployments. These are related concepts, but tying them together in that way is limiting.

As such, it would be nice if env could also be specied as an hdfs path. This could be detected by looking for a 'hdfs://' prefix on the specified path.

Agreed, good idea.

The tricky thing here is that the zipfile is assumed to contain an environment directory, since the line in the client env("PYTHON_BIN") = s"./PYTHON_DIR/$envName/bin/python" uses that name. The extra directory level isn't particularly useful, there will only ever be one. Not certain which way to go on this.

I'd be for nixing the extra directory name, as you're right, there should only be one.

In the meantime, I should probably remove all the string processing in scala - we'll pass in upload file (or none), hdfs location, and env variables for python. Note that the patch creation from env name, and setting of environments happens in two places in scala, both client and app-master.

Oh, wait, I misunderstood you a bit here, thought the zipped environment contained the PYTHON_DIR/$envname/ bit.
For the record, the current behavior is:
Given a zip file named my_env.zip, this must unzip to a single directory my_env/, which is a conda environment. PYTHON_BIN is then set to ./PYTHON_DIR/my_env/bin/python.

Did you mean that the environment should unzip to many directories (e.g. bin, lib, etc...), and that PYTHON_BIN would be ./PYTHON_DIR/bin/python? In that case I'm not sure if that's a good idea. On the one hand, this would keep commands between environments the same, meaning the path to python would always be ./PYTHON_DIR/bin/python. On the other hand, this adds many things into the PYTHON_DIR directory.

An alternative solution would be to keep with the current convention, and take the basename of the provided hdfs path to be the environment name (same as is done on the local system). Everything continues to work the same then.

Of these two options I think I like the existing behavior better. Given a zipped conda environment named foo.zip I'd expect it to unzip to a directory foo/ which contains all the environment folders. However I can see arguments for the second, as it makes the folder structure consistent (no need to worry about the name of the environment). This could be supported in the existing design by just renaming the folder after unzipping. Something like:
$ unzip my_env.zip
$ mv my_env CONDA_ENVIRONMENT  # or some other consistent path

Yes, I was thinking of having the python executable at './PYTHON_DIR/bin/python'.
Can we assume really that myenv.zip contains myenv/, and python lives within there? I suppose if we say so loudly in the doc, but we can't check this at run time. This is by far easier to implement given the current code, I'm not sure it's cleaner. Another possibility would be to pass the subdirectory name as yet another parameter...

Can we assume really that myenv.zip contains myenv/, and python lives within there?

That's how the current code works, and it doesn't seem to be a problem currently. I'd be -1 on adding yet-another-parameter, so whatever the solution is shouldn't require that.

Another alternative would be to ditch the whole concept of conda environments and just have knit deal with

running a bash command
possibly unzipping a folder in the top-level environment before running that command

Something like:
knit = knit.Knit()
knit.start(cmd, cpu, archive=path_to_zip)  # or some better kwarg

where path_to_zip is either a local path or a path on hdfs. On each node all the worker does is:

download the archive
unzip it in a working directory (or untar, etc... if we support other formats)
execute cmd in that directory

I think this is my favorite solution. No need for conda specific stuff, and what happens with the archive file seems clearer.

Could also name the kwarg resources and have it take a list of paths. Then the files kwarg could be removed. Execution would then be:

Upload each resource to hdfs if not already an hdfs path
Download each resource to the workers in the order provided, unzipping any zipped files
Run the command on each worker

Knit does allow you to run any bash command; and you can also upload files. There is no extension checking, so those files are assumed to be unzipped, but there could be. It would be easy enough to extend that to zip archives (I don't know what formats YARN would support). YARN does unzipping by itself, and we of course don't know what they contain beforehand; we could also run unzip via python or bash.
Lots of possible modes.

Knit does allow you to run any bash command; and you can also upload files.

I know that, the comment above was just an effort to reconcile the various options into a simpler (in my mind) and smaller set. Currently env is conda specific, but it doesn't need to be. A general list of (zip)files and a single command seems simpler. Conda specific stuff could be built on top of that, but the core isn't coupled to it.
Anyway, just brainstorming here. I only know my needs/wants, others may differ.

Question: if we have a list of resources ['directory', 'file', 'file.zip', 'hdfs://file', 'hdfs://file.zip'], it's obvious which to zip up, which are already archives, and which are already on HDFS. Anything to be uploaded will go into .knitDeps/file where file is the basename. So, we need a separate variable to define the /bin directory where python and dask-worker executables are to be found. As we send the full command string, this can be done directly on the python side rather than setting PYTHON_BIN and conda env-variables, or we could just add the right dir to the container PATH.
Any preferences?

Hmmmm, in my mind knit shouldn't do anything python-specific - it's just running a bash command on a container given a set of resources. Two ideas:

Just pass the command string as you suggested
Also allow passing a mapping of environment variables to set. Then the user of knit could fully define their environment:

knit.start(cmd, resources=['directory', 'file',...], environ={'PYTHON': 'directory/bin/python',...})

I'm not sure which is better though.

Fixed by #101


Determine notifications 1.0

Data design
Origin design (IAPI vs. client side vs. wallet server (?) )
Most useful/tractable notification to start with

Proposal: https://docs.google.com/document/d/1hE_yWrtrFTVwMEDCp8btH4c7Q9hoM32ebLrwVwCVpNc/edit

@eukreign any interest in making a case that the wallet server should compute any of these rather than IAPIs?

My hunch is that a notification system is inherently centralized and so should only be available for "real logged-in users". You need to have their information on lbry servers to determine if a notification should be sent to them.
So far the scope of the SDK codebase has been to only support decentralized features.
That's not to say that some internal APIs couldn't use the SDK (especially once we add postgresql/mysql support so that it can scale better) to do wallet specific notifications for users that are plugged into the LBRY Inc ecosystem (have logins).
With SDK supporting a real relational database I can see lbry.tv and any notifications service connecting either directly to this db or via an SDK instance to get what they need.

Yeah, we're going to do this in IAPIs. I think there is a model where we eventually bring some of what IAPIs does into the wallet server, at which point it would be available to users without accounts. But let's leave that for when we have more resources.


Custom enums

DBeaver type representation

type Film struct {
	ID           string
	Name         string
	ReleaseYear  int
	Genres       []string
	CoverImageId string
}

func GetFilms() ([]*Film, error) {
	ctx := context.Background()
	var films []*Film
	err := pgxscan.Select(ctx, DBConn, &films, `SELECT * FROM film;`)
	if err != nil {
		return films, err
	}
	return films, nil
}

Error:
{
    "error": "scany: scan row into struct fields: can't scan into dest[2]: unknown oid 16397 cannot be scanned into *[]string"
}

The problem is clearly that scany doesn't work with custom enums. How to make it work like in https://github.com/jackc/pgx/blob/master/example_custom_type_test.go?

Hello!
scany just passes your field to the pgx library, it does by taking a reference: &Genres, so pgx receives *[]string type. It's your responsibility to use a type that pgx library can handle.
See<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Basically you need to use a type that implements sql.Scanner interface or special pgx Decoder interface as in the example you mentioned.
Something like that:
type CustomEnum []string

func (ce *CustomEnum) Scan(b []byte) error {
     ...
}

type Film struct {
	ID           string
	Name         string
	ReleaseYear  int
	Genres       CustomEnum
	CoverImageId string
}

Thank you for replying! Will try this.

I forgot to add that it worked like a charm. Thanks again!


Item link doesn't work correctly

When you enter the url with the Browse option the complete url will be used here (http://www.domain.com/page) instead of only /page. When you click an item the link won't be set correct: http://www.domain.com/http://domain.com/page
Screenshot:

Thanks for reporting! Give me a couple hours and I'll fix it, I always
thought that links would be used just for internal links (to other pages
inside the website), but you're right, could be used for external links.
On Thu, Mar 5, 2015 at 9:29 AM, Avriet<EMAIL_ADDRESS>wrote:

When you enter the url with the Browse option the complete url will be
used here (http://www.domain.com/page) instead of only /page. When you
click an item the link won't be set correct:
http://www.domain.com/http://domain.com/page
Screenshot:
[image: ip_masonry_plugin_bug]
https://cloud.githubusercontent.com/assets/7957254/6506517/015edc50-c34c-11e4-96ef-0c4a41a202d6.png
—
Reply to this email directly or view it on GitHub
https://github.com/icampana/MasonryGrid/issues/1.

--
Atte.
Iván Gabriel Campaña Naranjo
http://icampana.blogspot.com/
Mov.  593-9-830 1093
Casa 593-4-601 6265

Correction made, should fix the issue, let me know if everything is working all right!

Awesome job, works perfectly now!


Beam Sync storage & bytecode backfill

What was wrong?
Fixes #854
How was it fixed?
WIP
To-Do

[x] Rebase on #1768
[x] py-evm release, and upgrade to published version
[ ] Clean up commit history (after review :+1: )
[x] Rebase on #1844
[x] lint
[x] Peel off a couple of isolated PRs
[x] Rebase on merged, isolated PRs
[x] Refactor duplicate logic for cleaning up paused account search
[x] Replace all TODOs with issues
[x] Build special test database with cold data
[x] Test that accounts are missing
[x] Backfill accounts
[x] Test that storage is missing
[x] Backfill storage
[x] Test that bytecode is missing (need new fixture!)
[x] Backfill bytecode
[x] new issue: Save progress so that exiting and restarting trinity doesn't require rewalking the trie from scratch #1817
[x] new issue: test that epoch crossover is happening #1815
[x] new issue: test a state change that triggers a TraversedPartialPath to make sure that code path is tested #1816
[x] ~Probably in new issue:~ find keys based on recent state root

[x] Add entry to the release notes

Cute Animal Picture

In the home stretch, but this PR is giant, so I'll start peeling pieces off for review, where possible.

Okay, chiseled this down to the last piece: bytecode and storage backfill. Ready for review!


CI2, uniform 1.11 and bumped other dependencies

This is bringing maestro in line with the latest version of uniform and its other dependencies.
Also changing our CI to use ci2, to resolve the AFO issue.

LGTM  👍

As discussed, I've updated the line to:
sbt test package benchmark/test:compile example/test example/assembly
which should satisfy both concerns!

👍


gateware.usb2: add disconnect signal to USBResetSequencer

This draft PR adds a disconnect signal that, when pulled high by USBDevice, causes the UTMI interface's operating mode to be set to NON_DRIVING in order to trigger a host disconnect.
Open questions:

Is this the best place to put the logic? e.g. Would it be better to tie it to the USBResetSequencer state machine and only operate if we're in state LS_FS_NON_RESET or HS_NON_RESET?
I've run into some weirdness where, after data has been transferred on any of the non control endpoints, I can no longer enumerate the device after disconnect/connect. This may however be due to a bug in my code. Currently investigating.  It was indeed a software bug.

Sorry for the long delay answering.
After going over the spec, I think tying this into the state machine as suggested is the way to go (thought I don't think it needs to be restricted to only work in particular states, after all we're simulating a device being unplugged and that could happen at any time).
According to the spec, there's a minimum time (TDDIS) that the host needs to see the lines non-driven before detecting a disconnect state, so we should have the state machine guarantee that, and then stay non-driving for longer if the user continues to assert disconnect.

Closes #143

Updated as per recommendation and everything is working swimmingly. The one surprise was that I needed to transition to START_HS_DETECTION when exiting DISCONNECT rather than INITIALIZE to avoid ending up in a reset loop.

Updated as per recommendation and everything is working swimmingly. The one surprise was that I needed to transition to START_HS_DETECTION when exiting DISCONNECT rather than INITIALIZE to avoid ending up in a reset loop.

I think we'll need to find a different solution since low/full speed devices should not transition to that state. Can you expand a bit more on the behaviour when exiting into other states? Resetting the operating mode back to normal upon exiting DISCONNECT might solve it.

Heh, I thought you may say something like this -- let's go through it one-by-one:

ls/fs devices should not transition to that state

Strictly speaking, yes I agree 100% that this is not ideal. The reason it does work though is that START_HS_DETECTION will transition back to IS_LOW_OR_FULL_SPEED in the event of it being a ls/fs device.

Expand a bit more on behaviour when exiting into other states?

I think the root issue with the other states, and why we end up with reset loops with all the alternatives, is that they are all assuming the bus is at reset on entry. This is however not an assumption which is true after a forced disconnect.
Another option I did explore to work around this was to move the SE0 line checks out of LS_FS_NON_RESET and HS_NON_RESET into their own states but I could only get it working in cases where the device speed wasn't changed between disconnect/connect. (a common case with Facedancer emulations) This may however have more to do with my ignorance than the validity of the approach.
I tried a lot of things, but here are some of the failure modes I saw in all cases except the approach used in the PR:

Never works. Reset loop irrespective of device speed prior or post disconnect.
Works all the time on ls/fs. Never works on hs.
Works all the time on hs. Never works on ls/fs.
Works if device speed stays the same but loops on changing speed.

Resetting the operating mode back to normal upon DISCONNECT.

Very first thing I tried… 😅

Oh the other thing I wanted to mention was that the existing gateware is pretty much following this approach already if you look at the actual state transitions:
INITIALIZE => LS_FS_NON_RESET from which it will either transition to SUSPENDED or - wait for it - START_HS_DETECTION !
But wait… it gets better:
As written the guard around the transition to START_HS_DETECTION will only block the transition if self.low_speed_only or self.full_speed_only are both high. I don't think it ensures "If we're okay to run in high speed".
Which of course never happens in reality because it's normally either neither or one or the other so of course we will always make that transition irrespective of whether we've configured the device for ls/fs or high speed operation…
The real kicker though is that with the logic -- as written -- it course means that if they are ever both set high the gateware will never exit LS_FS_NON_RESET except if the device is suspended so much hilarity would ensue 🤣
Which is pretty much where I found myself last week when I figured we probably have two options at this point:

Accept that there may be deeper problems and carefully review the whole of USBResetSequencer with spec in hand.
Accept that things are not ideal, but we have emperical evidence for something that works for now so maybe we should merge for now and tighten things up when there's a bit more time to put towards it?

Having gone back over the state machine with your comments in mind, I've got some thoughts further to the call earlier.

Oh the other thing I wanted to mention was that the existing gateware is pretty much following this approach already if you look at the actual state transitions:
INITIALIZE => LS_FS_NON_RESET from which it will either transition to SUSPENDED or - wait for it - START_HS_DETECTION !
But wait… it gets better:
As written the guard around the transition to START_HS_DETECTION will only block the transition if self.low_speed_only or self.full_speed_only are both high. I don't think it ensures "If we're okay to run in high speed".

This, as far as I can see, is not correct. The guard will block transition if either of them are high (ie: it transitions if self.low_speed_only is low and self.full_speed_only is low). If either are high, it will (and does!) stay in LS_FS_NON_RESET - this is the expected behaviour, since the operating speed/mode has already been set either at reset, in INITIALIZE, or in IS_LOW_OR_FULL_SPEED.
I've verified on the scope, looking at the data lines & the state signal, that it does not currently go through START_HS_DETECTION etc. on a low/full-speed only device, so introducing that behaviour is a hack I'm really not keen on. It happens to work because it goes straight to HS negotiation before the host has issued a reset, so the host isn't yet ready to interpret a device chirp & our device times out waiting for the host chirp, but that's all very fragile.
I've pushed an alternate attempt here: https://github.com/miek/luna/commit/16f9a6ca56360567a1a6128a76584cf6516aacc9 - this sets all the PHY parameters back to expected defaults before going through INITIALIZE, and it seems to be working OK for me:
[272864.421992] usb 1-<IP_ADDRESS>: new high-speed USB device number 38 using xhci_hcd
[272864.530079] usb 1-<IP_ADDRESS>: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[272864.530083] usb 1-<IP_ADDRESS>: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[272864.530238] usb 1-<IP_ADDRESS>: New USB device found, idVendor=16d0, idProduct=0f3b, bcdDevice= 0.00
[272864.530240] usb 1-<IP_ADDRESS>: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[272864.530240] usb 1-<IP_ADDRESS>: Product: Test Device
[272864.530241] usb 1-<IP_ADDRESS>: Manufacturer: LUNA
[272864.530242] usb 1-<IP_ADDRESS>: SerialNumber: 1234
[272867.769013] usb 1-<IP_ADDRESS>: USB disconnect, device number 38
[272882.081335] usb 1-<IP_ADDRESS>: new full-speed USB device number 39 using xhci_hcd
[272882.182614] usb 1-<IP_ADDRESS>: New USB device found, idVendor=16d0, idProduct=0f3b, bcdDevice= 0.00
[272882.182622] usb 1-<IP_ADDRESS>: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[272882.182625] usb 1-<IP_ADDRESS>: Product: Test Device
[272882.182628] usb 1-<IP_ADDRESS>: Manufacturer: LUNA
[272882.182631] usb 1-<IP_ADDRESS>: SerialNumber: 1234

(low-speed can be selected too, but it errors out because the descriptors are all wrong).
Tested with examples/usb/simple_device.py and the connect/speed signals brought out to the PMODs:
$ git diff
diff --git a/examples/usb/simple_device.py b/examples/usb/simple_device.py
index 325500b..46f413b 100755
--- a/examples/usb/simple_device.py
+++ b/examples/usb/simple_device.py
@@ -9,6 +9,7 @@ import os

 from amaranth                       import Elaboratable, Module
 from usb_protocol.emitters          import DeviceDescriptorCollection
+from amaranth.build import *

 from luna                           import top_level_cli
 from luna.gateware.platform         import NullPin
@@ -72,10 +73,18 @@ class USBDeviceExample(Elaboratable):
         descriptors = self.create_descriptors()
         usb.add_standard_control_endpoint(descriptors)

+        platform.add_resources([
+            Resource("btns", 0, Pins("1 2 3", conn=("pmod", 0), dir="i"), Attrs(PULLMODE="UP")),
+        ])
+
+        btns = platform.request("btns", 0)
+        pmod1 = platform.request("user_pmod", 1, dir="o")
+
         # Connect our device as a high speed device by default.
         m.d.comb += [
-            usb.connect          .eq(1),
-            usb.full_speed_only  .eq(1 if os.getenv('LUNA_FULL_ONLY') else 0),
+            usb.connect          .eq(btns.i[0]),
+            usb.full_speed_only  .eq(btns.i[1]),
+            usb.low_speed_only   .eq(btns.i[2]),
         ]

         # ... and for now, attach our LEDs to our most recent control request.

Setting self.termination_select.eq(1) was the missing piece from everything else I tried!
I've updated the PR with your changes, thank you.

I have been trying to test this work as part of my HITL work in https://github.com/greatscottgadgets/cynthion-analyzer/pull/6, but I'm having what may or may not be unrelated issues.


File name does not follow Python convention

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
In core folder, the files do not follow the Python naming convention.
For instance, sizecontrol.py could be renamed size_control.py.
This is probably due to the way the auto-generated files are named when being created.
📝 Steps to reproduce
N/A
💻 Which operating system are you using?
Windows
🐍 Which Python version are you using?
3.7
📦 Installed packages
N/A

@MaxJPRey I cannot find any mention of such a guideline for file names in PEP8. All I have found is that file names should be lower case. As you pointed out, most of these files follow the same name as the auto generated files. I do not see why the file being named sizecontrol.py or wrappercontrol.py should be an issue here.

Here you can find the guideline regarding the underscores: https://peps.python.org/pep-0008/#package-and-module-names

Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability.

Despite it is optional, I do think that it would improve readability. Also, we are using this rule in other pyansys repos, so I would prefer to stick to this rule. Some examples:
https://github.com/pyansys/pygeometry/blob/main/src/ansys/geometry/core/primitives/curve_evaluation.py
https://github.com/pyansys/pymapdl/blob/main/src/ansys/mapdl/core/mapdl_console.py
https://github.com/pyansys/pyfluent/blob/main/src/ansys/fluent/core/session_base_meshing.py

Closing this issue for now.


BUG: read_epochs for split files has incorrect events

I have a large epochs file, that gets split into two files when I call epochs.save()
When I load it again using mne.read_epochs(), the events corresponding to the second file are incorrect, offset by [last epoch from the first file + tmax + 10s].
The bug comes from _concatenate_epochs.
This breaks the relationship between the raw file and the events list, which (aside from causing downstream problems with my code) can lead to an error in epochs.get_data if the data were loaded with preload=False.

can you share a code snippet to replicate usings sample data? you can make
random events if it's just for testing.

`
import os.path as op
import mne
data_path = op.join(mne.datasets.sample.data_path(), 'MEG', 'sample')
raw = mne.io.read_raw_fif(
op.join(data_path, 'sample_audvis_raw.fif'), preload=True)
events = mne.make_fixed_length_events(raw,1)
epochs = mne.Epochs(raw, events)
epochs.save('test-epo.fif',split_size='100MB')
epochs2 = mne.read_epochs('test-epo.fif',preload=False)
epochs2.get_data() # throws error
assert(all([e1==e2 for e1,e2 in zip(epochs.events[:,0],epochs2.events[:,0])])) # assertion error
`

I don't think @larsoner is good enough to fix this :)

I see what you did there :)
Yes I can try hopefully next week

Yep, that fixes it. Thanks!


Add toleration for fluent-bit to tun on masters

How to categorize this PR?
/area logging
/kind enhancement
/priority normal
What this PR does / why we need it:
This PR adds tolerations to the fluent-bit daemonset, which runs on all seeds. For the gardener initial cluster these tolerations are needed to also collect logs from master nodes.
Which issue(s) this PR fixes:
Fixes #2638
Special notes for your reviewer:
Release note:
The fluent-bit daemonset is now also runiing on seed master nodes to collect logs.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you @einfachnuralex for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

/assign @amshuman-kr @vpnachev

/reviewed ok-to-test

IMO, the kupid extension is dedicated for more sophisticated use-cases and an unnecessary overhead just to get the fluent-bit deployed on master VMs of the seed.

IMO, the kupid extension is dedicated for more sophisticated use-cases and an unnecessary overhead just to get the fluent-bit deployed on master VMs of the seed.

Not disputing that. The point was only that there might be genuine use-cases for using NoSchedule and NoEffect taints to block all pods (including fluent-bit) from being scheduled or run on some nodes (say, for debugging). A generic NoSchedule or NoEffect taint would rule it out.

Hm, yes, agreed. Would it make sense to change the tolerations to
tolerations:
- key: node-role.kubernetes.io/master
  effect: NoSchedule

then?

@einfachnuralex can you please change the tolerations as mentioned in the comment earlier?
/status author-action
/needs changes

@amshuman-kr Yes, you are right. If we would use the gardener/kupid extension such a rule would be the right thing. ATM we are not using kupid so i also prefer a simpler solution, like adding this toleration.
Also i think for the default behavior of fluent-bit it make sense to include the master nodes for log aggregation.
@rfranzke Yes i will change it as you mentioned.


fix gcc warnings ang update docs

fix '-Warray-bounds' warning from GCC
update examples in docs

thank you for the PR! :)