Consider how to handle notification that have been stuck in a sending state over time

Description
Not sure this is an issue with the design that we have currently landed on, but we still have some instances in a sending state in the test environment database.
We should run a full analysis and consider if it is even possible for instances to end in a "forever" sending state and how to address this
There is a need for an escape from the retry loop.
Cron job som går gjennom pending og setter status tilbake til ny.
Additional Information
No response
Tasks
No response
Acceptance Criterias
No response

We'll need to wait to see how this would work with something other than Kafka.


fix(VTK): add safety check on AppendedData encoding

:tada: This PR is included in version 5.2.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Crash consistent or Application consistent AVS VM backups via MABS

[Enter feedback here]
Hi, there is no mention if the AVS VM backups are application-consistent or only crash consistent.
As there no description of an agent being installed on the AVS VMS. Connectivity is from MABS to vCenter so for application consistent backups MABS must be able to trigger VSS. Does it do this via VMTools?
Could this be clarified in the article? specifically workloads like SQL on AVS VM as there may be data loss if the are only crash-consistent backups
Thank you.

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

ID: 91361805-7a7e-ef41-02ba-136964acc259
Version Independent ID: 2b76c6f0-c7a6-cd15-a73b-cb27a61f14c9
Content: Set up Azure Backup Server for Azure VMware Solution - Azure VMware Solution
Content Source: articles/azure-vmware/set-up-backup-server-for-azure-vmware-solution.md
Service: azure-vmware
GitHub Login: @suzizuber
Microsoft Alias: v-szuber

Great feedback, that is corrected in PR: https://github.com/MicrosoftDocs/azure-docs-pr/pull/208839
Application Consistent Backups: If VMware Tools is not installed, a crash consistent backup will be executed. When VMware Tools is installed with Microsoft Windows virtual machines, all applications that support VSS freeze and thaw operations will support application consistent backups. When VMware Tools is installed with Linux virtual machines, application consistent snapshots are supported by calling the pre and post scripts.
@suzizuber - can you close this Issue plz?

#please-close

Perfect update, thank you very much


Connection-Element relationship moved to intermediary object

What type of PR is this?
Improvement
What does this PR do / why is it needed ?
Element removed from connection and ConnectionElementAssociation object created.
Does this PR introduce a user-facing change?
New grammar for user to input connections under runtimes.

This PR is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days.

This PR was closed because it has been inactive for 35 days. Please re-open if this PR is still relevant.


Require TransitionInteractiveController gestureRecognizer to fail

There really is now way to do this that I can see. The gestureRecognizer has been marked as private.
I have a horizontal UICollectionViewController. It triggers the dismiss action every time I touch it. Can't move forward until this is fixed or move to a different library.
Do you have any suggestions?

@bryan1anderson this shouldn't be too hard to support, let me see if I can add a temporal patch while I come up with a better more robust solution for the future.


[#4558] Add gRPC sender of agent

#4558

Add gRPC sender

AgentGrpcDataSender
StatGrpcDataSender

Add MessageConverter

JvmGcTypeMessageConverter
ResultMessageConverter
MetadataMessageConverter
StatMessageConverter
ThreadDumpMessageConverter
ThreadStateMessageConverter

Codecov Report

Merging #5566 into master will decrease coverage by 0.22%.
The diff coverage is 3.98%.

@@            Coverage Diff             @@
##           master    #5566      +/-   ##
==========================================
- Coverage   40.69%   40.46%   -0.23%
==========================================
  Files        2842     2856      +14
  Lines       85668    86205     +537
  Branches    11365    11412      +47
==========================================
+ Hits        34865    34886      +21
- Misses      47769    48289     +520
+ Partials     3034     3030       -4

Impacted Files
Coverage Δ

...inpoint/profiler/sender/RequestMessageFactory.java
80% <ø> (ø)
:arrow_up:

.../pinpoint/profiler/sender/grpc/GrpcDataSender.java
0% <ø> (ø)
:arrow_up:

...pinpoint/profiler/monitor/metric/gc/JvmGcType.java
50% <ø> (-50%)
:arrow_down:

...t/profiler/context/module/GrpcModuleLifeCycle.java
0% <ø> (ø)
:arrow_up:

...tor/collector/jvmgc/BasicJvmGcMetricCollector.java
61.53% <ø> (ø)
:arrow_up:

...rcorp/pinpoint/profiler/util/AgentInfoFactory.java
64.7% <ø> (ø)
:arrow_up:

...r/context/grpc/GrpcThreadDumpMessageConverter.java
0% <0%> (ø)

...ext/grpc/GrpcMessageToResultConverterProvider.java
0% <0%> (ø)

...point/profiler/sender/grpc/SpanGrpcDataSender.java
0% <0%> (ø)

.../context/grpc/GrpcThreadStateMessageConverter.java
0% <0%> (ø)

... and 45 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 cd0a8e7...93af89e. Read the comment docs.


Update README.md

Minor syntax fixes.

Thanks!

My pleasure - whilst re-com isn't suitable for my application it is a huge
source of inspiration!
On 15 April 2015 at 14:08, mike-thompson-day8<EMAIL_ADDRESS>wrote:

Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/Day8/re-com/pull/6#issuecomment-93386800.

Good to hear, Colin.   We'd hoped it would be useful.
AND as I said in the README:  in about 9 months from now, corporates will have been forced across to IE11.  In fact, the ticking deadline will get many across before that time.  So the viability of re-com for intranet work is perhaps sooner than most would expect (I think).


Doc: Introduce sphinx-copybutton

Description
Let's introduce https://sphinx-copybutton.readthedocs.io/en/latest/ to make snippets copiable.
Additional Information
No response

Hi @kmaehashi! Unfortunately testing my code changes is proving to be difficult on my MacBook (no NVIDIA GPU!). Feel free to give this issue to others.

Hi @prkhrsrvstv1 technically speaking to work on the doc builds you don't need any GPUs. If you install CuPy via
READTHEDOCS=True pip install -v -e .

CuPy can be built using stub headers and does not need the presence of either CUDA or HIP sw stack. In fact it's how the RTD environment was set up. You can check rendered htmls and so on. You just can't actually run any CuPy code this way.
Let us know if this helps :)

Hey @leofang that helped! I had to set-up a Linux environment to actually install (it seems MacOS is explicitly not supported).
Opened PR #5976

Ah yes, we no longer support building on Mac. Glad you figured out the rest!


Publish 'cy' Brexit taxon

For https://trello.com/c/3DUTcMYK/104-build-welsh-language-landing-page
We've received a request to build a Welsh translation of the '/brexit' page.  In order to achieve this we need to publish '/brexit' in the cy locale.  '/brexit' is a taxon and currently we don't publish taxons in locales other than en, so this is a somewhat hacky approach to publishing the Brexit taxon with a cy locale.  In addition to publishing we've ensured that any other Publishing API-related actions taken on the Brexit taxon are also reflected in its cy representation.
We're not aware of any other needs to publish taxons in other locales and given the urgency of the work this approach is very much custom for the Brexit taxon and hasn't been developed in a particularly reusable way.  We will need to look at the longer-term implications of this from a product perspective and it will be logged as GOV.UK tech debt.

Thanks for the review @benthorner, your comments should be addressed now.

@benthorner The English description comment should actually be addressed now 😸I've opted to check if the taxon has a non-'en' locale rather than being specifically the Brexit taxon as this will cover any future non-'en' taxons that may arise while Content Tagger doesn't officially support them.


Speech rate translation is done wrong.

The Flutter TTS plugin has the following
  /// [Future] which invokes the platform specific method for setSpeechRate
  /// Allowed values are in the range from 0.0 (slowest) to 1.0 (fastest)
  Future<dynamic> setSpeechRate(double rate) async =>
      await _channel.invokeMethod('setSpeechRate', rate);

Whereas the Web specification says

rate attribute, of type float
This attribute specifies the speaking rate for the utterance. It is relative to the default rate for this voice. 1 is the default rate supported by the speech synthesis engine or specific voice (which should correspond to a normal speaking rate). 2 is twice as fast, and 0.5 is half as fast. Values below 0.1 or above 10 are strictly disallowed, but speech synthesis engines or specific voices may constrain the minimum and maximum rates further, for example, a particular voice may not actually speak faster than 3 times normal even if you specify a value larger than 3. If SSML is used, this value will be overridden by prosody tags in the markup.

As you see passing the rate along without any translation makes no sense.
Where would be a good place to apply this translation?

@christiaan this plugin just exposes android's api to webView , so it should work the way it works on Android ,
so we can set the speechRate and it should be applied to translations


killed due to SQL lock after/while 'Background concurrent copying'

Expected behavior
No crash.
Actual behavior
k9 got killed while 'Background concurrent copying' and main thread was waiting for SQL connection
Steps to reproduce

Delete message in INBOX

Environment
K-9 Mail version: 5.6
Android version: 9
Account type: IMAP
04-21 10:42:33.290 22684 22704 V ImapResponseParser: conn98369622<<<#14# [OK, Search completed (0.002 + 0.000 + 0.001 secs).]
04-21 10:42:33.344 22684 22704 V ImapSync: SYNC: Got 558 messages for folder INBOX
04-21 10:42:33.894 22684 22694 I com.fsck.k9: Background concurrent copying GC freed 298559(14MB) AllocSpace objects, 0(0B) LOS objects, 72% free, 6MB/24MB, paused 258us total 132.618ms
04-21 10:42:35.083 22684 22694 I com.fsck.k9: Background concurrent copying GC freed 190825(15MB) AllocSpace objects, 5(108KB) LOS objects, 62% free, 10MB/28MB, paused 233us total 177.446ms
04-21 10:42:36.292 22684 22694 I com.fsck.k9: Background concurrent copying GC freed 199191(16MB) AllocSpace objects, 5(104KB) LOS objects, 54% free, 14MB/32MB, paused 1.303ms total 211.579ms
04-21 10:42:37.511 22684 22694 I com.fsck.k9: Background concurrent copying GC freed 207412(17MB) AllocSpace objects, 1(16KB) LOS objects, 49% free, 18MB/37MB, paused 232us total 251.119ms
04-21 10:42:38.818 22684 22694 I com.fsck.k9: Background concurrent copying GC freed 225419(18MB) AllocSpace objects, 3(56KB) LOS objects, 50% free, 23MB/46MB, paused 239us total 297.274ms
04-21 10:42:48.082 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 4.038 seconds.
04-21 10:42:48.082 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:42:48.082 22684 22777 W SQLiteConnectionPool:
04-21 10:42:48.082 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:42:48.082 22684 22777 W SQLiteConnectionPool:   executeForCursorWindow started 132ms ago - running, sql="SELECT id FROM message_parts WHERE root = ? AND data_location = 2"
04-21 10:42:52.121 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 8.078 seconds.
04-21 10:42:52.121 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:42:52.121 22684 22777 W SQLiteConnectionPool:
04-21 10:42:52.121 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:42:52.121 22684 22777 W SQLiteConnectionPool:   executeForChangedRowCount started 7ms ago - running, sql="DELETE FROM messages WHERE id = ?"
04-21 10:42:56.161 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 12.118001 seconds.
04-21 10:42:56.161 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:42:56.161 22684 22777 W SQLiteConnectionPool:
04-21 10:42:56.161 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:42:56.161 22684 22777 W SQLiteConnectionPool:   executeForChangedRowCount started 41ms ago - running, sql="DELETE FROM message_parts WHERE root = ?"
04-21 10:42:59.433 22684 22684 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 2 (main) with flags 0x5 for 4.0 seconds.
04-21 10:42:59.433 22684 22684 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:42:59.433 22684 22684 W SQLiteConnectionPool:
04-21 10:42:59.433 22684 22684 W SQLiteConnectionPool: Requests in progress:
04-21 10:42:59.433 22684 22684 W SQLiteConnectionPool:   executeForCursorWindow started 39ms ago - running, sql="SELECT id FROM message_parts WHERE root = ? AND data_location = 2"
04-21 10:43:00.201 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 16.158 seconds.
04-21 10:43:00.201 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:00.201 22684 22777 W SQLiteConnectionPool:
04-21 10:43:00.201 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:00.201 22684 22777 W SQLiteConnectionPool:   executeForCursorWindow started 58ms ago - running, sql="SELECT id FROM message_parts WHERE root = ? AND data_location = 2"
04-21 10:43:03.436 22684 22684 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 2 (main) with flags 0x5 for 8.001 seconds.
04-21 10:43:03.436 22684 22684 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:03.436 22684 22684 W SQLiteConnectionPool:
04-21 10:43:03.436 22684 22684 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:03.436 22684 22684 W SQLiteConnectionPool:   executeForChangedRowCount started 16ms ago - running, sql="DELETE FROM messages WHERE id = ?"
04-21 10:43:15.438 22684 22684 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 2 (main) with flags 0x5 for 20.005001 seconds.
04-21 10:43:15.438 22684 22684 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:15.438 22684 22684 W SQLiteConnectionPool:
04-21 10:43:15.438 22684 22684 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:15.438 22684 22684 W SQLiteConnectionPool:   executeForChangedRowCount started 298ms ago - running, sql="DELETE FROM message_parts WHERE root = ?"
04-21 10:43:16.361 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 32.318 seconds.
04-21 10:43:16.361 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:16.361 22684 22777 W SQLiteConnectionPool:
04-21 10:43:16.361 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:16.361 22684 22777 W SQLiteConnectionPool:   executeForChangedRowCount started 99ms ago - running, sql="DELETE FROM message_parts WHERE root = ?"
04-21 10:43:19.450 22684 22684 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 2 (main) with flags 0x5 for 24.006 seconds.
04-21 10:43:19.450 22684 22684 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:19.450 22684 22684 W SQLiteConnectionPool:
04-21 10:43:19.450 22684 22684 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:19.450 22684 22684 W SQLiteConnectionPool:   executeForCursorWindow started 134ms ago - running, sql="SELECT id FROM message_parts WHERE root = ? AND data_location = 2"
04-21 10:43:20.401 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 36.358 seconds.
04-21 10:43:20.401 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:20.401 22684 22777 W SQLiteConnectionPool:
04-21 10:43:20.401 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:20.401 22684 22777 W SQLiteConnectionPool:   executeForChangedRowCount started 34ms ago - running, sql="DELETE FROM message_parts WHERE root = ?"
04-21 10:43:23.452 22684 22684 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 2 (main) with flags 0x5 for 28.019001 seconds.
04-21 10:43:23.452 22684 22684 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:23.452 22684 22684 W SQLiteConnectionPool:
04-21 10:43:23.452 22684 22684 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:23.452 22684 22684 W SQLiteConnectionPool:   executeForChangedRowCount started 26ms ago - running, sql="DELETE FROM message_parts WHERE root = ?"
04-21 10:43:24.443 22684 22777 W SQLiteConnectionPool: The connection pool for database '+data+user+0+com_fsck_k9+databases+740abd79-f9a8-46b6-9428-93595d70e367_db' has been unable to grant a connection to thread 55344 (AsyncTask #2) with flags 0x1 for 40.398003 seconds.
04-21 10:43:24.443 22684 22777 W SQLiteConnectionPool: Connections: 1 active, 0 idle, 0 available.
04-21 10:43:24.443 22684 22777 W SQLiteConnectionPool:
04-21 10:43:24.443 22684 22777 W SQLiteConnectionPool: Requests in progress:
04-21 10:43:24.443 22684 22777 W SQLiteConnectionPool:   executeForChangedRowCount started 102ms ago - running, sql="DELETE FROM message_parts WHERE root = ?"
04-21 10:43:26.259  1266  1287 I ActivityManager: Killing 22684:com.fsck.k9/u0a186 (adj 900): user request after error
04-21 10:43:26.342  1266  1289 W libprocessgroup: kill(-22684, 9) failed: No such process

From the log it sounds like the app was killed by the user: Killing 22684:com.fsck.k9/u0a186 (adj 900): user request after error
I'm guessing the app wasn't responding because a database query was performed on the main thread and it was blocked by a slow delete operation. In those cases the OS usually offers the user to either wait or kill the app.
If that's the case the issue is not so much the crash but the database operation that is performed in the main thread.

you are right, i was a bit impatient and i agree db operations shouldn't be performed on the main thread. cheers!

This is a known problem that requires a lot of internal changes to be fixed. It's an ongoing process.
Closing this issue because it's not necessary as a reminder.


Container exited with error code 1

Hello,
for some reason I am unable to run this container. Tried an addon in multiple HA instances and even on bare metal  (Debian 12 with compose) and every time outputs the same code. I've tried wrong username or password for SAIC API and MQTT broker, which displays different for me readable error log. Until 2 days ago, this addon was working like a charm and upgrade did not help. I have tried older versions of the image but that didn't help either. Here are my logs and setup. What could be wrong?
Thank you for any help.
saic-mqtt-gateway  | 2023-12-11 14:42:56,496 [ DEBUG  ] Sending CONNECT (u1, p1, wr1, wq0, wf1, c1, k60) client_id=b'saic-python-mqtt-gateway' - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [ DEBUG  ] Received CONNACK (0, 0) - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [  INFO  ] Connected to MQTT broker - mqtt_publisher
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [ DEBUG  ] Sending SUBSCRIBE (d0, m1<EMAIL_ADDRESS>0)] - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [ DEBUG  ] Sending SUBSCRIBE (d0, m2<EMAIL_ADDRESS>0)] - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [ DEBUG  ] Sending SUBSCRIBE (d0, m3<EMAIL_ADDRESS>0)] - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [ DEBUG  ] Sending SUBSCRIBE (d0, m4<EMAIL_ADDRESS>0)] - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,570 [ DEBUG  ] Sending PUBLISH (d0, q0, r1, m5), 'b'saic/_internal/lwt'', ... (6 bytes) - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,571 [ DEBUG  ] Received SUBACK - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,573 [  INFO  ] Scheduler started - apscheduler.scheduler
saic-mqtt-gateway  | 2023-12-11 14:42:56,573 [ DEBUG  ] Sending PUBLISH (d0, q0, r1, m6), 'b'saic/501_513/json/request'', ... (587 bytes) - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,573 [ DEBUG  ] Sending PUBLISH (d0, q0, r1, m7), 'b'saic/501_513/raw/request'', ... (219 bytes) - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,573 [ DEBUG  ] Received SUBACK - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,573 [ DEBUG  ] Received SUBACK - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:56,574 [ DEBUG  ] Received SUBACK - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:57,136 [ DEBUG  ] Sending PUBLISH (d0, q0, r1, m8), 'b'saic/501_513/raw/response'', ... (2035 bytes) - paho.mqtt.client
saic-mqtt-gateway  | 2023-12-11 14:42:57,136 [ DEBUG  ] Message length in bytes: 1015.0 - saic_ismart_client.common_model
saic-mqtt-gateway  | 2023-12-11 14:42:57,136 [ DEBUG  ] Protocol version: 17 - saic_ismart_client.common_model
saic-mqtt-gateway  | 2023-12-11 14:42:57,136 [ DEBUG  ] Dispatcher message length: 129 - saic_ismart_client.common_model
saic-mqtt-gateway  | 2023-12-11 14:42:57,136 [ DEBUG  ] Message size without header: 1011.0 - saic_ismart_client.common_model
saic-mqtt-gateway  | 2023-12-11 14:42:57,137 [ DEBUG  ] Dispatcher message bytes: 125 - saic_ismart_client.common_model
saic-mqtt-gateway  | 2023-12-11 14:42:57,139 [WARNING ] Executing <Task finished name='Task-1' coro=<MqttGateway.run() done, defined at /usr/src/app/./mqtt_gateway.py:297> exception=DecodeError('Expected enumeration index 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 or 16, but got 17.') created at /usr/local/lib/python3.11/asyncio/runners.py:100> took 0.568 seconds - asyncio
saic-mqtt-gateway  | 2023-12-11 14:42:57,139 [ DEBUG  ] Looking for jobs to run - apscheduler.scheduler
saic-mqtt-gateway  | 2023-12-11 14:42:57,140 [ DEBUG  ] No jobs; waiting until a job is added - apscheduler.scheduler
saic-mqtt-gateway  | Traceback (most recent call last):
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/per.py", line 1437, in decode_root
saic-mqtt-gateway  |     data = self.root_index_to_data[index]
saic-mqtt-gateway  |            ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
saic-mqtt-gateway  | KeyError: 17
saic-mqtt-gateway  |
saic-mqtt-gateway  | During handling of the above exception, another exception occurred:
saic-mqtt-gateway  |
saic-mqtt-gateway  | Traceback (most recent call last):
saic-mqtt-gateway  |   File "/usr/src/app/./mqtt_gateway.py", line 712, in <module>
saic-mqtt-gateway  |     asyncio.run(mqtt_gateway.run(), debug=debug_log_enabled())
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
saic-mqtt-gateway  |     return runner.run(main)
saic-mqtt-gateway  |            ^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
saic-mqtt-gateway  |     return self._loop.run_until_complete(task)
saic-mqtt-gateway  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
saic-mqtt-gateway  |     return future.result()
saic-mqtt-gateway  |            ^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/src/app/./mqtt_gateway.py", line 301, in run
saic-mqtt-gateway  |     login_response_message = self.saic_api.login()
saic-mqtt-gateway  |                              ^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/saic_ismart_client/saic_api.py", line 119, in login
saic-mqtt-gateway  |     self.message_v1_1_coder.decode_response(login_response_hex, login_response_message)
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/saic_ismart_client/ota_v1_1/Message.py", line 13, in decode_response
saic-mqtt-gateway  |     super().decode_response(message, decoded_message)
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/saic_ismart_client/common_model.py", line 428, in decode_response
saic-mqtt-gateway  |     application_data_dict = self.asn1_tool_uper.decode(decoded_message.application_data.asn_type,
saic-mqtt-gateway  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/compiler.py", line 167, in decode
saic-mqtt-gateway  |     decoded = type_.decode(data)
saic-mqtt-gateway  |               ^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/uper.py", line 500, in decode
saic-mqtt-gateway  |     raise e
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/uper.py", line 496, in decode
saic-mqtt-gateway  |     return self._type.decode(decoder)
saic-mqtt-gateway  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/per.py", line 830, in decode
saic-mqtt-gateway  |     decoded = self.decode_root(decoder)
saic-mqtt-gateway  |               ^^^^^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/per.py", line 848, in decode_root
saic-mqtt-gateway  |     raise e
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/per.py", line 844, in decode_root
saic-mqtt-gateway  |     value = member.decode(decoder)
saic-mqtt-gateway  |             ^^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/per.py", line 1419, in decode
saic-mqtt-gateway  |     return self.decode_root(decoder)
saic-mqtt-gateway  |            ^^^^^^^^^^^^^^^^^^^^^^^^^
saic-mqtt-gateway  |   File "/usr/local/lib/python3.11/site-packages/asn1tools/codecs/per.py", line 1439, in decode_root
saic-mqtt-gateway  |     raise DecodeError(
saic-mqtt-gateway  | asn1tools.codecs.DecodeError: MPUserLoggingInResp.languageType: Expected enumeration index 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 or 16, but got 17.
saic-mqtt-gateway exited with code 1

My compose.yml
version: "3.1"

services:
   image: "saicismartapi/saic-python-mqtt-gateway"
   container_name: "saic-mqtt-gateway"
   environment:
     - MQTT_URI=tcp://mqtt-server-ip:1883
     - MQTT_USER=mqtt-username
     - MQTT_PASSWORD=mqtt-password
     - SAIC_USER=saic-username
     - SAIC_PASSWORD=saic-password
     - LOG_LEVEL=DEBUG
     - MQTT_LOG_LEVEL=DEBUG

Hi @Xeudoron
the grammar in src/saic_ismart_client/ASN.1_schema/v1_1/ApplicationData.asn1defines the following language type enumeration:
LanguageType ::= ENUMERATED
{
  thai(0),
  english(1),
  china(2),
  de(3),
  fr(4),
  es(5),
  nl(6),
  nn(7),
  da(8),
  sv(9),
  it(10),
  pt(11),
  pl(12),
  el(13),
  fi(14),
  arabic(15),
  hindi(16)
}

Obviously, the API returns 17 in your case.
Expected enumeration index 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 or 16, but got 17.
Which language did you setup in the App? Try to switch to English and check whether this fixes the issue!

Hello tosate,
and thank you for your response. There are two mobile phones connected to the vehicle cloud. One is set in English and another was set in Czech language (probably 17?). It looks like that depending which connected last, the specific language is set on the server.
The problem occurred, when we integrated our EV charger into HA and for debugging we used the phone app with Czech language which must have broke the container. After connecting with the app in English, I was able to start the addon without any issues.
For the future, all devices will be set in English language.
I sincerely appreciate your guidance.
Given that this issue may arise in the future with others, how can I, lacking Python skills, assist in mitigating such problem? Otherwise I'd at least add this problem into https://github.com/SAIC-iSmart-API/saic-python-mqtt-gateway#prerequisites.

We can add something like cs(17) to the enumeration above for the next release. Then it should even work with the Czech language setting.

The LanguageType enumeration will be updated in the next sail-python-client release


Fix the pass thru of properties in release-mode

In the release mode the form properties has no been passed thru.
The type of  the component was not accessible in the release mode.
So now we have a property componentName to fix that.
Fixes: #28

I am not sure I understand - why do the components need this?

Hope that it makes it clear, if not just ask ;)


HorizontalBlockSpreadGrower significant performance impact

With paper timing you can see RBChunkCache is causing lag spikes https://timings.aikar.co/?id=5271943e14a540e185696badebc89914 and with a Spark sampler you can drill down and see it's entirely due to HorizontalBlockSpreadGrower https://spark.lucko.me/huKnJZlT39.
Currently WIP by IceKeeper and Psygate

For now, directly dependend on https://github.com/CivMC/RealisticBiomes/issues/30

HorizontalBlockSpreadGrower needs to be fully reworked.

It has significant performance issues
It allows duplications

The workaround for this issue is proposed in #30 via using huge mushrooms.
I propose to postpone this issue and return back when the time will permit.

We mitigated this issue by just making mushrooms grow vanilla, but that is not a long-term solution


Add spanish support

I would like to add spanish support.

This is where you can do this:
https://github.com/MohGovIL/hamagen-react-native/blob/master/src/locale/texts.json


CFP: enable IP forwarding for each NIC

Cilium Feature Proposal
Is your feature request related to a problem?
Yes. One issue while using cilium is that we sometimes got a fib lookup error as the following:
xx drop (FIB lookup failed) flow 0x5fcbfa3a to endpoint 0, , identity unknown->unknown:  xxx-> xxxx etc
After spent some time debugging, we found the issue is that there are two places in Linux to turn on ip forwarding. One is a global one in already set by cilium , which is /proc/sys/net/ip4/ip_forward
But there is another setting in /proc/sys/net/ipv4/conf/eth0/forwarding, which also need to be set by cilium. Otherwise, packets will be dropped.
Describe the feature you'd like
When cilium starts up, also set /proc/sys/net/ipv4/conf/eth0/forwarding to 1. Or for whatever interfaces configured in cilium

Sorry, seems this fell through the cracks.
Could you share reproduction steps? Given your current description of the issue, I'm a bit surprised that we don't always hit it 🤔


Achitecture / Enteprise implemntation questions

Hey there, I have been looking at implementing Conductor in our company but had a bunch of questions regarding some decisions and just things I couldnt find. I've scoured through all the other issues and what I can find, so I'll try not to ask questions that may have already been asked :)

Looking through documentation, I see internally you have moved away from Redis at the persistence layer to Cassandra. Was curious what was the motive there?

Through looking at other issues, I see there have been some things about slowness of Http system tasks due to the async behavior. Is the http thread pool configurable? And at what point would exhaustion occur if that was made sync and then does the conductor server share the same threads for system tasks with the http system tasks?

To piggy back off the previous question, if exhaustion or wait time becomes high, would it then make sense to create my own worker to make http requests so that specific thing can be horizontally scaled? My application is for order processing which will mostly be api based validations and just for decoupling purposes, would prefer keeping http based as common communicatoin mechanism as well so I can have that separation.

Another post I saw was mentioned you all have Kibana dashboards built made for the conductor metrics. Is there anyway you would be able to share those templates out?

Are you still using Dynoqueues for the queueing layer? What was the decision behind using Dynomite as well? Redis provides HA and sharding, so was there something about it that did not fit well? Again saw a post related that would then need a conductor server per AZ. Why is that?

Do you have any numbers on load with a basic workflow? Just how things handle since it is async. Whether you tested with single node and how you scaled there?

Would you be able to provide link to any more documentation regarding gRPC? I cant seem to find anything much but saw it was added in 2.0

Thanks,

Oh and what is currently being used for queues? I see here https://github.com/Netflix/dyno-queues that the project is no longer supported

There are two major issues we have with Dynomite as workflow execution store that motivated us to migrate to a different data store:
Dynomite cannot be scaled horizontally without downtime, which limits the number of conductor instances we can have and the amount of data we can store. Dynomite doesn't provide transaction support for multiple writes across different data structures, this causes intermittent data inconsistency issues for Conductor.
All system tasks (including HTTP) share the same thread pool. Do understand that Conductor is not built for speedy execution of tasks. Conductor is an async system which guarantees execution of a task but doesn’t provide any specific time limits. We haven’t measured the bottlenecks that would be introduced if HTTP becomes a “sync” task.
This entirely depends on your use-case and scale. To scale HTTP tasks, the conductor server application needs to be scaled. If the same behavior is implemented as a simple task, it can be scaled independently of the conductor server.
We will see if this can be shared.
Internally, we use a queuing system that is built on Redis. We have plans to contribute a queue implementation to Conductor, that is based on Redis, but there is no ETA for it as of now. It is fairly simple to write a QueueDao implementation with Redis and its Lua script support.
Regarding the need for a conductor server per AZ, this is due to the limitation of DynoQueues which require the client to be present and polling from the same AZ as the queue shard. If you choose to not use DynoQueues, then this does not apply.
TBD
We added some documentation regarding the implementation of the gRPC modules here. Quite a bit of this is also scattered as javadocs through the code.


UCSC chromInfo.txt parsing error

This is the head of chromInfo.txt (ungzip UCSC annotation file) file:
chr1    249250621       /gbdb/hg19/hg19.2bit
chr2    243199373       /gbdb/hg19/hg19.2bit
chr3    198022430       /gbdb/hg19/hg19.2bit

BigWig parses  it using
val chunks = line.split('\t', limit = 2)
BPlusLeaf(chunks[0], i, chunks[1].toInt())

So I get chunks = {"chr1", " 249250621\t/gbdb/hg19/hg19.2bit"} and exception while evaluating chunks[1].toInt()

You should've used hg19.chrom.sizes instead of chromInfo.txt. But I've changed the code to support both formats anyway :)


Added a sample code to show auto punctuation

Fixes #<issue_number_goes_here> (it's a good idea to open an issue first for discussion)

[ ] Tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

@beccca , @alexander-fenster , @ace-n can you please review this PR?


Add hqmf_id to StatementReferences, Observations and Stratifications

Matching the changes in https://github.com/projecttacoma/cqm-models/pull/85. These fields will be needed for QRDA/cqm-reports.
Pull requests into cqm-converter require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
❗ BEFORE MERGING

[ ] Update Gemfile to point to cqm-models master AFTER https://github.com/projecttacoma/cqm-models/pull/85 is merged.

Submitter:

[x] This pull request describes why these changes were made.
[ ] Internal ticket for this PR:
[ ] Internal ticket links to this PR
[x] Code diff has been done and been reviewed
[x] Tests are included and test edge cases
[x] Tests have been run locally and pass
[x] If applicable, the library version number in cqm-converter.gemspec has been updated N/A
[ ] Update cqm-execution test fixtures using update_cqm_execution_fixtures.sh script from server-scripts repo

Bonnie Reviewer:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Cypress Reviewer:
Name: @dczulada

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Codecov Report

Merging #32 into master will increase coverage by 0.55%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   55.98%   56.54%   +0.55%
==========================================
  Files           7        7
  Lines         468      474       +6
==========================================
+ Hits          262      268       +6
  Misses        206      206

Impacted Files
Coverage Δ

lib/cqm/converter/bonnie_measure.rb
96.47% <100%> (+0.26%)
:arrow_up:

Continue to review full report at Codecov.

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


SAK-47091 handle spaces in names when sorting

Where is this line from and who did it?!
String newRules = oldRules.replaceAll("<'\u005f'", "<' '<'\u005f'");

Looks like it came from https://github.com/sakaiproject/sakai/commit/91acbaef82a0a53fee7feae90f88cc850123949b

Maybe 46754fe501f7739efe525f79578c3a7e6d2add2e

Yeah seems likely.

the idea of that line seems to be saying that space should come right before this very high unicode char (u005f)
but seems like it doesn't work!

Sorry I thought the goal here was to remove those chars!!!
OK sounds fine 👍


[DRAFT] Markdown Linting

Looks good! Consider adding a section on linting to CONTRIBUTING.md + links for setting up auto-linting on IDEs so that it would be easier to be aligned with the linter.

Looks good! Consider adding a section on linting to CONTRIBUTING.md + links for setting up auto-linting on IDEs so that it would be easier to be aligned with the linter.

Closing since REDAMEs changes fro  MKdocs won't lint.


vscode icons for files are no longer loaded in latest chrome

On latest Chrome, folder icons are applied, however, file icons look like this.

This behavior also valid for GitLab too. Folders are visible, file icons are not.
I catch this error in console:
content.js:1 Uncaught (in promise) TypeError: Cannot read property 'includes' of undefined
    at content.js:1
    at y (content.js:1)
    at Object.t.initGithub [as github] (content.js:1)
    at Object.t.showIconsForHosting (content.js:1)
    at content.js:1
    at Generator.next (<anonymous>)
    at p (content.js:1)
(anonymous) @ content.js:1
y @ content.js:1
t.initGithub @ content.js:1
t.showIconsForHosting @ content.js:1
(anonymous) @ content.js:1
p @ content.js:1
Promise.then (async)
g @ content.js:1
(anonymous) @ content.js:1
l @ content.js:1
(anonymous) @ content.js:1
(anonymous) @ content.js:1
s @ content.js:1
(anonymous) @ content.js:1
(anonymous) @ content.js:1

Hi,
thanks for creating an issue. I tried it on several machines, probably you have different GH version or github-vscode-icons is intercepted by other extension in your chrome.
Which version of chrome are you using ?
Do you have any other chrome extension that are changing how GH repo tree looks like (manipulating with DOM) ?

Same issue on latest Firefox on Linux:
Sometimes, the folder icons are showing:

Most times, no icons are loading at all though:

In my case, I think it's because of the extension refined github. When I disable this extension everything works. However, this was just happening for some days/weeks (was on vacation so I'm not sure) – I was using refined github with vscode icons before and everything worked fine until recently.

Ok, thank you very much for details. It looks like refined github is manipulating with DOM and that causes errors.
Will try fix it ASAP :)

Ah! yes, I have refined github too.

I'm too having the same issue and yeah, I also have Refined Github installed

I published new version with fixed issue to chrome store. You can expect that extension will be updated in next few hours :)

Thanks! Fixed on my end.

I can also confirm that it is now working on my side.

Can you also update the Firefox extension please @dderevjanik?

@steebchen thanks for mentioning firefox, I totally forgot about it....
I submited new version in firefox dev, but it will take much more time (to be reviewed from firefox side) than in chrome store before it will be available for you :/

It's published for a few days now by the way, thanks for fixing!

New refined github released and probably broke the component again.

I tried newest version <IP_ADDRESS>5 without any issues.
Could you please post more details ?  Thanks :)

I see errors as below:
Denying load of <URL>. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.
github-vscode-icons:1 Denying load of chrome-extension://hoccpcefjcgnabbmojbfoflggkecmpgd/icons/. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.
github-vscode-icons:1 Denying load of chrome-extension://hoccpcefjcgnabbmojbfoflggkecmpgd/icons/. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.
github-vscode-icons:1 Denying load of chrome-extension://hoccpcefjcgnabbmojbfoflggkecmpgd/icons/. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.

Is that repo public ?
Don't have any idea which could cause that problem....

Yes it is public

url, please :)

https://github.com/dderevjanik/github-vscode-icons
😂
All repos has this issue
screenshot:

:D Well, everything looks Ok on my side....
Do you have any special options turned on in refined-github ext ? Which version are you using ? My version is <IP_ADDRESS>5

My version is <IP_ADDRESS>7. I enabled private access token (also tried without it).
I see error at top:
Refused to load the font 'data:application/font-woff2;base64,d09GMgABAAAAAQ5sABIAAAADuOQAAQ4EAAEAgwAAAAAAAAAAAAAAAAAAAAAAAAAAG4SpIhy4XhSHMgZgAJJmCF4JgnMREAqGskiFyggSgrVoATYCJAOdOAuOXgAEIAWPGAfGYAyDGFsKfLME/nOMvX+HnQoMqyRqK6tt2TW8K2BDX9Umu4PZkCXwtMjpcHYNTx6UUmu30UdwcxxnVMvcNgAim7rdXiPZ////////////C5dF2ObuXM7ZvQeSECARwueHlaLVtkJEIaLRAI3ulswSE13cSPdM15RCyYQuuS7A0mBqpQO9pYZWQQMqa9lQb0dpJzHxHpLyCHIi8uBdwF58nNH+YOA40OpJvEjJtaokKaUkx/N5UeSinp5TWoW1vSpFjimBgeFGeCF66U0n6ZUN/qSqC4XC11GKUNmzSy2d5Jxyqw5JzGUlJUnyi0lKkE8BlxadTZsyRm8c1/Cti2hEjzIH...FVw9csGnQ1BnbMbfzgRj3WjPytwZYWpPh3OtmsLZaNcxxqaGVqMVqFffFpU8bbs/0N1vG3POWfS7LUeB81TfHn+VbD7x/UnT3lXyFltHfdX6+X6Rzmg9d4dAISK7GlTj2zgME/JUwAETAECwABAUgUmAysrKI5shRwAchnFSMheQ8UoKlvnVbkW9mMeq2+bbO9EQ2q09Z9wzsADarYt4ftoamBDi8gmfbZKnl+lkZWyRx1VYVSIpVFXs9VXy9ytCyTNYt09YIAGKjqpDT22SgOdP5OsdAK/vOCXFnrpEwA/PPTJiopB7HxZV+MlaGCT/04K/LY3kjPYV/YR146Ggg+9sX6na/c2So+Epz3PXve3PKRylPIhNZASBUYVDIGhikiWc1jj/claeVCJvljX7JfvO+xhfTDIjSXBs4HV16Ol/BMfcuFQ4NRmDOWEh6diOI6NZmGl87N9J+r2JfpW2+5NhV/fGHLO57Yavbq7zaCewa/RDxp/aSH+luOPwAA' because it violates the following Content Security Policy directive: "font-src github.githubassets.com".

@dderevjanik I too am facing the same issue.
The error is Refused to load the stylesheet 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700&subset=cyrillic.
This was working when initially when the fix for GithubRefined was updated. But now it stopped working from sometime yesterday.

Guys, Thank you very much for your support and patience.
Finally, I was able to reproduce error (I can only reproduce it in chromium, not in chrome). It seems refined-github changed placement of github svg icon again.
I published new version 1.19 to chrome store, so you can to expect working version in next few hours.
I also added better error messaging (in console) and catching (unknown icons don't break whole repo).

@dderevjanik Can you please also publish to the Firefox store? It seems refined github updated for me today and I have the same issue:

Confirmed. Works here on Chrome.
Thanks!

Confirmed. Works now on Vivaldi

Thanks,
closing closed Issue, for now :D
@steebchen should be available for you in next few hours :)


AttributeError: 'str' object has no attribute 'phase' when using the "as_plays()" method

I'm using Windows 8.1, WinPython 2.7.
I copied the example from the NFLDB intro page.
q = nfldb.Query(db)
q.game(season_year=2012, season_type='Regular')
q.player(full_name='Tom Brady').play_player(passing_yds__ge=60)
for p in q.as_plays():
    print p

I get this error.
Traceback (most recent call last):

  File "<ipython-input-2-21e7fc427f5e>", line 6, in <module>
    print p

  File "C:\Users\Owner\Downloads\Python_Installs\WinPython-64bit-<IP_ADDRESS>\python-2.7.6.amd64\lib\site-packages\nfldb\types.py", line 1748, in __str__
    % (self.pos_team, self.yardline, self.time.phase,

AttributeError: 'str' object has no attribute 'phase'

With OSX El Capitan, Python 2.7.10 I get:
(NE, OWN 17, Q2, 1 and 10) (9:56) (Shotgun) T.Brady pass short left to S.Vereen for 83 yards, TOUCHDOWN.
(NE, OWN 37, Q3, 3 and 10) (10:00) (Shotgun) T.Brady pass deep middle to D.Stallworth for 63 yards, TOUCHDOWN. NE 12-Brady 18th career game with 4+ TD passes, passing Johnny Unitas for 4th most all-time.

Not sure what the problem was. I updated to latest and final WinPython <IP_ADDRESS> version, updated my Psycopg2 install and it worked fine.

This error started popping up again. I'm really not sure what the cause could be...


refactor: table components

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Sorry the PR was changed to the wrong target and closed by mistake. I cannot reopen it :(  Could you please reopen the PR? Thank you.


feature request: postgres sink: write varchar to UUID type

Is your feature request related to a problem? Please describe.
Background: https://risingwave-community.slack.com/archives/C03BW71523T/p1690898794959069?thread_ts=1690894820.673519&cid=C03BW71523T
Describe the solution you'd like
https://www.postgresql.org/docs/current/datatype-uuid.html
Describe alternatives you've considered
No response
Additional context
No response

It seems the slack thread is about ability to sink a varchar-typed field into a uuid-typed field, rather than support uuid type inside RisingWave. The latter is one of the solutions.

Hmm, right now our sink is strongly-typed which means a varchar will be sinked out as a varchar (e.g. VARCHAR or LONGVARCHAR in JDBC type). If we want to sink out a varchar as UUID we need to do type casting. Do we need to add this special type casting case for downstream UUID type? Maybe support UUID in RW is better?

Supporting UUID in RW is better when we want to ensure invalid data are caught earlier during computation rather than during the sink cast
The ability to cast during sink may be necessary in more cases

When the sink is not PostgreSQL and there is no perfect 1-to-1 mapping between the types
Sinking a RW varchar column into a PG varchar / text column. Do we currently support both of these?

The ability to cast during sink may be necessary in more cases

+1. For non-postgresql-comptaible systems, this is obvious because there is no strict data type mapping between multiple systems.
Even with PostgresQL, it's quite normal to store UUID in string or vice versa.
I think we can simply loose the checking here. I guess insert into (x) values ('<some_uuid_number>') will work whenever x is UUID or VARCHAR.

The ability to cast during sink may be necessary in more cases

To be clear, currently, we don't handle unsafe type casting in the connector. We use JDBC API to set parameters for the INSERT statement, potential (safe) type casting is delegated to the specific drivers. For example, when we sink out a VARCHAR to downstream TEXT, we use the setString of JDBC API, the driver will handle the VARCHAR to TEXT mapping under the hood.
Unsafe means inserting a VARCHAR to UUID column may fail if the value of VARCHAR column is in invalid format. Because we need to parse the String into a UUID object via java.util.UUID.fromString(), then call setObject() to bind the value to be inserted to downstream.

Did some investigation on the current jdbc postgres sink:

It is okay to sink varchar into both varchar and text.
Sinking varchar into uuid requires more effort than into text

need to pass java.util.UUID rather than java.lang.String
this conversion process may fail

It is allowed to sink int into int, bigint or even smallint

out of range error may occur in the smallint case

The postgres jdbc driver have 3 different ways of identifying a parameter's data type:

Type
TypeName
ClassName

12
varchar
java.lang.String

12
text
java.lang.String

1111
uuid
java.util.UUID

4
int4
java.lang.Integer

5
int2
java.lang.Integer

-5
int8
java.lang.Long

varchar and text share the same Type number and ClassName, which is different from uuid's. So it seems reasonable to accept text but reject uuid to interoperate.
However, int4 and int8 also have different Type number and ClassName, but are allowed to interoperate by pgjdbc.
int4 and int2 have same ClassName but different Type number. This casting could fail but still allowed.
It seems that pgjdbc does no check but passes whatever value given to postgres server. The server allows assignment cast int4 -> int2 with possible runtime error, but the cast from varchar to uuid is explicit.

Conclusion:

It is possible to allow sinking varchar into uuid, at the cost of writing a special casting for it and handle errors here properly.
If we do not want fallible casting in sink, we should reject int4 -> int2 here.
Let's just decide whether these sink casts are allowed to produce error, even when sinking to non-postgres

I agree it is better to avoid error during sink when possible.
Talking about the uuid type specifically, it allows us to use 16 bytes rather than 36+4 bytes per value. But there are no more functions defined to process it. It is a good-to-have optimization, but not necessary.
And sorry for extending the problem to all sink casts. To address the concern of imperfect type match and non-pg database:

casts are still allowed when unavoidable
casts are not allowed when there is a better match. In this case varchar is a better match so uuid is not allowed. Either the sink PG table need to accept varchar (and validate afterwards), or RW supports uuid natively. We do not intend to support additional external types by maintaining an extensive conversion map in sink.

Does this strategy make sense? If yes I would change the issue back to support uuid type. The user seems to be okay with using varchar temporarily.

casts are still allowed when unavoidable

Agreed. For example if user want to sink a Array to MySQL, currently we just fallback to concat each item of the array to a string, e.g. "aaa,bbb,ccc". And user should define the downstream column to a data type that can accept string.

casts are not allowed when there is a better match.

In this case varchar is a better match so uuid is not allowed. Either the sink PG table need to accept varchar (and validate afterwards), or RW supports uuid natively. We do not intend to support additional external types by maintaining an extensive conversion map in sink.
In the case of int4 -> int2, it is also unintended and we would not claim we support/allow it.

Agreed.   cc @fuyufjh

Acceptable to me. Anyway, I don't think UUID type is very popular.
By the way, fixing #11374 will also improve the user experience a lot regarding this case.

Reopened due to our Slack discussion


#154894833 - Updates readme to include install instructions

These install instructions should work for anyone who is brand new.
Can you test it out on your local machine for me, and if there is anything missing lets add it.

Code climate is bugging out. I am going to merge this and see if it starts behaving better.  I will create a new PR if more changes need to be made.


Cards: .mdl-card__subtitle-text uses non-customizable grey text color

https://github.com/google/material-design-lite/blob/v1.0.4/src/card/_card.scss#L76
This basically prevents using card subtitles on non-white backgrounds, unless overridden in a user stylesheet.
Perhaps it should specify no color and use opacity instead?

The hard-coded color is definitely an oversight, although I think the grey is defined by the spec. Looping in @Garbee for more input on this :)

BTW, spec is inconsistent in naming this component:

in text it's either subtext or subtitle,
on screenshots it's subhead.

On some screenshots it (or its doppelgänger :wink:) is pure white, and some are white-ish grey, much brighter than just grey.
https://www.google.com/design/spec/components/cards.html

On some screenshots it

Screenshots in the spec should be taken with a grain of salt. Always go with written text over the visual examples.
On the note of proper color, it should be 54% of black or the primary color. Let's go with straight black here to keep it simple and if developers want to go with primary color they can do that themselves. This comes from the subheader spec for lists, but is the closest thing we have to an actual number for use here.


Incorrect/missing info on Azure 'AWS Single-account Access' setup

The username and password returned when enabling console access is not what is needed for the clientsecret and secret token values.
Instead, I created a 3rd party access key, which worked for this step

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

ID: 8fa5814d-91e2-2f75-77e7-62a8597f340c
Version Independent ID: 458e93d7-a180-4c2f-5077-9b9d124d726a
Content: Tutorial: Microsoft Entra SSO integration with AWS Single-Account Access - Microsoft Entra ID
Content Source: docs/identity/saas-apps/amazon-web-service-tutorial.md
Service: entra-id
Sub-service: saas-apps
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@barnabyibis
Thanks for your feedback! We will investigate and update as appropriate.

@barnabyibis
I'm going to assign this to the document author so they can take a look at it accordingly.
@jeevansd
Can you please check and add your comments on this doc update request as applicable.

@jeevansd, will you please add your comments on this issue.

@jeevansd @v-hgampala We are migrating all GitHub issues to ADO as we switch our feedback mechanism to UUF. Please either address the issue, or close and track it in ADO no later than June 10, 2024. Thank you.

we are working on the issue, will reflect the changes into the main article soon.
#please-close


Word count dooesn't work

I'm writing my morning pages but mini-diary says that I wrote only 2 words. That's frustrating 😞

The counting is handled by the word-count library, so that's where this needs to be fixed. Please open an issue/PR in their repository instead :)

@samuelmeuli last release was 4 years ago. it seems word-count is abandoned. may be you fork it or use another library?

https://codepen.io/ericnjanga/pen/geRVMq

Yes, let's use a fork for now. I also reached out to the maintainer. I still hope my PRs are merged so we can use the library from NPM again.


Replacing generic player names with real usernames.

It's possible to replace generic names like "Player 1" with usernames by modifying the save game files.

Finished and merged with master.


Does constance supports password field?

I wish to "hide" (at least on Django Admin) some specific config values. Does constance have support password field?

Yes, I think this is you're looking for.
'secret_password_field': [
        'django.forms.fields.CharField', {
            'widget': 'django.forms.PasswordInput'
        }
]

Yes, is it! Thank you.

Passing widget_kwargs with render_value=True avoid the need to introduce the password every time that you save the configs:
'secret_password_field': [
    'django.forms.fields.CharField', {
        'widget': 'django.forms.PasswordInput',
        'widget_kwargs': {'render_value': True}
    }
]

Passing widget_kwargs with render_value=True avoid the need to introduce the password every time that you save the configs:
'secret_password_field': [
    'django.forms.fields.CharField', {
        'widget': 'django.forms.PasswordInput',
        'widget_kwargs': {'render_value': True}
    }
]

@0xbart, @srtab thanks for your answer.
But excuse my ignorance, where would that code go?

JFYI when you click the save button all variables from the page are sent to the server.
In this case you need type your password every time you save something on the page.

'secret_password_field': [
        'django.forms.fields.CharField', {
            'widget': 'django.forms.PasswordInput'
        }
]

In this case your password will always be given on the page (and will not be safe from people who can enter the page).

'secret_password_field': [
    'django.forms.fields.CharField', {
        'widget': 'django.forms.PasswordInput',
        'widget_kwargs': {'render_value': True}
    }
]


Remove level and errors arguments for Pandas 2 compatibility.

Level was always NotImplemented anyway, and errors I conditionally disable based on the pandas version to keep functionality.

R: @tvalentyn


Add a disclaimer page to search flow

While we don't have all business studies courses, we need to notify users that the service is incomplete. A banner we tried in a prototype wasn't read and in research users came to the wrong conclusion about courses available to them.
We need to be a little more explicit and put the message at the appropriate point in the user journey.
Design that didn't work

This design

When we tested the second design we found that:

users noticed and read some of the disclaimer
in the lab they continued, but some noted that they may instead go to UCAS
there was a better understanding that not all courses would be there


Add annotations for query and header values

Allows having both controller level variables and method variables. Going forward, all named argument parameters to routes must be annotated with @HTTPQuery or @HTTPHeader to be matched.

Because it's in my head right now, continuing on our talk from the end of the day: it'd make sense to have a Request -> Request Handler Method mapper class/method. You'd send it the handler method info after finding a match (the cached stuff) and then the incoming request. It'd return a structure that has Symbol -> Value maps for query params and header params. Perhaps we even move path params in there as well? maybe all of the matching/method finding/caching moves there as well? If you can just pass a request into a collection of these things and either get out null (no handler method), or a structure that contains error information, or a structure that contains the maps AND symbol for the method to execute.

Looks like _methodCache and _controllerLevelParameters are left on HTTPController


Add support for Ollama API

Ⅰ. Describe what this PR did
Added support for Ollama API
Ⅱ. Does this pull request fix one issue?

fixes #956
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews
Ollama似乎只能在本地运行然后通过localhost调用API，当前版本可以实现在本地部署模型并通过API调用的功能，进行功能验证时需要在本地或者docker中下载并运行ollama

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


web: Column doesn't support horizontal alignment / vertical arrangement parameters

I'd like to write the following in Web Compose:
Column(
   modifier = Modifier
      .fillMaxWidth(),
   horizontalAlignment = Alignment.CenterHorizontally
) {
   ... // this should be in a ColumnScope?
}

similar to the Android version.
I assume the API change is planned but I didn't see a bug for it so I added it.

Not sure if this is technically the right solution, but I'm locally patching things this way:
@Composable
fun Column(
    modifier: Modifier = Modifier,
    verticalArrangement: Arrangement.Vertical = Arrangement.Top,
    horizontalAlignment: Alignment.Horizontal = Alignment.Start,
    content: @Composable () -> Unit
) {
    Div(attrs = modifier.castOrCreate().apply {
        add {
            display(DisplayStyle.Flex)
            flexDirection(FlexDirection.Column)

            when {
                verticalArrangement === Arrangement.Top -> justifyContent(JustifyContent.FlexStart)
                verticalArrangement === Arrangement.Bottom -> justifyContent(JustifyContent.FlexEnd)
            }

            when {
                horizontalAlignment === Alignment.Start -> alignItems(AlignItems.FlexStart)
                horizontalAlignment === Alignment.CenterHorizontally -> alignItems(AlignItems.Center)
                horizontalAlignment === Alignment.End -> alignItems(AlignItems.FlexEnd)
            }
        }
    }.asAttributeBuilderApplier()) {
        content()
    }
}

@bitspittle what html do you want to get as a result?

I'm happy for the team to go in a different final direction - I don't care too much about the html as long as it feels right, and I'm new to frontend development, so it's possible there are better approaches.. For a Column with max width and center alignment, I'd expect something where it's width fills the page 100% and that all children elements are arranged one after the other and centered on screen.
But here's some concrete Kotlin code I wrote (using my version of Row in this case) plus the html it generated. Note that this is a slightly different version - it's a row which fills max width and centers all row elements veritcally:
@Composable
fun NavHeader() {
    Box(
        Modifier
            .fillMaxWidth()
            .height(50.dp)
            .background(Color.Black)
    ) {
        Row(
            Modifier.padding(10.dp),
            verticalAlignment = Alignment.CenterVertically
        ) {
            NavLink("/", "HOME")
            NavLink("/about", "ABOUT")
            Spacer()
            ... right side icons ...
        }
    }
}

   HOME
   ABOUT

   ... right side icons ...

Note: I needed to separate out the Box and the Row because I wanted the black color of the nav bar to touch the top of the page, and I only wanted the row padding to apply to the inner links.

BTW, this code may change / someday these links may 404, as I'm still playing around with stuff, but if you check soon you can probably see what I'm doing here:
https://github.com/bitspittle/kobweb/blob/main/lib/compose-ext/src/jsMain/kotlin/kobweb/compose/foundation/layout/Column.kt
https://github.com/bitspittle/kobweb/blob/main/lib/compose-ext/src/jsMain/kotlin/kobweb/compose/foundation/layout/Row.kt
https://github.com/bitspittle/kobweb/blob/main/examples/helloworld/src/jsMain/kotlin/helloworld/components/layouts/PageLayout.kt
https://github.com/bitspittle/kobweb/blob/main/examples/helloworld/src/jsMain/kotlin/helloworld/components/sections/NavHeader.kt

My current implementations:
https://github.com/bitspittle/kobweb/blob/main/lib/compose-ext/src/jsMain/kotlin/kobweb/compose/foundation/layout/Column.kt
https://github.com/bitspittle/kobweb/blob/main/lib/compose-ext/src/jsMain/kotlin/kobweb/compose/foundation/layout/Row.kt

I already tried porting foundation to web too, but the api is quite different in Compose Web, because html DOM and the different implementation. I would suggest to not use expect/actual in your project, but rather direct upstream, to access more internal functions/apis.

closing this issue. Reason: since 1.0.0 compose.web.widgets module was deprecated.


YDR export with vertex groups causes issues

Exporting YDRs with vertex groups causes an issue where the assigned vertices to a vertex group will default to the origin position.
How to reproduce on latest version (90df333):

Create a drawable with some (not all) vertices assigned to a vertex group
Export drawable to *.ydr.xml
Import into codewalker
The vertices assigned to the vertex group will all be at the origin position

Currently the workaround for this is to unassign all vertices from vertex groups before exporting.
How it looks when exported with vertex groups:

How the vertex groups are assigned:

How it looks by removing the vertex groups when exported:

Could you send .blend file? If you don't wanna drop it here my discord is colton#5371


Can i store components in different folders inside 'src' folder?

For example, i have folder named 'MyComponent' inside 'src' folder. In 'MyComponent' folder i have all these required files - MyComponent.vue.js, MyComponent.vue.css, MyComponent.vue.html.
So, is it possible to config this plugin to work with this kind of structure, instead of have too much files from different component inside the 'src' folder?

I am so sorry. I don't have notifications enabled for this repo and I completely missed everything. I am going to look into it this week.

+1, thanks @pksunkara

Release 0.2.0


x

If possible, please delete this pull request.
It happended unintentionally.
I don't have the legal rights to make it public now.


airplane icon

I have read the CONTRIBUTING.md file.
y
What kind of change does this PR introduce?
feature
Demo
Please attach a short video demo of the changes.
https://github.com/user-attachments/assets/4cd018c8-c2e2-4275-8540-ad8c573a3c4b
Additional context
Add any other context or screenshots.

@pqoqubbw please review


Why require an account?

I don't see what it accomplishes and you can't even try the app without it. Google login is nice but you probably want to properly set up the app name

I agree with you. There is no need for authentication. I will not build the authentication functionalities in the future.
I ll update the Google Project app name in my next release
Thanks a lot for the feedback 😃
I wish you a good weekend


Modify production dds resources

All APIs have a desired_count = 1 in ECS.
Increase this accordingly to handle expected load.

Most processing is done in the background - the public API is mostly proxying items from S3 that have been pre-made so load should be fairly low.
Due to this, and unknown expected usage, I've set the desired_count for both public API services to 2 instances, currently with no autoscaling.
/search can do more than just proxy S3 files so wrote a python script to test that this can handle some load. Tested searching up to 8 times across 50 random bnumbers using 12 parallel workers and logged time taken. Some searches take slightly longer, assuming this is initial fetch of asset from S3 but this mimics current dds functionality.

Closed in error - reopening

Closing issue - changes made for #5131 will use protobuf for serialisation which is significantly smaller and quicker than existing binary serialisation. To fully test this all text items will need to be processed then previously written test scripts can be run to verify.


ENHC support

Docu says ENHC is supported, but in fact it's not.
http://docs.abapgit.org/ref-supported.html

looks like "ENHC" should be changed to "ENSC"


Add support for intersection between exceptions

Not sure if the current behavior is by design or not. When some file is matched by two or more exceptions, only one exception is applied and it is not obvious which one (the one with a shorter path actually). So, i suggest to apply all matched exceptions.

Great work! I'll fix the CI and then merge and release it. Thank you for your help :heart:

Released in 0.7.1


Add syntax for anonymous functions

Pijama's IRs have no problem handling anonymous functions, but there is not a node in the AST for that.
We need to:

[ ] figure out which syntax to use.
[ ] modify the parser to support such syntax.
[ ] add the new node variant to the AST.
[ ] fix the lowering between the AST and the MIR.
[ ] add tests for:

[ ] parsing
[ ] typing
[ ] evaluation

I have the following candidates for the syntax:

Haskell's lambda syntax: (\x: Int -> x + 1)
Rust's closures (with do/end body): |x: Int| do x + 1 end
Python's lambda syntax: lambda x: Int do x + 1 end

My personal favorite is the rust syntax. But how about:

Elixir like fn(x: Int) -> do x + 1 end

But how about:
* Elixir like `fn(x: Int) -> do x + 1 end`

I like how it looks. My only "complain" is that we'd need to do an additional look-ahead during parsing to differentiate a function definition from an anonymous function. Something like: "if ahead we have fn and then a name, that's a function definition. Otherwise, it is a lambda". On the other hand I really like the syntax consistency (f we drop the arrow) because we'd have
fn foo(x: Int) do x end

and
x = fn(x: Int) do x end

actually meaning the same thing.

If we require the brace directly after fn we could differentiate between fn ... with space and fn(...
I'm fine with dropping the arrow.

actually the space is not much of a deal. So it seems we have a winner for the abstraction syntax :D. thanks

Do we want to have recursive anonymous functions? The only way I see it working would be some special name referring to the current function like self. This may change how #36 can be solved.

Do we want to have recursive anonymous functions?

I'm inclined to say we don't. Do you have any case of use where you need a short-lived recursive function? Otherwise I think regular functions can fill that gap perfectly.

I don't have a use-case but it just seems to be a common but arbitrary restriction (a google search didn't bring up much).

I have a conspiracy theory about it. Probably using self or any other keyword feels too much like OOP and functional programmers feel dirty using it :P


[KOGITO-146] Implement CI for build and push Operator Image to Quay

There are few variables that needs to be set in circle CI project settings, in order for this configuration to work.

CIRCLE_TAG - release tag
REGISTRY_USER - registry.redhat.io username
REGISTRY_PASS - registry password
QUAY_USER - quay username
QUAY_PASS - quay password
TOKEN - Quay token (without basic)

release tags should not be start with v (such as v0.3.0).
Sample test results:
log: https://circleci.com/gh/sbuvaneshkumar/kogito-cloud-operator/33
repo: https://quay.io/repository/sbuvaneshkumar/kogito-cloud-operator?tab=tags
Reference:
https://github.com/aerogear/mobile-security-service-operator/blob/master/.circleci/config.yml
https://github.com/aerogear/mobile-security-service-operator#tags-release
https://github.com/aerogear/mobile-security-service-operator/blob/master/Makefile

I like the idea to automatically push images to quay, but I have some concerns about it;.
Which account are you using?
Where the credentials are stored?
If for some reason someone finds it they can delete our images.
IMHO steps like these must be triggered manually by our internal infra.

I like the idea to automatically push images to quay, but I have some concerns about it;.
Which account are you using?
CircleCI account? I believe the account for this is kiegroup.

Where the credentials are stored?
Credentials will be stored in Circle CI project settings. It is a secure place and not everyone can access it, apart from the owner who owns the circleci account for this project.

If for some reason someone finds it they can delete our images.
I don't think anyone can delete our images, since we own the (quay) account.

IMHO steps like these must be triggered manually by our internal infra.

@ricardozanini Currently the images are generated and tagged with master when any change happens in master branch and then pushed to Quay.
When tags specified, then the image is pushed to Quay tagged with the actual tag.
I believe we need the same behaviour for pushing applications as well, if yes and then I will go ahead and make the workflow changes in circleci config accordingly.
Please let me know if any change required in this process.
Note: I have used my circleci/Quay accounts, after finalizing the process, I will change that back to kogito. Also, someone who have access to kogito CircleCI project settings needs to add the variables mentioned above.
https://circleci.com/gh/sbuvaneshkumar/workflows/kogito-cloud-operator/tree/master

@sbuvaneshkumar many thanks putting so much efforts on it. I'll take a look at the changes carefully later.
@spolti do you mind taking a look also when you have the time?

Hi @sbuvaneshkumar, some things to consider:

I'd say that we could build and push the image to quay each time a PR is merged to master with the following tag: quay.io/kiegroup/kogito-cloud-operator:version-RC, this way we will have a brand new version of the operator to work with
Forget about the application for now, this will be another CI to release the operator
We should use an application credential from quay that only has the permissions to write in this specific repository (kogito-cloud-operator). Could you add this info to the docs somehow (like a CI doc in the docs folder)?
Rebase your branch and squash your commits after this change, please

@spolti @sutaakar  WDYT?

@ricardozanini Sounds good to me.

Hi @sbuvaneshkumar, some things to consider:

I'd say that we could build and push the image to quay each time a PR is merged to master with the following tag: quay.io/kiegroup/kogito-cloud-operator:version-RC, this way we will have a brand new version of the operator to work with

Currently, the configs are meant to tag the image with "master" tag whenever a change happens in master branch. sure, I will change the tag to "version-RC".

Forget about the application for now, this will be another CI to release the operator

@ricardozanini  Can you please clarify if you mean we do not want to push the application to Quay as of now in this CI?

We should use an application credential from quay that only has the permissions to write in this specific repository (kogito-cloud-operator). Could you add this info to the docs somehow (like a CI doc in the docs folder)?

Ack.

Rebase your branch and squash your commits after this change, please

Ack.

@spolti @sutaakar WDYT?

@ricardozanini Can you please clarify if you mean we do not want to push the application to Quay as of now in this CI?
That's exactly what I meant!

Currently, the configs are meant to tag the image with "master" tag whenever a change happens in master branch. sure, I will change the tag to "version-RC".
This is the current version of the master, you can fix this in the circleci file or take it from here:
https://github.com/kiegroup/kogito-cloud-operator/blob/master/version/version.go#L19 (preferred)

@spolti @ricardozanini I have added the changes as per the request.

@sbuvaneshkumar I couldn't come up with an idea to have this CI run without our credentials exposed to a third party service. I'll close this PR and JIRA for now until we have a better solution or Quay.io have implemented the application tokens. Also, have to expose our internal Red Hat registry credentials is not a good idea either.
Many thanks for your contribution, I'll use it as a reference for when we come back to this later.


which credentials for which actions are needed?

There is a "..." and I think maybe that means read the code for the 4 actions and figure out which services you need to collect creds from to set as params for those actions.
Could use some more explanation.

readme has been updated


Exclude some CI tests for Verilator

This PR adds a mechanism for excluding specific CI tests. The list needs to be passed via the EXCLUDE_TESTS env variable to the job that builds CI test matrix. Solves https://github.com/chipsalliance/caliptra-rtl/issues/126
Currently the PR has no effect on the CI as the excluded tests are not yet integrated

@calebofearth - do you want this to go through dev-goog?

@calebofearth - do you want this to go through dev-goog?

Let's submit against dev-msft. dev-msft will be the first point of contact once we sync in those excluded smoke tests.

let's repoint to dev-msft as caleb mentioned, thanks!

I went ahead and changed the merge target to dev-msft. Thanks all!


Dropdown is Not getting red when it's required

My dropdown is required and not null so when I try to save a dialog if its empty a message 'that required fields are empty' pops up but the dropdown is not getting highlited.
The image shows a date field that is required and is getting red when validated but the dropdown not:

it doesnt seem required to me

First of all, dropdowns doesn't get red, it's Select2 not an input, and works as designed. You may style them with CSS if you care:
.select2-container.error .select2-choice {
    border-color: red;
}

Your dialog has scroll problems and error checks not visible.

Thanks @volkanceylan


unable to train the duration model

I am using merlin in google colaboratory and i have installed python3.6 version as well as all the requirements and when i am training the duration model I am getting this error
Running on GPU id=0 ...
ERROR (theano.gpuarray): pygpu was configured but could not be imported or is too old (version 0.7 or higher required)
NoneType: None
/usr/local/lib/python3.7/dist-packages/theano/configparser.py:255: UserWarning: Theano does not recognise this flag: cuda.root
warnings.warn(f"Theano does not recognise this flag: {key}")
Traceback (most recent call last):
File "/content/merlin/src/run_merlin.py", line 65, in
from frontend.parameter_generation import ParameterGeneration
File "/content/merlin/src/frontend/parameter_generation.py", line 50, in
from .mlpg_fast import MLParameterGenerationFast as MLParameterGeneration
File "/content/merlin/src/frontend/mlpg_fast.py", line 53, in
import bandmat as bm
ModuleNotFoundError: No module named 'bandmat'
Lock freed
i have checked that i am unable to import bandmat in my google colaboratory

what should i do???

pip3 install  bandmat


Tight mode was failing for heading levels greater than 2

This was because the option tight wasn't passed to all instances of insert.
We found it when trying to add remark to videojs.
the first commit is a failing test case. The second commit fixes the issue.

Current coverage is 100% (diff: 100%)

Merging #3 into master will not change coverage

@@           master    #3   diff @@
===================================
  Files          10    10
  Lines         135   135
  Methods        10    10
  Messages        0     0
  Branches       25    25
===================================
  Hits          135   135
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 1a45e5c...638c649


How to sort columns after col_split

Hi,
I have a col_split by a pd.Series to group into 3 different groups A, B, and C.
The groups A, B, C seem to be automatically sorted ascending.
However I need to sort with a custom order within the groups A, B, C. How is this possible?

The groups, seem to be sorted also automatically ascending. But the individual columns seem to be sorted arbitrary?

Hi @stephanmg ,
Take a look at:
https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/advanced_usage.html#Cluster-between-groups-and-cluster-within-groups

Yes, I forgot that I need to also specify col_cluster=False, col_dendrogram=False is not enough.

@DingWB thank you! Is it also possible to remove or reposition the label of a anno_barplot(...)?
Code:
AB=anno_barplot(....
I need to move the label AB or remove it in the plot.

How did you control the pad in a normal barplot?
You can control the pad similarly by taking the ax of the anno_barplot and doing whatever you want.

Thanks, what about the label name? Can I somehow include spaces?

Please try.

No, sorry, I mean in the labels name. This is a second question, on how to rename the label, e.g. AB for the annotation to AB variant`

See this docu: https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/advanced_usage.html#Add-multiple-heatmap-annotations-using-for-loop
You could prepare a dict and pass it to HeatmapAnnotation. You can give whatever key to the dict (including space).

legend_kws with label I assume? doesn't work somehow for my anno_barplot. :/

row_ha = HeatmapAnnotation(ABadvanced=anno_barplot(histo_data_for_row_ha, colors=bar_color, height=15), verbose=0, label_kws={'label': "# problems solved", 'rotation':0, 'fontsize': 8, 'horizontalignment':'left','verticalalignment':'bottom', 'visible':False}, axis=1)

But this will not rename Abadvanced to "# problems solved"... don't know why.


AWS publish lambda function

Describe the bug

AWS publish lambda function doesn't allow me to add AWS credentials.
To Reproduce

Expected behavior

I expected to add new AWS Credentials
Screenshots

Computer (please complete the following information):

Windows Version: 10
Visual Studio Version: 2022 and 2019
AWS Toolkit for Visual Studio Version: latest (downloaded on 25.04.2022)

Additional context

I want to upload my zip file to AWS lambda

visual studio 2019 version is <IP_ADDRESS>
visual studio 2022 version is <IP_ADDRESS>

nvm, i had to open aws explorer


duplicate lang item in crate sgx_tstd

error: duplicate lang item in crate `sgx_tstd` (which `testenclave` depends on): `f32_runtime`.
  |
  = note: the lang item is first defined in crate `sgx_tstd` (which `serde` depends on)

error: duplicate lang item in crate `sgx_tstd` (which `testenclave`` depends on): `f64_runtime`.
  |
  = note: the lang item is first defined in crate `sgx_tstd` (which `serde` depends on)

error: duplicate lang item in crate `sgx_tstd` (which `testenclave`` depends on): `panic_impl`.
  |
  = note: the lang item is first defined in crate `sgx_tstd` (which `serde` depends on)

error: duplicate lang item in crate `sgx_tstd` (which `testenclave`` depends on): `begin_panic`.
  |
  = note: the lang item is first defined in crate `sgx_tstd` (which `serde` depends on)

error: duplicate lang item in crate `sgx_tstd` (which `testenclave`` depends on): `oom`.
  |
  = note: the lang item is first defined in crate `sgx_tstd` (which `serde` depends on)

Cargo.toml中使用的是:
serde = { git = "https://github.com/mesalock-linux/serde-sgx" }
serde_derive = { git = "https://github.com/mesalock-linux/serde-sgx" }

You have mixed different std (Rust's std or different version of sgx_tstd). Make sure to check your dependencies, all sgx_std depdencies should be from same source+tag.

whether to contain depend on other third-party libraries without ported？

I change sgx_tstd = { git = "https://github.com/baidu/rust-sgx-sdk.git" } to sgx_tstd = { rev = "v1.1.2", git = "https://github.com/apache/teaclave-sgx-sdk.git" } .
Problem solved.
Uh, I thought https://github.com/baidu/rust-sgx-sdk.git  was ok. But i'm wrong.

Recently, I had the same problem.
In my case, I set sgx_tstd = { rev = "v1.1.2", git = "https://github.com/apache/incubator-teaclave-sgx-sdk.git" } and it failed.
So, should I keep using the URI https://github.com/apache/teaclave-sgx-sdk.git even though it's old?
That's okay, but not straightforward I feel.


Kanren2

Expanding on the previous attempt at using miniKanren for rule matching.

Added initial versions of methods for converting between Narsese and miniKanren logic forms
Added helper functions for iterating through an array or rules and applying them to test terms
Added one possible way of handling conditional rules with a modified version of the rule {<(&&, C, S) ==> P>. S} |- <C ==> P> making the difference operation explicit (not production ready solution, just an example)

I can see a long way to go, but it's promising. The good news is that in the current structure of the project, the logic part and the control part are seperated, thus it's ok to explore the implementation of each of them. I believe we can get an elegant implementation of inference engine by uisng miniKanran.

I think there are two steps to enhance the inference engine. The first is to implement all of the rules form NAL-1 to NAL-9. The second is to construct the rules only once when initializing the program (rather than construct them when used).

I think there are two steps to enhance the inference engine. The first is to implement all of the rules from NAL-1 to NAL-9. The second is to construct the rules only once when initializing the program (rather than construct them when used).

The good news is that there's no need to implement the rules, only add their Narsese signatures to the array ;)

I think there are two steps to enhance the inference engine. The first is to implement all of the rules from NAL-1 to NAL-9. The second is to construct the rules only once when initializing the program (rather than construct them when used).

The good news is that there's no need to implement the rules, only add their Narsese signatures to the array ;)

Yeah, that's what I mean by "implement all the rules", sorry for my inaccuracy. We don't need to explicitly implement certain functions to do the transformation, but just describe them in the array.

@bowen-xu @ccrock4t regarding inference times
I ran some quick tests this morning, to measure just the run time of inference step using miniKanren. I modified the code to calculate the time it takes to run the function that iterates through all the rules (~100, excluding theorems) and applies matching ones. I also kept a running average because simpler statements like <a --> b>. take less time to process than <(&&,<$x --> flyer>,<$x --> [chirping]>, <(*, $x, worms) --> food>) ==> <$x --> bird>>. and I wanted to know a rough average estimate.
t0 = time()

results = self.inference(task.sentence, belief.sentence)

t1 = time() - t0

print("inf:", 1 // t1, "per second")

self._run_count += 1
self._inference_time_avg += (t1 - self._inference_time_avg) / self._run_count

print("avg:", 1 // self._inference_time_avg, "per second")

The results so far on a small sample indicate ~300-400 calls per second on my laptop.
inf: 320.0 per second
avg: 365.0 per second
inf: 528.0 per second
avg: 378.0 per second
inf: 1100.0 per second
avg: 404.0 per second
inf: 1438.0 per second
avg: 433.0 per second
inf: 1042.0 per second
avg: 455.0 per second
inf: 214.0 per second
avg: 419.0 per second
inf: 1172.0 per second
avg: 439.0 per second
inf: 131.0 per second
avg: 379.0 per second
inf: 1362.0 per second
avg: 397.0 per second
inf: 220.0 per second
avg: 379.0 per second


Allow dictionary for MarketMap layout

@rmenegaux Im fine with this. Can I merge?

@dmadeka yes all clear


Update DynamicForm.tsx

Q
A

Bug fix?
[ x]

New feature?
[ ]

New sample?
[ ]

What's in this Pull Request?
Simple fix for the DynamicForm when a defaultValue is null and the code try to call the split method on it.

@GuidoZam many thanks! Merged


Tutorial: Wrong label used to get log output

Changed labels chosen to get log output as it was choosing wrong label.

I signed it!

CLA bot is still unhappy. Can you check that you used the same email in the PR and the CLA?

It was not the correct email. I have added the email I signed now to my account. Do I need to do anything else?


Add to-iso-string to dependencies

Fixes #2272

thanks, sorry, already committed bd9450b

released


Set up a test suite for front end unit testing

I suggest using Mocha, Chai, and Sinon but I'm open to other recommendations!

@sashimii sure! I haven't used Jest yet but I've heard good things about it so that's fine with me.


When typed full display name after @ No results appear for user mentions.

Normally it is working fine. Like right after typing initial letters from display name after @ it starts showing mention results to select. On tapping on mention suggestions it is added to textfield with highlighted color as well.
However there is some issue when we type full display name after @. Like if the display name is John then till typing @Joh it shows mention result suggestions. Right after we type @John suggestions disappear & there is no way to tag (mention) that user. Please refer screenshots for more reference. They are right from the sample app.

Please do the needful.

That is because you have an exact match, which adds that suggestion. If you style the Mention widget, it will be a more clear user experience that once you've typed "@jhon" completely or selected it from the suggestions, it has been added. Example:
mentions: [
    Mention(
      trigger: "@",
      data: <YOUR DATA LIST>,
      style: TextStyle(
        color: Theme.of(context).primaryColor,
        fontFamily: "Karla",
        fontSize: 16.0
      ),
     ),
   ]

@mlars84  Thanks for reply. This user experience does makes sense but issue is even after typing full name & moving ahead it doesn't get highlighted like it gets highlighted even though john is there in data list, when we select from suggestions list.

@nirajjoshi The way to get around this issue is to store all the list items you query in a temp variable and keep pushing new items to the list, this will keep the mentions working, the reason for not highlighting the typed out mention is that the list won't contain the item

@fayeed Thanks. I will do that.

@fayeed Thanks. I will do that.

Hey could you share what you have done ? Im not understanding what @fayeed advice

@Abacaxi-Nelson As @fayeed already explained all we need to do is make items available in the list we provide (_allMentionList in below example code).
mentions: [
        Mention(
          trigger: '@',
          data: _allMentionList,  // Just make sure your data items are present here to identify mentioned item.
          matchAll: false,
          suggestionBuilder: _buildSuggessionBuilderUI,
          markupBuilder: (trigger, mention, value) {
            return '[mentionId:$mention]<end>';
          },
        ),
      ],

Closing this as I was able to resolve issue using @fayeed 's comments.


comment the exception  for portal users

WIP - when a portal user uses the API, an exception is thrown

allowing portal user to connect through the API is finally a totally bad idea.
So we close


[9.x] Improve event dispatcher capabilities

Now event dispatcher's behavior for queued listener looks a bit strange: when it creates the job for queued listener dispatcher looks just for properties which being set outside the constructor - connection, queue, delay, etc. Of course it work such because it creates a instance for listener without a constructor call (through reflection), but is incorrect, because listener's instance already has been created when Dispatcher::handlerWantsToBeQueued method was called:
protected function createClassCallable($listener)
{
     [$class, $method] = $this->parseClassCallable($listener);

     if ($this->handlerShouldBeQueued($class)) {
         return $this->createQueuedHandlerCallable($class, $method);
     }

     return [$this->container->make($class), $method];
}

A listener should be queued, go further:
protected function createQueuedHandlerCallable($class, $method)
{
     return function () use ($class, $method) {
            $arguments = array_map(function ($a) {
                return is_object($a) ? clone $a : $a;
            }, func_get_args());

            $instance = $this->container->make($class);

            if ($this->handlerWantsToBeQueued($instance, $arguments)) {
                $this->queueHandler($instance, $method, $arguments);
            }
        };
 }

And when dispatcher calls handlerWantsToBeQueued method it created a full fledged instance for listener:
protected function handlerWantsToBeQueued($class, $arguments)
    {
        $instance = $this->container->make($class);

        if (method_exists($instance, 'shouldQueue')) {
            return $instance->shouldQueue($arguments[0]);
        }

        return true;
    }

But in queueHandler it also create an another instance but now without a constructor and without a container, thats why if we try to define connection, queue and other job options in constructor we will lose.
protected function createListenerAndJob($class, $method, $arguments)
    {
        $listener = (new ReflectionClass($class))->newInstanceWithoutConstructor();

        return [$listener, $this->propagateListenerOptions(
            $listener, new CallQueuedListener($class, $method, $arguments)
        )];
    }

But for me and, i guess, for many other developers it may be useful to choose job options depend on environment  and with constructor this work perfectly. I changed this behavior on PR.

No plans to make this many changes. You can define queue at runtime by viaQueue() method as noted in documentation. If you want to choose connection at runtime PR a viaConnection method.

I would also be open to reviewing this PR with no EventFake changes.

viaQueue

@taylorotwell, what difference between property and viaConnection() method? yes, viaConnection() method allow us to define connection method using config helper, but i would prefer to use contextual binding without service locator call.
Can you explain, why in handlerWantsToBeQueued method the listener has been created by container, but in next method createListenerAndJob listener was created again but through reflection? you already have listener's instance, use it.


Make username parameter always be injected.

Fixes #4100 and #4099
This PR does a few things:

Changes the PgAdmin config writer hook to use the password from UserNameParameter on the Postgres server resource.
Changes the UserNameParameter on the postgres server resource to be non-nullable and adjust in the constructor as well.

The reason for this change is that if you want to use the Postgres database resource from a container that is not built around .NET, the connection string format that the resource exposes won't necessarily be in the format that you want. For that reason you want to be able to get at the username and password parameters and know that they are always there. The password parameter is fine, but the fact that the username parameter is optional is problematic and makes consuming code more complex.
This represents a breaking change ... see unshipped API diff.
Microsoft Reviewers: Open in CodeFlow

We should be able to finish this now.

@mitchdenny I think this is worth doing but not sure it's critical for 9. There's another PR from a contributor here https://github.com/dotnet/aspire/pull/5805

Yeah can punt this one.


can't reach the server from flutter when running in real android device

i wanted to access  a collections which are in pocketbase server, it will work from postman using localhost,
but when I try to access it from dart code using my actual Android device, it will end up with Connection Timeout exception.
I tied:

my PC and my android devices are on the same network.
tried to change the ip to my real ip on my PC.

should I deploy to access it???

This is not related to the SDK or PocketBase, you just need to ensure that you have access to your localhost, but I'm not sure how to help you with that.
If both devices are on the same network, when initializing the SDK in your Flutter app, you have to use the local network address of your PC aka. final pb = PocketBase('http://YOUR_IP:8090');
If that doesn't help, then you are probably using the incorrect IP, you are bind a firewall or there is something else going on with your setup.
An alternative and more universal approach is to install something like ngrok and run ngrok http 8090 to create a public address of your localhost and use the generated address in the SDK initialization.


use archaius instead of system properties for SimpleNodeListProvider

Hi.
We want to use SimpleNodeListProvider and configure the node addresses via archaius. But faced that both provider type and node addresses are read from system properties instead.
Was it done intentionally? Do you have some reason for that?
If not, then please consider accepting my PR and releasing a new patch (or minor) version.
Thanks in advance!

This was an oversight. Thanks for fixing it.

Cool. Could you make a release please?

Cool! Could you make a release please?


RUM-1208: Target Android 14 (API 34)

What does this PR do?
Behaviour changes are here https://developer.android.com/about/versions/14/behavior-changes-14.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1649 (b5cdc02) into develop (2876dee) will decrease coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1649      +/-   ##
===========================================
- Coverage    83.72%   83.64%   -0.09%
===========================================
  Files          456      456
  Lines        15690    15687       -3
  Branches      2345     2344       -1
===========================================
- Hits         13136    13120      -16
- Misses        1927     1932       +5
- Partials       627      635       +8

see 20 files with indirect coverage changes