[Website] update get-started md

Resolves #24082

change headers size from h4 to h2 on https://beam.apache.org/get-started/, to make right nav menu initially visible without scroll
change headers size from h3 to h2 on https://beam.apache.org/documentation/basics/, to make right nav menu initially visible without scroll

before:

after:

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Verified, works as expected. Reviewed and tested by QA

@aromanenko-dev, could you, please, help with review of current PR?


Fix PBFT rebroadcast soft votes for current round in Testnet

Task Description
Same issue https://github.com/Taraxa-project/taraxa-node/issues/1488, need fix in Testnet
Epic Parent

@gaoqi8649 we are not using flow where you create separate PR for develop/testnet and master branches... So these issue probably should not have been created

@gaoqi8649 we are not using flow where you create separate PR for develop/testnet and master branches... So these issue probably should not have been created

Same question in https://github.com/Taraxa-project/taraxa-node/issues/1491


Sets PubsubMessageWithAttributesAndMessageIdAndOrderingKeyCoder as default coder for all PubsubMessage

This PR alters the default Coder for pubsub message objects from PubsubMessageWithAttributesCoder to PubsubMessageWithAttributesAndMessageIdAndOrderingKeyCoder as default coder for all PubsubMessage.class.  Note that there was a previous dev@ thread[1] on this subject where there was no opposition to this change.
The one important detail to call out is that pipeline authors may need to explicitly set the coder to the value which was previously the default, PubsubMessageWithAttributesCoder, in cases where pipeline update is required.  I do have some concern over whether that's completely sufficient/possible based on the behaviour observed in https://github.com/apache/beam/issues/21162#issuecomment-1371259467.
I'm not sure this should be merged until further testing can be done to validate whether a running pipeline can be successfully updated.
Fixes #23525
[1] https://lists.apache.org/thread/c3qk0cp3rbhk2wh8m0z8gqxqy931dbwc
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

@egalpin and @apilloud should this be blocking the 2.45 release?

@egalpin and @apilloud should this be blocking the 2.46 release? I'm guessing no given that it wasn't a 2.45 blocker

@damccorm i don’t believe it should be a blocker, no

I notice this is attached to an open P1 for a while. What do we need to make progress?

@kennknowles thanks for the bump. I have not had much bandwidth to meaningfully test this change. Something that concerns me and requires validation is whether or not the coder can be successfully set/changed from default so as to allow backward compatibility for pipeline authors. It appears that using .setCoder was not entirely sufficient based on prior exploration[1], but I have not yet revisited or gotten into a good repro-test feedback loop.
I have no issue handing this off if it’s high priority and someone else is keen to take up the work.
[1] https://github.com/apache/beam/issues/21162#issuecomment-1371259467


Resizing behaves strangely when the total width is less than the sum of the minSizes

For example, set minSize to [300, 300] and resize the container to be smaller than 600 pixels. Dragging the divider causes it to jump between two possible sizes in reverse (i.e. dragging to the right causes it to jump to the left).
When the container size is too small, it would be more logical to consider minSizes as proportional to avoid this glitchy behaviour (so in the example above, a size smaller than 600 pixels would result in a fixed 50% / 50% split).

This one is pesky and I'm not sure what the correct behavior should be. Going to think on this proportional idea.

At a high level I think there are 2 things minSize may represent:

This pane can't show much of use if smaller than this size (e.g. text field showing less than 1 line of text), so the user shouldn't try to reduce it any further; or
This pane's rendering breaks somehow / becomes entirely unusable if smaller than this size.

In the second case, there's not much that can be done except forcing scrolling somewhere (which wouldn't be the responsibility of this library), but in the first case it seems that inconveniencing all components equally is the best way to stay as usable as possible.


update v0.2.4 rev history to mention the correct version of junit-karma-testrunner

Minor edit to the README

thx


Agree, closing.


chore(release): v0.10.3

:robot: I have created a release beep boop
0.10.3 (2023-06-22)
Bug Fixes

button height fit & outline padding. (d3fa4e0)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/sira-design/sira/releases/tag/v0.10.3 :sunflower:


JS: introduce 'Util::describeExpression'

As discussed recently, it may be clearer to mention the kind of an expression in an alert message, instead of just using the generic "this expression is bad".
This PR introduce utility for doing just that: Util::describeExpression. I have put it to use in js/trivial-conditional, we can use it in other queries later.
The evalution shows that performance does not degrade.
Ping @max as he may have an opinion on this.

Not that @max. Sorry about that!
Ping @xiemaisi

Rebased.


Documentation on the migration path from laminas-mvc-console

Feature Request

Q
A

New Feature
yes

RFC
no

BC Break
no

Summary
We're migrating our (pretty big) application from laminas-mvc-console to laminas-cli. So far I genuinely like the new setup, but the migration hasn't been trivial for us so far: we've run into some issues that might be worth documenting. Here are some things I've gathered so far:

laminas-cli does not initialize a Laminas\Mvc\Application and therefore does not initiate the MVC application lifecycle. If your app depends on any MVC events (bootstrap, route, dispatch, etc) then this won't work for console commands.
because no MVC events are triggered, a module's onBootstrap method will also not be called, as it depends on MvcEvent::EVENT_BOOTSTRAP being triggered. Using onBootstrap is suggested by the Laminas documentation for doing lightweight application setup like setting up event listeners (we're now using ModuleEvent::EVENT_LOAD_MODULES_POST instead).
public/index.php is no longer the application entry point, so if you do any setup here then that will no longer work. The docs for the MVC skeleton suggest to add some error reporting here, so it might be good to explicitly mention warn about this in the laminas-cli docs.

There might be more, but this is what I could come up with now. I'd be willing to create a documentation PR by the way, I just figured it was better to file an issue first. :)

@koenkivits
A migration guide is definitely needed!

laminas-cli does not initialize a Laminas\Mvc\Application and therefore does not initiate the MVC application lifecycle. If your app depends on any MVC events (bootstrap, route, dispatch, etc) then this won't work for console commands.

Why do you need the same events for a CLI command and an application? What is being executed here? Can you give an example?

Using onBootstrap is suggested by the Laminas documentation for doing lightweight application setup like setting up event listeners

In a laminas-mvc based application the listeners can be registered via configuration (global, module, etc.), no need for a module extension:
return [
    'listeners' => [
        MyModule\Listener\MyListener::class,
    ],
    // …
];

I'd be willing to create a documentation PR by the way, I just figured it was better to file an issue first.

👍

@froschdesign thanks for your quick response!

laminas-cli does not initialize a Laminas\Mvc\Application and therefore does not initiate the MVC application lifecycle. If your app depends on any MVC events (bootstrap, route, dispatch, etc) then this won't work for console commands.

Why do you need the same events for a CLI command and an application? What is being executed here? Can you give an example?

We mostly used onBootstrap for some setup (mostly some logging setup). We also indirectly depended on some ViewManager initialization (which happens on bootstrap), although that was due to some flaky code that was probably very specific to our situation (and which has now been refactored).
We also logged the MVC events as event markers in Tideways. We now simply do that with the Symfony console events. Not a huge thing, but it was something we needed find out.
FWIW, I was looking for this link earlier, but couldn't find it: https://github.com/laminas/laminas-mvc/blob/9510e9fdcfd2a76eb852d4ba831e0a50cb6178a2/docs/book/examples.md#bootstrapping

Using onBootstrap is suggested by the Laminas documentation for doing lightweight application setup like setting up event listeners

In a laminas-mvc based application the listeners can be registered via configuration (global, module, etc.), no need for a module extension:
return [
    'listeners' => [
        MyModule\Listener\MyListener::class,
    ],
    // …
];

You're right, we can probably improve our code here, thanks. :) This doesn't seem to be mentioned in the documentation though? (I could look at documenting that too, of course)

@koenkivits
Sorry for the very late response. 😞

We mostly used onBootstrap for some setup (mostly some logging setup).

Sounds like it doesn't belong there. Why not configuration and factories?

…although that was due to some flaky code that was probably very specific to our situation (and which has now been refactored).

Refactoring is good. 😃

We also logged the MVC events as event markers in Tideways. We now simply do the same with Symfony console events. Not a huge thing, but it was something we needed find out.

A topic for the migration guide.

This doesn't seem to be mentioned in the documentation though? (I could look at documenting that too, of course)

You are right, this part is missing the documentation of laminas-eventmanager. I added a note to the related project.

Thanks for your feedback and the examples! 👍

@froschdesign

Sorry for the very late response. :disappointed:

:zipper_mouth_face: :sweat_smile: (it's been busy here as well)

Sounds like it doesn't belong there. Why not configuration and factories?

This was in an older part of our code base so it's hard to tell, but I'm not sure if it was ever a very deliberate decision at all. My guess is that the decision at the time was only based on this line laminas-mvc docs:

Each Module class can have an optional onBootstrap() method. This method is used for module-specific configuration, and is the ideal location to setup event listeners for you module.

(emphasis mine)
In any case: I hope to be able to take the time to write the documentation soon. I've had a busy few weeks so I haven't gotten around to it yet. :slightly_smiling_face:

@koenkivits did you ever manage to write some documentation on the migration path from laminas-mvc-console? We also have a large application that needs migrating and some documentation or a list of the issues you ran into would be very useful!


Turn off colors when reading branch and log

The commit log and git branch parsing was not working when my commands
were getting colorized.  Explicitly pass --no-color to these two
commands to turn off colors.

lgtm. unit test expectations need to be updated


Add gCNV to WGS CNV Calling workflow

Changes

Added gCNV to WGS CNV Calling workflow
Created new helper workflow: helper_gcnv_model

Draft tag: missing validation.

Draft tag: missing validation.

Workflow set as 'experimental' pending validation.


Upgrade dependencies

The ones that cannot be upgraded are parity-wasm and jsonrpc.

Updating the patch versions in Cargo.toml is normally totally unnecessary, unless someone broke semver somewhere.

@DemiMarie-parity is this likely to be resurrected?


AccessViolationException using sqlcipher

If the sqlcipher key is set > 1 times (even if the key is the same) on the same connection, the next SQL statement that gets executed will give an AccessViolationException.
To recreate:

Create a console project and add a nuget reference to SQLitePCLRaw.bundle_sqlcipher
Replace the code in the code file with

using System.IO;
using SQLitePCL;

namespace SQLiteRawPCLSqlCipherCrash
{
	class Program
	{
		static void Main()
		{
			if (File.Exists("Test.sqlite"))
				File.Delete("Test.sqlite");

			Batteries_V2.Init();
			sqlite3 db;
			raw.sqlite3_open("Test.sqlite", out db);

			string error;
			raw.sqlite3_exec(db, "PRAGMA key = 'password'", out error);
			raw.sqlite3_exec(db, "PRAGMA key = 'password'", out error);

			raw.sqlite3_exec(db, "CREATE TABLE Test (T int)", out error);
		}
	}
}

This should crash once the create table statement runs

I have reproduced this.
What I don't know yet is whether this behavior is specific to SQLitePCL.raw, or if the same thing happens when using sqlcipher from, say, C.

Closing old/stale issue.


Add option to use smaller AES tables (table sizes reduced by 6144 bytes)

This patch adds MBEDTLS_AES_SMALL_TABLES option to reduce number of AES
look-up tables and thus save 6 KiB of memory. Enabling this option
cause performance hit MBEDTLS_AES_SMALL_TABLES of ~7% on ARM and ~15%
on x86-64.
Benchmark on Cortex-A7 (armhf):
Before:
AES-CBC-128              :      14394 Kb/s,          0 cycles/byte
AES-CBC-192              :      12442 Kb/s,          0 cycles/byte
AES-CBC-256              :      10958 Kb/s,          0 cycles/byte
After:
AES-CBC-128              :      13342 Kb/s,          0 cycles/byte
AES-CBC-192              :      11469 Kb/s,          0 cycles/byte
AES-CBC-256              :      10058 Kb/s,          0 cycles/byte
Benchmark on Intel Core i5-4570 (x86_64, 3.2 Ghz, no turbo):
Before:
AES-CBC-128              :     215759 Kb/s,         14 cycles/byte
AES-CBC-192              :     190884 Kb/s,         16 cycles/byte
AES-CBC-256              :     171536 Kb/s,         18 cycles/byte
After:
AES-CBC-128              :     185108 Kb/s,         16 cycles/byte
AES-CBC-192              :     162839 Kb/s,         19 cycles/byte
AES-CBC-256              :     144700 Kb/s,         21 cycles/byte

Automatic CI verification build not done, please verify manually.

Thanks for the contribution!
I think we'd like to accept this once I've given it a fuller review, but to accept your current contributions or any future contributions we will need a Contributor’s Licence Agreement (CLA) signed or authorised by yourself. You can find an agreement to sign here, which can be signed and returned to us, or you could create an mbed account and accept a slightly different agreement here with a click through if this is a personal contribution.
Thanks for your understanding, and apologies it's taken so long to come back to you since you made the contribution.

Automatic CI verification build not done, please verify manually.

@mpg - Could you please do the design review?

Design reviewed and approved.

Note: I did some time tests on a FRDM-K64F board (based on a Cortex-M4 core) with Mbed OS (using the online compiler), and here are the results for running time of mbedtls_aes_self_test(0) (with CBC, CFB and CTR enabled) in milliseconds, depending of whether tables are stored in ROM or RAM, and whether we use 4 tables or 1. In the RAM case, the first line is with tables no initialised yet, and the second with tables initialised.
           4       1
RAM     1248    1244
        1248    1244
ROM     2614    2563

The results surprise me:

apparently the time it takes to generate the tables in negligible
apparently the code runs slightly faster with fewer tables
However I checked them many times and can't find a flaw with the measurement.

If the results are correct, then I would suggest making 1 table the new default.

Hi @jkivilin
Thanks very much for your contribution. We've merged your work into the development branch via commit 8645e908255694e8d3c3f1c04b439cc66cdd35a3.
Thanks!

Thanks.
Merging this pull-request took over two years. Is this typical?

Hi @jkivilin,
apologies for taking such a long time to consider and merge your PR - it's without question that a delay as the one experienced here is unfavourable for multiple reasons, and we're actively working on reducing the time to review and integrate community contributions at the moment.
Thanks again for your contribution,
Kind regards,
Hanno


Mat/Pat - Maternity leave - Leave allowance information

Tab -  Leave allowance information
AC

[x] Validate if calculation box appears
[x] Validate if basic pay is $1000, EI Estimate is $200 and Additional earnings is $50, Estimated leave allowance  should be $175, Estimated total weekly earnings should be $375.00
[x] Validate if basic pay is $1000, EI Estimate is $200, Estimated leave allowance should be $225, Estimated total weekly earnings should be $425
[x] All 3 tooltips should be present
[x] If basic pay or EI estimate is not entered, validation error should be present when Estimate is clicked

Notes

https://bcgov.sharepoint.com/:u:/r/teams/03991/Shared Documents/General/Selenium/Selenium Scripts/Maternity Parental L%26A/MaternityAllowance_1891_1892.side?csf=1&web=1&e=vdu4d2

Confirmed working! Moving to PO

Allowance info is working perfectly. PO approved & closing this ticket


Trigger Away mode with Telegram

Requirements

[x] #454
[ ] Setup automation.

As a result of https://github.com/theglus/Home-Assistant-Config/issues/454#issuecomment-1146894567, this Telegram trigger is no longer needed.


RHCLOUD-26617 Use MigrationFilter with ServiceNow

Related to https://github.com/RedHatInsights/notifications-backend/pull/2065.
MigrationFilter is used to switch between the Eventing apps and the Notifications connectors for Splunk and ServiceNow.

The test failure is unrelated.


Update bundler in base docker container

From @benjaminwood on April 9, 2018 22:18
Base container is: concordconsortium/docker-rails-base-ruby-2.2.6
Currently the base image has bundler 1.14.5. We ran into issues with this version that appear to be resolved in 1.14.6.
We should upgrade to at least 1.14.6, if not latest 1.16.x.
Ref: https://github.com/concord-consortium/docker-rails-base/blob/ruby22/Dockerfile
Copied from original issue: hintmedia/rigse#1

This has been completed (by @scytacki I believe). Version 1.16.4 is now installed.


Extend the diff function with rich types not included in the base JS language.

❗ Is your feature request related to a problem? Please describe.
We use started using microdiff as a pre-step before doing db updates. When working with MongoDB, then use the ObjectId data type which is exported by the bson package to keep track of documents (records) and references between data.
It can be compared in JS using the toString() (or casting it to string).
However, currently microdiff compares it as an object and because the object has no properties (only methods), it can not identify the change.
✅ Describe the solution you'd like
In order for us to solve this issue and have microdiff detect changes to properties that are ObjectId, we needed to duplicate the function to our code base and extend the rich types object with the ObjectId: true property to have it trigger the "rich type" check and be evaluated as two strings being compared with each other.
↗ Describe alternatives you've considered
I would recommend adding a property to the third argument of the function where cyclesFix can be passed in. This would be an object of extended rich types which then also need to be checked while calling the diff function.
➕ Additional context
Other data types in JS which have a compatible (to String) method of comparing them can be added to this and thus we can still use the microdiff library without having to duplicate the functionality.

I am not sure if this is within the scope of Microdiff. What is stopping you from preprocessing the object to stringify the records beforehand?


Make NO_PROXY lists customizable

Feature request
Expose NO_PROXY lists outside as options or editable prototype property.
Why?
This will allow to use custom no-proxy lists from outside. E.g. like node-gyp use it's own no-proxy implementation.
References
https://github.com/Rob--W/proxy-from-env/blob/96d01f8fcfdccfb776735751132930bbf79c4a3a/index.js#L63

Closing because of https://github.com/Rob--W/proxy-from-env/pull/12#issuecomment-698283916


build: bump the version

/assign @Mini256
PTAL~ Thanks!

Codecov Report

Merging #178 (fc46238) into master (687aca7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #178   +/-   ##
=======================================
  Coverage   86.09%   86.09%
=======================================
  Files          11       11
  Lines         985      985
=======================================
  Hits          848      848
  Misses         77       77
  Partials       60       60

Flag
Coverage Δ

unittests
86.09% <ø> (ø)

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

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 687aca7...fc46238. Read the comment docs.

/lgtm

/merge


The array

this test fails because the length of value.Array() is two instead of the expected 4.
When the length was 1, the length of Array() was 1
When the length was 2, the length of Array() was 1
When the length was 3, the length of Array() was 1
When the length was 4, the length of Array() was 2
When the length was 5, the length of Array() was 3
When the length was 6, the length of Array() was 4
Might this be in arrayOrMap(), where it treats every other element as a key?
func TestArray(t *testing.T) {
	parsed := gjson.Get("{\"foo\" : [\"a\", Null, False, 1]}", "foo")

	assert.Truef(t, parsed.IsArray(), "the array element %v is not reporting IsArray()", parsed)
	assert.Equal(t, 4, len(parsed.Array()))
}

Cheers

The json that you provided the Get statement looks invalid. The Null and False should be null and false.


trouble getting a connection to azure synapse

I am using pyodbc to connect to an azure synapse db from a centos box.
I get
"Unable to set SQL_ATTR_CONNECTION_POOLING attribute"

right from the pyodbc.connect() method.
I did try to set pyodbc.pooling = False, before trying to get the connection, but then I get
"'utf-8' codec can't decode byte 0xf5 in position 2: invalid start byte"

which is weird since I am not executing any query, just pyodbc.connect(...)
I also tried to set odbc trace but I get nothing in the log...
Here's my env:
OS: CentOS Linux release 7.5.1804 (Core)
Python: Python 3.7.4
Pyodbc: Version: 4.0.30
ODBC: unixODBC 2.3.7

odbcinst.ini:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1
UsageCount=1

By the way, I get the same message if I use the wrong driver name, or any of the other connection params.
I do have it working on my local box which is a mac, but I need to fix the centOS which is our jenkins box...
thank you in advance

Those symptoms suggest pyodbc is using a different driver manager than expected; try to connect from command line with isql -v -k '<your connection string here>', and if that works, strace it and see where it is loading the libodbc library from. Then try the same from within Python.

Thank you,
I've done that already, it worked.
Don't have root on that box, I will have to wait for someone to install strace for me:(

You can also try to find if more than one DM is installed by
find / -name libodbc.so.2
if you see multiple instances of that file it is likely to be causing this problem.

sorry for the delay, there is only one libodbc:
[jenkins@np-lnx77-01 ~]$ sudo find / -name libodbc.so.2
/usr/lib64/libodbc.so.2
tried to run:
isql -v -k '<your connection string here>'
that does not work, but
isql -v '<your connection string here>' <myuser> <mypass>
does work, and it loads the libodbc from /usr/lib64

Open a Python, import pyodbc and then pyodbc.__file__ to see where the library for pyodbc is. Run ldd on that file and post the results.

[jenkins@np-lnx77-01 ~]$ python3
Python 3.7.4 (default, Mar  3 2020, 09:14:27)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pyodbc
pyodbc.file
'/usr/local/lib/python3.7/site-packages/pyodbc.cpython-37m-x86_64-linux-gnu.so'

please let me know if u need anything else

ldd /usr/local/lib/python3.7/site-packages/pyodbc.cpython-37m-x86_64-linux-gnu.so

[jenkins@np-lnx77-01 ~]$ ldd /usr/local/lib/python3.7/site-packages/pyodbc.cpython-37m-x86_64-linux-gnu.so
linux-vdso.so.1 =>  (0x00007fffbd5f9000)
libodbc.so => /opt/teradata/client/17.00/lib64/libodbc.so (0x00007fcb90ff4000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fcb90ced000)
libm.so.6 => /lib64/libm.so.6 (0x00007fcb909eb000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcb907d5000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcb905b9000)
libc.so.6 => /lib64/libc.so.6 (0x00007fcb901eb000)
librt.so.1 => /lib64/librt.so.1 (0x00007fcb8ffe3000)
libodbcinst.so => /opt/teradata/client/17.00/lib64/libodbcinst.so (0x00007fcb8fd64000)
libddicu28.so => /opt/teradata/client/17.00/lib64/libddicu28.so (0x00007fcb8ee6d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fcb8ec69000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcb91535000)

Thank you very much V,
it now works (while terdata does not:), but at least we know what needs to be done)


sh: 1: wireit: Permission denied

I get this error after installing lit.dev and running npm ci & npm run dev:

<EMAIL_ADDRESS>dev
npm run dev:serve --workspace lit-dev-content --watch

<EMAIL_ADDRESS>dev:serve
wireit

sh: 1: wireit: Permission denied
npm ERR! Lifecycle script dev:serve failed with error:
npm ERR! Error: command failed
npm ERR!   in workspace<EMAIL_ADDRESS>npm ERR!   at location: /media/TOSHIBA/share/develop/lit/lit.dev/packages/lit-dev-content

This sounds like an issue with execution permission for the npm script.
chmod +x node_modules/.bin/wireit (might need sudo) could fix this but it probably shouldn't be happening in the first place if npm install is done, and/or npm is run with the right permission.


Inconsistent environment logic

Hi,
Is there a good reason that the default JEKYLL_ENV is set to production if unspecified or, and here is the kicker, any other environment except for development.
Unless production is specified it seems more natural to fall back on development. A workaround for people who don't use JEKYLL_ENV could be providing a boolean switch, that also should default to false.

We require JEKYLL_ENV which is a default part of Jekyll, that will not change, sorry. I see no reason not to enforce JEKYLL_ENV when it's a regular part of most systems, you have NODE_ENV, RAILS_ENV, JEKYLL_ENV and others to define your environment.
As for being consistent and enforcing production if you do not meet our criteria, it might seem more natural to you to default to development, but it's not natural to me, my users expect certain things to happen by default unless they wish them not to happen by default.

But I can set JEKYLL_ENV=foo (which can exist or not exist, doesn't really matter) and the module will assume that means production. This have unintended consequences when you do have more environments than just production and development, when using things like CI and environments based on branch names, etc.
In the current state the module assumes that every environment, except development actually means production.

I assume I could, I see no problem with that.

Cool, much appreciated! :)

We default to development now.  We have no plans to add custom environments, you are stuck with either development or production.  However since there was talk against production by default we now default to development.


initial project setup

@Yuri2b please add basic readme describing how to work with this initial project template.


Docker error

So I installed docker and ran the code provided, but I get this error:
docker: invalid reference format: repository name must be lowercase.
Any idea?

Please avoid posting a duplicate issue. Let's continue on #15


Update doc and config schema for tre_id

Resolves #3536
What is being addressed
The documentation and config.yaml schema suggests underscores can be used in a tre_id. This updates the. documentation and schema to only allow lowercase letters. Maybe hyphens are ok? (looks like all storage accounts use a replace on hyphens but not sure if there are other resources that assume the id only has lowercase letters)

Thanks @t-young31.
I'm sure we have had this discussion before, agree it is likely to restrict the ID up front. I think the issue is if people already have a tre_id with an underscore how do they proceed. with an upgrade. However given this mongo DB was added a while ago, not sure how many there are, if any.
Let us do a bit of research and see if we have any active deployments with _ in the ID.
cc @itye-msft

I'd vote to reduce the friction for new adopters and anyone with an existing deployment, which I guess would be pre core kv needs to update their config schema
Hopefully the doc updates are useful even if the schema doesn't get updated!

We use numbers in our TREIDs so that would need to come back in too.

have done
"Use only lowercase letters" from the doc is then incorrect?

We definitely have numbers in TRE IDs, so need to update the docs.

@t-young31 actually the doc says "alphanumeric" rather than letters?

"Use only lowercase letters. Choose wisely!"
https://github.com/microsoft/AzureTRE/blob/0ed36d0280bb3081d6d61b590ae3496d0209e372/docs/tre-admins/setup-instructions/setup-auth-entities.md?plain=1#L22

feel free to do a find & replace alphanumerics -> alphanumeric characters on this branch

/tet-force-approve

/test-force-approve


Add support for Rust cross compilation on MacOS

I'm cross compiling Rust lambdas on MacOS. I have the Rust side working using this approach.
But the deploy script invokes a C compiler. It assumes the executable is called musl-gcc.
I am using this Brew, to install a cross compilation toolchain.
The resp. executable is called x86_64-linux-musl-cc.
If Apex had an option to configure the name of this executable, cross compilation could work on MacOS without manually creating a symlink from x86_64-linux-musl-cc to musl-gcc (which is the workaround for this issue).

I'm still not too familiar with Rust but it would definitely be great if it "just worked" the way Go's does, I'm not sure if that's possible or not.

It actually does 'just work'. But the cross-compilation setup for MacOS (Windows should work the same) needs to be added to the Apex docs.
Basically:
rustup override set nightly
rustup target add x86_64-unknown-linux-musl
brew install FiloSottile/musl-cross/musl-cross
sudo ln -s /usr/local/bin/x86_64-linux-musl-cc /usr/local/bin/musl-gcc

Then inside the Apex project:
cargo init --bin my_proj
cd my_proj
mkdir .cargo
echo "[target.x86_64-unknown-linux-musl]\nlinker = "x86_64-linux-musl-gcc"\n" > .cargo/config

After this, apex deploy 'just works'.
Creating the symbolic link is the dirty part that could be avoided id Apex had a way to specify the C compiler.


Add documentation about archlinux package

Thanks for the merge.
And thank you for the project, it's a nice cli tool for toggl.

Thanks for the contribution @BarbUk and I am glad the project is useful to you!


Java Collection : Deque

Type
Collection
Directory
Collection => Deque => Deque.java
Description
Just declare the data structure, take the input dynamically, demonstrate some inbuilt methods.
Programming Language

[ ] c++
[ ] c
[ ] python
[ ] java
[ ] kotlin
[ ] javascript
[ ] typescript
[ ] c#
[ ] swift
[ ] ruby
[ ] scala
[ ] go
[ ] php
[ ] haskell
[ ] bash

Hi, can you assign me this issue, please? I want to do it in Java.


...medien.sch amdSec_10 false positive

I assume $work_dmdid contains 1 "word" of the DMDID attribute ... example DMDID="w1 w2 w3" → $work_dmdid="w2",
but then... shouldn't work_amdid be found by something like tokenize(@DMDID, " ") =any= $work_dmdid  instead of  @DMDID = $work_dmdid  ?
<sch:let name="work_amdid"
value="//mets:mets/mets:structMap[@TYPE='LOGICAL']//mets:div[@DMDID = $work_dmdid]/@ADMID"/>

Example METS https://digi.ub.uni-heidelberg.de/cgi-bin/digioai.cgi?verb=GetRecord&metadataPrefix=mets&identifier=oai%3Adigi.ub.uni-heidelberg.de%3A26126

Yes, that's correct - this is a bug.
We'll fix it in the next version. Thank you for notifiying us.

Fixed with 631fcdd6092fc1d0621501857ae3c1aac0afa96b


Docs on "Proper Service Implementation"

https://github.com/angel-dart/angel/wiki/Proper-Service-Implementation
Important things to consider:

mongo is a good reference implementation]
Services need only worry about handling Maps. Object serialization should be handled by angel_serialize, another serializer, or TypedService.
Allowing users to query the service via query string is optional (see allowQuery)
Allowing users to remove all entries is optional, and should be disabled by default

DELETE /null should trigger an evaluation of allowRemoveAll
Service.toId will return null in these cases

Always return the most recent representation of the data

After remove, return the old item
After modify/update, return what the item looks like in the database

modify and update are not interchangeable!

modify merges changes into an existing item
update overwrites an existing item
BOTH should create an item with the given ID if it does not already exist

One of these days, I'll get around it... But I'm lazy.

merged into "service basics"


Infinite recursion when serialized object has a toJSON method

Hello,
I have come across a problem while using this package in an ExpressJS project. I'm sending the response with res.json(circularObject) which internally calls JSON.stringify. Since I don't want to explicitly call the stringify function provided by this library, I have included a toJSON function into my object.
As per MDN JSON.stringify will call the toJSON function if the serialized object has a property named toJSON and that property is a function.
circular-json's stringify function also calls JSON.stringify and this results in an infinite loop. A simple check for this condition and accordingly adjusting the stringifyRecursion method should resolve the issue. If you are of the same opinion, I can have a go at it and send you a PR.
Kind regards,
Can

Hi @canibanoglu
I'm not sure I understand your concern ... so, CircularJSON is exactly a JSON.stringify wrap that uses a transformer to grant circular representation.
If you have object returning different version of themselves I don't think you should use this library because you know already there won't be circular data.
If I am not getting it, a little example to understand what's exactly the issue would be great.
Thanks

Ah, but I know that there will be circular data.
I won't paste the actual code here for brevity but here's what I'm trying to do.
var cycle = require("circular-json");

function Graph() {
  this.edges = {};
  this.vertices = {};
}

Graph.prototype.toJSON = function() {
  return cycle.stringify(this);
}

function Edge() {
  this.id = "42";
  this.start = null;  // This will be a Vertex instance
  this.end = null;  // This will be a Vertex instance
  this.properties = {};
}

function Vertex() {
  this.id = "42";
  this.outgoingEdges = [];  // There will be many edges here
  this.incomingEdges = [];  // There will be many edges here
  this.properties = {};
}

As you can see, when I add an edge and two corresponding vertices to my graph object, I will have circular data. I need to transport this data from the server to the client in JSON format. This is exactly why I need to use circular-json.
Here's how I send that data to client in ExpressJS:
router.get('/sidiousEndpoint', function(req, res, next) {
  // Let's say that I have received a Graph object full of data from somewhere
  res.json(graphObject);
});

ExpressJS's res.json practically does the following:

Serialize the object by calling JSON.stringify
Send the response by calling res.send

I know that I could always do the following without running into the problem I have described in my original comment:
router.get('/sidiousEndpoint', function(req, res, next) {
  // Again, I got a Graph object from somewhere
  res.send(cycle.stringify(graphObject));
});

But I believe that this approach will lead to a lot of (in my opinion, unnecessary) calls to cycle.stringify, at least one for every endpoint handler from which I return a Graph object.
To that end, I opted make use of JSON.stringify's default behaviour of calling toJSON if it is present in the serialized object.
I hope that this clarifies the problem.
Kind regards,
Can

Hey @canibanoglu I think you misunderstood what's the toJSON purpose.
Example:
JSON.stringify({toJSON:function(){return '{"no":"pe"}'}});
""{\"no\":\"pe\"}""

You see that output? That is because you don't return a string with a toJSON method, you need to return an object or whatever value you want to represent as JSON.
Example
JSON.stringify({toJSON:function(){return [1,2,3]}});
"[1,2,3]"

Your infinite loop has nothing to do with this project, it would have been exactly the same using function toJSON() { return JSON.stringify(this) } ... do you understand where's the issue?
TL;DR unless you really need to add anything interesting to those instances, don't use toJSON
If you need to add something during serialization, clone own properties only and return that object instead.

Thank you for the quick reply. I fully understand your point and yeah, with my method the serialized form is wrong. Bah, I'll need to find another way of doing this.
Thank you very much again for the help and pointers.

in case you need to clone/merge/copy objects maybe this post can help you:
https://www.webreflection.co.uk/blog/2015/10/06/how-to-copy-objects-in-javascript
There is also a cloner utility explained and usable through npm:
https://github.com/WebReflection/cloner


UDP get erroneous Src Port on answers from services in rancher

Rancher Version:
1.1.3
Docker Version:
1.12.1
OS and where are the hosts located? (cloud, bare metal, etc):
RancherOS, EC2
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA rancher, external DB
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
https://gist.github.com/fredriksvensson/c30be017c5d7540bed33f907b2087e8a
Set correct ip address in client.go to send UDP messages into rancher container.
Results:
Answers from the container in rancher get the Src Port rewritten to a faulty port, making answers to drop on arrival to the sender.
When running locally on docker with docker-compose this works as expected.
Frame 1: 43 bytes on wire (344 bits), 43 bytes captured (344 bits) on interface 0
Internet Protocol Version 4, Src: <IP_ADDRESS> (<IP_ADDRESS>), Dst: x.x.x.x (x.x.x.x)
User Datagram Protocol, Src Port: 33084 (33084), Dst Port: scp-config (10001)
    Source port: 33084 (33084)
    Destination port: scp-config (10001)
    Length: 9
    Checksum: 0x3566 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
Data (1 byte)

Frame 2: 43 bytes on wire (344 bits), 43 bytes captured (344 bits) on interface 0
Internet Protocol Version 4, Src: x.x.x.x (x.x.x.x), Dst: <IP_ADDRESS> (<IP_ADDRESS>)
User Datagram Protocol, Src Port: 14593 (14593), Dst Port: 33084 (33084)
    Source port: 14593 (14593)
    Destination port: 33084 (33084)
    Length: 9
    Checksum: 0xe052 [validation disabled]
  `      [Good Checksum: False]
        [Bad Checksum: False]
Data (1 byte)

Expected:
User Datagram Protocol, Src Port: 33084 (33084), Dst Port: scp-config (10001)

User Datagram Protocol, Src Port: 10001 (10001), Dst Port: 33084 (33084)

Just noting that I can confirm this problem as well: https://forums.rancher.com/t/udp-networking-stack-problems/4498

Any updates on this ticket? I've got a similar issue and its preventing us from using rancher entirely unfortunately :(

@leodotcloud Can you look at this, I've seen enough reports that there's probably something there.

I am not able to reproduce this issue using rancher/server:1.5.5.
Launched two containers:
udpserver: with 10001:10001/udp (running the above server.go)
udpclient: with net=host (running the above client.go)
15:03:41.575888 IP (tos 0x0, ttl 64, id 25324, offset 0, flags [DF], proto UDP (
17), length 29)
    <IP_ADDRESS>.35771 > <IP_ADDRESS>.10001: [bad udp cksum 0xe297 -> 0x3a92!] UDP,
 length 1
        0x0000:  02f2 e285 0706 0242 96c7 774a 0800 4500  .......B..wJ..E.
        0x0010:  001d 62ec 4000 4011 f566 0a2a 0001 0a2a  ..b<EMAIL_ADDRESS>        0x0020:  ce28 8bbb 2711 0009 e297 30              .(..'.....0
15:03:41.576052 IP (tos 0x0, ttl 64, id 55723, offset 0, flags [DF], proto UDP (
17), length 29)
    <IP_ADDRESS>.10001 > <IP_ADDRESS>.35771: [bad udp cksum 0xe297 -> 0x3a92!] UDP,
 length 1
        0x0000:  0242 96c7 774a 02f2 e285 0706 0800 4500  .B..wJ........E.
        0x0010:  001d d9ab 4000 4011 7ea7 0a2a ce28 0a2a  ....@.@.~..*.(.*
        0x0020:  0001 2711 8bbb 0009 e297 30              ..'.......0
15:03:42.576451 IP (tos 0x0, ttl 64, id 25614, offset 0, flags [DF], proto UDP (
17), length 29)
    <IP_ADDRESS>.35771 > <IP_ADDRESS>.10001: [bad udp cksum 0xe297 -> 0x3992!] UDP,
 length 1
        0x0000:  02f2 e285 0706 0242 96c7 774a 0800 4500  .......B..wJ..E.

Things are working as expected.

@leodotcloud I'm fairly new to Rancher but I just had this issue.  I'm making SNMP queries to servers outside my docker cluster. If I use the managed network it fails, but if I use Bridge, it works fine. I can map 7000:161/udp and have the same issue. I have to move it to bridge networking to fix it.
Docker version 17.03.1-ce, build c6d412e
Rancher 1.5.9

I'm experiencing a similar issue to @ScottiLXVI, which I believe is different from the original issue reported by @fredriksvensson.
The original post was hosting a UDP server inside a container, exposing the UDP port, and being able to use a client (outside the network) to connect to it.
The issue @ScottiLXVI and I are experiencing are the reverse:
Using a client from within container on a managed network to connect to a UDP server elsewhere (outside the docker cluster), and not receiving replies.
Just for context, I'm making a UDP request to Valve's Master Server and am expecting a response, which it sends. This is working via docker-compose on Windows, Linux, Mac. It's also working via the Bridge network, but not via the Managed network.
Per tcpdump:
graydoubt@overseer:~$ sudo tcpdump -i ens3 | grep -i udp | grep -v -i ipsec
08:49:12.161889 IP overseer.arkbrowser.com.41683 > 208-64-200-65.steampowered.com.27011: UDP, length 26
08:49:12.302566 IP 208-64-200-65.steampowered.com.27011 > overseer.arkbrowser.com.41683: UDP, length 1392

Looking at it from the docker0 interface:
graydoubt@overseer:~$ sudo tcpdump | grep -i udp | grep -v -i ipsec
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on docker0, link-type EN10MB (Ethernet), capture size 262144 bytes
08:20:23.425137 IP <IP_ADDRESS>.51842 > 208-64-200-65.steampowered.com.27011: UDP, length 26
08:20:23.563451 IP 208-64-200-65.steampowered.com.27011 > <IP_ADDRESS>.51842: UDP, length 1392

The container:
bash-4.3# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:7C:60:01:55:7C
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          UP BROADCAST RUNNING MULTICAST  MTU:1402  Metric:1
          RX packets:2819 errors:0 dropped:14 overruns:0 frame:0
          TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:978341 (955.4 KiB)  TX bytes:10036 (9.8 KiB)

The one thing I noticed is the dropped RX packets (14), and after each invocation of the program making the request, the dropped packets go up by 2.
I will try to put together a small script to reproduce this issue.

This is with Rancher 1.6.14 on Docker 17.12.0-ce.
And I think this may be a packet size / MTU type issue.
This snippet reproduces it (running it from an alpine container with Perl installed on Managed network):
perl -MSocket -e '
socket(my $socket, PF_INET, SOCK_DGRAM, 0) or die "socket: $!";
setsockopt($socket, SOL_SOCKET, SO_RCVTIMEO, pack("i4", 1, 0, 0, 0));
my $sockaddr = pack_sockaddr_in(27011, inet_aton("hl2master.steampowered.com"));
send($socket, "\x31\xFF<IP_ADDRESS>:0\x00\\appid\\346110\x00", 0, $sockaddr);
my $data = "";
recv($socket, $data, 1400, 0) or (print "Unable to query server\n" and exit(1));
print "Response received: $data\n";
'

Initially the payload was slightly different, with the server responding with a much smaller packet, but it was working:
bash-4.3# perl -MSocket -e '
> socket(my $socket, PF_INET, SOCK_DGRAM, 0) or die "socket: $!";
> setsockopt($socket, SOL_SOCKET, SO_RCVTIMEO, pack("i4", 1, 0, 0, 0));
> my $sockaddr = pack_sockaddr_in(27011, inet_aton("hl2master.steampowered.com"));
> send($socket, "\x31\x<IP_ADDRESS>:0\x00\\appid\\346110\x00", 0, $sockaddr);
> my $data = "";
> recv($socket, $data, 1400, 0) or (print "Unable to query server\n" and exit(1));
>
> print "Response received: $data\n";
> '
Response received: f

The corresponding tcpdump output:
09:59:16.373152 IP <IP_ADDRESS>.47167 > 208-64-200-52.steampowered.com.27011: UDP, length 26
09:59:16.566689 IP 208-64-200-52.steampowered.com.27011 > <IP_ADDRESS>.47167: UDP, length 12

If I change the script (changing payload from \x31\x00... to \x31\xFF...), the packet size is much bigger, and the response is no longer received:
bash-4.3# perl -MSocket -e '
> socket(my $socket, PF_INET, SOCK_DGRAM, 0) or die "socket: $!";
> setsockopt($socket, SOL_SOCKET, SO_RCVTIMEO, pack("i4", 1, 0, 0, 0));
> my $sockaddr = pack_sockaddr_in(27011, inet_aton("hl2master.steampowered.com"));
> send($socket, "\x31\xFF<IP_ADDRESS>:0\x00\\appid\\346110\x00", 0, $sockaddr);
> my $data = "";
> recv($socket, $data, 1400, 0) or (print "Unable to query server\n" and exit(1));
>
> print "Response received: $data\n";
> '
Unable to query server

The corresponding tcpdump output:
10:01:58.677587 IP <IP_ADDRESS>.43068 > 208-64-200-39.steampowered.com.27011: UDP, length 26
10:01:58.904778 IP 208-64-200-39.steampowered.com.27011 > <IP_ADDRESS>.43068: UDP, length 1392

Container:
bash-4.3# ip a | grep mtu
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
3: eth0@if213: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1402 qdisc noqueue state UP

Host:
$ ip a  | grep mtu
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
3: docker0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default

Possibly related: https://github.com/rancher/rancher/issues/10498
However, I don't see the MTU going above the MTU set, so not sure yet.

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


data: project addition by slayerrr12

Add a new project to the list
Request to Add an Exclusive Discord Bot Project
I propose adding a unique Discord bot project exclusively assigned to me. This bot will have advanced moderation, entertaining commands, and efficient server meta-data extraction. Some features will be powered by OpenAI's API.
🚀 Key Features:

Moderation: Ensure a safe and friendly server environment.
Entertainment: Engage users with fun and interactive commands.
Server Meta-data Extraction: Gather essential server information.
I kindly request this exclusive project assignment to take full ownership of its development and implementation.

Looking forward to your positive response! Let's create something extraordinary together. 😄
Code of Conduct

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

assigned to @slayerrr12


js - unresolved imports an external dependecies

We should discuss wether unresolved dependencies should be treated as external deps by default.
I think the build should rather crash insteadof warn silently.

I think we already discussed this, no?
We agreed that unresolved dependencies should NOT be treated as external dependencies by default and that the build should rather crash!
The problem was only that there is no such option for rollup... We should probably create an issue on the rollupjs repo and try to ask nicely for such an option maybe?

@quarkus I finally found a way to make the rollup build crash for unresolved dependecies: https://rollupjs.org/guide/en/#onwarn
Should I make this the default for our rollup task? Or only enable it via feature flag?

@quarkus I finally found a way to make the rollup build crash for unresolved dependecies: https://rollupjs.org/guide/en/#onwarn
Should I make this the default for our rollup task? Or only enable it via feature flag?

I think it would be great to have an option but it should crash by default.

I think it would be great to have an option but it should crash by default.


Can't update to newer version

I'm trying to update the packet to the newer version 3 but still won't upgrade the 2.0.1 version

never mind, I had to remove the packet and install it again to get the new version

@abuyasin82 i have just released 3.1.0 with a fresh fix for CF challenge. You might want to update the package once again

thanks man the new update works as a clock


Ajendar_GISC606

{
"preferred_name": "Ajendar Kumar Mamindla",
<EMAIL_ADDRESS>"pronouns": "he/him/his",
"previous_gis_experience": "Previous experience as GIS Systems Engineer for Tata consultancy services, India and graduate research assistant on geospatial projects(LALAH)",
"previous_remote_sensing_experience": "MSc in Geoinformatics with focus on remote sensing of Los Angeles Historical Ecology at CSULB as research Assistant ",
"previous_programming_experience": "SQL and Python.",
"github_repo_link": "https://github.com/ajendarcsulb/GIS606",
"github_project_link": "https://github.com/users/ajendarcsulb/projects/1",
"what_you_hope_to_get_out_of_this_class": "Learn Remote sensing data processing algorithms",
}

Hey @ajendarcsulb,
Thanks for sharing about yourself. Could you also share about your larger MS project taking place outside this class?
I'd like to curate the course content to the interests of the students (including you), so anything you can share about your project or interests in remote sensing will help me. It sounds like you'd be most interested in content related to image analysis techniques. Is there are particular data type or domain area you are most interested in?
Along those lines, I'd like you to start thinking about your final project for this class. I'm encouraging all students to pick a topic related to their larger MS project, but you are free to select any apply remote sensing topic of interest.
Look forward to working with you this semester.
Best,
Alex

https://github.com/ajendarcsulb/GIS606/blob/main/Lab01_Ajendar_GISC606_Lab1.ipynb


Connection still marked as open after server shutdown

Hello,
I am using the nuget package 1.1.9 assembly versions droid <IP_ADDRESS> and PCL <IP_ADDRESS> and i am noticing that if i shutdown my server the clients will still report that IsOpen is true. Looking through the code in master i wasn't able to locate any timeouts in the Send functions that would mark the connection as closed or trigger an OnError am i missing something in the code ? Is there a proper way to set a send timeout to get the OnError to trigger to detect the server going away ?
thank you

That's a bug in your server. Your server needs to close the connections before it's going away. This should be handled in OnClose...
If your client should handle server crashes WebSocket provides Ping and Pong.

Your client needs to send Pings to the server and the server must (by standard) respond with a Pong. If there is no Pong coming, the server is not available any longer and the client can throw away connection.
I think Websockets.PCL doesn't support this at the moment.
But I think you'll get an OnError on trying to send something. There should be a default time of the sockets. Shouldn't it? Try to wait some more time for this timeout.
Can you provide this feedback?

I'm seeing the OnClosed event being fired, but IsOpen still returns true.

Hello,
Almost a year later and the problem still happens.
I have the same problem when I try to close my client-side connection.
I call OnClose, the server side closes the connection, but the IsOpen flag is still true.
Did someone solve this problem?

And yet another year... I guess I too will need to keep track of this myself..


Fix synchronous paths

We have the data::synhronous function that is used to call coroutine-based code synchronously.
While it is a nice idea that allows for less code duplication it's both not most efficient and more importantly it seems to be broken since we moved to boost 1.82 (used to work fine with boost 1.75).
A bunch of testing revealed that

There appears to be no issue with the FutureWithCallback and how we use it with async_compose - for each request there is always exactly one callback invocation whether the result is an error or some data from the DB; unless
When used thru synchronous, sometimes async_compose will not return and the thread that is using synchronous gets stuck entirely

This PR currently adds sync versions of some of the coroutine-based functions that were used thru synchronous. The change appears to help the situation (have not seen the freezing behaviour yet but this could change when perf testing).

Notes:

There is still one place using synchronous - should probably be removed but requires a bunch of changes
A lot of code duplication that needs to be addressed somehow

Discarding this. The problem is not really in the way we synchronize otherwise async code but in other code around async_compose.


Realtime API

Please add realtime API capabilities. Websocket/WebRTC.

https://github.com/ollama/ollama/issues/1168

Closing for https://github.com/ollama/ollama/issues/1168


Easy way to deploy pro versions as part of setup

There are set if pro versions of the containers which are replaced manually now after setup.
Need unified way to say that pro versions will be used like cmd arg or env var.
After that setup process should declare pro versions of the containers in docker-composer or .env files

closing as won't fix. on-prem deployment will be organized in different way


Docs updates for Croeseid-v0.9.1-upgrade

Updated getting-started/croeseid-testnet.md to v0.9.1-croeseid along with some links redirections.

/staging

aren't the current instructions -- just to download 0.9.1 -- for state sync only?
if one wanted to run the full sync, they'll need to get both 0.8.1 and 0.9.1 ?

Sure. Let me also add remarks for running a full node.

/staging


Do we have any development plan or a roadmap?

As for a mini-PD, what features do we intend to implement initially? Do we have any development plan or a roadmap?

Oh, don't expect to draw so much attentions...
It's (still) a personal project only for my prototype testing on huge regions. So it only aims to provide minimal feature sets including TSO allocations, data size balancing, leader balancing, simple load balancing.

Oh, don't expect to draw so much attentions...
It's (still) a personal project only for my prototype testing on huge regions. So it only aims to provide minimal feature sets including TSO allocations, data size balancing, leader balancing, simple load balancing.

Will we consider using Wasm to write the scheduling algorithm?

I can't give a definite yes or no. It's not the primary goal for now. I only want to make it up and run as soon as possible.

What could be the use of mini-pd and how functional is it at that point ?

@BusyJay ☝

It's for tests only. For now it only supports heartbeat and TSO. It doesn't support scheduling yet.


[camera] Camera startImageStream image orientation differs on iOS and android

Steps to Reproduce
When using the startImageStream method on the CameraController from the camera plugin I am noticing some behavioural differences between iOS and android.
Devices used for testing:
iOS: iPhone XR
Android: Samsung A21s (SM A217F, android-arm64)
Expected results:
When I lock the orientation to portraitUp, and set the resolution to high I would expect the image stream to deliver images in this orientation, with width: 720 and height: 1280.
So when using the code from the "Code Sample" section, I would expect android to print:
I/flutter (23413): Image | width: 720, height: 1280

And on iOS to print:
flutter: Image | width: 720, height: 1280

Actual results:
On iOS the orientation is correct, but on android the image is some sort of landscape (I presume landscapeLeft). And it is printing:
I/flutter (23413): Image | width: 1280, height: 720

Please look at the code below. I suspect this is a bug since iOS is working flawlessy and android is messing up. But maybe I'm doing something wrong? Or this is just expected behaviour?
In any case, this may seem like a minor issue but I find it increasingly frustrating as now every single piece of logic I write surrounding the camera needs to be rigorously tested for both iOS and android due to such massive differences in the received output. It feels very unprofessional, and this eats up a tonne of development time. I've also had to make numerous if iOS ... else ... condition checks which doesn't feel like the right thing to do. I understand android and iOS produce vastly different file types. But I feel like the library should at least make an attempt at normalising the output so developers can use flutter free of concerns about android and iOS specific implementations.
Thanks!
Note: before this is marked as duplicate, this issue is specifically about the startImageStream method in the camera plugin version 0.9.4+5. All other issues I have found up until now are either about other functions (like preview, video, etc.) or about older versions of the camera plugin. All of which have since been closed (for example: https://github.com/flutter/flutter/issues/29951 and https://github.com/flutter/flutter/issues/76210). None of the issues about newer versions of the camera plugin mention the discrepancy between iOS and android specifically for the startImageStream method.

Code sample
Using dependencies:
dependencies:
  camera: ^0.9.4+5

Below is the minimal code for a test scanner widget to illustrate the issue:
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';

class TestScanner extends StatefulWidget {
  const TestScanner();

  @override
  _TestScannerState createState() => _TestScannerState();
}

class _TestScannerState extends State<TestScanner> {
  late final CameraDescription _camera;
  CameraController? _controller;

  Future<void> setupCamera() async {
    try {
      _camera = (await availableCameras()).firstWhere((c) => c.lensDirection == CameraLensDirection.back);
      _controller = CameraController(
        _camera,
        ResolutionPreset.high,
        enableAudio: false,
      );
      await _controller?.initialize();
      if (!mounted) {
        return;
      } else {
        setState(() {});
      }
      await _controller?.startImageStream((image) {
        print('Image  | width: ${image.width}, height: ${image.height}');
      });
    } catch (e) {
      print('Camera Exception: $e');
    }
  }

  @override
  void initState() {
    super.initState();
    setupCamera();
  }

  @override
  Widget build(BuildContext context) {
    return Container();
  }

  @override
  void dispose() {
    _controller?.stopImageStream().then((_) {
      _controller?.dispose();
    });
    super.dispose();
  }
}

Logs

Full unfiltered output of running the TestScanner widget on the android device for a few seconds.
[+2863 ms] I/ViewRootImpl@e56d4bd[MainActivity]( 6453): ViewPostIme pointer 0
[  +55 ms] I/ViewRootImpl@e56d4bd[MainActivity]( 6453): ViewPostIme pointer 1
[ +208 ms] I/Camera  ( 6453): close
[  +10 ms] W/Camera  ( 6453): The selected imageFormatGroup is not supported by Android. Defaulting to yuv420
[  +24 ms] I/CameraManagerGlobal( 6453): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client com.example API Level 2
[   +5 ms] I/Camera  ( 6453): startPreview
[ +133 ms] I/Camera  ( 6453): CameraCaptureSession onConfigured
[        ] I/Camera  ( 6453): Updating builder settings
[        ] D/Camera  ( 6453): Updating builder with feature: ExposureLockFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  ( 6453): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  ( 6453): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  ( 6453): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  ( 6453): Updating builder with feature: FocusPointFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ResolutionFeature
[        ] D/Camera  ( 6453): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  ( 6453): Updating builder with feature: FlashFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  ( 6453): Updating builder with feature: FpsRangeFeature
[        ] I/Camera  ( 6453): refreshPreviewCaptureSession
[        ] I/Camera  ( 6453): closeCaptureSession
[ +537 ms] I/CameraManagerGlobal( 6453): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client com.example API Level 2
[  +31 ms] I/CameraManagerGlobal( 6453): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client com.example API Level 2
[ +154 ms] I/Camera  ( 6453): startPreviewWithImageStream
[        ] I/Camera  ( 6453): CameraCaptureSession onConfigured
[        ] I/Camera  ( 6453): Updating builder settings
[        ] W/toryapp.wms.de( 6453): Long monitor contention with owner main (6453) at void android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle()(CameraDeviceImpl.java:1283) waiters=0 in void android.hardware.camera2.impl.CameraDeviceImpl$4.run() for 715ms
[        ] D/Camera  ( 6453): Updating builder with feature: ExposureLockFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ExposurePointFeature
[        ] I/Choreographer( 6453): Skipped 43 frames!  The application may be doing too much work on its main thread.
[        ] D/Camera  ( 6453): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  ( 6453): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  ( 6453): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  ( 6453): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  ( 6453): Updating builder with feature: FocusPointFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ResolutionFeature
[        ] D/Camera  ( 6453): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  ( 6453): Updating builder with feature: FlashFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  ( 6453): Updating builder with feature: FpsRangeFeature
[        ] I/Camera  ( 6453): refreshPreviewCaptureSession
[  +17 ms] I/Camera  ( 6453): CameraCaptureSession onClosed
[ +338 ms] I/CameraManagerGlobal( 6453): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client com.example API Level 2
[  +37 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[ +119 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +21 ms] W/System  ( 6453): A resource failed to call release.
[  +40 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +56 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +62 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +61 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +57 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +61 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +54 ms] W/System  ( 6453): A resource failed to call release.
[        ] W/System  ( 6453): A resource failed to call release.
[   +8 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +55 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +58 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +70 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +48 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +58 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +65 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +58 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +56 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +64 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[   +4 ms] I/ViewRootImpl@e56d4bd[MainActivity]( 6453): ViewPostIme pointer 0
[  +51 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +28 ms] I/ViewRootImpl@e56d4bd[MainActivity]( 6453): ViewPostIme pointer 1
[  +29 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +71 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +54 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +67 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[  +54 ms] I/Camera  ( 6453): startPreview
[        ] I/Camera  ( 6453): closeCaptureSession
[   +3 ms] I/flutter ( 6453): Image  | width: 1280, height: 720
[ +405 ms] I/CameraManagerGlobal( 6453): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client com.example API Level 2
[ +168 ms] W/toryapp.wms.de( 6453): Long monitor contention with owner main (6453) at void android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle()(CameraDeviceImpl.java:1283) waiters=0 in void android.hardware.camera2.impl.CameraDeviceImpl$4.run() for 569ms
[        ] I/Camera  ( 6453): CameraCaptureSession onConfigured
[        ] I/Camera  ( 6453): Updating builder settings
[        ] D/Camera  ( 6453): Updating builder with feature: ExposureLockFeature
[        ] W/toryapp.wms.de( 6453): Long monitor contention with owner main (6453) at void android.hardware.camera2.impl.CameraDeviceImpl.waitUntilIdle()(CameraDeviceImpl.java:1283) waiters=1 in void android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onCaptureStarted(android.hardware.camera2.impl.CaptureResultExtras, long) for 559ms
[        ] D/Camera  ( 6453): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  ( 6453): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  ( 6453): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  ( 6453): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  ( 6453): Updating builder with feature: FocusPointFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ResolutionFeature
[        ] D/Camera  ( 6453): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  ( 6453): Updating builder with feature: FlashFeature
[        ] D/Camera  ( 6453): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  ( 6453): Updating builder with feature: FpsRangeFeature
[        ] I/Camera  ( 6453): dispose
[        ] I/Camera  ( 6453): close
[        ] I/Camera  ( 6453): closeCaptureSession
[        ] I/Camera  ( 6453): refreshPreviewCaptureSession
[ +260 ms] W/toryapp.wms.de( 6453): Long monitor contention with owner main (6453) at void android.hardware.camera2.impl.CameraDeviceImpl.close()(CameraDeviceImpl.java:1334) waiters=1 in void android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onResultReceived(android.hardware.camera2.impl.CameraMetadataNative, android.hardware.camera2.impl.CaptureResultExtras, android.hardware.camera2.impl.PhysicalCaptureResultInfo[]) for 257ms
[        ] I/Camera  ( 6453): open | onClosed
[   +5 ms] I/Camera  ( 6453): CameraCaptureSession onClosed
[   +1 ms] I/CameraManagerGlobal( 6453): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.example API Level 2

Analyzing Mobile.nosync...
No issues found! (ran in 7.1s)

[✓] Flutter (Channel stable, 2.5.3, on macOS 11.6 20G165
    darwin-x64, locale en-BE)
    • Flutter version 2.5.3 at /Users/Reinert/.flutter-sdk
    • Upstream repository
      https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (5 weeks ago),
      2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices
    (Android SDK version 30.0.2)
    • Android SDK at /Users/Reinert/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/Reinert/Library/Android/sdk
    • Java binary at: /Users/Reinert/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203
      .7784292/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google
      Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Users/Reinert/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203
      .7784292/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.10+0-b96-7281165)

[✓] Android Studio (version 2020.3)
    • Android Studio at /Users/Reinert/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203
      .7784292/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.10+0-b96-7281165)

[✓] Android Studio (version 3.5)
    • Android Studio at /Users/Reinert/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191
      .5791312/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio
      Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (2 available)
    • RedMobile (mobile) • 00008020-00055DE21492002E • ios
      • iOS 15.1 19B74
    • Chrome (web)       • chrome                    •
      web-javascript • Google Chrome 95.0.4638.69
    ! Error: RedMobile is busy: Fetching debug symbols for
      RedMobile. Xcode will continue when RedMobile is
      finished. (code -10)

• No issues found!

Hi @reilem, thanks for filing the issue.
I run your sample and while I could see different values for android and iOS, there doesn't appear to be any differences in their orientations.
I added a print statement in the startImageStream method to log the orientation of the camera and for both android and iOS, the orientation is reported as DeviceOrientation.portraitUp.
Kindly see the logs below.
Can you confirm if you see the same thing?

logs
android
/flutter (32233): android |  DeviceOrientation.portraitUp
I/flutter (32233): Image  | width: 1280, height: 720
I/flutter (32233): android |  DeviceOrientation.portraitUp
I/flutter (32233): Image  | width: 1280, height: 720
I/flutter (32233): android |  DeviceOrientation.portraitUp
I/flutter (32233): Image  | width: 1280, height: 720
I/flutter (32233): android |  DeviceOrientation.portraitUp
I/flutter (32233): Image  | width: 1280, height: 720
I/flutter (32233): android |  DeviceOrientation.portraitUp
I/flutter (32233): Image  | width: 1280, height: 720

iOS
flutter: ios |  DeviceOrientation.portraitUp
flutter: Image  | width: 720, height: 1280
flutter: ios |  DeviceOrientation.portraitUp
flutter: Image  | width: 720, height: 1280
flutter: ios |  DeviceOrientation.portraitUp
flutter: Image  | width: 720, height: 1280
flutter: ios |  DeviceOrientation.portraitUp
flutter: Image  | width: 720, height: 1280

I can confirm I see the same thing when I log _controller.value.deviceOrientation. But just so I'm clear this issue is not about the device orientation of the controller, which as you correctly observed is being set as expected. It is about the actual orientation of the pixels in the image being produced by the stream.
The definition of "portrait":

denoting a format of printed matter which is higher than it is wide.

and that of "landscape":

denoting a format of printed matter which is wider than it is high.

If the DeviceOrientation is portrait, then the android startImageStream should be outputting images with a height larger than their width. However, it is not. It is producing images with width greater than height, which is by definition a landscape image.

Thanks for the clarification.
Reproducible on stable and master with camera: ^0.9.4+5.

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 11.6 20G165 darwin-arm, locale en-GB)
    • Flutter version 2.5.3 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (6 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile)       • 5dd3be00      • android-arm64  • Android 11 (API 30)
    • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64  • Android 11 (API 30) (emulator)
    • macOS (desktop)           • macos         • darwin-arm64   • macOS 11.6 20G165 darwin-arm
    • Chrome (web)              • chrome        • web-javascript • Google Chrome 96.0.4664.55

• No issues found!

[✓] Flutter (Channel master, 2.6.0-12.0.pre.801, on macOS 11.6 20G165 darwin-arm, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.801 at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7cb0da154a (8 hours ago), 2021-11-23 00:33:03 -0500
    • Engine revision 7d4107a84d
    • Dart version 2.16.0 (build 2.16.0-36.0.dev)
    • DevTools version 2.8.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.62.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile)       • 5dd3be00      • android-arm64  • Android 11 (API 30)
    • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64  • Android 11 (API 30) (emulator)
    • macOS (desktop)           • macos         • darwin-arm64   • macOS 11.6 20G165 darwin-arm
    • Chrome (web)              • chrome        • web-javascript • Google Chrome 96.0.4664.55

• No issues found!

I did some digging, and I think I found a couple of possible causes of this problem. In the Camera.java file, the open (which is called by the initialize flutter method) creates the imageStreamReader like this:
imageStreamReader =
        ImageReader.newInstance(
            resolutionFeature.getPreviewSize().getWidth(),
            resolutionFeature.getPreviewSize().getHeight(),
            imageFormat,
            1);

It is possible that when the streaming starts these width & height parameters will simply be respected, but I could be wrong. The streaming code is quite complex and I haven't taken a proper look at it. The lockCaptureOrientation sets the orientation, and this orientation is respected in both the prepareMediaRecorder, takePictureAfterPrecapture and is also used indirectly in the createCaptureSession. But like I said it might be just using the imageStreamReader dimensions.
What I can say for sure though is that the ResolutionFeature which is used to create the imageStreamReader is based on the resolutionPreset. This resolution is fetched from CamcorderProfile. These profiles are by definition of the API always in landscape mode, source: https://developer.android.com/reference/android/media/CamcorderProfile.
So there is certainly something strange happening when the resolution is being used for the streaming, it seems that it is not being rotated before it is being used.

@reilem any hack for now?

No follow up on this??


Vr config

These are the VS 2019 configuration files for Skyrim VR.

In preparation for doing semantic versioning, I recommend you start adopting conventional commits. https://www.conventionalcommits.org/en/v1.0.0/

I believe Kepler gave a deprecation warning but wasn't actually deprecated yet. At least when I'm building it doesn't indicate those architectures won't build.

You're right. It seems there's a difference between "completely dropped" and "deprecated". I'll reintroduce them.


Creating new Engine takes very long

I wanted to have isolated session using the BrowserEngine. What I did is to create a new WebKitBrowserProvider, creating engines, shutting down and create new ones. This is because I fount no other way to create isolated sessions. The second time the engine will be create takes ages. This is a unit test to reproduce.
@Test
  public void testCanCreateNewSession() {
    WebKitBrowserProvider provider = new WebKitBrowserProvider();
    provider.setShutdownListener( engine -> {} );
    BrowserEngine engine = provider.create();
    engine.navigate( "http://google.com" );
    engine.shutdown();
    BrowserEngine engine2 = provider.create();
    engine2.navigate( "http://google.com" );
  }

Anything you can do about it?

Oh, I think it's the shutdown call that takes so long

WebKitBrowser.launchedJFX flag is used to check if JavaFX ui thread is up and running. Its my mistake that after shutdown i forget to toggle the value. This commit fixed the bug. But its not enough to solve your problem. This time your sample application throws IllegalStateException: Application launch must not be called more than once error. I am going to find a way to run Application more than once.

phew, ok. Do you think it's possible? Any other idea how to realize isolated sessions?

Maybe to explain this usecase you can look at how ghostdriver has realized it: https://github.com/detro/ghostdriver/blob/master/test/java/src/test/java/ghostdriver/IsolatedSessionTest.java

Similar problem exist for the TestFX project. I am going try to use the suggested solution.

I understood the requirement after reading IsolatedSessionTest. Its not required to create multiple JavaFX application to solve this problem. Isolation means that new session must have an empty CookieStore. I add new method clearCookies to BrowserEngine. It just clear the all cookies from CookieStore to initialize new sessions. You could check the similar unit test.

I disagree. The clearCookies method is useless I think. With your Interception mechanism you have full control I guess.
Isolated Sessions means having multiple separated instances. Think about a multi user environment e.g. a WebApplication. A WebApplication that uses ui4j needs to have it's own (or multiple) sessions per user. Clearing and restoring cookies here is not an option. Especially because it prevents parallelism because you have to queue the usage of BrowserEngine.

I'm not very familiar with JavaFX, but would it make sense to have one Application per JRE and use a new Window for every BrowserEngine instance? Is this possible at all? This would mean a shutdown does not eliminate the Application, instead it would eliminate the window.

Any thoughts?

Possible solutions:

Using custom CookieManager

Unfortunately CookiManager is static and shared per JVM so all connections share the same CookieStore

Using custom CookieStore per Thread

JavaFX WebView create a new thread for each connection. Each thread use its own CookieStore instead of shared CookieStore.

Using Ui4j interceptor mechanism

I try to manage cookies manually but somehow WebView still shared the cookies. I am trying to understand whats wrong about my implementation.

Hmm, solution 2 sounds ok, isn't it?

Hmm, after thinking about it the concept in UI4J that comes next to a session is the Page. Each page has it's own interceptor and handlers. So, the solution here would be to isolate Pages, right? This would remove the need to shutdown the engine and so on. So, every user could have the same engine but work on a different page that is isolated form each other. What do you think?

Or there is a thing missing between Engine and Page e.g. a Session object.

So, the solution here would be to isolate Pages, right?

Exactly

This would remove the need to shutdown the engine and so on

Yes, the current implementation of the BrowserEngine.shutdown dispose JavaFX resources (threads etc) it has nothing to do with WebKit session. So its not necessary to call this method to clear the sessions.

So, every user could have the same engine but work on a different page that is isolated form each other.

Yes our aim is isolating the Pages from each other but Java Cookie api doesnt let us to do this. CookieHandler.setDefault() is static and shared per JVM.
I am still trying to apply solution three to isolate the sessions.

WebView open 5 connection per page. This could be configured with http.maxConnections system property. If you set the value 1 solution 2 works as expected for the unit test. This might be used for simple unit test scenarios but not suitable for sites thats execute lots of ajax calls.

Unfortunately solution 2 fails for real life usage, i should find a better way to solve this problem.

hmm, what about this:

Create a custom UI4JCookieManager extends CookieManager
Hold one instance per BrowserEngine (maybe there is only one per application)
Everytime requests are made ensure it's set as the default cookie manager
Save the old cookie manager within the UI4JCookieManager and use it as a delegate
Within the put/get methods find a way to store the cookie by page (this is probably the hard part). The key in the CookieStore is an URL. So we need to enhance it to also know to which Page it belongs.
Delegate all other cookie put/get requests to the default manager.

So, basically this is just intercepting the default CookieManager. Don't know if this can work. What do you think?

Btw. I'm not the first one with this idea ;)
http://stackoverflow.com/questions/15583057/using-a-hacked-cookiemanager-to-allow-2-different-instances-of-webview-with-diff

Btw, why does solution 2 fail? Have you tried the ThreadLocal approach?

com.ui4j.webkit.WebKitIsolatedCookieHandler could be used for the isolated sessions. This new CookieHandler works both gmail and JIRA. The implementation is independent from ui4j and could be used without dependency. This cookie handler always must be set before the JavaFX initialization.

Ok sounds good. After looking at the Handler I noticed that a memory leak is pre programmed. The handle only provides a clear method that empties the two static maps. But if a page is closed the webview and it's handler stay in the map. This is a leak :)

The latest commit prevents memory leaks. Page.close method removes WebView from static maps.


blog: Publish Sonne use-case

Has been reviewed by FlowForge and Sonne already, and approved.

@sammachin Could you review and merge?


Some warnings cleanup

https://github.com/sbt/zinc/issues/349
I got rid of all warnings I knew how.
There are warnings related to compatibility between scala versions and multiple warnings about unused method parameters, but I am not sure if it is safe to touch them.

To validate this pull request against other sbt modules, please visit this link.

A validation involving this pull request is in progress...

The validator has checked the following projects against Scala 2.12,
tested using dbuild, projects built on top of each other.

Project
Reference
Commit

sbt
1.x
sbt/sbt@1d7b35bd67722511b9a058113e7a1070984e6758

zinc
pull/549/head
sbt/zinc@c10957be4cfd228df1d9c1df68b44cd243b3d603

io
1.x
sbt/io@0e4ee5a2ae958c26cef2ed5e61431708c09959b1

librarymanagement
1.x
sbt/librarymanagement@6e4ad6ebd4042d3b9f1631b4a7a20d27aaa87db8

util
1.x
sbt/util@b412c9c92991e27f48ad90153e74a10198246551

website
1.x

:x: The result is: FAILED
(restart)


Error Running The Code on Platform when Installed on Localhost

When I installed Judge0 on localhost, It worked perfectly there was no problem but suddenly when i compiled the code , It gave me the error depicted in the screenshot . Please help me in fixing the error below

Checkout and clone the latest version of Judge0 IDE.

i downloaded the latest version still i'm facing the same problem


Home_page_responsive_little

Hello, I have made the homepage's landing page and about page responsive!
This is before and i have done after changes so please check it.

9c6483a3)

Summary by CodeRabbit

New Features

Enhanced visual presentation and readability of the About component.
Improved layout and responsiveness of the Landing component with a cleaner design.
Introduced typewriter effect in the Landing component for animated heading text.

Bug Fixes

Adjusted inline styles in the ReviewCarousel component for better layout consistency.

please add hacktoberfest label to it.

hi @vrunda2005 thank you for your intrest to contribute my repo
but you need to follow somw rules in open source contribution

you need to create an issue
after that i will review the issue
after that i will assign you the issue then you can work upon it
then create PR


Request money - After creating a Distance request offline, request will not open

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.80-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Open the New Expensify Desktop app
Sign into a valid account
Turn internet OFF
Click on Request > Distance > Complete the Distance request with valid points while offline
After the request is complete, turn the internet back ON
Click on the created Distance request

Expected Result:
User expects the request to open with no issues
Actual Result:
The request page does not load
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

https://github.com/Expensify/App/assets/78819774/25608e33-653b-4701-abc1-9ca0d389c5b3

View all open jobs on GitHub

@lanitochka17 I couldn't reproduce on v1.3.80-3. Can you give it another try and reopen if you can reproduce/

I think this is the reproducible version of the same bug

Issue is not reproducible on Build 1.3.83-11
https://github.com/Expensify/App/assets/78819774/b51f38c6-cebb-4bef-aff6-7850e96818b3


Add an informative log in rastertools hillshade module on optimal radius

An info log should be added there: https://github.com/CNES/rastertools/blob/main/src/eolab/rastertools/hillshade.py#L129.
This would help when debugging or understanding which radius has been used.
Something like:

Using optimal radius 68 for hillshade computation

Closed by https://github.com/CNES/rastertools/pull/4.


Where to put custom JavaScript

Problem Description
I'm not able to enqueue custom JavaScript file and watch them with webpack
The documentation said :
"You need to put any JS and CSS files inside includes, scripts, and/or styles, otherwise Webpack won’t see them."
But, in my case, my custom JS file isn't wacthed by webpack, and not enqueued in admin builder.
My question is : how to enqueue custom JS files for my custom modules ?
Steps To Reproduce

Add some custom .js files in /plugin-name/modules/mymodule/ or in /plugin-name/scripts/
lunch yarn start

I am also having this issue, any updates on this?

i am also looking for that, no update yet from anyone.

Sorry for the delayed response! Any non-minified scripts placed in those locations will be included in the frontend bundle script. They will not be enqued separately. Let me know if that's not the behavior you are seeing.

It seem it's related to this other issue : https://github.com/elegantthemes/create-divi-extension/issues/69
Custom JS files are minified and included in frontend-bundle.min.js, (yarn build), but they don't when using yarn start

I'm trying to put a couple of js libraries in my extension, but I don't want it packet in the frontend bundle script. How and where can I put my files?

what was the answer?

up ?


Fine grained configuration possibility for Metadata Exporter

Background:
We decided to use Liquibase - QueryDSL  pair for our persistence layer withing a modularized technology stack instead of JPA. The first issue was to generate QueryDSL classes for tables that were described in Liquibase changelog files. Each of our module contained a set of tables. E.g.: The authorization table contains only tables that belong to the authorization business logic and the localization contains only tables that belong to that API.
We created the lqmg project (Liquibase To QueryDSL Metadata Generator). It contains more and more configuration possibilities for MetadataExporter that might be useful for others, who want to generate QueryDSL Metadata classes. We would not like to keep a set of classes up-to-date but merge back our additional features to the QueryDSL code if it is possible.
Concept 1:
First, we created an XML schema. Each module could contain an XML that containes class name mapping definitions. The definitions could be defined as direct Table to ClassName mapping and also mapping with Regular expressions.
Concept 2:
We created a set of additional tables:

querydsl_table_mapping
querydsl_property_mapping
querydsl_foreignkey_mapping
querydsl_primarykey_mapping

With these tables, it is possible to define code generation configuration. While it was not possible to define an exact property name with the XMLs, it is possible to define it in these tables.
When is it useful?:
In many cases the naming of the tables, fields and keys are pretty ugly in the database. When the table has the project name as the prefix, when the foreign key contains abbreviations, the source code becomes unreadable. With these fine grained configuration possibilities it is possible to generate Metadata classes that can be used to write beautiful queries in the source code.
Goal:
First, I would like to see the enhancement possibilities in QuerzDSL SQL Metadata generator in the way that I can add our features without copy-pasting the classes and write enhancements into the functions. I would like to write our features as extensions, not by changing the original QueryDSL code.
In our implementation, I created a class called ConfigurationContainer. At each point, where naming rules have to be decided, the configurationContainer instance is called. If there is a configuration available for the table in the container, that rule is stronger than the global rules coming from the MetadataExporter class.
See: https://github.com/everit-org/osgi-lqmg/blob/master/src/main/java/org/everit/osgi/dev/lqmg/internal/ConfigurationContainer.java
In case of a pull request, I would add some javadoc to this class and refactor it a bit to have nicer code in it.
Question:
What do you think about such feature? I would not like to work unnecessarily. I would start creating a pull request and the refactor of our classes only after we agreed what features could accepted at QueryDSL side and how they should be implemented.

Development started on my fork: https://github.com/attila-kiss-it/querydsl/tree/i797


TLT Inputs and outputs

Between what I've read, what I've watched, and what's in the jupyter notebook I'm a bit confused regarding the inputs and outputs, I would like to run through you what I think it's correct. I modified this with respect from the original jupyter notebook because I think the default jupyter notebook is doing something like working partially with both unpruned and pruned models, but it doesn't have all the steps to be able to run both. I am doing it so I can run the pruned model in the jetson nano.
[In the x86 system]
3. Training;
--input pretrained_resnet18/tlt_pretrained_detectnet_v2_vresnet18/resnet18.hdf5
--output experiment_dir_unpruned/weights/resnet18_detector.tlt

Pruning

--input experiment_dir_unpruned/weights/resnet18_detector.tlt
--output experiment_dir_pruned/resnet18_nopool_bn_detectnet_v2_pruned.tlt

Retrain

--input experiment_dir_pruned/resnet18_nopool_bn_detectnet_v2_pruned.tlt
--output experiment_dir_retrain/resnet18_detector_pruned.tlt

Deploy

--input experiment_dir_retrain/weights/resnet18_detector_pruned.tlt
--output experiment_dir_final/resnet18_detector_thermal.etlt

(There's like a second step in the notebook which I think was for benchmarking between the pruned and the unpruned model that I think it's safe to ignore if I am just trying to get the pruned model to run in the jetson nano)
-9A. Int8 Optimisation
--input experiment_dir_pruned/resnet18_nopool_bn_detectnet_v2_pruned.tlt
--output experiment_dir_final/calibration.tensor

-second step
--input experiment_dir_retrain/weights/resnet18_detector_pruned.tlt
--input experiment_dir_final/calibration.tensor
--output experiment_dir_final/resnet18_detector.etlt
--output experiment_dir_final/resnet18_detector.trt.int8
--output experiment_dir_final/calibration.bin

[In the jetson nano]
-9B. Generate TensorRT engine, using the downloaded tlt-converter
--input experiment_dir_final/resnet18_detector.etlt
--input experiment_dir_final/calibration.bin
--output experiment_dir_final/resnet18_detector.trt

Please let me know if I'm doing anything wrong, cheers!

All steps till 9 are looking right. For Jetson Nano, it is not supported for int8 mode currently thus, avoiding int8 optimization step. For 10B . you need to change tlt-converter option -t fp16

the only file I would have to transfer to the nano would be first output of step 9

Sounds right.

In order to proceed with 9B should I just remove the -c flag? or would such argument be substituted with something else?

Yes. Calibration is performed in TensorRT to reduce loss of accuracy; you can remove -c

Closing as no update since 10 days, please re-open if any question on similar lines.