Add logging driver for GELF via UDP

A first shot of a remote logging driver. The driver sends log messages to a GELF endpoint (e.g. Graylog or Logstash/ELK) via UDP.
I had to introduce a new command line option --log-opt in order to make the target IP and port configurable. I think this needs to be done in a better implementation but it is not exactly scope of this PR. Maybe someone from the core team can help out.
Currently you have to start the daemon with  --log-opt=gelf.host=<Graylog server ip> and start a container with docker run --log-driver=gelf to send logs remotely.

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:mariussturm/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

This will update the existing PR, so DO NOT open a new one.

Done.

@mariussturm Can you describe little more about use-cases? What this allow?
Also maybe there are some users here, who can talk their stories.

Basically this allows you to send all your container logs to a central log server. This makes it much more comfortable to search for problems and identify fishy containers across multiple hosts. With Graylog e.g. you get a nice web interface where you can issue a search like: 'Show me all logs from container ' or 'Show me all logs from containers executing /bin/foo'

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:mariussturm/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

This will update the existing PR, so DO NOT open a new one.

@mariussturm You should vendor your dependency with hack/vendor.sh script.

@mariussturm You should vendor it as first commit ideally, so we can git bisect through without problems.

:+1:
We'd really like to see this feature merged too! And I'm quite sure there are others who use Docker and also have a Graylog setup. Having your container logs in a central place is also great for monitoring/alerting.

We'll definitely merge it soon.

@LK4D4 @mariussturm what's the status on this one?

@thaJeztah we need an architectual decision here how to handle metadata in the log driver api. Something I can't do. Core member need to take a look.

@mariussturm this PR also needs a rebase to align with currect log driver implementation but I guess we can discuss this metadata thing before..

What I'm proposing is: instead of passing just ContainerID and ContainerName here https://github.com/docker/docker/blob/master/daemon/logger/factory.go#L12 we should have a generic ContainerMetadata in Context struct so every driver can access this metadata struct to gather infos it needs (and this also prevents cluttering the Context struct in case we need more container data exposed in log driver)
Indeally this ContainerMetadata (but I guess we can call it just Metadata to abstract it further) is built from a Container struct so if we need more infos we could update this metadata struct and every driver deal with this only and not the daemon.Container struct.

I agree with @runcom about the metadata. I'd rather see a common structure for all the drivers.

I thought about Context as metadata storage before :)

@mariussturm this will definitely needs a rebase cause master code for logging drivers changed and you can now put metadata in logger.Context struct here https://github.com/docker/docker/blob/master/daemon/container.go#L653

oh no, I guess the rebase went a little bit wrong. Hope you can find the latest implementation.

The metadata moved now into the logger.Context. It would be super nice if we can get the ImageName there aswell. But no idea how :/

@mariussturm don't hesitate to ask for assistance in the #docker-dev IRC channel. There are some real Git wizards there that are surely able to help you out

@mariussturm you can add ImageName yourself in this pr to https://github.com/docker/docker/blob/master/daemon/container.go#L672

Also looks like you pulled upstream instead of rebase, could you do another rebase on master and fix conflicts and then git add . && git rebase --continue ?

Sorry had to squash the whole PR in a new commit, the rebase went not really well.

Regarding ImageName, my question is more: How can I access the name, I couldn't find any example or reference where the name come from.

@runcom @LK4D4 this is now complete from my point of view, could you please review?

Any updates on this?

@mariussturm sorry but this needs a rebase also

@runcom rebased and adapted options to be consistent with syslog driver!

@runcom anything else I can do to get this merged?

ping @calavera @LK4D4 for code review

LGTM. Moving to docs review

@calavera Why so fast :) Don't we need one more code-review?

Mine was a LGTM (I somehow forgot to add it)

@runcom ok :D

oh, I thought I saw another lgtm from @runcom in the thread :expressionless:

Thanks @mariussturm docs so far look good, but this driver also needs to be added to the list of available options in some other places;
docker-create.1.md#L158
docker.1.md#L106
docker-run.1.md#L255
docker_remote_api_v1.20.md#L272

@thaJeztah done!

LGTM. Thanks!
ping @fredlf @jamtur01 @moxiegirl @SvenDowideit

Docs need a few little tweaks. Thanks!

@jamtur01 done!

looking at this now...

@moxiegirl could you please double check the latest commit? I am obviously not a native speaker, maybe it is easier to just merge the PR and do the docs afterwards?

@mariussturm Thanks for the update. Guessed you weren't native speaker but it is barely detectable from your written English.
LGTM

@mariussturm You do need to squash and rebase.  Instructions for how to:
http://docs.docker.com/project/create-pr/#rebase-your-branch

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:mariussturm/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@moxiegirl awesome, thanks for helping out!

This ready-to-merge now? Or do we need something else?

@mariussturm I think it's ready to merge (if the builds pass). Thanks for your contribution!

Merged, thank you!! :tada: :confetti_ball:

Yeah! Thanks a lot everyone! This is really a cool feature, lookink forward to the next release :)

@mariussturm Would be awesome if you could shoot me an email<EMAIL_ADDRESS>as I'd like to include a link to a blog post or something in the release announcement about this driver and it's use-case.

@cpuguy83 yes we are writing on a blog post right now, would it be ok when I give you first just the url and once it's finished we take it live? The url doesn't change anymore then.

@mariussturm Yep, assuming I can review it goes live, thanks a bunch!


Repo sync for protected CLA branch

The pull request is created from master637715774834531203 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Cannot Ctrl+MouseLeft on Konsole

Description of the problem or steps to reproduce
Pressing Ctrl+MouseLeft is interpreted as a normal click in Konsole. I have tested on Sakura and suckless-term and both work fine. Digging through the 'Mouse' and 'Keyboard' settings under 'Settings > Edit current profile...' didn't turn up anything obviously useful.
Specifications
Commit hash: af520cf
OS: Ubuntu 17.10
Terminal: Konsole 17.04.3

Konsole doesn't send different escape sequences for ctrl-mouse so I don't think this can be fixed. Sorry.


Update issue template

Hide header when rendering by commenting it out so we don't
have to read it over and over again when looking at issues.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Force pushed to amend the signature, but apparently didn't trigger the Signed-off-by check

Doesn't look like you force pushed, the commit on Github https://github.com/lxc/lxd/pull/4126/commits/49758a0584f42b82e04e97f197d2abb4f234325f doesn't show the signed-off-by

Sry, my bad. (Failed at signing on first try and somehow didn't include Signed-off-by in commit message in the second try.)


Adding Customisation - insertQuery for postgres/mysql

Added the ability to write your own insertQuery to support the UPSERT syntax most of the RDBMS in now day already support.

@LazyDBA247-Anyvision
It seems like a bad idea to add it to the config insertQuery
It might be better to check the RDBMS version and choose the insert type automatically ?

@kmlebedev postgres / mysql driver fits many databases and for each, you may have some syntax differences.
until today the old way worked but caused 2 round trips from filer to DB and 2 table seeks. I am offering customization that needs to be verified and maybe even written by the owner/deployer.

@LazyDBA247-Anyvision
It seems like a bad idea to add it to the config insertQuery
It might be better to check the RDBMS version and choose the insert type automatically ?

There are many mysql/postgres variations.

@chrislusf that's exactly why I added it as an optional and the possibility to update the syntax to fit your specific variant.

@LazyDBA247-Anyvision I understand, but this raises the entry threshold for configuring inserts.
I believe it could have been made easier!

@kmlebedev fully backward compatible and without breaking new deployment, we must add it as a custom/advanced setting. not sure I / We can start testing all possible Postgres (9.X -> 13.X) or cockroach/yugabytedb/etc... and not MySQL ones... so this is a special config for a DBA/Optimizer, as SW can continue to work without it.

@kmlebedev fully backward compatible and without breaking new deployment, we must add it as a custom/advanced setting. not sure I / We can start testing all possible Postgres (9.X -> 13.X) or cockroach/yugabytedb/etc... and not MySQL ones... so this is a special config for a DBA/Optimizer, as SW can continue to work without it.

I disagree, since we have a problem https://github.com/chrislusf/seaweedfs/issues/1921
that is solved by this optimization, but in fact, only DBA can still fix

@kmlebedev the syntax I added in scaffold.go, should work in most of the mysql/postgres deployment. so maybe the only change that is needed is to add to the exception/error in the insertEntry is to notify the user that a fix can be done by using upsert and a good/working example exists in the scaffold?
on vanilla  mysql/postgres (last years versions) that example work.

Or how about just give user the option to "enableUpsert", and turn on by default?

@chrislusf that sounds a good option, but auto-enabled sounds risky to me.
maybe we can add a "test/verify" the upsert command on startup?
and if no exception is being made?  something like 2x insert/upsert to "fake" path /test  (like /buckets  /queues ).
that will verify the DB support the syntax, with an exception in the log to update the syntax if not working...
@kmlebedev  that's what you wanted, yes?

maybe we can add a "test/verify" the upsert command on startup?

That is safe but not really necessary. Upsert is command and most mysql/postgres dialect implementations should already support them. With defaulting enableUpsert to true, filers will fail fast if filer store does not support it, and not cause any issue.

https://postgrespro.ru/docs/postgresql/9.6/sql-insert?lang=en

Tip It is often preferable to use unique index inference rather than naming a constraint directly using ON CONFLICT ON CONSTRAINT constraint_name. Inference will continue to work correctly when the underlying index is replaced by another more or less equivalent index in an overlapping way, for example when using CREATE UNIQUE INDEX ... CONCURRENTLY before dropping the index being replaced.


Feature Requests

Would be cool to download images such as;
https://images.habbo.com/c_images/web_promo_small/
https://images.habbo.com/c_images/web_promo/
https://images.habbo.com/c_images/targetedoffers/
everything in https://habboo-a.akamaihd.net/c_images/catalogue/
(there's catalog headers - http://images-eussl.habbo.com/c_images/catalogue/val15_cata_header.gif)

Okay so web_promo and web_promo_small should be no problem to implement.
For the targetedoffers im not sure i need to look into it.
And for the catalogue it's pretty much impossible because you need to know the urls to the images to download them but the problem is there are not defined anywhere as far as i know. Only thing are the catalog icons (icon_1, icon_2, etc) because they just increment the number so its easy to test if the url exists or not.
But anyway i will implement the other things as soon as possible!
Thanks for your suggestions!

This has been implemented.
For more info see here: 49d0c1cd4a064eee1b2c05c42baaa04c5226f1e3 655399b75111a432ef791027339bace0d59ba4bf
Thanks again for your suggestions!


TrieMap

Codecov Report

Merging #21 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #21   +/-   ##
=======================================
  Coverage   84.39%   84.39%
=======================================
  Files          17       17
  Lines         391      391
  Branches       41       41
=======================================
  Hits          330      330
  Misses         61       61

Impacted Files
Coverage Δ

...la/com/workday/prometheus/akka/RouterMetrics.scala
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Spike into implementing Apply 2

Context
We need to implement "Apply 2". This is when the first application was unsuccesful, and the candidate can now apply to 1 course at the time.
Things that we want from this system:

[x] Candidates don't have to fill in stuff they've previously filled in
[x] Candidates can change everything about their applications
[x] Number of concurrent applications is limited to 1
[ ] Guidance changes
[ ] It's exposed in the API
[ ] It doesn't mess with our reporting
[ ] The code is easy to follow
[ ] Users can't edit references

Changes proposed in this pull request
Spikey code. The flow looks like this:

When the application is unsuccessful, the user gets a button to "try again"
This button duplicates the application, minus the choices
The user can then edit the application and make 1 new choice
Application is submitted as normal

Guidance to review
Can we think of other ways of implementing this?
Link to Trello card
https://trello.com/c/GJb6DGs8

Closing until we pick up Apply 2 again!


Add Blood Cell Cancer Detection with CNN and EfficientNetB3

Add the Blood Cell Cancer Detection with CNN and EfficientNetB3 jupyter notebook.
Fixes: #286

@TAHIR0110 Could you please review and merge the pr?

@navyabijoy merged!


Pagination does not work if more than 2 product listings are used.

PHP Version
8.3
Shopware Version
<IP_ADDRESS>
Affected area / extension
Platform(Default)
Expected behaviour
If I use two product listings in a category page (Shopping Experiences), I expect the pagination to work or an error message is given that more than one product listing is not allowed.
Actual behaviour
The pagination in the storefront no longer works
How to reproduce

Create a category page (Shopping Experiences)
Add two product listings ()
Add the Shopping Experience to a category
Visit the category in the storefront
Try to use the pagination

[public] Shopware automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-38040.
This link is only intended for Shopware employees and for internal use only.
[created from NEXT-38040, comment 489764]


 It would be better if they were shown randomly. But this is a low-priority issue.

This can be done on the front-end as well by just randomly selecting from within the subject array Panoptes returns.

Pretty sure this is the serializer using the natural sort order coming out of the DB. If so we could look at the workflow selection strategy and add a sort order to the serializer. Note some workflow selection strategies need to be in order (priority).

I'm getting the same thing, but I think it's still not selecting randomly from the list of available subjects to classify.
My subjects are subimages for larger CTX  full frame images. Which we divide up and are listed in order of image they came from, so the subimages associated with a given CTX image are clustered in the manifest file. I just did 10 classifications and they are all from the same CTX image. I'm not sure if that's means that #1033 isn't fixed. Even if I had an ordered list I would think in 10 classifications it would give me a cutout from a different CTX image to look at

People on Terrains are still seeing groupings of the same set of rows from the manifest file. Is the current solution for now that for the next data upload I should randomize the order of the subjects in the manifest so they're not grouped?

There was a bug in the subject queues that was fixed by #1242. I'll be rebuilding the queues today so this should not be a problem after i've deployed the fixes and cleared the existing queue sets.

oh okay. thanks @camallen for the explanation

Just noting yshish has also noticed this and said it would be useful for the subjects to not be served in order. Does a front-end issue exist for this yet?I didn't see one but I may have searched for the wrong thing.

This should have been fixed by #1297.


Augmentation of Images in R

Scaling the image to different dimensions is not a valid transformation. All images need to be the same size!


inconsistent naming: disallowPaddingNewlinesInBlocks

On the same page, you have this named two ways:
disallowPaddingNewlinesInBlocks
disallowPaddingNewlinesInBlock
http://grab.by/GkBK

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10867002-inconsistent-naming-disallowpaddingnewlinesinblocks?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

This is from http://catatron.com/node-jscs/rules/disallow-padding-newlines-in-blocks/?
If you go to http://jscs.info/rules.html it doesn't seem to have this issue (jscs.info is the official site).


Add a metric to track the number of managed files per column family in RocksDb

We don't add more detailed level to control the cardinality of the metrics.
Manually tested in local cluster:

Description
Describe the changes or additions included in this PR.
Test plan
How did you test the new or updated feature?

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:
[ ] REST API:

This should work but maybe we can parse the value from properties like SSTABLES. Alternatively I think it should be ok cardinality-wise to have the level as a label, if only levels 0 to 6 are included.

Hmm, didn't think of parsing from SSTABLES since there is a num_files helper property handy. Walrus shares the same DBMetrics, and cardinality is not ok there....


Disable membership update rollup reporting by default

@uber/ringpop @markyen @weikai77

LETS GET THE MONEYYY

+1 :+1: lgtm


added download attribute to link

Fixes inline interpretation of downloaded resource / console message
"Resource interpreted as Document but transferred with MIME type
application/xml"

LGTM!


defaultOptions deprecated

I see this warning, may require a minor update
[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "markdownTightLists".
You may want to update it

Fixed in 0.4.0


redfox.AnyDVDHD version <IP_ADDRESS>

[ ] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

hello
i am haveing issues doing this step Have you tested your manifest locally with winget install --manifest


Inconsistent data periods due to filtering

Describe the bug
When displaying univariate results I expect to see both reference and analysis. If I plot the results without a filter, that's exactly what I get. However, if I first filter by column_names, only analysis gets displayed:

Reported by @WojtekNML
To Reproduce
Steps to reproduce the behavior:

Create UnivariateDriftCalculator. Perform fitting and calculating
Plot results without filtering
Plot results with filtering on a column name

Expected behavior
Period 'behavior' is consistent.

That seems to fix it indeed. Maybe add a test to verify? You shouldn't test the plotting, rather just look at the results data and verify it contains the correct periods

Good idea. I'll add that to this PR.

@nnansters Question on the preferred approach with tackling these test cases.
If my analysis is correct, we currently have 5 distinct Result implementations that all have a separate implementation of period filtering:

Multivariate drift: nannyml.drift.multivariate.data_reconstruction.Result
Univariate drift: nannyml.drift.univariate.Result
Performance calculation: nannyml.performance_calculation.Result
CBPE performance estimation: nannyml.performance_estimation.confidence_based.Result
DLE performance estimation: nannyml.performance_estimation.direct_loss_estimation.Result

This issue affects all of them, so theoretically I'd add a test case for each of these. Or even multiple test cases, to verify the different values for the period argument. Alternatively, I could refactor the period filtering so there's a single implementation that will only require one set of test cases.
Could you advise which approach is preferred?

Unifying the behavior might be possible up to a certain point, I think the best places to do that would be the Abstract1DResult and Abstract2DResult classes. You could then still customize the actual behavior in the implementing classes.  Do note that for the Abstract2DResult we currently only have the univariate drift result as an implementation. And, somewhat annoying, it doesn't have metrics but methods (terminology had to be correct). So you'll need a bit of a specific implementation there anyway.
Kind of like that approach, might clean stuff up properly. Give it a try.
Concerning testing: I think filtering in all is still quite untested overall. It might make sense to add a couple of test scenarios. You could structure them in multiple ways but I think the easiest way would be to add the tests to each calculator module tests individually, and not have a test_results.py or such. Probably easier to reuse fixtures etc. that way.


StackScript Table Visual Regression

Purpose
Previously, the StackScript search bar had too much padding and was misaligning elements.

@alioso could you take a look at the following visual bug?
This was already pre-existing before this PR, but I believe it should get fixed

Coverage increased (+0.1%) to 26.639% when pulling 90ce765e13db8f56fdaa335ebb44a7fe998aec3a on martinmckenna:stackscript-search-fix into 5687c9ef2e2f2edeaf6d3879c827837811485f9f on linode:develop.


Binder support added. README edited.

Referencing #47. Link generated using Dockerfile. README edited. Both the repo one as well the one in the examples.  Any changes, please report here !

Coverage remained the same at 89.916% when pulling c2ccaf1d9dca0613ba7c83deecf81595bc3dd227 on amitjamadagni:binder-2 into ae19aface02b7737c0228a69a3f1dc872334926c on JuliaQuantum:master.

Merging this as everything seems right !


(feat): added dependabot

Added dependabot as a dependency updation tool.
Closes #550

/ok-to-test

/lgtm
/approve


Add .prettierrc for proper code formatting

In the current state, the project doesn't have any option for code formatting. It has eslint, but it can be used in conjugation with prettier as well.

There was created, when the Prettier foothold was not yet such great.
OK for me to get one, you could pick one from other MS projects and resuse here.


Empty results values need to be handled

When a results file has rows with empty results values, several issues occur.  This situation needs to be handled.

The readMWRresults() function should have a check to make sure results values aren't empty.
The readMWRresultsview() function does not show these empty values in the list of results values.  Could you make it show them as "NA"?
The warning and error messages are cryptic.  I received the warning message below for the qcMWRreview() function, and I received a cryptic error message for the tabMWRwqx() function.

Here is the warning message that qcMWRreview() returns.
qcMWRreview(fset = fsetls, output_dir = getwd() ,output_file = "MWRoutput_QC Review")
Report created successfully! File located at C:/Users/BenWetherill/OneDrive - oars3rivers.org/Documents/2. Data/OARS-Data-for-MassWateR/MWRoutput_QC Review.docx
Warning messages:
1: There was 1 warning in dplyr::mutate().
ℹ In argument: Threshold = as.numeric(gsub("<|=", "", Threshold)).
ℹ In row 38.
Caused by warning:
! NAs introduced by coercion
2: There was 1 warning in dplyr::mutate().
ℹ In argument: Threshold = as.numeric(gsub("<|=", "", Threshold)).
ℹ In row 38.
Caused by warning:
! NAs introduced by coercion
3: There was 1 warning in dplyr::mutate().
ℹ In argument: Threshold = as.numeric(gsub("<|=", "", Threshold)).
ℹ In row 38.
Caused by warning:
! NAs introduced by coercion
Here is the error message that tabMWRwqx returns.
tabMWRwqx(fset = fsetls, output_dir=getwd(), output_file = "MyWQXOutput.xlsx")
Error in if (any(chk) & warn) { : missing value where TRUE/FALSE needed
OARS Results 2024.xlsx
OARS DQOAccuracy.xlsx
OARS DQOFreqComp.xlsx
OARS Sites.xlsx
OARS WQXMeta.xlsx

Thanks @ben-wetherill for the details and relevant files. This should be fixed now.  There was supposed to already be a check for NA entries in the Result Value column, but the logic was incorrect.
Regarding the cryptic errors, a user should no longer see these if the results data are formatted correctly.  There's no way to anticipate these errors if the data are incorrect, hence the fixed checks on import.

Looks good.  I tested the version from the massbays-tech environment.


Add project outputs / activities figures for Partnership Programme

Currently these are showing TBC, I had some difficulty filtering out the Project Outputs/Activities from the Airtable extract.

Closing #199 as completed


Bugfix mcrypt rtrim null bytes on decryption

If you have longer strings to encrypt and later decrypt, the null-bytes from encryption are left in string and causes problemes while decryption.
See php docs http://www.php.net/manual/en/function.mcrypt-generic.php for details:
... use rtrim($str, "\0") to remove the padding.

Closing since, as schmittjoh mentions, rtrim already removes null-bytes.


About depth range and depth interval of sparse point cloud

Thank you for your open source!
I am trying to compute depth ranges and depth interval of the sparse point cloud. Could you please give me some idea on how to get these information?

As the sparse point clouds locate in 3D space, the z-coordinate is the depth value. Thus, you can just traverse all the 3D points to extract their depth value. The code may seem like below:
for (auto it = sfm_data.structures.begin(); it != sfm_data.structures.end(); ++it) {
    Landmark landmark = it->second;
    Eigen::Vector3d X = landmark.X;
    // Your code here to do what you want with X[2]
}

Thank you so much for your help!


Adding about Eden ai api

Eden AI: simplify the use and deployment of AI technologies by providing a unique API that connects to the best possible AI engines.
PLEASE assign me this under GSsoc'24

EdenAI does not offer any Gen AI API.


Make request_parser movable without changing body type

Hi,
Version
boost 1.80/330
Question/Request
Is there a technical motivation why request_parser is not move-constructible without changing body type? If not, could this be allowed?
Motivation
I have a use-case where an initial HTTP session object reads header (async_read_header) using
request_parser<empty_body> and then delegates the rest of the handling to another classes (such as reading body if there is any) . Here I was thinking of passing request_parser by value, but that is currently not possible.
Since it's allowed to change body types before body parsing has begun, this (seemingly) can be worked around by needlessly changing body type:
#include <boost/beast/http.hpp>

namespace http = boost::beast::http;

void allowed() {
    http::request_parser<http::empty_body> req0;
    http::request_parser<http::string_body> req1{std::move(req0)};
    http::request_parser<http::empty_body> req2{std::move(req1)};
}

void disallowed() {
    http::request_parser<http::empty_body> req0;
    http::request_parser<http::empty_body> req1{std::move(req0)}; // error: use of deleted function
}

But moving without changing body type yields:
<source>: In function 'void disallowed()':
<source>:13:64: error: use of deleted function 'boost::beast::http::parser<isRequest, Body, Fields>::parser(boost::beast::http::parser<isRequest, Body, Fields>&&) [with bool isRequest = true; Body = boost::beast::http::empty_body; Allocator = std::allocator<char>]'
   13 |     http::request_parser<http::empty_body> req1{std::move(req0)}; // error: use of deleted function
      |                                                                ^
In file included from /opt/compiler-explorer/libs/boost_1_80_0/boost/beast/http.hpp:27,
                 from <source>:1:
/opt/compiler-explorer/libs/boost_1_80_0/boost/beast/http/parser.hpp:91:5: note: declared here
   91 |     parser(parser&& other) = delete;
      |     ^~~~~~
Compiler returned: 1

https://godbolt.org/z/zEaqsqevc

Hmm... no idea. @vinniefalco ?

Sounds like it should be allowed to me/

you could always put it in a unique_ptr... I am concerned that playing with the move constructor will break people who are using it to transform the body type. If you are 112% certain you can make it movable without breaking anything, then ok.

Thanks, yes there are various options.
This is not critical thing to us, but I thought the behavior was a bit... odd. In the interest of not keeping low priority things open indefinitely I'll simply close it.


IfStatement BinaryExpression breaking after close parens when it could stay on same line

The != should stay on the line with close )
public class ClassName
{
    void MethodName()
    {
        if (
            (match = MatchAcceptHeaderrrrrrrrrrrrrrrrrr(
                sortedAcceptValues,
                formatter
            ))
            != null
        ) {
            return;
        }
    }
}
// should be
public class ClassName
{
    void MethodName()
    {
        if (
            (match = MatchAcceptHeaderrrrrrrrrrrrrrrrrr(
                sortedAcceptValues,
                formatter
            )) != null
        ) {
            return;
        }
    }
}

handled in #37


Add history support

Add support for history, going back from previously run commands and execute them.

Basic history support has been added however you cannot look through previous commands by pressing up or down on the keyboard when prompted for input currently.


Issues installing

Hey! Having a few issues trying to install the master of this repo. I'm just following through the read me and so far have cloned down the repo and ran nvm use  which is now using 10.17.0
Any clue what I may be missing?
tipepool-uploader# npm install
npm WARN deprecated<EMAIL_ADDRESS>Deprecated in favour of PapaParse, which now supports Node.js
npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated<EMAIL_ADDRESS>You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated<EMAIL_ADDRESS>Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated<EMAIL_ADDRESS>use String.prototype.padStart()
npm WARN deprecated<EMAIL_ADDRESS>request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>This package is unmaintained. Use @sinonjs/formatio instead
npm WARN deprecated<EMAIL_ADDRESS>This package has been deprecated in favour of @sinonjs/samsam
npm WARN deprecated<EMAIL_ADDRESS>outdated version, please use @next
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated<EMAIL_ADDRESS>This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated<EMAIL_ADDRESS>If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
npm WARN deprecated<EMAIL_ADDRESS>This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/prebuild-install as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/prebuild-install
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/rimraf as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/rimraf
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/uglifyjs as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/uglify-js
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/js-yaml as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/js-yaml
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/regjsparser as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/regjsparser
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/browserslist as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/browserslist
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/mkdirp as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/mkdirp
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/json5 as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/json5
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/mime as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/mime
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/jsesc as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/jsesc
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/esparse as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/esprima
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/esvalidate as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/esprima
npm WARN rm not removing /workstation/projects/web/tipepool-uploader/node_modules/.bin/parser as it wasn't installed by /workstation/projects/web/tipepool-uploader/node_modules/@babel/parser

><EMAIL_ADDRESS>install /workstation/projects/web/tipepool-uploader/node_modules/@serialport/bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

prebuild-install WARN install EACCES: permission denied, access '/root/.npm'
sh: 1: node-gyp: Permission denied
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/jest-haste-map/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for<EMAIL_ADDRESS>wanted: {"node":"<8.10.0"} (current: {"node":"12.18.4","npm":"6.14.6"})
npm WARN notsup Not compatible with your version of node/npm<EMAIL_ADDRESS>npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/watchpack/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4.0.0-rc.1 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^7.0.0 || ^8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR<EMAIL_ADDRESS>install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-09-16T11_54_39_377Z-debug.log

Hi, @Mac-Rae. Are you trying to install Uploader on Linux? I would check out https://github.com/tidepool-org/uploader/pull/1244 for info on using it with Docker. If you're trying to install on Mac or Windows, you can download installers from https://www.tidepool.org/download

Hey @loudestnoise,
Aye was trying Linux Ubuntu 18.04 (apologies forgot to include)
Thanks for link will check it out!
Another wee question is there any command line way of uploading data? Or is the front end required?  I.e could i plug in a device via USB and then prompt it to start the upload via command line?

Hi @Mac-Rae ! As @loudestnoise said, the easiest way to get up and running is by using Docker: https://github.com/tidepool-org/uploader#docker-for-linux
Only some devices currently allow for upload using the command line:

Abbott Libre (using node -r @babel/register lib/drivers/abbott/cli/fslibre)
Omnipod PDM (see https://github.com/tidepool-org/uploader/tree/master/lib/drivers/insulet/cli)
OneTouch Verio & Verio Flex (using node -r @babel/register lib/drivers/onetouch/cli/otverio)

Hi @gniezen, thank you!!
I tore apart the docker setup to run on just barebone Linux which appears to be working ok and you've hit the nail on the head for the abbot command line. Much appreciated as my wee projects starting to come together 👍👍👍


feat(cdk/global-listener): initial global listener implementation

Yeah, we're having some scalability issues with applications that have hundreds of the same component on the same page. One of the issues is the number of independent event listeners being attached. I still need to do some experimenting internally to see if this actually alleviates the issue

Do we have any concrete examples where this would help though? We generally don't want to implement our own event management on top of the framework.
I suspect that we got rid of a lot of the listeners in https://github.com/angular/components/pull/26147.


[Non-issue] String.intern()

I just set up WarmRoast, and I've been having fun just poking around. I noticed that a reasonably significant  amount of time is spent giving the world context, which seemed odd to me. Even stranger, it was almost all spent on String.intern(). Admittedly, I didn't even know what string interning was until I Googled it. But I think what I've learned is interesting, so I wanted to share it.
java-performance.info - String.intern in Java 6, 7 and 8 – string pooling

The string pool is implemented as a fixed capacity hash map with each bucket containing a list of strings with the same hash code.

-XX:StringTableSize=N, where N is the string pool map size

You must set a higher -XX:StringTableSize value (compared to the default 1009 [60013 since Java7u40] ) if you intend to actively use String.intern() – otherwise this method performance will soon degrade to a linked list performance.

Here's a WarmRoast screenshot. It shows that 20.92% of the time in hasPermission is spent calling the highlighted String.intern(). If you add up the time spent on all the calls to String.intern() (marked by green dots), you get the entirety of WorldCalculator.giveApplicableContext, which itself makes up 36.4% of hasPermission.
Imgur
So, at least for this particular callsite of hasPermission, 36.4% of the time is spent on String.intern(), and that's not including the call at the very bottom of the screenshot.
Since it's dependent on the number of entries in the string pool, the performance will vary based on the number of permission nodes (which are also interned apparently) and other plugins (for example, getDeclaredField calls String.intern).

My previous profiling of these methods showed String interning to be beneficial, but I hadn't considered the impact of a higher # of strings populating the pool.
I'll revert the change in the ContextSet implementations at least. I think it's probably worth keeping it on instances of Node.


Loaded for bear

tested with --order 500 --restock 300 --clean 100 should work at any load.
spinny graphics so you know you clicked the restock/clean button

LGTM! 👍


ro_RO: Added Romanian language

Coverage increased (+0.02%) when pulling 27c55d2d397a4b763407fb79cd9444bf19a7624c on arthurkirkosa:ro_RO into 6af9ee83cdb85c371d36449ecb77078d354ba8b0 on jenssegers:master.

Thanks!

Will you tag it?

Tagged in 2.0.11


Subsquid: After deploying some instances aren't working

Description
Ninja, 2.3.0-alpha6.
After deploying an instance of Subsquid and waiting for more than 3 hours, I still can't open the site given a bad gateway error.

A clear description of the bug, including relevant identifiers like:

Twin ID: 7189

Node ID: 388

Farm ID: 109

Contract ID: 145677

Steps to reproduce

Navigate to the Dashboard.
Connect your wallet.
Click on Applications under the Deploy tab in the sidebar.
Select the Subsquid card.
Insert any endpoint.
Choose a node and domain.
Deploy.

Logs/Alerts
Zinit logs
{
  "version": 0,
  "contractId": 145677,
  "nodeId": 388,
  "name": "ssb2hq0",
  "created":<PHONE_NUMBER>,
  "status": "ok",
  "message": "",
  "flist": "https://hub.grid.tf/tf-official-apps/subsquid-latest.flist",
  "publicIP": null,
  "planetary": "300:3c91:453b:dbd9:f0db:c868:9644:2413",
  "interfaces": [
    {
      "network": "nwirc9i",
      "ip": "<IP_ADDRESS>"
    }
  ],
  "capacity": {
    "cpu": 1,
    "memory": 2048
  },
  "mounts": [
    {
      "name": "diskyc7",
      "mountPoint": "/var/lib/docker",
      "size":<PHONE_NUMBER>0,
      "state": "ok",
      "message": ""
    }
  ],
  "env": {
    "SSH_KEY": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCvmSYj5BKWkizdNyIziMfMm0CRrgq0UxFtBfBdArUMXSFkU30rtExbg6dlVFJCufw6UsCESm/QBSwlOyYKRdpsfVARcAw5G5OG0iX/22n+tYmCcWpmOJLJZaAmSynF1kwpBx3XDy40mFL6OMXjqFcU3DirbcucIL185XfAsTzrq3tDtSvmYPwbXMVMbs1ZAZValxOQNuaLty4qGD2awxVNZq4vtAzgpz3FFo3cs2g70jsGiPq/rsH+NxZHYmqvYnF/S0aPGBrbOe2yW8Cz0mqq5CzqbjYd+Qorkmt7uyJrlCBI43ky+pUuiAYeE1eJlWl5svA+ibWk5yYoa6svLUkaL1kcOMeZWLzDjL3OCrno9gglNp8zUkdSagHROoYlGgpc5fnzMGX4MKDLpHdE9xdk4NjpjB2Iq3hV3DamexXAhLEirLYv9fSilSyKVf/2kvYAa9o+NS4DgBVvXg9J54By/mAVsydD4lbpNe/2pX/WoFGCczmoQfWdHgJPYVCf2vU= harby@ahmed-Saleh-Harby",
    "CHAIN_ENDPOINT": "wss://gateway.mainnet.octopus.network/myriad/a4cb0a6e30ff5233a3567eb4e8cb71e0",
    "SUBSQUID_WEBSERVER_HOSTNAME": "ss7189ssb2hq0.gent03.grid.tf"
  },
  "entrypoint": "/sbin/zinit init",
  "metadata": "{\"type\":\"vm\",\"name\":\"ssb2hq0\",\"projectName\":\"subsquid/ssb2hq0\"}",
  "description": "",
  "rootfs_size": 524288000,
  "corex": false,
  "gpu": [],
  "deploymentName": "ssb2hq0",
  "projectName": "subsquid/ssb2hq0",
  "billing": "0.368 TFT/hour",
  "wireguard": "[Interface]\nAddress = <IP_ADDRESS>/32\nPrivateKey = YXb2SegwkpVfywenyBI7I2K5kE62vHyJAD0OemWKFk0=\n\n[Peer]\nPublicKey = 4uaakneMtHoPp5u/xEPcSC+NvI5QvOTBZsEqYnDrvTU=\nAllowedIPs = <IP_ADDRESS>/16, <IP_ADDRESS>/32\nPersistentKeepalive = 25\nEndpoint = <IP_ADDRESS>:2716"
}

version : 385928e
network : devnet
deployed and worked fine
even a link providing supported websockets can be found easily in the manual

updated test case : https://app.testlodge.com/a/26076/projects/40893/suites/234374?expand_section=422332#case_4150348


Fixed a link

@yeremee,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

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

Removed the fixed link because the export feature is no longer available in MSDN Library.


test driven snek

script/test <dirname> to test your snek such as:
script/test djdefi

This touches a file in each of ya'll's snakes so requesting review @bevns @wilsonwong1990  and will closely watch during deploy on this one.


Exercise on automation (GitHub Actions, GitLab CI)

Description
The exercise will focus on the automation of workflows using GitHub Actions and GitLab CI.
Checklist

[x] I made sure that the markdown files are formatted properly.
[ ] I made sure that all hyperlinks are working.
[x] I added the new content to the timetable.md in the root of this repository.
[ ] I make sure to update the content/links on the homepage.

A PR is prepared: https://github.com/Simulation-Software-Engineering/homepage/pull/17

Remarks not listed below:
* There is no information given on when the GH action should run.

* The repo names are not consistent (`sse-github-actions-exercise` vs `Automation Exercise`).

What do you mean with this? The base repositories are both called "automation exercise repository" in the exercise sheet. They are both supposed to be named automation-exercise for the final exercise.
The name sse-github-actions-exercise for the repository under the student's namespace is consistent with the documentation tool exercise.

What do you mean with this? The base repositories are both called "automation exercise repository" in the exercise sheet. They are both supposed to be named automation-exercise for the final exercise.

OK, then good :+1: (currently the one is still automation-exercise-preperation, but that one was probably only for me).

The name sse-github-actions-exercise for the repository under the student's namespace is consistent with the documentation tool exercise.

Ah, OK. Maybe sse-automation-exercise? But that's details.

I agree on rather using sse-automation-exercise for the students repository.


Tensorflow: Dedicated tflite-micro repository

Purpose
The tensorflow organisation has recently (June 25th) split out the tensorflow micro code into a dedicated repository, instead of being part of the parent tensorflow repo. The dedicated repository is considerably smaller (5.85MB instead of 680MB), and is where future development will take place. The old location of the tflite-micro code in the parent repository has been removed (https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/micro).
https://github.com/tensorflow/tensorflow
https://github.com/tensorflow/tflite-micro
We should swap over from the tensorflow fork (https://github.com/zephyrproject-rtos/tensorflow) to a fork of the tflite-micro repository.

@laurenmurphyx64 is this something that you could take care of?

No objections from the TSC.

I went ahead and created https://github.com/zephyrproject-rtos/tflite-micro

While working on this issue, I found that the Zephyr build for the examples in the new TFLM repo is broken due to recent changes made to the TF build system files that generate the CMakeLists.txt used by the Zephyr build system. I've filed an issue and submitted a PR. I am now waiting for Google / Intel to legally approve me as a contributor.

After discussion in my PR to TensorFlow, I'm OK with making the Zephyr module.
The module PR is here: https://github.com/zephyrproject-rtos/tflite-micro/pull/1.
The Zephyr PR is here: https://github.com/zephyrproject-rtos/zephyr/pull/37318/


Feat: add support to refresh token absolute lifetime

What does this pull request change?
This pull request adds a new configuration option, refreshTokenExpiryStrategy. This option allows users to specify the refresh token expiration strategy, choosing between:
'renewable': The refresh token's expiration time is renewed each time it is used.
'absolute': The refresh token's expiration time is fixed from its initial issuance and does not change.
Why is this pull request needed?
We are currently using Auth0 with Absolute Expiration. Auth0 implements an absolute expiration strategy for refresh tokens, meaning the expiration time is fixed from the initial issuance and does not renew with each use. However, the library was designed with the assumption that the refresh token expiration would be renewed each time a new refresh token is requested.
This mismatch between the actual expiration behavior and the library's expectations is causing issues. The library incorrectly assumes the refresh token has a longer validity period than it actually does, leading to potential authentication failures when the refresh token expires earlier than anticipated.
By introducing the refreshTokenExpiryStrategy configuration option, we can ensure that the library can accurately handle both renewable and absolute expiration strategies, preventing such mismatches and improving compatibility with different OAuth2 providers like Auth0.
Configure Refresh Token Expiration - Absolute Lifetime

Issues related to this change
https://github.com/soofstad/react-oauth2-pkce/discussions/167

Thank you for the contribution @kleysonfiretail :+1:


[BUG] crc start seems to randomly hang, leaving the cluster in half-baked state

General information

OS: Linux
Hypervisor: KVM
Did you run crc setup before starting it (Yes/No)? Yes

CRC version
crc version: 1.8.0+0a318dc
OpenShift version: 4.3.8 (embedded in binary)

CRC status
Depends
CRC config
Depends
Host Operating System
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"

NOTE
The host machine is a n2-standard-8 GCP instance (8 CPUs, 32Gb RAM), that runs a CentOS image with nested virtualization enabled. To produce such image, we followed the official Google Cloud guide on nested Virtualization.
More specifically, we executed the following command to produce the VM image:
$ gcloud compute images create centos-8-v20200326-nested-virt --source-image=centos-8-v20200326 --source-image-project=centos-cloud licenses "https://compute.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"

Steps to reproduce

wget 'https://mirror.openshift.com/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz'
mkdir crc && tar xvf crc-linux-amd64.tar.xz -C crc --strip-components 1
sudo cp crc/crc /usr/local/bin
crc setup
crc start --cpus 8 --memory 28672 --log-level debug
Paste image pull secret from https://cloud.redhat.com, once prompted
Wait for step 5 to finish

Expected
crc start should successfully terminate. Since the crc start program runs in the foreground, it should never hang (or block for too long) either on success or failure.
Actual
The crc start command seems to randomly hang (or at least block for too long) at times, leaving the cluster in half-baked state. As such, to get back at the prompt I have to either close the program with CTRL+C or suspend it with CTRL+Z.
We have seen the program hang quite early, at different steps, see gists crc-start-1 and crc-start-2 linked below.
Message-1:

Wrapper Docker Machine process exiting due to closed plugin server (read tcp <IP_ADDRESS>:54368-
<IP_ADDRESS>:40633: read: connection reset by peer)
ERRO Error creating host: Error creating the VM: Error creating machine: Error in driver during
machine creation: read tcp <IP_ADDRESS>:54368-><IP_ADDRESS>:40633: read: connection reset by peer

Message-2:

ERRO Error Setting cluster config: Temporary Error: connection is shut down

We have seen the program hang quite late, even at the very end, with the normal success messages. In this case the OpenShift cluster seems operational, i.e., oc and kubectl work as expected.
Message:

INFO
INFO To access the cluster, first set up your environment by following 'crc oc-env' instructions
INFO Then you can access it by running 'oc login -u developer -p developer https://api.crc.testing:6443'
INFO To login as an admin, run 'oc login -u kubeadmin -p kKdPx-pjmWe-b3kuu-jeZm3 https://api.crc.testing:6443'
INFO
INFO You can now run 'crc console' and use these credentials to access the OpenShift web console

Let me know for any further information you might need.
Logs

CRC setup : https://gist.github.com/ioandr/66173ab519525a9d1a87125293346e1f
CRC start 1: https://gist.github.com/ioandr/85d90b6aae4608bfdcb84099a029d083
CRC start 2: https://gist.github.com/ioandr/91be58f1541d72fadc900d5fe23bf9d3

In case you wish to spin a CentOS 8 VM on GCP with nested virtualization enabled, to fully emulate our environment, use the following command:
$ gcloud compute instances create \
    crc-openshift \
    --machine-type=n2-standard-8 \
    --image=centos-8-v20200326-nested-virt \
    --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \
    --boot-disk-size=500GB \
    --boot-disk-type=pd-standard \
    --boot-disk-device-name=crc-openshift-disk \

NOTES

Read the Host Operating System section in the first comment to see how to create the image for the VM
You might need to specify the --project and --zone arguments in the gcloud command

@ioandr we did try to run crc on the GCP using same machine-type, most of the time we see the crash of instance itself then crc.  The way we create the images for GCP using packer https://github.com/ironcladlou/openshift4-libvirt-gcp/tree/rhel8_host , we will try again to test latest version of crc on GCP to see if this is reproducible.

Hi @praveenkumar thanks for taking a look at this!
We were not aware of the https://github.com/ironcladlou/openshift4-libvirt-gcp/tree/rhel8_host repo and simply followed the standard https://code-ready.github.io/crc guide, where no limitations related to nested virtualization are mentioned. Is there a  GCP-specifc guide we shall switch to?
TBH, we omitted to check the state of the underlying GCP instance when crc hanged, since we thought this was an issue with crc itself. We will also try to reproduce and inspect the GCP instance for logs or anything useful.

where no limitations related to nested virtualization are mentioned

@ioandr We are mostly targeted for user desktop/laptop which is not nested virtualized. Have a look to https://access.redhat.com/solutions/4974521 also.

we omitted to check the state of the underlying GCP instance when crc hanged, since we thought this was an issue with crc itself. We will also try to reproduce and inspect the GCP instance for logs or anything useful.

Please do check, this is what we saw most of the time on GCP side, when run crc.

@ioandr I created a repository that provides an automated way to provision CRC on GCP:
https://github.com/danielmenezesbr/crc-on-gcp-terraform


CALL autoSizeColumn NoClassDefFoundError,but  set SystemPropeeres tip and set autoSizeColumn , noClassDefoundError SheetUtil

lang/awt/font/Font/FontRenderContext not def

Same as #89, see the explanation there.


Update the version of pandas up-to-date for CI

As pandas 1.0.3 released, I think It would be better match the version of pandas in our CI.

It doesn't affect pip build. Merging.


✨ Command palette search bar overlay

Is your feature request related to a problem? Please describe.
No response
Describe the solution you'd like
Hit keyboard shortcut to show the overlay. Maybe Cmd+Shift+P? This search overlay will quickly allow you to search for and execute any command in CodeEdit.

Describe alternatives you've considered
n/a
Additional context
We will need to have a top-level command service in place before this can be hooked up. See #222.

I guess we can close this @austincondiff


Update text vol 2

Task description
There are three screens that needs to have their texts updated again. Two of the screens are in the introductory delegation carousel, and the third one is the one where the user can decide between a specific baker pool or passive delegation.
The new text is highlighted in blue, in the box called "Renaming of L-pool to passive delegation VOL 2 in Figma. It can be seen on to the right of the first renaming box.

3.0.0 (48)

'Delegation Models' Is not looking really good right now. See https://github.com/Concordium/concordium-reference-wallet-ios/issues/285
'Passive Delegation' Looks good
'Update Delegation'. -> Passive. Text is not the same as on Figma. https://github.com/Concordium/concordium-reference-wallet-ios/issues/286


ship application with plugins included

Hello friends!
I am trying to have my application ship with NPAPI flash for mac osx as well as windows.  Is it possible to do this in atom-shell?  I have done a little bit of searching and seen that "Add 'extra-plugin-dirs' option." looks promising but I am not entirely sure how to use it.  I have tried the following to no avail with both extraPluginsDirsValue1 and extraPluginsdirsValue2
in my main.js something like this:
...
var mainWindow = null
app.on('ready', function() {
var extraPluginsDirsValue1 = 'file://' + __dirname + '/plugins/FlashPlugin.plugin'
var extraPluginsDirsValue2 = 'file://' + __dirname + '/plugins/'
//for mac it is a .plugin i think
mainWindow = new BrowserWindow({...., 'web-preferences': {
'plugins': true,
'extra-plugins-dirs': [extraPluginsDirsValue1]
}
})
...
})
I have assumed that extra-plugins-dirs value is an array because of what I have read in the commit history here
https://github.com/atom/atom-shell/commit/1fbebb0da76d22be72ebf944bef135d6360f723b
Thank you very much for your time.

You need to use real file path without file://.

Thank you very much.

This works, though be aware that to legally ship Flash with your app you need to sign some Flash Redist paperwork


⚠ Bofrost.lu has degraded performance

In d4cbaff, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1050 ms

Resolved: Bofrost.lu performance has improved in 0396823 after 6 minutes.


fix: Only accept .js files as module names (for now)

Coverage remained the same at 60.465% when pulling 96a33f2bcf9b9407e3ed925b06985017eba8c2fc on stricter-module-names into 13a39ddb37a65ccf05f729c80a1eceeb75997b61 on master.

Changes Unknown when pulling 20b4d745da9a22d26788d67f9867c37b385edbd5 on stricter-module-names into ** on master**.

Coverage remained the same at 60.648% when pulling 20b4d745da9a22d26788d67f9867c37b385edbd5 on stricter-module-names into 7524f5a3665dcecd9516124bf697b9874ddd2b3d on master.


feat: notification component

Hi @lucaslarroche
as discussed here: https://github.com/picocss/pico/discussions/552 I've built a Notification component for Pico.
Feel free to integrate it, if you think it's useful. It definitely helps the UX of my Pico-based frontend, and as it is fully spec-compliant and accessible, I think it's a nice addition.
Please let me know if you want me to change anything in the implementation.
Demo
Thank you for building Pico!
Best,
Aron
Relevant code quicklinks:
Impl:
https://github.com/picocss/pico/blob/c1b55d8659ad2fe55ddad0c996c27e6d61fe2408/scss/components/_notification.scss#L4
Settings:
https://github.com/picocss/pico/blob/c1b55d8659ad2fe55ddad0c996c27e6d61fe2408/scss/_settings.scss#L142
Import:
https://github.com/picocss/pico/blob/c1b55d8659ad2fe55ddad0c996c27e6d61fe2408/scss/_index.scss#L46

What if we submit multiple notifications?
Can one add default animation like we have already for the modal component?

@myisaak

This component is implemented to be a single notification, not a sonner component. Also, from an accessibility point of view, I wonder if "multiple notifications at the same time" is good UX. I understand your point, but a dialog with an alert role is meant to be a singleton, even in the HTML spec. I'd suggest to solve complex application logic questions like that using JavaScript. One could create a stack of notifications to show, and let them show one after another, each as a single notification. This would make sure that you could also "process" it with a screenreader and you have a chance for the attention span of an average person to actually understand multiple notifications in a row. If 3 things are happening at the same time, notifications show up at the same time and would disappear after n seconds, it's likely that people will miss at least one important information.

The current transition that is set has the "default"

  transition: opacity var(--pico-transition);

...which seemed correct to me, but looking at the modal implementation, I guess it should not be set, and instead it should be:  https://github.com/picocss/pico/blob/main/scss/components/_modal.scss#L132

Notification != Alert. Notifications should be stacked, alerts not. See: https://notifications.spec.whatwg.org/
Also, you assume .showModal() over .show(), former sets the focus, obstructing the user's workflow. That shouldn't happen for unimportant notifications, but for alerts it should. E.g. "should you delete this repo?" vs "you failed to login".

@kyr0 you had my idea of writing a spec-compliant notification component for picocss. You're headed in an interesting direction, similar to https://github.com/Ghosh/micromodal
Also good to consider:

Notifications already standardized in browsers: https://notifications.spec.whatwg.org/
UX gurus consider modals as obstructive: https://modalzmodalzmodalz.com

@myisaak As far as I know, the Notification spec is about presenting an overlay over the browser. I've implemented it a few times. This spec AFAIK hasn't anything to do with Notifications rendered inside of the browser. The behaviour if it is replacing or stacking is set by the browser and even the systems settings (macOS).
I agree with the obstructive nature of modals blocking the UI. I just didn't find a way to have the  component not behave like that. It is spec'ed that you can use  with role "alert" with resembles notifications though -- that's what I meant.
I think that I didn't go in the direction of https://github.com/Ghosh/micromodal though. They are presenting real modals and not using the  element. They also come with an JavaScript library dependency, while my implementation is simple, vanilla inline JS using the specced Dialog DOM API directly.


Add a way to completely disable framework's console output

I would prefer if there is nothing printed out in the console. I tried few things that worked with previous versions, but to no avail. Please provide a way. Thank you.
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

</Project>

Have you tried clearing the logging providers?
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.0#add-providers

Thank you very much; that worked. I could swear that I saw this earlier and I somehow imagined it was for a previous version of dotnet. I had to add this package to make this compile:


Convert to pjsip ?

Hi, is it possible to convert to pjsip instead if sip, since its depricated?

Hi, yes, absolutely. We will update via this issue once completed.


creating conditionals for viewing login, signin, and exit

There was a mistake in linking to this issue when committing. Merged as issue #69.


allow plus sign in tag names for adding meta data

I want to create tag names like myapplication:1.1.0-beta+2c4f57c but I get the following error:
2014/11/04 12:52:53 Error response from daemon: Illegal tag name (1.1.0-beta+2c4f57c): only [A-Za-z0-9_.-] are allowed, minimum 2, maximum 30 in length
Because I want to follow the versioning guidelines of semantic versioning (http://semver.org/) I need to be able to add the + sign in the tag name

this is not currently supported by the regex, but I invite you to open a pull request to change it

I did in https://github.com/docker/docker/pull/10117

After review with @dmp42 we need to wait for support on the hub side first. Then we can tackle this.

@jfrazelle did you create an issue for the hub support?

Hub is not handled on these issues but I will add a ticket to their tracker :)

Added the ticket!

@jfrazelle Thanks!

@jfrazelle any news on this one?

ping @kencochrane

I don't think this makes sense, I'd much rather support metadata for images rather than abuse tag names.

since this is on hub end closing


About searching objects with LLM

First of all, thank you for releasing codes for this gorgeous work! I'm trying ConceptGraphs, however, I have difficulties with searching objects with LLM, rather than CLIP, as the paper depicted. Could you please provide me with some clues about it? Thanks in advance!

Hi, can you elaborate more about the "difficulties with searching objects with LLM"? Did you have difficulties in running the program or did you get unexpected failure cases in the results?


Update path to tts.voicer

With https://github.com/aws-robotics/tts-ros2/pull/13, voicer.py was moved from under tts to tts.service. So after the next bloom release of tts-ros2, this package needs to be updated with references to tts.voicer replaced with tts.scripts.voicer.

The aforementioned fix was part of the version 2.0.2 release.


Added some fulfillment fee options for testing

Feature: #78878

oh yeah, we forgot to tell you to use AB#78878 in github pull requests instead of just #78878


On controller with report sent on change joystick calibration is delayed past connection

BlueRetro firmware version
all
BlueRetro firmware specification
Select a spec
BlueRetro firmware variant
Select a variant
BlueRetro hardware type
Select a type
Manufacturer
all
System used
Select a system
Bluetooth controller brand & name
xbox, stadia
What is problem? (only list ONE problem per report)
On controller with report sent on change joystick calibration is delayed past connection
What did you expect to happen?
We could either:

Figure a way to force a few report update at init
We could assume axes neutral is 0 past some X time past init

Attach files like logs or Bluetooth traces here
No response

Figure a way to force a few report update at init
I think HID Get_Report(Input) request is a way to go.

Get_Report did sound like the proper way to do it, event the HID spec suggest using this mechanism for initialization:
This request is useful at initialization time for absolute items and for
determining the state of feature items. This request is not intended to be used
for polling the device state on a regular basis.

Unfortunately the controllers for which I needed to do this do not implement it properly:
8bitdo will ignore the request:
https://github.com/darthcloud/bt_traces/blob/master/blueretro_8bitdo_sf30_get_report.pcapng
Retrobit answer with a weird report, all zeroes including report ID:
https://github.com/darthcloud/bt_traces/blob/master/blueretro_retrobit_saturn_get_report.pcapng
For BLE device I used the BT_ATT_OP_READ_REQ cmd directly on the report attribute.
For Xbox controller this result in a report that look right but in reality it's all hardcoded value, it doesn't reflect the real state of the various axis.
https://github.com/darthcloud/bt_traces/blob/master/blueretro_xbox_xs_ble_read_report.pcapng
For BLE device I think reading the report attribute directly is not the proper way of doing a "GET_REPORT"
I probably need to go through the HID Control Point attribute.
For Generic/Xbox BR/EDR devices I think I will simply remove the joystick center calib and assume middle to be exactly at the middle of the range.
For BLE I tempted to do the same but I might experiment with the HID Control Point first.

Actualy base on https://www.bluetooth.com/specifications/specs/human-interface-device-service-1-0/ & https://www.bluetooth.com/specifications/specs/hid-over-gatt-profile-1-0/ HID Control Point is only for suspend cmds.
The various "legacy" HID cmds look to be absent from the LE HID specs.
So I will just remove joystick center calib for BLE device as well.

For BLE device I used the BT_ATT_OP_READ_REQ cmd directly on the report attribute.

it should work according to the HIDS spec...but seems these devices are not fully compliant.

For now I will maintain current behavior and simply add a note in the wiki
https://github.com/darthcloud/BlueRetro/wiki/Controller-pairing-guide#ii---blueretro-joystick-calibration
I might hardcode the neutral value if I get too much complain in the future


Fix Operations Engineering Reports App

The Ops Eng app is behaving weirdly i.e. is not working as expected.
Investigate what is going on and fix the issue.
Definition of Done

[ ] We understand why the report app isn't working
[ ] We can fix the reports

PR: https://github.com/ministryofjustice/github-repository-standards/pull/2
Definition of done:

There was an error in the GraphQL query being hidden by multiple layers of code
The reports are fixed!


Can't extract files from archive back to an existing folder

After opening a TTARCH2 archive and deleting the unused files, one can't re-extract the files to the folder. You are prompted with "An archive with that name already exists within the project".
Solution: When opening a TTARCH2 archive, if a folder with the name already exists, create a temporary folder and instead extract the archive contents to the temporary folder instead. After extraction, move all of the contents back to the archive folder except for the files that share the same names. Then when that is complete simply just delete the temporary folder and its contents.

Won't fix this for 1.1 as it's intended but I'll experiment with alternate file importing methods for the 2.0 workflow.


Initial build

After I build the solution, I am receiving multiple missing nuget packages from the solution.  The nuget restore also fails.  Any advice would be much appreciated.

I've recently merged a pull request to upgrade Nuget so it auto downloads packages. It would seem this is not working. Could you try deleting that packages.config file and the rebuilding and let me know if that fixes it for you.

After deleting the package.config, the result is still the same.  fyi, your site is also down:  http://www.mvcforum.com.   I'm looking forward to having a look at this project.

No problem. I'll revert it back in the morning as it was working fine previously. Website is working fine for me?

Should all be back working as normal now

The reason I couldn't get your site to load was because of my proxy at work.  I got your site to load on through my cellular network.
I'm still getting the same on initial build.

It's a nuget problem. Did you do a fresh clone/download?
It's trying to restore the packages but can't. Is this the same issue as the website, because of the proxy? It can't get the packages from Nuget?

I have this in AppVeyor and it's building fine. But that's because it can download the packages. Also you do have Nuget installed right?

Yes, I did a fresh download.
hmmm....maybe it is a proxy issue.  Yes, I'm using Nuget 2.8+ with VS2013 Pro

Ok.  I guess that download wasn't as fresh as I thought.  I got it to compile on my other computer just fine.  This looks like a great project!  Good work.  I'm going to Fork it.
I am getting runtime errors on some of the pages when the site tries to hit www.mvcforum.com because of my internal network.


Unicode handling in String and WString

According to https://design.ros2.org/articles/wide_strings.html, the string and wstring types must use the UTF-8 and UTF-16 encodings (not necessarily enforced), cannot contain null bytes or words (enforced), and, when bounded, are measured in terms of bytes or words.
Moreover, though the rosidl_runtime_c U16String type uses uint_least16_t, Rust guarantees the existence of a precise u16 type, so we should use that instead of ushort, which isn't guaranteed to be the same as uint_least16_t anyways. (Rust doesn't support platforms where uint_least16_t != uint16_t.)

No worries @maspe36, thanks for taking a look.

Rust doesn't support platforms where uint_least16_t != uint16_t.

Out of curiosity, I was trying to track down this claim, but I'm coming up empty. Do you have a source for this?

I'm actually failing to find a direct source for that claim as well, though I thought I had one. I think it can still be inferred from the definitions of uint16_t and uint_least16_t. If a platform defines uint16_t, then by definition uint_least16_t must be the same size. So by providing an exact u16, Rust would require this.


Typescript 2.9 compatibility

Looks like TS 2.9 changed the way keyofworks and now a bunch of errors like the below are showing up:
node_modules/@types/ramda/src/mergeWithKey.d.ts:78:61 - error TS2344: Type 'keyof T' does not satisfy the constraint 'string'.
  Type 'string | number | symbol' is not assignable to type 'string'.
    Type 'number' is not assignable to type 'string'.

https://blogs.msdn.microsoft.com/typescript/2018/05/31/announcing-typescript-2-9/#breaking-changes has the deets.

Ran into this over the weekend; it's stalling our ability to upgrade to TS 2.9 in a few of our microservices 🙁

It's possible to use the previous behavior of keyof and get rid of these warnings until typings are updated by adding the following configuration to tsconfig.json:
{
    "compilerOptions": {
        "keyofStringsOnly": true
    }
}

It should be possible, unless you used some tuple types. The fixed length tuple is another incompatible part and it couldn't be disabled. I've opened #399 to address these issues but I'm not sure if it addressed all the TS 2.9 issues, at least there's no warning in generated definitions now and tests are passed.

The fixed length tuple is another incompatible part and it couldn't be disabled.

That one is my fault. You're welcome. :D


Publish as NPM module

How about publishing as an NPM module? This will make it easier for projects that manage their dependencies using NPM to get the latest version of Dossier in an automated way.
The issue is that you don't include your binary (dossier.jar) as part of your repo -- instead it's a download attached to a release.
Alternatively, I'd be happy to package your binary, license and readme an publish to npmjs.com, in a similar manner to how the google-closure-compiler offers the binary from google/closure-compiler. I've prepared a repo isabo/js-dossier-npm, but haven't published to NPM yet -- in case you want to do it as part of your repo.
Let me know what you think. BTW thanks for a great tool!

Sure, I can publish the next release to npm (by EOY)

Great!

The 0.8.0 has been published to npm


Extend localizations

Currently there are about 35 localizations, almost all of them contributed by users of the plugin. There's still a lot of other languages, and waiting for people to jump in is not a good way to get to full support. Using launchpad translations could be a good way to crowdsource the work, but would require actually specifiying which languages to support and creating something there for people to start with: https://translations.launchpad.net/
An alternative is https://www.transifex.net/

I'm sorry for the lack of activity on this issue. Instead of leaving it open any longer, I decided to close old issues without trying to address them, to longer give the false impression that it will get addressed eventually.
To the reporter (or anyone else interested in this issue): If you're affected by the same issue, consider opening a new issue, with a testpage that shows the issue. Even better, try to fix the issue yourself, and improve the project by sending a pull request. This may seem daunting at first, but you'll likely learn some useful skills that you can apply elsewhere as well. And you can help keep this project alive. We've documented how to do these things, too. A patch is worth a thousand issues!

Yes, very sad.


Localized string storage, Culture set, Front-end supports.

/cc @hishamco @DamianEdwards @kirthik

To make a ILocalizedStringProvider and allow different ways to storage the string, such as .json like i18n did, or store these in EF. It should be writable by using the provider instance. Resx is so heavy and has a bad readability, it is hard to edit by using vs code or other editors.
Make a culture set, to describe a set of localized strings, and these string will be displayed when the set contains the target culture. For this, we do not need CultureList.cs anymore.
Make a reload or refresh function in the above interface, and we can use Reload() to reload strings when someone made some changes external. Or implement a resource listener.
Add a middle ware to map a javascript to ensure we can use these string in front-end.
Implement a RouteRequestCultureProvider if possible.

I did some works to implement these, but not based on this repo, I am too fool and cannot understand the structure of this repo. If you think my suggestions are valuable, you can have a look https://github.com/CodeComb/Localization
EF-Storage: https://github.com/CodeComb/Localization/blob/dev/src/CodeComb.AspNet.Localization/EntityFramework/EFCollection.cs
Json-Storage: https://github.com/CodeComb/Localization/blob/dev/src/CodeComb.AspNet.Localization/Json/JsonCollection.cs
Json sample:
https://github.com/CodeComb/Localization/blob/dev/test/CodeComb.AspNet.Localization.Tests/Localization/en-us.json
Javascript Localizer: https://github.com/CodeComb/Localization/blob/dev/src/CodeComb.AspNet.Localization/Extensions/LocalizationScriptMiddleware.cs

@Kagamine If i'm not wrong I saw an issue related to what you said before. The guy using the localization repo to store the key/value in database instead of resx file.
I will look for that issue and get back to you

We should look at providing some more samples that shows how to use alternative localized resource providers, like a DB.

@danroth27 should this will be included in the docs or just in the sample?
If there's a possibility to send a PR for this I will do ..

@Eilon is going to look at putting a sample together first and then we can look at documenting the recommended patterns.

What's your view about the other lines in this issue such as frontend support? @danroth27

I was thinking to send a PR for this, but if @Eilon will create the sample, this is fine

@Eilon I created a sample that uses EF as data source can I make a PR for that or you have another strategy to do it?

@Kagamine regrading your points:
1- The current implementation is open, simply you can implement IStringLocalizer and IStringLocalizerFactory so the storage could be database, json .. name it
2- CultureList.cs is not there anymore after the design change in issue #111
3- Implement such a resource monitor may has side effect
4- According RouteRequestCultureProvider I already suggest DomainRequestCultureProvider which is in backlog

@Kagamine I made a PR #149 to use EntityFramework as localization source, hopefully you will get the idea how to use  IStringLocalizer & IStringLocalizerFactory without changing the core APIs

@hishamco Please do not at me anymore, I just want to listen to the official replies. Thanks.

Sorry, but the latest two posts answers what you asking for?!!

I don't care about this anymore. I have not used the Localization package which released by Microsoft.

Strange if you don't care why you the post the issue


[Feature Request] Make site interface language PO files to be downloadable easily from dashboard

I have a client who is trying to make french site.
The client didn't want to give an access to the admin panel for French translators.
So they want to give spreadsheet.
I think we won't need spreadsheet... but there will be nice to have a button so that they can download PO file easily.
And it should be simple to add a download button.
Thx

Where would this download button be if not in the actual Dashboard translation interface? This seems like the job of a custom package.

If I understand correctly this place might be a good choice to have a button like Download File-

@biplobice is correct. We could add inside of individual language section
[C5URL]/index.php/dashboard/system/multilingual/translate_interface/translate_po/1


Issue 246: Standarise outputs

This PR closes #246
It standardises all submodels currently in use to have a single return unless otherwise required (currently only the observation error prior model).

Note that in testing I found having a ExpectObs observation model that adds deterministic recording - perhaps we want this? or alternatively we need a better pattern for reconstructing those parts of the model.
Something else that I realised when testing is we have zero parameter recover tests of any kind. Having these for a picked ad backend would probably catch a lot of issues when developing models. Not sure where these sit in the world where you can have gradient tests (and those would overlap heavily with our benchmarks).
I in general also still find chain objects really clunky and really just want them in a long format data frame with variables by index and name (i.e expected obs in one column and index in another) - I think I've just been spoiled by tidybayes here.
This PR also cheekily closes #345 and updates observation stacking to avoid mutating a tuple.

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

Project coverage is 93.07%. Comparing base (0d1c6f9) to head (e81a866).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #358      +/-   ##
==========================================
- Coverage   93.09%   93.07%   -0.02%
==========================================
  Files          50       50
  Lines         521      520       -1
==========================================
- Hits          485      484       -1
  Misses         36       36

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

It standardises all submodels currently in use to have a single return unless otherwise required (currently only the observation error prior model).

Love it.

Something else that I realised when testing is we have zero parameter recover tests of any kind. Having these for a picked ad backend would probably catch a lot of issues when developing models. Not sure where these sit in the world where you can have gradient tests (and those would overlap heavily with our benchmarks).

Its not quite zero e.g
https://github.com/CDCgov/Rt-without-renewal/blob/929deb47e7523f5aac64a0ac5c1add828192a3cf/EpiAware/test/EpiLatentModels/manipulators/CombineLatentModels.jl#L91-L106
Where we test against ability to recover samples from a known posterior distribution using data generated randomly from the test model.

I in general also still find chain objects really clunky and really just want them in a long format data frame with variables by index and name (i.e expected obs in one column and index in another) - I think I've just been spoiled by tidybayes here.
This PR also cheekily closes #345 and updates observation stacking to avoid mutating a tuple.

Wide format conversion from Chains to dataFrame (e.g. EpiAware.EpiAwareUtils.spread_draws) was very easy to implement; want to make an issue?

Its not quite zero e.g

What I mean here is we don't use anything that uses the gradients which is the most important thing for actually using the methods in the real world. All the prior methods are just sampling directly which is good to check but it leaves a gap where bugs can happen

Its not quite zero e.g

What I mean here is we don't use anything that uses the gradients which is the most important thing for actually using the methods in the real world. All the prior methods are just sampling directly which is good to check but it leaves a gap where bugs can happen

But it is sampling with NUTS so a grad error is a sufficient condition to fail this test because a silent grad error will almost certainly cause an incorrect posterior. But I know what you mean.

But it is sampling with NUTS so a grad error is a sufficient condition to fail this test because a silent grad error will almost certainly cause an incorrect posterior. But I know what you mean.

Oh right yes sorry but that is the only example of that I think

Good changes. I'm starting to think that mapreduce or map is going to be more effective than the recursive function approach in the concat methods. Thoughts? Possible issue?

Yes I think you could be right.

I think the issue is that it can't detect the branch name when its been updated via a rebase - a bit annoying but not the end of the world

I'm testing benchmarks on #367. I've played around a bunch and I can't really see what in this PR would be causing this new benchmark failure (the change since it worked was the hotfixes to main which included all of the EpiObsModel benchmarks which had been missed out before).Any thoughts. If not thoughts and if #367 doesn't shed any light perhaps we merge as is and make a issue to explore?

The error message seems to be about loading previous benchmark results. It could be because suite is misconfigured the earlier guess about the rebase (but I think not)

Yes there is a MethodError
ERROR: MethodError: no method matching loadparams!(::BenchmarkGroup, ::BenchmarkTools.Parameters, ::Symbol, ::Symbol)

Has the pattern changed, because the method signature
loadparams!(::BenchmarkGroup, !Matched::BenchmarkGroup, ::Any...)

Is quite close?

Yes I am seeing that and no not that I can see.
#367 works and so this is either an issue with a change in this PR or its an issue with the configuration of the PR (which would be weird). Going to cherry pick some bits into their own PRs

https://github.com/JuliaCI/PkgBenchmark.jl/blob/6aab4956fbdf7e79a57cda260a2175bf5e13252a/src/runbenchmark.jl#L277
This is the line that is throwing the error I believe and I believe this indicates that the structure of the benchmarking job is changing between main and this PR. I struggle to understand why that might be given they share the same dependencies and benchmarks haven't been changed but am testing this but forcing a retune to see if that resolves the issue. If it does I guess we keep it off, make and issue, and investigate at our leisure. It could be some weird interaction from make_turing_suite and changes in the underlying Turing models resulting in modifications to that between PRs?

This didn't address the problem but reading the code it seems like loadparam shouldn't be being hit at all. This makes me wonder if its using code from main here. Going to hotfix there and rebase.

There is still an issue here but it's now further in than the original. It still looks like the structure of suite is different between the two branches. I'll step through again and look locally using debugger

The problem is now in PkgBenchmark
 PkgBenchmark: benchmark results written to .benchmarkci/result-baseline.json
┌ Info: Finish running benchmarks.
│ * Target: 47 minutes 58 seconds
└ * Baseline: 41 minutes 34 seconds
ERROR: MethodError: no method matching judge(::BenchmarkTools.TrialEstimate, ::BenchmarkTools.BenchmarkGroup)
Closest candidates are:
  judge(::BenchmarkTools.TrialEstimate, !Matched::BenchmarkTools.TrialEstimate; kwargs...)
   @ BenchmarkTools ~/.julia/packages/BenchmarkTools/QNsku/src/trials.jl:221
  judge(!Matched::BenchmarkTools.BenchmarkGroup...; kwargs...)

Same problem in the sense that of the outputs isn't in the expected format for judge

I think our conclusion is we should merge now and deal with benchmarks as an issue


Add discharge endpoint

closes #1072
companion pr: https://github.com/pulibrary/princeton_ansible/pull/2127

Coverage increased (+0.2%) to 83.066% when pulling a86dfa2f0d8c3efc0edccfc6cf27838ae82a6789 on 1072-discharge into afd685ba4397530724d48c2364053a6f3c608584 on alma.

This is ready for review. It's deployed and can be tested with a curl command like:
curl -d "auth_token=[htc_auth_token]" -X POST "https://bibdata-alma-staging.princeton.edu/bibliographic/9968643943506421/holdings/22258767470006421/items/23258767460006421

The auth token is in the shared lastpass drive at location Shared-ITIMS-Passwords/bibdata/htc_auth_token

We tested it also with @mzelesky and it puts the item in place in alma.

@christinach @mzelesky thanks for testing it from the alma side.


”Ostrov”, ”Ostrovel”, ”Ostrovu Mic”, ”Sibișel” are listed in the drop-down menu

Description:
When user writes ”Ostrov”, ”Ostrovel”, ”Ostrovu Mic”, ”Sibișel” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Ostrov"

Expected results
The location appears in the drop-down menu as "Sat Ostrov, HUNEDOARA (Râu de Mori)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Ostrovel"

Expected results
The location appears in the drop-down menu as "Sat Ostrovel, HUNEDOARA (Râu de Mori)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Sibișel"

Expected results
The location appears in the drop-down menu as "Sat Sibișel, HUNEDOARA (Râu de Mori)".


I specify a start time only, but the running period is ~23:59.

I specify a start time only, but the running period is ~23:59.
(I am not fixed the issue yet -https://github.com/awslabs/aws-instance-scheduler/pull/19)

Implementation Guide said:
--endtime
The time when the running period stops. If begintime and endtime are not specified,
the running period is 00:00 – 23:59.
...
If you specify a start time only, the instance must be stopped manually. Similarly,
if you specify a stop time only, the instance must be started manually. If you don’t specify
either time, the solution uses the days of the week, days of the month, or months rules to start
and stop instances.
https://s3.amazonaws.com/solutions-reference/aws-instance-scheduler/latest/instance-scheduler.pdf
and would it be helpful to add a "override_status=running" field in this situation?

Bob,
Are you using any day or weekday settings in the period?

Yes, period settings :
weekday:[1], begintime:”15:30”
Umm..If the weekly schedule is set, Is it only running until the day of the week?

Exactly.
All criteria that are defined for a period are used (AND) to determine the desired state. So if you use one, or more, of the date/day criteria thse must all match for that period. If a schedule has multple periods then the instance will run if at least one (OR) has a desired running state. The last desired state is stored, and the scheduler will take action if the new desired state differs from the last desired state. This allows you to manually start/stop, without the scheduler stop/start it again if the instance state differs from the desired state. It will as not use the actual instance state. If you use the enforced flag on a schedule then it will compare the actual instance state with the desired state, so the scheduler will always try to bring the instance back again into the desired schedule state.
If you use a start time only, the state before the start time will be any (basically leave status as is) and running if time >= start time. It will stop at 23:59 if you use a day/date setting for that period and no other period in that schudule has a desired running state.
Hope this expains the logic and ideas behind the scheduler logic
Regards
Arie

Then...
periods1  = weekdays:{"0"}, endtime:”23:59”
periods2  = weekdays:{"1"}, begintime:”15:30”
periods3  = weekdays:{"2-6"}, endtime:”23:59”
schedule = [periods1, periods2, periods3]
This will  try to start at 15:30 PM on Tuesday and will be stopped manually on the other day.
is it correct?

Closing due to time elapsed since last correspondence. Please re-open this if you are still having an issue.


Getting a weird error: Cannot have two definitions for property 'stForce2d'.

I am getting a weird error after starting everything up using express. I am trying to connect to an external database.
Error: Naming conflict when building object. Cannot have two definitions for property 'stForce2d'.
Any clue on how to get out of this problem?

What does your schema look like? Also, what is the full stack trace of the error? Do you expect a column with this name to be in the API?
I'm thinking either you have two columns which convert to that name, or you have a procedure that conflicts with a column name?

I was just trying to connect to an external database. So, I didn't have the schema defined. I was just importing postgraphql and making a DB connection. The I was going to see what the output was. That's where I got the error.

That's helpful. Do you mind running the introspection query and providing the result? Just change this line to = 'my_schema_name'. If you don't feel comfortable sharing the result publicly you can DM me on Gitter or send me an email (public on GitHub).

st_force_2d and st_force2d are two function in PostGIS that would both translate to the same PostGraphQL identifier; try using a schema other than public via the schemaName option so that you only pull in functions and tables you deliberately want to expose rather than also including all the utility functions.

Yep @benjie that worked. Just changed the schemaName.

Excellent, glad to hear you're up and running!