Failed to insert a row into DATABASECHANGELOG in MySQL Group Replication

Environment
Liquibase Version: 4.3.5
Liquibase Integration & Version: spring boot
Liquibase Extension(s) & Version:
Database Vendor & Version: MySQL 8.0.25 (MySQL Group Replication)
Operating System Type & Version: CentOS 7
Description
Application failed to start up with an error: The table does not comply with the requirements by an external plugin.
Steps To Reproduce

Create a spring boot project from start.spring.io and add liqubibase to denpencies.
Using MySQL Group Replication as datasource
Copy changelog files to resources folder and start up the application.
Failed to start up with an error: The table does not comply with the requirements by an external plugin.

The error "The table does not comply with the requirements by an external plugin." means table needs a primary key, but not found in the table DATABASECHANGELOG .
MySQL Group Replication requires tables must have an explicit primary key defined.
Additional Context
logs:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.LiquibaseException: liquibase.exception.DatabaseException: The table does not comply with the requirements by an external plugin. [Failed SQL: (3098) INSERT INTO `playground-course`.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('1624203425452-1', 'Kyun (generated)', 'db/changelog/master.xml', NOW(), 1, '8:3c2977cfb3a71734e2ee2ad8f05f5011', 'createTable tableName=course', '', 'EXECUTED', NULL, NULL, '4.3.5', '4242629052')]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.7.jar:5.3.7]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.7.jar:5.3.7]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.0.jar:2.5.0]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) [spring-boot-2.5.0.jar:2.5.0]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) [spring-boot-2.5.0.jar:2.5.0]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) [spring-boot-2.5.0.jar:2.5.0]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1336) [spring-boot-2.5.0.jar:2.5.0]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1325) [spring-boot-2.5.0.jar:2.5.0]
	at com.iamkyun.playground.course.CourseApplication.main(CourseApplication.java:11) [classes/:na]
Caused by: liquibase.exception.LiquibaseException: liquibase.exception.DatabaseException: The table does not comply with the requirements by an external plugin. [Failed SQL: (3098) INSERT INTO `playground-course`.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('1624203425452-1', 'Kyun (generated)', 'db/changelog/master.xml', NOW(), 1, '8:3c2977cfb3a71734e2ee2ad8f05f5011', 'createTable tableName=course', '', 'EXECUTED', NULL, NULL, '4.3.5', '4242629052')]
	at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:124) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Liquibase.lambda$null$0(Liquibase.java:272) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.lambda$child$0(Scope.java:160) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:169) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:159) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:138) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:222) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Liquibase.lambda$update$1(Liquibase.java:271) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.lambda$child$0(Scope.java:160) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:169) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:159) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:138) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Liquibase.runInScope(Liquibase.java:2369) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Liquibase.update(Liquibase.java:217) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Liquibase.update(Liquibase.java:203) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:321) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:275) ~[liquibase-core-4.3.5.jar:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) ~[spring-beans-5.3.7.jar:5.3.7]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[spring-beans-5.3.7.jar:5.3.7]
	... 16 common frames omitted
Caused by: liquibase.exception.DatabaseException: The table does not comply with the requirements by an external plugin. [Failed SQL: (3098) INSERT INTO `playground-course`.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('1624203425452-1', 'Kyun (generated)', 'db/changelog/master.xml', NOW(), 1, '8:3c2977cfb3a71734e2ee2ad8f05f5011', 'createTable tableName=course', '', 'EXECUTED', NULL, NULL, '4.3.5', '4242629052')]
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:393) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:82) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:150) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:134) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.changelog.StandardChangeLogHistoryService.setExecType(StandardChangeLogHistoryService.java:390) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.database.AbstractJdbcDatabase.markChangeSetExecStatus(AbstractJdbcDatabase.java:1135) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:60) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.changelog.ChangeLogIterator$2.lambda$null$0(ChangeLogIterator.java:111) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.lambda$child$0(Scope.java:160) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:169) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:159) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:138) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.changelog.ChangeLogIterator$2.lambda$run$1(ChangeLogIterator.java:110) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.lambda$child$0(Scope.java:160) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:169) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:159) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:138) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:222) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.changelog.ChangeLogIterator$2.run(ChangeLogIterator.java:94) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.lambda$child$0(Scope.java:160) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:169) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:159) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:138) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:222) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.Scope.child(Scope.java:226) ~[liquibase-core-4.3.5.jar:na]
	at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:66) ~[liquibase-core-4.3.5.jar:na]
	... 34 common frames omitted
Caused by: java.sql.SQLException: The table does not comply with the requirements by an external plugin.
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.25.jar:8.0.25]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.25.jar:8.0.25]
	at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:762) ~[mysql-connector-java-8.0.25.jar:8.0.25]
	at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:646) ~[mysql-connector-java-8.0.25.jar:8.0.25]
	at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94) ~[HikariCP-4.0.3.jar:na]
	at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) ~[HikariCP-4.0.3.jar:na]
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:389) ~[liquibase-core-4.3.5.jar:na]
	... 59 common frames omitted

Process finished with exit code 1

Hi @iamKyun Thanks for creating this issue.  We will add it to the list of issues that we are processing.  Not sure that this is a primary key issue.  The create table for mysql for the DATABASECHANGELOG table is as follows which has a primary key.
CREATE TABLE playground_course.DATABASECHANGELOGLOCK (
ID INT NOT NULL,
`LOCKED` BIT(1) NOT NULL,
LOCKGRANTED datetime NULL,
LOCKEDBY VARCHAR(255) NULL,
CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID));

Hi Mike
As of 4.4.2 the DATABASECHANGELOG does not have a primary key. This is the table causing the above failure.
You provided the create for DATABASECHANGELOGLOCK, which does have a primary key. in 4.4.2 as you indicated.
Later
Jerry

Any update on this issue, I met this issue again and could not process liquibase auto now, when we upgraded to mysql 8.x, the application has been broken.

@silentbalanceyh can you please explain what you mean by liquibase auto? Thanks

Closing for now; @silentbalanceyh if you can provide more detail to my question, please feel free and we can reopen. Thanks!

This issue is actually a simple one. I get the same issue when running Liquibase from the command line:
Unexpected error running Liquibase: The table does not comply with the requirements by an external plugin. [Failed SQL: (3098) INSERT INTO schema.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('1', 'liquibase', 'changelog-mysql.sql', NOW(), 1, '8:46ea95d6727b34e6c559a1c5ddc8ee33', 'sql', '', 'EXECUTED', NULL, NULL, '4.15.0', '1893877308')]
The Issue is GROUP REPLICATION on MySQL 5.7 and 8.0 requires any table to contain a PK. That said as a test I altered the ID to have a PK and the command now works.
Liquibase documentation explicitly states the ID column is not created with a PK because it could cause problems being this is the changeset ID.
How does Liquibase recommend to handle? I was thinking adding a new ID column with an auto increment ID.
Regards,
Jason

thanks @ia-jladew -- to summarize, you are facing the issue that a.) MySQL requires a PK and b.) we don't add a PK in DATABASECHANGELOG, is that correct?

Correct. Very simple problem and I am sure that is the issue of the original post.
Group Replication Requirements - https://dev.mysql.com/doc/refman/5.7/en/group-replication-requirements.html
I handled it simply by adding a new auto incrementing PK column.

@ia-jladew Thanks for the workaround.  It appears that if you use MYSQL in standalone mode, it does not require a PK on tables but once you add the database to a cluster(group replication), MYSQL requires that tables in databases have a PK.

I faced the same issue and the workaround that @ia-jladew mentioned worked fine, but I am using keycloak user management system that uses liquibase to manage db changesets so it's not easy to add a new column to DATABASECHANGE table in it, so it will be so better if there was an environment variable by setting it the DATABASECHANGE table created with a PK and its default option is to work with no PK.


Implement Multi-Band Compositing

Need Implament 3.3. Contrast-Preserving, Multi-Band Compositing as base function.

Hi,
but how should I prepare the dataset?
Thanks!


Build python bindings in CI via CMake

@GMNGeoffrey Is numpy installed in the CI runner?

I think numpy is installed - import numpy as np from a python3 REPL at least doesn't throw any errors.
Are there more useful error logs that we could pull out from ctest?
152/177 Test #173: bindings_python_pyiree_rt_function_abi_test ....***Failed    0.14 sec
153/177 Test #174: bindings_python_pyiree_rt_hal_test .............***Failed    0.14 sec

It would be great if we could debug this without needing to SSH into a VM or blindly try things :/

@ScottTodd I added -V to ctest. This change can be dropped after we fixed the issue. Please rerun kokoro.

Aha! These errors look a lot like what I was seeing in https://github.com/google/iree/issues/818
Now that we've seen it in the wild I think it should be a higher priority to fix
153: find: ‘/tmpfs/src/github/iree/build/iree_compiler_Translation_Interpreter_Transforms_test_make_executable_abi.mlir.test_test_tmpdir’: No such file or directory
153: find: ‘/tmpfs/src/github/iree/build/iree_compiler_Translation_Interpreter_Transforms_test_xla_slice.mlir.test_test_tmpdir’: No such file or directory
1

Also Cmake verbose output is a bit hard to follow with multithreaded because it just weaves all the test logs together :-/ It would be nice to have the results separated by test and then reordered.  I suppose something like ctest -V | grep -E "\d+: " | sort would do it for a real hacky solution...

Also I think the bazel test is failing because you're based of an old commit that still wants to use an older version of bazel (we updated the CI to bazel 2.1)

I think it's fine to run ctest single threaded, just to check the output. Shouldn't take that long. Also rebased upon current master.

I think it's fine to run ctest single threaded, just to check the output. Shouldn't take that long. Also rebased upon current master.

Oh just in general it would be nice if the logs actually contained the errors. I haven't turned on verbose mode because it's such a mess in multithreaded

Okay, the problem actually is that absl-py isn't installed: ImportError: No module named 'absl'

Oh just in general it would be nice if the logs actually contained the errors. I haven't turned on verbose mode because it's such a mess in multithreaded

Is there a possibility to access  Testing/Temporary/LastTest.log? That actually contains everything printed also in verbose mode, but I haven't had a look when running ctest in parallel.

Oh just in general it would be nice if the logs actually contained the errors. I haven't turned on verbose mode because it's such a mess in multithreaded

Is there a possibility to access  Testing/Temporary/LastTest.log? That actually contains everything printed also in verbose mode, but I haven't had a look when running ctest in parallel.

I'll see. Let's create a separate issue for this. I may not get to it this week though

Okay, the problem actually is that absl-py isn't installed: ImportError: No module named 'absl'

@GMNGeoffrey Is absl-py installed in the VM?

I don't think it is, no. We can add it

I don't think it is, no. We can add it

@rsuderman is looking into adding it to the cmake VMs

I don't think it is, no. We can add it

@rsuderman is looking into adding it to the cmake VMs

That would be great :) Thanks Rob.
I think it might be reasonable to enable building the python bindings as an intermediate step, but to disable testing, until we got the CI working.

The kokoro build bot should be updated with the correct python support (absl installed, upgraded to python3.7).
You will need to add the python bindings tests that use Vulkan to the kokoro exclusion list.
https://github.com/google/iree/blob/master/build_tools/cmake/test.sh#L29
Specifically, you need to exclude all bindings_rt, though the bindings_rt_hal test should be fine to run.

Still seeing errors in the cmake CI. I think we'll need to add IREE_DEFAULT_BACKENDS="tf,iree_interpreter" to the test environment like in https://github.com/google/iree/blob/master/.github/workflows/bazel_build.yml
Can add it next to IREE_VULKAN_DISABLE here: http://google3/third_party/iree/build_tools/cmake/test.sh

Yes, there is still some work left. Add least the absl-py issue is fixed, thanks to @rsuderman and thus e.g. bindings_python_pyiree_compiler_compiler_test passes. However, building against the latest master, all python tests will fail in the CMake build. To fix this changes like in #982, but #905 is still unsolved.

FYI we've been experiencing issues with the CMake VMs since the image update. Somehow something is deleting the directory they're using while the jobs are running. In an effort to isolate the cause, I'm going to try rolling back the image update and see if I can reproduce with the old image.

@GMNGeoffrey Disabled all tests. At least we should now note if building the bindings is broken by future changes.

SGTM. Yeah building is still a step in the right direction :-)


ACME: renew certificates 30 days before expiry

Like the official certbot client does.
There are at least a few renewal reminder emails that will be sent by Let's Encrypt if we only renew 7 days before expiry. We can avoid that by renewing sooner.
Using 30 days as the default is a good start, I think, but I'm not sure if/where this should be documented or if it should actually be configurable.

If this is what the official client does it seams reasonable to me...
lgtm

ping @containous/traefik

LGTM 🐸

@JayH5 need a rebase :)

@errm I hope just merging from master is ok?


Update YoutubeMp3Downloader.js

Set default value for audioBitrate while info.formats[0].audioBitrate is null.

This was fixed in 1a72793e69b273a02d0355dc0487702193c1c573


Time travel dialog appears empty on some devices (user reported)

I found a little bug. In the window where you can set date and time, the popular dates menù is written white over a wjite background. It seems empty until yoi click over a row.
I'm sending you a screenshot.
Android 5.0.1 on Samsung Galaxy S4

Fixed in 1.8.2


prepare_searchlight_mvpa_data is assuming 3D input

I am using the face_scene data provided in the example.  The input "images" to prepare_searchlight_mvpa_data is 4D, but get an error that the data are only 3D ("ValueError: not enough values to unpack (expected 4, got 3)").  I created the images using io.load_images_from_dir, and I confirmed with fslinfo that the data are indeed 4D.  prepare_mvpa_data in contrast works (using the same images as input), but this cannot be fed into MVPAVoxelSelector, as the output of prepare_mvpa_data is only 2D.

If I understand correctly, you are trying to do something that one of the examples is doing:
https://github.com/brainiak/brainiak/blob/v0.7.1/examples/fcma/mvpa_voxel_selection.py#L62
data, labels = prepare_searchlight_mvpa_data(images, conditions)

If so, can you try that example via the included shell script?
https://github.com/brainiak/brainiak/blob/v0.7.1/examples/fcma/run_mvpa_voxel_selection.sh

I ran the shell script initially and came across the issue.  To debug, I ran these lines of code interactively and it still does not work:
images = io.load_images_from_dir(data_dir, suffix=suffix)
conditions = io.load_labels(epoch_file)
data, labels = prepare_searchlight_mvpa_data(images, conditions)

I have just ran the shell script again in a fresh virtual environment and it worked.
Can you please confirm you are using BrainIAK 0.7.1?

That makes sense. Please change the title of this issue; or close it and open a new issue.


Polygon tap targets are inconsistent

When trying to tap Snoqualmie Pass, I'm getting about a 50% hit rate - the other 50% seem to be divided between West Slopes South and West Slopes Central.
I found an excellent bug report here that seems to describe a similar problem: https://github.com/react-native-maps/react-native-maps/issues/3280. The bug was never addressed, and ultimately closed.
I think we may need to do some kind of point-in-polygon check as described in that bug report.

Yep, sorry, should have written this down - found it way back in the day. Look at the usage of d3.geoContains() for finding the zone that pertains to an observation - we will want that logic for taps as well, but likely that will force us to figure out why that method seems buggy - I worry the polygon definitions are somehow leaky.


bulletproof and reflective armor

Replaces the cev eris sprites for the bulletproof and reflective armor with tgstation ones.

Changelog
:cl:

fix: bulletproof and reflective armor now have proper sprites

The reflective vest is fine but the bulletproof one looks too flat. Can you modify it or pick a different sprite?

The bulletproof vest has been changed and a new screenshot with it has been posted.


Camera Shot Save and Discard

After Taking picture in android phone where does those Sava and Discard options comes from. Actually I don't want to save the picture but wont to show on my  SomeObject().texture .

I want to change Save and Discard buttons image or color. How can I achieve this ?


#Submit button for six pokemon inputs

#Submit button for six pokemon inputs
##User Story
As a user who clicks a submit button to submit their six pokemon of choice
I want to use the pokemon api to fetch the pokemon data
name and type using two separte keys
Then i can store this information in the local storage to use for the results page
##Acceptance Criteria
after clicking the submit button
Then you are taken to the zresults.html page
Using the pokemon api to fetch the pokemon data
Then i can store specified pokemon name and type to the local storage using two separate keys

added a submit button that takes you to the zresults.html page and stores your six pokemon of choice to local storage


fix: dist contains files that don't exist.

Closes #3.

This change is

@ngyewch would you please be so kind to make a release with this?


Shadowmaps example issue

Ok so there is a problem with the shadowmaps example(16) with the shadows with directional light and pcf combination.  This didn't happen before so it must be something that was changed soonish. Doesn't occur when initted with opengl but does occur in d11,d9, opengles. reproduces every time. here is a screenshot:

What is your GPU? I just tested and it works for me.

Well, I haven't changed my gpu it's nvidia geforce gtx 680 nor have I updated my driver and also I have a like month older version of the library which works fine - version 29, the one that has the bug is version 33, there are no errors or warnings in the log, just cpu and jpu time is through the roof and there are the artefacts and that only happens with directional light and pcf.

I was unable to reproduce this... What's your driver version?

Well after i updated the driver it works fine now. I was using 344.11 version which i guess was buggy or smth. I also updated bgfx to the absolute last version. Seems ok now, no artefacts and no spikes. I guess you can close this now, sorry if i wasted any of your time.


fix(husky migration): update scripts to address husky init

Alaska Airlines Pull Request
Fixes: #145
Summary:
This update addresses the issue where Husky was not being initialized with a migration of an older repo to a new Generator install. Another minor update was added to support the passing in of an npm namespace, specifically for the use of migrating an @aurolabs project. Last, a miss in the --help was addressed to update the package namespace.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Fix bugs

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

To test, I ran the following command for migrating the auro-lockup repo
$ generateRepo auro-lockup @aurolabs

In the package.json
"name": "@aurolabs/auro-lockup",

The following output is expected when running a migration with the new Husky config option
The following steps have been addressed to migrade code from 'lockup' to 'auro-lockup'.

Please be sure to review the commit to the repoUpgrde branch,
this migration does not account for legacy repositoy customizations
such as additional dependencies or multiple CDN packaged bundles.

1. ./.git directory copied from 'lockup' to 'auro-lockup'
2. ./src directory copied from 'lockup' to 'auro-lockup'
3. ./test directory copied from 'lockup' to 'auro-lockup'
4. ./CHANGELOG.md copied from 'lockup' to 'auro-lockup'
5. ./demo directory copied from 'lockup' to 'auro-lockup'

Switching into 'auro-lockup' directory

npx: installed 2 in 1.438s
husky-init updating package.json
  setting prepare script to command "husky install"
husky - Git hooks installed
husky - created .husky/pre-commit

please review changes in package.json
Husky successfully configured!

Use $ git commit --amend --no-edit after staging the updates.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: request use accessToken from .env

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Improve scoping of ingredient amounts

fix the syntax tests by ensuring they reference the correct path to the syntax definition.
add a GitHub Action to run the syntax tests on PRs to verify correctness
improve scoping of ingredient amounts

scope numbers
scope serving separator
scope operators like the slash for fractions and the * used for scaling i.e. @milk{1/2*%cup}
including in metadata

This is brilliant! Thank you so much @keith-hall!


Force unique behavior with keyrefs

Tested with DITA OT 4.0.2.
I have a DITA Map which maps two keys to the same referenced topic:
<topicref href="step.dita" keys="step_a"/>
<topicref href="step.dita" keys="step_b"/>
<topicref href="target.dita" keys="target"/>
<reltable>
  <relrow>
    <relcell>
      <topicref keyref="step_a"/>
      <topicref keyref="step_b"/>
    </relcell>
    <relcell>
      <topicref keyref="target"/>
    </relcell>
  </relrow>
</reltable>

and then the reltable adds references between both keys and the "target" key.
I'm using "fource-unique=true" to publish to HTML5.
As force-unique generates two HTML files "step.html" and "step-2.html" on disk from the original "step.dita", both these generated HTML files should have a related link to "target.html". But only the first "step.html" does.
Looking at the console output, the copy-to processing which generates the "step-2.dita" takes place after the keyrefs are resolved so the "step_b" key remains mapped to "step.dita".
But I'm not sure how this could be fixed.
test_force-unique.zip

Using ditaot_save_preprocessing.pl, I found the output of the keyref and copy-to preprocessing stages to be as follows:

I tried preprocess2 but I ran into #4070.
@raducoravu - in your testcase, if I removed the direction-limiting @linking attributes:
      <relcolspec type="topic" linking="sourceonly"/>
      <relcolspec type="task" linking="targetonly"/>

then "target.html" has a link only to "step.html", but not to "step-2.html". Maybe this is also caused by the ordering of map-level keyref resolution before copy-to processing.
It would be interesting to think of some cases that would break if keyref and copy-to were swapped. I wonder if an iterative solution would ultimately be needed to handle all cases reliably?

@chrispy-snps thanks for the extra details. It seems there are certain cases when you reach these edge cases which would be made better by switching the order of processing steps. But switching the order might break something else :) I think the keyref module also adds for example copy-to attributes to topics which are in key scopes and need to have different contents in different places.

This looks like duplicate of #4070


Add timestamps in e2e logs and emit datadog events where not already done

What does this PR do?

Log timestamps each time a test starts and stops=== RUN   TestKindSuite
Creating workspace for stack: lenaic-kind-cluster at /tmp/pulumi-workspace/0791493cef93fef3
=== RUN   TestKindSuite/TestContainerImage
    base_test.go:54: START  kindSuite/TestContainerImage 2024-05-15 14:15:31.785101277 +0200 CEST
    base_test.go:58: FINISH kindSuite/TestContainerImage 2024-05-15 14:15:42.807564545 +0200 CEST
=== RUN   TestKindSuite/TestContainerLifecycleEvents
    base_test.go:54: START  kindSuite/TestContainerLifecycleEvents 2024-05-15 14:15:42.807794245 +0200 CEST
    base_test.go:58: FINISH kindSuite/TestContainerLifecycleEvents 2024-05-15 14:16:23.51142582 +0200 CEST
[…]

In case of TestContainerLifecycleEvents failure, log the name of the pod for which an event is expected.
Emit events each time a test looks for a container image, a sbom or a container lifecycle event payload.

Motivation
TestContainerLifecycleEvents e2e test happens to fail from time to time.
Here is an example.
Although we have a lot of information on dddev, in order to be able to investigate this issue, we miss:

the name of the pod for which we expect a deletion event;
the time at which the test ran.

Additional Notes
The dashboard has already been updated accordingly:

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Ble Pairing

Hi,
Is it possible to do Ble Pairing?
I am creating one custom application using this application as a reference. In this application, I want to add some encryption mechanism and for that, I want to make bond connection b/w two devices.
I know we can call createBond() on the central side to request the pairing. But how can I handle the createBond call at the peripheral side? What changes do I need to apply? Does current code support this feature?

(a hasty response, not well researched): try using PERMISSION_READ_ENCRYPTED when creating the BluetoothGattCharacteristic.  Stack overflow is a better place to ask this, so I've done it here.


Add a InternalHubMethod attribute

Is your feature request related to a problem? Please describe.
According to the document, every public methods inside a SignalR Hub can be called from the client. The thing is that I want to define methods inside the Hub that other classes in my server code to send messages to clients but I forbid clients to call these methods.
So, I want to create Hub methods available internally to the server, meaning not exposed to the clients.
Describe the solution you'd like
My suggestion is to have the ability to add a InternalHubMethod attribute on public methods of the Hub so they can only be called from the application (server) and not by any client.

Nevermind, just a wrong design. I had to use the HubContext directly and refactor the code using Extensions methods.


Can I use this to make a scripting language?

Hello Andrew, I'm Nergal and I'm interesting in forking over this C compiler suite to create a game scripting language. May I have permission? Also, how stable is this compiler suite?

Sure, though I would recommend you use a more proven technology like luajit.  For example, this does not currently even manage memory appropriately for use as a library. And almost certainly has many bugs because the only code it has been tested on is itself and nothing else.
Of course, if you understand all the flaws this code probably has and wish to continue, feel free to use it.

lua is fine but I really need a more C-like language. I did find Pawn but it has no real types (everything is a 32-bit int) and it doesn't support pointers. I require a scripting language that actually uses pointers, not just references.

Have you played with libtcc? it is the library component of the tcc compiler and is very complete and can compile C code into memory with full pointer access.

no but TCC hasn't been updated since 2013 and its file structure is a bit complex and would take some time considering I would need to prune much of its code and simplify semantics and syntax. The scripting language I have in mind would be nearly exactly like C but more cleaned up, organized, and unnecessary stuff removed. The choices are for the sake of speed, simplicity, and not requiring to learn another language just to script.


fix trace writer test race condition (APMSP-1527)

What does this PR do?
Fix a flaky test from a race condition. This test should be locking the writer while it modifies an internal field.
Motivation
The only flakes I like are corn flakes
Describe how to test/QA your changes
Covered by the test itself
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Jupyter Notebook having issues with data directory workaround

Adds a function to fix the data directory not being used inside of the jupyter notebook.
There is also documentation on this in the container.md.
Also updates the container builds to reflect the general installation process of karabo now.

This looks fine I think. Alternatively we could have just download the data as described in https://ska-telescope.gitlab.io/external/rascil/RASCIL_install.html. But that's probably not necessary for our use-case.


Major bug: NPE when opening

I have added the following code:

    Intent filePickerIntent = new Intent(this, FilePickerActivity.class);
    filePickerIntent.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE);
    startActivityForResult(filePickerIntent, FilePickerActivity.REQUEST_DIRECTORY);

When I click the button the executes this code, I get an exception:

10-19 12:29:41.797  E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4
10-19 12:29:41.797  E/AndroidRuntime: java.lang.RuntimeException: An error occured while executing doInBackground()
10-19 12:29:41.797  E/AndroidRuntime:     at android.os.AsyncTask$3.done(AsyncTask.java:299)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.FutureTask.run(FutureTask.java:239)
10-19 12:29:41.797  E/AndroidRuntime:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-19 12:29:41.797  E/AndroidRuntime:     at java.lang.Thread.run(Thread.java:856)
10-19 12:29:41.797  E/AndroidRuntime:  Caused by: java.lang.NullPointerException
10-19 12:29:41.797  E/AndroidRuntime:     at com.devpaul.filepickerlibrary.adapter.FileListAdapter$GetFileSizeTask.getDirectorySize(FileListAdapter.java:386)
10-19 12:29:41.797  E/AndroidRuntime:     at com.devpaul.filepickerlibrary.adapter.FileListAdapter$GetFileSizeTask.doInBackground(FileListAdapter.java:372)
10-19 12:29:41.797  E/AndroidRuntime:     at com.devpaul.filepickerlibrary.adapter.FileListAdapter$GetFileSizeTask.doInBackground(FileListAdapter.java:358)
10-19 12:29:41.797  E/AndroidRuntime:     at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-19 12:29:41.797  E/AndroidRuntime:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-19 12:29:41.797  E/AndroidRuntime:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-19 12:29:41.797  E/AndroidRuntime:     at java.lang.Thread.run(Thread.java:856)

This is a major bug as I can't use the library.
What should I do?

Hello,
First off, thanks for using my library!
What version of my library are you using? And may I ask what device this happened on?
Also, it seems that there is a small error in the code you posted. In your code:
  Intent filePickerIntent = new Intent(this, FilePickerActivity.class);
  filePickerIntent.putExtra(FilePickerActivity.REQUEST_CODE, FilePickerActivity.REQUEST_FILE);
  startActivityForResult(filePickerIntent, FilePickerActivity.REQUEST_DIRECTORY);

You are putting the scope type to requesting a file, but you are setting the request type to requesting a directory. I believe this is causing a null exception because no files will be listed. Those two things should match (take a look at the Readme for more examples). If you want to request a file path to a file change the last line of your code to:
startActivityForResult(filePickerIntent, FilePickerActivity.REQUEST_FILE);

otherwise change your scope type to FilePickerActivity.REQUEST_DIRECTORY.
If this doesn't fix your problem let me know and I'll try to replicate the bug.

It fixed the problem, thanks for the answer.

No problem. Again thanks for using my library!


micropython stdlib contains some modules that are not available on MicroPython

Raised on https://github.com/paulober/MicroPico/issues/170
micropython-stdlib contains (copies of) the typeshed stdlib
Some of these packages / modules are used internally by stdlib - so they cannot just be removed
Ill try to rename them in vscode ( which should also refactor the imports in the relevant modules that import these)

[ ] codecs
[ ] contextlib
[ ] contextvars
[ ] dataclasses
[ ] decimal
[ ] enum
[ ] fractions
[ ] functools
[ ] numbers
[ ] queue
[ ] selectors
[ ] sre_compile
[ ] sre_constants
[ ] sre_parse

see : https://github.com/Josverl/micropython-stubs/blob/main/publish/micropython-stdlib-stubs/stdlib/

Hi @Josverl II'm trying to use the above to get the typing module.
I've done pip install micropython-stdlib-stubs --pre  --target typings --no-user and I see a new 'typings' folder in my MicroPython project.
I've added an import from typings.stdlib.typing example code here: https://github.com/gilesknap/pico-xmas2/blob/74f0b45949fd3d51e3e83bf4818f6e5f2dbd4f79/asyn/button.py#L5-L26
I then use vscode and MicroPico extension to upload the project. When I try to run, I get the error;
>>>
Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
ImportError: no module named 'typings'

Indeed it does look as though the typings folder is not uploaded to the pico.

Ah, that is something different.
The typing module is not available on micropython, only on your pc as part of the stubs.
There is a PR open to add that functionality, but there is no consencus yet.
Meanwhile you can add it to your source.
I'll share a sample of a project where I have done that

OK thanks, I'll try that over the weekend.
Now I'm not sure what your std-lib stubs added for my setup. Before I added your stubs vscode was allowing me to add typing info and I'm guessing that is because it's language server is reading my default system python libraries.
Does that make sense? Perhaps this question needs to go to @paulober as I'm not sure how his vscode extension makes use of the stubs?

The settings.json in your pico project redirects the Python language server for stubs into .vscode/Pico-W-Stub.

@gilesknap

just delete the entire typings folder
then run pip install -U micropython-stdlib-stubs --pre  --target .vscode/Pico-W-Stub --no-user
to update the stdlib stubs in that location

Hi @Josverl @paulober thanks for your help on this. I now have it working.
It seems the only thing I needed to do was to add the typing.py and typing_extensions.py stubs to the lib folder. That's it.
I did successfully install your stubs 1.0.1.a1 into .vscode/Pico-W-Stub but it does not make any difference as type checking in my vscode editor was already working anyway (not entirely sure why?).
But anyway the result is great - I get to use all the usual power of vscode and python static type checking for code that can run on the Pico.
Many thanks!

Thanks for confirming.

add the typing.py and typing_extensions.py stubs to the lib folder.

I'll add that to the documentation and sample repro.
Still thinking of a way to automate this, possibly using a mip install


No model update on 5-way 1-shot

Hi,
Wei-Hong, thanks for your nice work, it brings me a lot of inspiration.
I wonder is there no model (adapter) update in the setting of  5-way 1-shot ?  (FROM test_extractor.py).
Or, how to get the results reported in Table 4?
Thanks!
Jim

In addition, when i use test_extractor_pa.py for 5-way 1-shot task, with the pre-trained/distilled multi-domain feature extractor, the average acc for URL (or TSA) is about 40% on ImageNet, which is far away from 49.6% (or 48.0% ) reported in Table 8 (Appendix of TSA).

Thanks for your reply.
Indeed, i tried to re-run the test_extractor.py file, following the Section of 'Other Usage'.
In fact, my key concern is that why there is no task adaptation process (update A_{beta} for URL, or update A_{\beta} and \alpha for TSA) in the file test_extractor.py. It seems that the training/support set of the target task is not utilized to update the model.  Is my understanding correct? please correct me！Thanks.

test_extractor.py provides the implementation of adapting the model by learning a classifier (like NCC, SVM etc) on top of a frozen feature extractor using the support set for different settings. For testing our proposed URL and TSA, please use test_extractor_pa.py and test_extractor_tsa.py, respectively (Note that the parameters of the feature extractor are fixed as well in URL and TSA).
Thanks!

So the results in Table 4 were achieved by test_extractor_pa.py and test_extractor_tsa.py? Not test_extractor.py?

Table 4 compares results between different methods and results of URL and TSA can be obtained by test_extractor_pa.py and test_extractor_tsa.py respectively. URL and TSA are different methods. You should be able to obtain results of URL using test_extractor_tsa.py but using test_extractor_pa.py would be simpler.
test_extractor.py is used to obtains results in the first cell of Table 3.

If so, the Section of 'Other Usage' in README.md seems misleading?
I will try it again following your valuable suggestions. Thanks.

That section gives an example of specifying an evaluation setting. I will add more details on that section. Thanks!


Issues with Session Management

Should be fixed with ba79928690ee0c2d8d92eb8abc83ff64ec92349d

@mrkwanzaa Can you confirm the bug is gone?

Looks good to me


Add files via upload

@ethadisaputra There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


Uncaught TypeError: customSliderBubble is null

Hi,
Im using Jellyfin version 10.8.1.
I added the script tag to the index.html like in the README, and it loads like it should in the WebBrowser, but im unable to see any previews.
When looking in the console, following error message gets thrown every few miliseconds when scrubbing the timeline:
Uncaught TypeError: customSliderBubble is null
    sliderCallback <URL>/Trickplay/ClientScript:185
    containerCallback <URL>/Trickplay/ClientScript:164
    MutationCallback* <URL>/Trickplay/ClientScript:196
[ClientScript:185:21](<URL>/Trickplay/ClientScript)
    sliderCallback <URL>/Trickplay/ClientScript:185
    (Async: MutationCallback)
    containerCallback <URL>/Trickplay/ClientScript:164
    (Async: MutationCallback)
    <anonymous> <URL>/Trickplay/ClientScript:196```

Is this a known error?
I removed all themes and custom CSS but it still does not work.

Thanks a lot for this plugin :)

Hi, could you paste the contents of your index.html file?

Sure, here it is
<!doctype html><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><link rel="manifest" href="64d966784cd77b03a79c.json"><meta name="format-detection" content="telephone=no"><meta name="msapplication-tap-highlight" content="no"><meta http-equiv="X-UA-Compatibility" content="IE=Edge"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="mobile-web-app-capable" content="yes"><meta name="application-name" content="Jellyfin"><meta name="robots" content="noindex, nofollow, noarchive"><meta name="referrer" content="no-referrer"><meta property="og:title" content="Jellyfin"><meta property="og:site_name" content="Jellyfin"><meta property="og:url" content="http://jellyfin.org"><meta property="og:description" content="The Free Software Media System"><meta property="og:type" content="article"><meta id="themeColor" name="theme-color" content="#202020"><link rel="apple-touch-icon" sizes="180x180" href="f5bbb798cb2c65908633.png"><link href="6a2e2e6b4186720e5d4f.png" media="screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="eb8bef4f19b6ad227f46.png" media="screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="3fa90c593184d5737eb3.png" media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="23a72f5d56f82554aeab.png" media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="d28a57b1e61f9f0dabd9.png" media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="16fc81178d1aee54f6cc.png" media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="f94ebf203ea0c91a47c6.png" media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="522fa270807b7b12a9ba.png" media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="0df719b48efcaef953df.png" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="0b37f660ac0f7f01ab41.png" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="d0e56683308a17dba86d.png" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="baafa93a783b76e667ec.png" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="379bab68d056910336f9.png" media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="d31413d3f03c0873ccbb.png" media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="49d14d0eb7bcdf6f2d1b.png" media="screen and (device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="bbb3e6d43389ba0d436c.png" media="screen and (device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="142d834c201895a46a01.png" media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="e62987a12a58b24f383a.png" media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link href="3f3fe0fd3a0b637b5030.png" media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" rel="apple-touch-startup-image"/><link href="a962662957ebbb8eb436.png" media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" rel="apple-touch-startup-image"/><link rel="shortcut icon" href="bc8d51405ec040305a87.ico"><meta name="msapplication-TileImage" content="39209dd2362c0db7c673.png"><meta name="msapplication-TileColor" content="#333333"><title>Jellyfin</title>

But it doesnt seem to be too big of an issue, this only happens if no BIF is generated, as soon as its generated and downloaded, it works fine.
Also, not sure if this warrants another issue, but do you use the plugin with the default 10000 ms interval or more/less?
Because I set it to 5000, and now the thumbnails only span exactly half the video, e.g. the video is 60 minutes long, the thumbnail of a scene that happens at 00:30 is now present when scrobbling over 00:15, and the thumbnails of the credits are now at 00:30. On the second half, no thumbnails are present and only the last one from 00:30 gets shown.
So I guess some calculation is weird when diverting from the default 10000 ms (If this is too offtopic, I can make a new issue)

Yeah whoops, I only ever tested it at 10,000 and it looks like I forgot to pass the custom interval into the encoder that makes all the images. I've gone ahead and made a separate issue for that, which I'll fix tomorrow. For now you should revert back to 10,000 ms and regenerate any bif files.
As for the javascript error you were experiencing, what kind of media content are you trying to watch? Is it just normal movies/shows? Does the error happen right when you load the site, or only once you start watching media?  I haven't run into that one yet so I'll have to test what's causing it.

Thanks a lot, sadly I did not have more time yesterday. The intervall is completely fixed now, thanks a lot!
For the script errors, they appeared on every media where the thumbnails have not been generated yet, and only while scrobbling over the timeline. When the mouse moves away, its gone.
But with your new version it seems to be fixed by the nullchecks, so its fine :)


I say find my devices with Amazon Alexa, it finds only 1 device

Hello,
I installed espalexa on my NodeMCU card and there are 3 lamps in the program.
After the installation is completed; I say find my devices with Amazon Alexa, it finds only 1 device and turns it on and off only. The other 2 devices are not visible.
But when I want to delete the device from Alexa; I delete the device, then the 2nd device appears, I delete it too, the 3rd device appears, I delete it too, and it's done.
But I can't have it on 3 devices at the same time?
Please help urgently...
2.txt

The same here. I think that they have changed the philips hue protocol.

I also have the same issue.
Please help.

I have the same issue, although when I ping on http://[espIP]/espalexa, I got the three devices.
Help please

I called Amazon customer care, and they said they can see all the discover devices. However, in the app, only one channel is showing up.
The problem is that in the app, it is displaying only one channel for each device.
I am on a prototype design and just stuck.
Please help.

Did you try it?

Same here. I used the https://github.com/vintlabs/fauxmoESP alternative and it worked for me.
I even created a pull request to add support to rgb color.
https://github.com/vintlabs/fauxmoESP/pull/260

I switched off from FauxMo as it had the same issue back a couple years ago.  My issue is it doesn't find all my set up devices, just randomly some.

https://github.com/vintlabs/fauxmoESP
this library also having same issue.

In FauxmoESP Library Issue Section
https://github.com/vintlabs/fauxmoESP/issues/259
a second user confirms  a proposed solution as successful.
But I have no idea how to transfer this to ESPAlexa.
(FauxmoESP does not support color control, so it is no replacement)

All right ....
Thanks to user PakoCosmos at fauxmoESP section
https://github.com/vintlabs/fauxmoESP/issues/259
I could now successfully identify the place in the ESPalexa Lib to transfer his
solution. At my environment it works perfectly. I now have again three separate
devices as usual and can address them by voice.
Don't know if it works for erveryone.
But maybe someone can verify and report.
fauxmoESP lib version 2.7.0
File: espalexa.h
Line 120 (Start of function encodeLightId)
`
void encodeLightId(uint8_t idx, char* out)
{
uint8_t mac[6];
WiFi.macAddress(mac);
//OLD !!!!!!!!!!!!!!
//    sprintf_P(out, PSTR("%02X:%02X:%02X:%02X:%02X:%02X:00:11-%02X"), mac[0],mac[1],mac[2],mac[3],mac[4],mac[5], idx);
//NEW !!!!!!!!!!!!!!
String mymac = WiFi.macAddress();
sprintf_P(out, PSTR("%02X:%s:AB-%02X"), idx, mymac.c_str(), idx);
}
`
Good luck

Their has not lib version 2.7.0
We are using lib version 3.4.0
Please let us know if any solution available.
Thank.

My fault.
Must be ESPalexa lib version 2.7.0

Can you please share me a link of this version to download?

Thank You very much.
This is working at my side also.

All right ....
Thanks to user PakoCosmos at fauxmoESP section https://github.com/vintlabs/fauxmoESP/issues/259
I could now successfully identify the place in the ESPalexa Lib to transfer his solution. At my environment it works perfectly. I now have again three separate devices as usual and can address them by voice. Don't know if it works for erveryone. But maybe someone can verify and report.
ESPalexa lib version 2.7.0 File: espalexa.h Line 120 (Start of function encodeLightId)
` void encodeLightId(uint8_t idx, char* out) { uint8_t mac[6]; WiFi.macAddress(mac);
//OLD !!!!!!!!!!!!!! // sprintf_P(out, PSTR("%02X:%02X:%02X:%02X:%02X:%02X:00:11-%02X"), mac[0],mac[1],mac[2],mac[3],mac[4],mac[5], idx);
//NEW !!!!!!!!!!!!!! String mymac = WiFi.macAddress(); sprintf_P(out, PSTR("%02X:%s:AB-%02X"), idx, mymac.c_str(), idx); } `
Good luck
❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤
❤❤❤❤❤❤❤_Thank You VERY MUCH !!!!!!!!!!!!!!!!!!!!!!! OMG_❤❤❤❤❤❤❤
❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤

Great job.
Thank You.

@ams-hh  Pull Request?


#6657 do not throw ClassCastException when rule subnet version doesn'…

…t match remote IP version
Motivation:
IpSubnetFilterRule.match throws excpetion while should return false for another IP version.
Modification:
Added instanceOf check for IpSubnetFilterRule.match method. So Rule will not throw ClassCastException when remote address has another IP version.
Result:
Fix for https://github.com/netty/netty/issues/6657

Seems like a bit of a hack, why not support IPV6?

@johnou could you please explain what do you mean? IpSubnetFilterRule supports both IPv4 and IPv6. However, in case I have only 1 rule for IPv4 and remote address is IPv6 I'm getting exception, while filter should return just false.

wow, okay I see what you mean, after checking out RuleBasedIpFilter this makes sense.

Cherry-picked into 4.1 (e78ccd6d52450f30e648abca22b8f2afec62f45d).
@doom369 thanks!


Support authentication

Please add support to WSSE authentication when send SOAP request

maybe already support by "Header", please ignore

do you have any example? Thanks

@zentechtungtran


GridSplitter

GridSplitter is currently missing the following:

[ ] An Orientation property. Currently only works vertically.

On Windows it over clips, see the attached solution to repro

<Grid.RowDefinitions>

</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
  <ColumnDefinition Width="250"/>
  <ColumnDefinition Width="5"/>
  <ColumnDefinition/>
</Grid.ColumnDefinitions>

<Menu Grid.ColumnSpan="2">
  <MenuItem Header="File">
    <MenuItem Header="New Project"/>
    <MenuItem Header="Open Project"/>
    <MenuItem Header="Save"/>
    <MenuItem Header="Save All"/>
    <MenuItem Header="Exit"/>
  </MenuItem>

  <MenuItem Header="View">
    <MenuItem Header="Console" Command="{Binding ViewToolCommand}" CommandParameter="Console"/>
    <MenuItem Header="Solution Explorer" Command="{Binding ViewToolCommand}" CommandParameter="SolutionExplorer"/>
    <MenuItem Header="Test Runner"  Command="{Binding ViewToolCommand}" CommandParameter="TestRunner"/>
    <MenuItem Header="Error List" Command="{Binding ViewToolCommand}" CommandParameter="ErrorList"/>
    <MenuItem Header="Debugging">
      <MenuItem Header="Locals" Command="{Binding ViewToolCommand}" CommandParameter="Locals"/>
      <MenuItem Header="Watch List" Command="{Binding ViewToolCommand}" CommandParameter="WatchList"/>
      <MenuItem Header="Dissasembly" Command="{Binding ViewToolCommand}" CommandParameter="Dissasembly"/>
      <MenuItem Header="Memory Viewer" Command="{Binding ViewToolCommand}" CommandParameter="Memory" />
      <MenuItem Header="Registers" Command="{Binding ViewToolCommand}" CommandParameter="Registers"/>
      <MenuItem Header="Call Stack" Command="{Binding ViewToolCommand}" CommandParameter="CallStack"/>
    </MenuItem>
  </MenuItem>

  <MenuItem Header="Tools">
    <MenuItem Header="Formatting" Command="{Binding FormatSettingsCommand}"/>
    <MenuItem Header="Options" Command="{Binding OptionsCommand}"/>
    <MenuItem Header="Packages" Command="{Binding PackagesCommand}"/>
  </MenuItem>

  <MenuItem Header="Help">
    <MenuItem Header="About" Command="{Binding AboutCommand}"/>
  </MenuItem>
</Menu>

<Grid Grid.Row="1" Grid.RowSpan="3" Background="Red" >

</Grid>

<GridSplitter Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" Width="5" Background="#C7C7C7"/>

<Grid Grid.Row="1" Grid.Column="2" Grid.RowSpan="2" RowDefinitions="*,*">

  <TextBox FontFamily="Consolas" Background="#1E1E1E" Foreground="#C7C7C7" AcceptsReturn="True" BorderThickness="0" Text="{Binding Text}"/>

  <Grid Grid.Column="1" Grid.Row="2" Background="#252526">
    <Grid.RowDefinitions>
      <RowDefinition Height="30"/>
      <RowDefinition/>
    </Grid.RowDefinitions>

    <TextBlock Margin="5,5" Text="Console"  />

    <TextBox Grid.Row="1" FontFamily="Consolas" Background="#1E1E1E" Foreground="#C7C7C7" AcceptsReturn="True" BorderThickness="0" Text="{Binding Text}"/>
  </Grid>
</Grid>

I'm having a go at this one...

ok I tried... and didn't get very far...
Adding an Orientation property might be difficult? It depends if it was set in a column on a grid or a row doesn't it?
Unless our grid splitter actually splits a cell into 2? then it might need a ContentLeft and ContentRight...
Perhaps that's why MSFT did it the way they did?

Well the way Gridsplitter worked is that you would place it in a row or column if it's own.
If you wanted to split a grid with a above and a below row,
you would probably have 3 rows 1 for top the middle for the splitter and one for the bottom.
The splitter would then be set to look for the rows prior and previous to the row it is in.

Closed https://github.com/Perspex/Perspex/pull/362


[Bug] Error In IOS Building

Describe the bug
Integrated new SDK 0.1.3. Build sample project with  Xcode latest. Error:
Undefined symbol: _HyperlinkXNFT
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Project build
Screenshots

Desktop (please complete the following information):
Mac OS
Additional context
Need the new SDK due to its new parsing of phantom wallet response.

Resolved


Backoffice - Allow to filter list views by criterias

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
Currently, the Back office only allow to filter list views by full text search that is really limited. Indeed we should add several filters specific to each views.
Idea of filter by views
Certificate Definitions

[x] full search text (name, title)
[ ] template

Contract Definitions

[x] full search text (title)
[ ] language

Courses

[x] full search text (code, title)
[ ] organization.id
[ ] state

Course runs

full search text (title, resource_link)

[x] title
[ ] resource_link

[ ] course.id
[ ] organization.id
[x] state
[ ] is_gradable
[ ] is_listed

Organizations

[x] full search text (code, title)

Products

[x] full search text (title)
[ ] type
[ ] state

Orders

[ ] Full search text (product.title, owner.full_name, owner.email, organization.code, organization.title, course.code)
[ ] product.id
[ ] course.id
[ ] organization.id
[ ] state
[ ] owner.id

Here it is the list of missing backend filters :
Certificate Definitions

[ ] template

Contract Definitions

[ ] language

Courses

[ ] state
[ ] organization.id

Course runs

[ ] full search text : resource_link
[ ] course.id
[ ] organization.id
[ ] is_gradable
[ ] is_listed

Products

[ ] type
[ ] state

Orders

[ ] Full search text (product.title, owner.full_name, owner.email, organization.code, organization.title, course.code)
[ ] product.id
[ ] course.id
[ ] organization.id
[ ] state

[ ] Check why the OPTIONS request does not return the state choice list

[ ] owner.id


illegal reflective access

After upgrading to 4.9, I started getting the following during a build:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by worker.org.gradle.internal.reflect.JavaMethod (file:/C:/Users/Bruce/.gradle/caches/4.9/workerMain/gradle-worker.jar) to method java.lang.ClassLoader.getPackages()
WARNING: Please consider reporting this to the maintainers of worker.org.gradle.internal.reflect.JavaMethod
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

To reproduce, clone
https://github.com/BruceEckel/AtomicKotlinExamples
and run gradlew test

This is already fixed for 4.10, please try out the latest nightly.


Update Puppet config management status, reformat comparison table

This updates the status of the puppet module as prompted in issue https://github.com/basho-labs/the-riak-community/issues/53, significantly reformats the table used to compare config management tool capabilities for managing Riak, and rephrases the description of config management to avoid saying "devops."
This PR probably needs some input before it's merged because I don't know the specific status of a lot of the things I put in the new comparison table. I'm totally clueless about the ansible role, and only modestly informed about what the Chef Cookbook can do. If I've misrepresented the capabilities, please let me know and I'll update them.
Also, it looks like travis is broken for the cookbook.

Totally missed this PR. Thanks @danieldreier!


Documentation for signpost component

Create documentation for signpost component in new layout style.

Here's the layout and accompanying images (@2x size for retina):
Doc Layout and Images.zip
----------------------Doc begins here-------------------------
(h5) The signpost is a convenient, lightweight way to show contextual help or information without taking the user out of the current context.
(h3)Examples

(h3) Description
(p1) A signpost displays contextual help or information in a popover dialog. Like a tooltip, it has an arrow/pointer that extends out to the trigger element, but the dialog is larger to fit more content. Signposts are designed to show a relatively small amount of content which may include: a title, images, text links or image links. A vertical scrollbar (browser default) may be used if the content exceeds the maximum height of the dialog.
(h5) Size

Min-width  216 px;  Min-height  84 px
Max-width  360 px;  Max-height  504 px

(h3) Usage
(p1) Signposts should be used when you want to show a small amount of contextual help or information without taking the user out of the current context. Use sparingly as a supplemental element and not as a primary method of adding detail.

May be used when the amount of content won’t fit in a tooltip
When you want to include a header, image or text/image links in the content
When the information presented needs to stay in view at length. Unlike tooltips, signposts stay in view until the user dismisses it. Users may interact with other elements on the page while the dialog is visible.

(h3) Interaction
(p1) Clicking the icon triggers the signpost. It remains visible until the user clicks the close icon or clicks anywhere outside of the dialog to dismiss it. To keep the interface uncluttered, only one signpost is displayed at a time. When a dialog is visible, clicking an icon to open another one automatically dismisses the previous dialog.

(h3) Trigger icon and dialog positioning

(p1) The default position for the dialog is 6 px to the right of the trigger icon. If space doesn’t permit, the position should adapt according to space available.

(p1-Left image caption) Default position for the icon is 6 px from the end of the text
(p1-Rt image caption) In tables, the icons may be aligned in a column
(h3) Recommendations
(p1)The popover should not be so large that it dominates the screen

Make sure that the popover doesn’t obstruct other important information on the screen
With the exception of text/image links, don’t insert any actionable components, such as buttons, in the dialog
Don’t rely on signposts as a primary method of displaying additional information, ie: as a way to save space on the page. Use sparingly as a device to add immediate, relevant information.
----------------------End of Doc-------------------------
Followed by "Code and Examples"


using es6 modules instead of commonJS

Are there any guides or steps for transpiling or supporting es6 modules instead of the commonJS require('taiko') imports?

Some discussions here: https://github.com/getgauge/gauge-js/issues/168


distinct with key selector

ala http://reactivex.io/RxJava/1.x/javadoc/rx/Observable.html#distinct-rx.functions.Func1-
stream = Stream.of("a1", "b1", "c2", "c3");
distinct = StreamUtils.distinct(stream, str -> str.charAt(1));
distinct.forEach(x -> System.out.println(x));

prints:
a1
c2
c3

Thank you for your comment, seems like a very good idea, and not too hard to implement. If the stream is ordered, I see the behavior of this operator, but what should it be for non-ordered streams? That is if the stream you give as an example is equivalent to this one:
stream = Stream.of("b1", "a1", "c2", "c3");

What should be the result?

it seems logical to output b1 c2 c3 in this case
first come first served style
what you say?

'undefined behavior' is also ok in this case


[BUGFIX] Resolve IE drag and drop crashes

Resolves #273.
@lonelyghost any chance of you testing out this branch for me? I was able to get it working on a BrowserStack trial account in IE11 with this fix but I'm not able to check older versions.
Fix found @ Stack Overflow

@offirgolan I looked at it with the following versions:
Windows 10 - IE11 latest, Edge 14, Edge 13
Windows 8.1 - IE11 metro
Windows 8 - IE10 latest, IE10 metro
Windows 7 - IE11 latest
Worked in all of those. 👍
Thanks for fixing this so quickly!

@lonelyghost fantastic! Thanks for taking the time to test this out for me 😸 !


Opus UWP build is not supported

The following packages will be built and installed:
opus[core]:arm-uwp
Starting package 1/1: opus:arm-uwp
Building package opus[core]:arm-uwp...
CMake Error at ports/opus/portfile.cmake:2 (message):
UWP builds not supported
Call Stack (most recent call first):
scripts/ports.cmake:71 (include)
Error: Building package opus:arm-uwp failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: opus:arm-uwp
Vcpkg version: 2018.11.23-nohash

@gpchowdari, currently Opus support UWP, related PR https://github.com/microsoft/vcpkg/pull/6007.
I tried, everything installed successfully.
The following packages will be built and installed:
opus[core]:arm-uwp
Starting package 1/1: opus:arm-uwp
Building package opus[core]:arm-uwp...
-- Downloading https://github.com/xiph/opus/archive/e85ed7726db5d677c9c0677298ea0cb9c65bdd23.tar.gz...
-- Extracting source F:/VCPKG/src/downloads/xiph-opus-e85ed7726db5d677c9c0677298ea0cb9c65bdd23.tar.gz
-- Using source at F:/VCPKG/src/buildtrees/opus/src/b9c65bdd23-4dd2a46170
-- Configuring arm-uwp
-- Building arm-uwp-dbg
-- Building arm-uwp-rel
-- Installing: F:/VCPKG/src/packages/opus_arm-uwp/share/opus/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package opus[core]:arm-uwp... done
Installing package opus[core]:arm-uwp...
Installing package opus[core]:arm-uwp... done
Elapsed time for package opus:arm-uwp: 1.182 min
Total elapsed time: 1.182 min
The package opus:arm-uwp provides CMake targets:
find_package(Opus CONFIG REQUIRED)
target_link_libraries(main PRIVATE Opus::opus)


Set up Google Analytics for CIViC so that we can gather usage statistics

Not sure if this is done yet, but it would be great to have use tracking in place prior to the soft launch so that we can get a sense of how many people we are able to reach.

Do you have a desired google account to use with this? If you want to email me the snippet your account generates, I can add it in! I assume we don't want to use my personal account :)

How was this done for DGI?  My recollection was that a shared/general account was set up and then shared with others. Malachi and I can both follow DGI analytics but to my knowledge it was not set up with either of our person gmails. Maybe Callaway remembers how this was done?

Did some digging. So, from an email from @mcallaway around the time of DGIdb launch:
With Scott alongside me, I have updated dgi-db's git repo to:

- Use the TGI Google Analytics account number.
- Enable robots.txt

In addition, I have added Obi and Malachi to the admin list of the TGI Google Analytics Profile.  Obi, Malachi, you should receive email about this.

So it sounds like you guys have admin on the TGI Google analytics profil, so I I think you should be able to get the needed snippets from there?

I just logged in and found them (I think).
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-35524735-1', 'auto');
  ga('send', 'pageview');

</script>

Is this snippet somehow tied to DGIdb though?  Don't recall how that
actually works.
On 2/20/15 11:33 AM, Malachi Griffith wrote:

I just logged in and found them (I think).
|
|
—
Reply to this email directly or view it on GitHub
https://github.com/genome/civic-server/issues/17#issuecomment-75283336.

--
Obi L. Griffith, PhD
Assistant Professor of Medicine, Division of Oncology
Assistant Director, The Genome Institute
Washington University School of Medicine
Campus Box 8501, Room 5140
4444 Forest Park Ave
St. Louis, MO, 63108
Phone:<PHONE_NUMBER>
www.obigriffith.org

This email message is a private communication. The information transmitted, including attachments, is intended only for the person or entity to which it is addressed and may contain confidential, privileged, and/or proprietary material. Any review, duplication, retransmission, distribution, or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is unauthorized by the sender and is prohibited. If you have received this message in error, please contact the sender immediately by return email and delete the original message from all computer systems. Thank you.

Hmmm, you might be right.  We might need to create a new account in Analytics using the TGI analytics login, generate a new unique snippet and then authorize people to access the report from there.  I think again @mcallaway or someone he referred us to was necessary to get this set up for DGIdb.

Done!


[Event Request] Table 172 - OnBeforeInsertSalesLine

Add new integration event OnBeforeInsertSalesLine in function ApplyStdCodesToSalesLines of Table 172:
        SalesLine."Line No." := GetNextLineNo(SalesLine);
+       OnBeforeInsertSalesLine(SalesLine);
        SalesLine.INSERT(TRUE);

New publisher function:
    [Integration]
    LOCAL PROCEDURE OnBeforeInsertSalesLine@5172322(VAR SalesLine@5172322 : Record 37);
    BEGIN
    END;

You already have event OnBeforeApplyStdCodesToSalesLines(SalesLine,StdSalesLine) just before this place. Can you use it instead?

You already have event OnBeforeApplyStdCodesToSalesLines(SalesLine,StdSalesLine) just before this place. Can you use it instead?

We need the new event and cannot use the already existing one because our functionality depends on whether the Sales Line is created or not.

Event OnBeforeApplyStdCodesToPurchaseLines(PurchLine,StdPurchLine) already exist just before this place. Can you use it instead?

We need the new event and cannot use the already existing one because our functionality depends on whether the Purchase Line is created or not. You probably added this comment on wrong issue because the question is related to #3973

We can go with you proposal. Thanks for the hint using InsertLine.


Update h2 to 0.3.26 to address RUSTSEC-2024-0332

What
addresses
    = ID: RUSTSEC-2024-0332
    = Advisory: https://rustsec.org/advisories/RUSTSEC-2024-0332
    = An attacker can send a flood of CONTINUATION frames, causing `h2` to process them indefinitely.
      This results in an increase in CPU usage.

      Tokio task budget helps prevent this from a complete denial-of-service, as the server can still
      respond to legitimate requests, albeit with increased latency.

      More details at "https://seanmonstar.com/blog/hyper-http2-continuation-flood/.

as flagged by cargo deny
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: rerun.io/viewer
Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

@teh-cmc what would that look like exactly? We don't depend on h2 directly :/


Add support for DID in OOB service field

OOB message looks as described here https://github.com/hyperledger/aries-rfcs/blob/main/features/0434-outofband/README.md#messages
And particularly about field services

services - an array of union types that the receiver uses when responding to the message. Each item is either a DIDComm service object (as per RFC0067) or a DID (as per Decentralized Identifiers v1.0). Additional details below.

We currently implement method for appending service object, but not DID.

Fixed by #428.


Created the 'update' action on Admin::ProjectsController

This action was created because some views called by this controller use the best_in_place gem to update the project resource. But, there is no endpoint to process this kind of action, therefore, the update not occurs.

LGTM


set up prettier

Set up and initial reformat. This is with no .prettierrc flags, if you have beef on flags this is the place to bring it!

Do you plan on adding a Git commit hook as part of a later change?

Yes, just wanted to get agreement on flags.


Fix quarter format W21 vs. 20211 on the quarter format selector  (10-20)

User Story
As an admin, I can enter the quarter filter in QYY format (e.g. S21, F20) and it will work properly, so that I can set the current quarter in an intuitive way.
Discussion
The quarter format selector works pretty well, but at the moment, it only works if you enter the quarter in the ugly 20211 format:

But if you put in a human friendly quarter such as:

Then it does not work.
You could probably fix this either in the front end or the back end, and I can point you to some code for either solution .  But ht bottom line is that we want the quarter filter to be entered in W21, S21, etc. format and be displayed in that format.
What happens internally, is up to you.
Code that might be helpful

This file has utilities for manipulating quarters in the front end (e.g. converting between formats) https://github.com/ucsb-cs156-w21/proj-ucsb-cs-las/blob/main/javascript/src/main/utils/quarter.ts

This file has code for manipulating quarters in the backend.  It is currently a part of ucsb-courses-search, but you could copy that code into this repo.  https://github.com/ucsb-cs156-w21/proj-ucsb-courses-search/blob/main/src/main/java/edu/ucsb/courses/models/Quarter.java

Both of the files above have test code that goes along with them.
I estimate this story as between 10 and 20 points depending on how it is implemented.

Issue is a duplicate, closing.