Resource component causing crash

Hello,
I am encountering a build failure when attempting to use the Resource component. Using exactly the code displayed here:
https://frappeui.com/components/resource.html
I get the following error:
[Vue warn]: Property "$resources" was accessed during render but is not defined on instance.                                                            15:22:29
[Vue warn]: Unhandled error during execution of render function                                                                                15:22:29
  at <Resource options= { url: 'https://jsonplaceholder.typicode.com/users/1' } >
[nitro] [dev] [unhandledRejection] TypeError: Cannot read properties of undefined (reading 'resource')                                                  15:22:29
    at Proxy.render (/Users/petergraif/Sites/oi2/node_modules/frappe-ui/src/components/Resource.vue:12:33)
    at renderComponentRoot (/Users/petergraif/Sites/oi2/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:891:44)
    at renderComponentSubTree (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:263:51)
    at renderComponentVNode (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:188:16)
    at Module.ssrRenderComponent (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:624:12)
    at _sfc_ssrRender (/Users/petergraif/Sites/oi2/pages/index2.vue:22:31)
    at renderComponentSubTree (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:254:17)
    at renderComponentVNode (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:188:16)
    at renderVNode (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:299:22)
    at renderComponentSubTree (/Users/petergraif/Sites/oi2/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:263:13)

You are trying to access $resources in your code somewhere. In the documentation example there are no $resources. It is used only in Options API. I need to see more of your code to help you, but most likely this is not a frappe-ui issue.

Unfortunately, this project went another direction, and I don't have the ability to test anymore. I'm quite certain I wasn't calling $resources in my own code, thought it's possible that it was getting called indirectly somehow. I'll close for now and open another issue if I can reproduce the problem with live code.


Release build is broken

Cannot build a release due to errors: https://github.com/hyperledger/firefly-perf-cli/actions/runs/10243653670

fixed by https://github.com/hyperledger/firefly-perf-cli/pull/88


Add "last modified" time stamp to model state list (and file)

Adding a last modified time stamp will enable the GUI program to check whether the model state list and file has been changed.

this is no longer needed for the UI.


Simulation with multiple ligands

Hello, I'm just testing this package out and it appears very appealing for the purpose of running quick simulations in order to get a rough idea.
I'm now working on a system in which I have the receptor, a cofactor and a ligand.
Is it possible to run the simulation with both the cofactor and the ligand modeled using the gaff2 FF automatically through this package?

Currently, Uni-GBSA does not support the preparation of force field parameters for receptors that contain cofactors. However, we are going to develop this feature in future versions of our software. Thank you for your interest in Uni-GBSA.


Correction for raw affiliation Professor of Sociology and Social Policy at the University of Ap-plied Sciences Western Switzerland, Haute école de travail social et de la santé -EESP -Lausanne, Chemin des Abeilles 14, 1010 Lausanne, Switzerland.; University of Lausanne and lecturer at the University of Applied Sciences Western Switzerland (EESP, Lausanne).

Correction needed for raw affiliation Professor of Sociology and Social Policy at the University of Ap-plied Sciences Western Switzerland, Haute école de travail social et de la santé -EESP -Lausanne, Chemin des Abeilles 14, 1010 Lausanne, Switzerland.; University of Lausanne and lecturer at the University of Applied Sciences Western Switzerland (EESP, Lausanne).
raw_affiliation_name: Professor of Sociology and Social Policy at the University of Ap-plied Sciences Western Switzerland, Haute école de travail social et de la santé -EESP -Lausanne, Chemin des Abeilles 14, 1010 Lausanne, Switzerland.; University of Lausanne and lecturer at the University of Applied Sciences Western Switzerland (EESP, Lausanne).
new_rors: 0278ff426;019whta54
previous_rors: 029005e08;01xkakk17;019whta54
works_examples: W4251725594
contact: 0de36abd1df9bf9eb9f3e1101dfc19be:d287de68f0bd2dc8da532615a2464010a6 @ hetsl.ch

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


Ecto.Adapters.MyXQL.Connection.to_constraints/1 fails to match some constraint errors on MySQL >= 8.0.13

Environment

Elixir version (elixir -v): Elixir 1.8.2
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): MySQL 8.0.16 (but likely reproducible on anything >= 8.0.13)
Ecto version (mix deps): ecto 3.1.7 / ecto_sql 3.1.6
Database adapter and version (mix deps): myxql 0.2.6
Operating system: macOS 10.14.5

Current behavior
When failing a foreign key constraint, the sql error is raised rather than the expected constraint errors. The error message is:

(MyXQL.Error) (1216) (ER_NO_REFERENCED_ROW) Cannot add or update a child row: a foreign key constraint fails

Expected behavior
Foreign key constraint error is returned.
Additional Info
After some digging, it appears MySQL 8.0.13 changed behavior around foreign key constraints: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13.html

Previously, the ER_NO_REFERENCED_ROW_2 and ER_ROW_IS_REFERENCED_2 error messages for foreign key operations were displayed and revealed information about parent tables, even when the user had no parent table access privileges. Error handling for this situation has been revised:
If the user does have table-level privileges for all parent tables, ER_NO_REFERENCED_ROW_2 and ER_ROW_IS_REFERENCED_2 are displayed, the same as before.
If the user does not have table-level privileges for all parent tables, more generic error messages are displayed instead (ER_NO_REFERENCED_ROW and ER_ROW_IS_REFERENCED).

It's not immediately clear what "user does have table-level privileges for all parent tables" means. My current grants look like:
mysql> show grants FOR 'server';
+--------------------------------------------------------+
| Grants for server@%                                    |
+--------------------------------------------------------+
| GRANT USAGE ON *.* TO `server`@`%`                     |
| GRANT ALL PRIVILEGES ON `server_dev`.* TO `server`@`%` |
+--------------------------------------------------------+
2 rows in set (0.00 sec)

I'd expect to see ER_NO_REFERENCED_ROW_2 in this scenario from the description in the excerpt, but it appears not.

Hi @jbott, good find! Can you please send a PR? There are two ways you can help us:

Send a PR that makes MySQL 8.0.13 run on CI so we can see the failure
Send a PR that fixes the issue :)

Thank you!

It looks like you have MySQL pulling the latest 8.0.x release already, so we should be seeing this behavior on CI. The last travis run (here) was run on the same version I reproduced this behavior on locally.
+-----------+
| @@version |
+-----------+
| 8.0.16    |
+-----------+

I'll try to give a PR a shot.

I opened a PR with an integration test that replicates the behavior I saw, but only when MYSQL_URL is modified. Since CI is authenticating to the database as root, the test will succeed there. I've documented the commands I used to locally recreate the error in that PR.
I'm not really sure how to resolve this issue though - the current implementation of to_constraints/1 relies upon parsing the returned error message for the constraint name. However, the new error messages returned do not contain this information. For example, the message in the PR: "(1216) (ER_NO_REFERENCED_ROW) Cannot add or update a child row: a foreign key constraint fails". We can't refine that into a more specific error to inform the user about specific fields that failed validation.
I think next steps are to determine in what cases this error is returned.
It's not clear to me if this is an error caused by how we're structuring our queries (eg: adding the database name to our query would make it return the more fine-grained error) or if it's an issue with permission grants on the default user (I think unlikely, since the docker entrypoint issues a GRANT ALL on the created database).

If the database does not tell us which constraint failed, then I am afraid there is absolutely nothing we can do besides documenting the issue. But you also said this:

It's not clear to me if this is an error caused by how we're structuring our queries (eg: adding the database name to our query would make it return the more fine-grained error)

If that's the case, a workaround is to do this:
@schema_prefix MyApp.Repo.config[:database]

This will force the schema to always use that given prefix (i.e. database name) in the queries. But the fact that this error only happens under certain conditions, it makes it look like a permission issue.

Looks like the existing tests also produce the same behavior. (not sure how I missed these, lol.)
$ ECTO_ADAPTER=myxql MYSQL_URL=mysql:mysql@localhost mix test --only foreign_key_constraint
Excluding tags: [:test, :array_type, :read_after_writes, :returning, :create_index_if_not_exists, :aggregate_filters, :transaction_isolation, :with_conflict_target, :map_boolean_in_expression]
Including tags: [:foreign_key_constraint]

  1) test assoc constraint (Ecto.Integration.RepoTest)
     deps/ecto/integration_test/cases/repo.exs:499
     Expected exception Ecto.ConstraintError but got MyXQL.Error ((1216) (ER_NO_REFERENCED_ROW) Cannot add or update a child row: a foreign key constraint fails)
     code: assert_raise Ecto.ConstraintError, ~r/constraint error when attempting to insert struct/, fn ->
     stacktrace:
       (ecto_sql) lib/ecto/adapters/myxql.ex:208: Ecto.Adapters.MyXQL.insert/6
       (ecto) lib/ecto/repo/schema.ex:647: Ecto.Repo.Schema.apply/4
       (ecto) lib/ecto/repo/schema.ex:262: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
       deps/ecto/integration_test/cases/repo.exs:503: (test)

  2) test no assoc constraint error (Ecto.Integration.RepoTest)
     deps/ecto/integration_test/cases/repo.exs:529
     Expected exception Ecto.ConstraintError but got MyXQL.Error ((1217) (ER_ROW_IS_REFERENCED) Cannot delete or update a parent row: a foreign key constraint fails)
     code: assert_raise Ecto.ConstraintError, ~r/constraint error when attempting to delete struct/, fn ->
     stacktrace:
       (ecto_sql) lib/ecto/adapters/sql.ex:618: Ecto.Adapters.SQL.raise_sql_call_error/1
       (ecto) lib/ecto/repo/schema.ex:647: Ecto.Repo.Schema.apply/4
       (ecto) lib/ecto/repo/schema.ex:440: anonymous fn/10 in Ecto.Repo.Schema.do_delete/4
       (ecto) lib/ecto/repo/schema.ex:912: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6
       (ecto_sql) lib/ecto/adapters/sql.ex:887: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
       (db_connection) lib/db_connection.ex:1415: DBConnection.run_transaction/4
       (ecto) lib/ecto/repo/schema.ex:190: Ecto.Repo.Schema.delete!/4
       deps/ecto/integration_test/cases/repo.exs:534: (test)

  3) test insert and update with embeds during failing child foreign key (Ecto.Integration.RepoTest)
     deps/ecto/integration_test/cases/repo.exs:573
     ** (MyXQL.Error) (1216) (ER_NO_REFERENCED_ROW) Cannot add or update a child row: a foreign key constraint fails
     code: {:error, changeset} = TestRepo.insert(changeset)
     stacktrace:
       (ecto_sql) lib/ecto/adapters/myxql.ex:208: Ecto.Adapters.MyXQL.insert/6
       (ecto) lib/ecto/repo/schema.ex:647: Ecto.Repo.Schema.apply/4
       (ecto) lib/ecto/repo/schema.ex:262: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
       (ecto) lib/ecto/association.ex:929: Ecto.Association.BelongsTo.on_repo_change/5
       (ecto) lib/ecto/association.ex:413: Ecto.Association.on_repo_change/7
       (elixir) lib/enum.ex:1940: Enum."-reduce/3-lists^foldl/2-0-"/3
       (ecto) lib/ecto/association.ex:392: Ecto.Association.on_repo_change/4
       (ecto) lib/ecto/repo/schema.ex:809: Ecto.Repo.Schema.process_parents/4
       (ecto) lib/ecto/repo/schema.ex:242: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
       (ecto) lib/ecto/repo/schema.ex:912: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6
       (ecto_sql) lib/ecto/adapters/sql.ex:887: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
       (db_connection) lib/db_connection.ex:1415: DBConnection.run_transaction/4
       deps/ecto/integration_test/cases/repo.exs:579: (test)

  4) test foreign key constraint (Ecto.Integration.RepoTest)
     deps/ecto/integration_test/cases/repo.exs:468
     Expected exception Ecto.ConstraintError but got MyXQL.Error ((1216) (ER_NO_REFERENCED_ROW) Cannot add or update a child row: a foreign key constraint fails)
     code: assert_raise Ecto.ConstraintError, ~r/constraint error when attempting to insert struct/, fn ->
     stacktrace:
       (ecto_sql) lib/ecto/adapters/myxql.ex:208: Ecto.Adapters.MyXQL.insert/6
       (ecto) lib/ecto/repo/schema.ex:647: Ecto.Repo.Schema.apply/4
       (ecto) lib/ecto/repo/schema.ex:262: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
       deps/ecto/integration_test/cases/repo.exs:472: (test)

  5) test no assoc constraint with changeset match (Ecto.Integration.RepoTest)
     deps/ecto/integration_test/cases/repo.exs:560
     ** (MyXQL.Error) (1217) (ER_ROW_IS_REFERENCED) Cannot delete or update a parent row: a foreign key constraint fails
     code: |> TestRepo.delete()
     stacktrace:
       (ecto_sql) lib/ecto/adapters/sql.ex:618: Ecto.Adapters.SQL.raise_sql_call_error/1
       (ecto) lib/ecto/repo/schema.ex:647: Ecto.Repo.Schema.apply/4
       (ecto) lib/ecto/repo/schema.ex:440: anonymous fn/10 in Ecto.Repo.Schema.do_delete/4
       (ecto) lib/ecto/repo/schema.ex:912: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6
       (ecto_sql) lib/ecto/adapters/sql.ex:887: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
       (db_connection) lib/db_connection.ex:1415: DBConnection.run_transaction/4
       deps/ecto/integration_test/cases/repo.exs:568: (test)

  6) test no assoc constraint with changeset mismatch (Ecto.Integration.RepoTest)
     deps/ecto/integration_test/cases/repo.exs:543
     Expected exception Ecto.ConstraintError but got MyXQL.Error ((1217) (ER_ROW_IS_REFERENCED) Cannot delete or update a parent row: a foreign key constraint fails)
     code: assert_raise Ecto.ConstraintError, message, fn ->
     stacktrace:
       (ecto_sql) lib/ecto/adapters/sql.ex:618: Ecto.Adapters.SQL.raise_sql_call_error/1
       (ecto) lib/ecto/repo/schema.ex:647: Ecto.Repo.Schema.apply/4
       (ecto) lib/ecto/repo/schema.ex:440: anonymous fn/10 in Ecto.Repo.Schema.do_delete/4
       (ecto) lib/ecto/repo/schema.ex:912: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6
       (ecto_sql) lib/ecto/adapters/sql.ex:887: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
       (db_connection) lib/db_connection.ex:1415: DBConnection.run_transaction/4
       deps/ecto/integration_test/cases/repo.exs:549: (test)

Finished in 9.4 seconds
348 tests, 6 failures, 342 excluded

Randomized with seed 93542

After reading the patch which introduced this behavior I did some testing with just the mysql command line:
mysql> show grants;
+------------------------------------------------------+
| Grants for mysql@%                                   |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO `mysql`@`%`                    |
| GRANT ALL PRIVILEGES ON `ecto_test`.* TO `mysql`@`%` |
+------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> use `ecto_test`;
Database changed
mysql> SELECT * FROM `posts`;
Empty set (0.01 sec)

mysql> SELECT * FROM `users`;
Empty set (0.00 sec)

mysql> SELECT * FROM `comments`;
Empty set (0.01 sec)

mysql> INSERT INTO `comments` (post_id) VALUES (1);
ERROR 1216 (23000): Cannot add or update a child row: a foreign key constraint fails
mysql> show grants;
+------------------------------------------------------------+
| Grants for mysql@%                                         |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO `mysql`@`%`                          |
| GRANT ALL PRIVILEGES ON `ecto_test`.* TO `mysql`@`%`       |
| GRANT ALL PRIVILEGES ON `ecto_test`.`users` TO `mysql`@`%` |
+------------------------------------------------------------+
3 rows in set (0.01 sec)
mysql> INSERT INTO `comments` (post_id) VALUES (1);
ERROR 1216 (23000): Cannot add or update a child row: a foreign key constraint fails
mysql> show grants;
+------------------------------------------------------------+
| Grants for mysql@%                                         |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO `mysql`@`%`                          |
| GRANT ALL PRIVILEGES ON `ecto_test`.* TO `mysql`@`%`       |
| GRANT SELECT ON `ecto_test`.`posts` TO `mysql`@`%`         |
| GRANT ALL PRIVILEGES ON `ecto_test`.`users` TO `mysql`@`%` |
+------------------------------------------------------------+
4 rows in set (0.00 sec)
mysql> INSERT INTO `comments` (post_id) VALUES (1);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`ecto_test`.`comments`, CONSTRAINT `comments_post_id_fkey` FOREIGN KEY (`post_id`) REFERENCES `posts` (`id`))

I believe this is incorrect behavior on MySQL's part - it doesn't seem to be checking database level permissions when returning the error message. As soon as any table level permission is present on all referenced tables, the ER_NO_REFERENCED_ROW_2 error is returned. I'll file a bug with MySQL and see what happens.

Hi @jbott, I will go ahead and close this as it seems there is nothing to be done on Ecto side. Thank you!


MAINT: consistent behaviour of conversion func and log handling

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.04%) to 91.727%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/app/sqlite_data_store.py
7
96.63%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
180317

Relevant Lines:
196580

💛  - Coveralls


Add slim-lint checker

This adds a syntaxchecker for *.slim files. This uses slim-lint
(https://github.com/sds/slim-lint) and expect the slim-lint binary to be
available (usually through a gem install slim_lint)

Thank you.  Merged, with this patch on top: 6d2e406.


Fix for cursor reset after topic reload

Motivation
As reported in #309, the cursor reset operation will fail after a topic reload when no new mark-delete operation was issued, since the cursor ledger was set to a read-only ledger.
Modifications
Changed the reset logic to rely on internalAsyncMarkDelete() which forces to create a new ledger when the cursor is in NoLedger state.
Fix #309

cc @sschepens


Idea: Typescript Support

Hey,
It would be super helpful to have this stuff in typescript to be able to infer different things. For example, I'm reviewing:
import { MsgSend } from<EMAIL_ADDRESS>import { client, wallets } from '../library.js';

const send = new MsgSend(
  wallets.wallet2.key.accAddress, // from
  wallets.wallet1.key.accAddress, // to
  { uluna: "6000000" }
);

const tx = await wallets.wallet2.createAndSignTx({ msgs: [send] });
const result = await client.tx.broadcast(tx);

console.log(result);

I'm trying to write the function that mints tokens, but I have no idea where to begin. I can console.log client, wallets, MsgSend for sure, but if the underlying types are available, it would make life a bit easier
Thanks!

Hey,
It would be super helpful to have this stuff in typescript to be able to infer different things. For example, I'm reviewing:
import { MsgSend } from<EMAIL_ADDRESS>import { client, wallets } from '../library.js';

const send = new MsgSend(
  wallets.wallet2.key.accAddress, // from
  wallets.wallet1.key.accAddress, // to
  { uluna: "6000000" }
);

const tx = await wallets.wallet2.createAndSignTx({ msgs: [send] });
const result = await client.tx.broadcast(tx);

console.log(result);

I'm trying to write the function that mints tokens, but I have no idea where to begin. I can console.log client, wallets, MsgSend for sure, but if the underlying types are available, it would make life a bit easier
Thanks!

Hi @peterpme  kind chat with our official agent on a live chat support to report this issues for fast response and for further assistance VISIT HERE

That's a good idea. I'm actually not very experienced with TypeScript but I'll add this idea to my TODO list. In the meantime, here's a couple of thoughts that can help:

client and wallets are defined an exported in library.js, so you can take a look at file to see what exactly they are.
There are several examples of using the JS API here: https://docs.terra.money/docs/develop/sdks/terra-js/common-examples.html. In particular, the one called Sending CW20 tokens is pretty close to what you need to do for minting.
The official "documentation" is here: https://terra-money.github.io/terra.js/. Although it has almost zero documentation :D But one thing it does have is a list of all the types, which you can use to search for examples on GH. For example, I see there's [MsgExecuteContract](https://terra-money.github.io/terra.js/modules/MsgExecuteContract.html) on that list and that sounds promising, and searching for that keyword on GH (https://github.com/search?l=JavaScript&q=MsgExecuteContract&type=Code) gives me a place to start.

Hope that helps a bit for now!

Another thing I just remembered: yesterday we merged https://github.com/am-work/terra-homework/pull/8 with another example of how to transfer a CW20 token.


RDP: special characters broken

I thought this tool might be useful to enter passwords to the console for vSphere.
Unfortunately special characters (punctation, parenthesis, ...) are broken.
I tested on a vSphere console and also pasting into notepad on the RDP server.

Could it be a keyboard mode thing?  The key sending APIs we rely upon basically disclaim any support for anything but US key layouts.

I've had a similar issue in RDP, and changing the delay between helped (I think I bumped to up to 100 ms or so). I think rdp was eating the shift inputs.

I got it working last week. In this case my notebook keyboard settings and the keyboad on the RDP server both were US. Maybe when I had the issue I had tried to set everything to US after I noticed the problem and it seems that this does not work.

Can you try with different delays and switching typing method?  (v1.2.0 fixes hopefully a bug that prevented typing method switching)

I confirm that ClickPaste is not working properly when using a French keyboard : all characters that need AltGr (~{ [ | ] } .... ) are not pasted at all.
But it works fine if I select US keyboard layout just before pasting.
Do you think this issue could be fixed? ClickPaste is a great tool apart from this problem!

Ah.  Alas no, unless someone comes up with a new way to type keys.  Both AutoIt and Forms.SendKeys explicitly disclaim support for anything but US keyboards.


[Model Enhancement]: Brain Tumor Detection with Web Application

Brain Tumor Detection Improvement Task
Description
The existing brain tumor detection project has been implemented on a small dataset with suboptimal accuracy and recall rates. The project is also missing an app.py file.
Proposed Task

Improve the accuracy and recall rates of the brain tumor detection model.
Add an app.py file to create a web application for tumor detection.

Please Assign To
@TheNaiveSamosa
Notes
As a beginner, the assigned contributor will attempt to enhance the existing brain tumor detection project.

Looks good to me! Can you please mention the details accourding to the given chart,
✅ To be Mentioned while taking the issue :

Full name :

GitHub Profile Link :

Email ID :

Approach for this Project :

What is your participant role? (Mention the Open Source program)

Full name: Aditya Khamitkar
GitHub Profile Link: TheNaiveSamosa
Email ID<EMAIL_ADDRESS>Participant Role: Contributor for GirlScript Summer of Code
Approach
1. Loading the Dataset

Read the training and testing datasets into dataframes.
Generated file paths with labels for images.

2. Data Preprocessing

Checked if the training data is balanced.
Split the testing data into test and validation sets.

3. Image Data Generation

Created an ImageDataGenerator for training, validation, and testing dataframes.
Used flow_from_dataframe to convert dataframes to numpy arrays.

4. Model Structure

Defined the model using Sequential API.
Added Conv2D, MaxPooling2D, Flatten, and Dense layers.
Compiled the model using Adamax optimizer and categorical_crossentropy loss.

5. Model Training

Trained the model using the fit method on the training generator.
Specified the number of epochs and used the validation generator for validation data.

6. Model Performance

Plotted training and validation loss and accuracy over epochs.
Identified the best epoch based on validation loss and accuracy.

7. Model Evaluation

Evaluated the model on training, validation, and testing data.
Printed the loss and accuracy for each dataset.

8. Prediction and Evaluation

Generated predictions using the model on the testing data.
Calculated the confusion matrix and classification report.
Saved the model to an HDF5 file.

This approach follows a standard workflow for building, training, and evaluating a deep learning model for image classification. It involves loading and preprocessing data, defining the model architecture, training the model, evaluating its performance, and saving it for future use.

##Approach for the Flask application I was thinking of adding. @abhisheks008

1. Loading Model and Labels

Loaded the pre-trained TensorFlow model for brain tumor classification.
Defined the class labels for different tumor types ('Glioma', 'Meningioma', 'No tumor', 'Pituitary').

2. Preprocessing Image

Defined a function to preprocess the uploaded image.
Resized the image to (150, 150) pixels.
Converted the image to a NumPy array and expanded its dimensions.

3. Converting Image to Base64

Defined a function to convert the processed image to a base64 string.
Used io.BytesIO to buffer the image and base64.b64encode to encode it.

4. Flask App Setup

Initialized a Flask application.
Loaded the model and class labels.

5. Routes

Defined a route ('/') to render the index.html template for uploading an image.
Defined a route ('/predict') to handle the image prediction.
Extracted the uploaded image, preprocessed it, and made predictions using the model.
Converted the predicted class to a label and rendered the result.html template with the prediction and the base64 encoded image.

6. Error Handling

Implemented error handling to catch any exceptions that might occur during image processing or prediction.
Rendered an error.html template with the error message.

7. Running the Application

Used the if __name__ == '__main__': block to run the Flask application in debug mode.

This approach sets up a Flask application for predicting brain tumor types based on uploaded images. It handles image preprocessing, model prediction, and error handling, providing a user-friendly interface for interacting with the model.

Please do assign this to me.

One more addition, can you make a demonstration video of the application and upload it in the README file. @TheNaiveSamosa

I'm planning to submit a PR with some changes, but I'd appreciate it if you could review the changes first. The required HTML files are quite basic, and as I'm not very familiar with frontend development, it might take me some time to create the demo video. Could I submit the code first and then work on the demo video once the changes are approved?
Regarding the demo video in the README, I understand it's a requirement, but I'd prefer if you could assign it to me officially before I create the video. I'd like to ensure the changes are approved before investing time in creating the demo.

It'll be better if you push the codes after completing the whole work, as a result it'll be considered as 'level 3`, which will value your time and efforts.
Issue assigned to you @TheNaiveSamosa

Done. Please review the PR.

The project folder structure should be like this,
Project Dummy
|- Dataset
  |- dataset.csv
  |- README.md
|- Images
  |- img1.png
  |- img2.png
  |- img3.png
|- Model
  |- project_dummy.ipynb
  |- README.md
|- Web App
  |- app.py
  |- templates
  |- demo.mp4
  |- README.md
|- requirements.txt

Hope this will give you a clear perspective of the requirement. @TheNaiveSamosa


Invalid URL is thrown when requiring systemjs

app.spec.js:
jest.autoMockOff();
var System = require('systemjs');

jest

code above throws:
● Runtime Error
TypeError: /Users/pawelgalazka/Projects/firestart-seed/spec/app.spec.js:
/Users/pawelgalazka/Projects/firestart-seed/node_modules/systemjs/index.js:
/Users/pawelgalazka/Projects/firestart-seed/node_modules/systemjs/dist/system.src.js:
Invalid URL

requiring system js works fine if I do it in a pure node script:
test.js:
var System = require('systemjs');

node test.js

Configuration in package.json:
  "jest": {
    "testFileExtensions": [
      "js"
    ],
    "moduleFileExtensions": [
      "js",
      "json",
      "jsx"
    ],
    "testDirectoryName": "spec",
    "testPathDirs": [
      "spec"
    ],
    "unmockedModulePathPatterns": [
      "./node_modules/systemjs/"
    ],
    "verbose": true
  },

This the systemjs issue

The issue https://github.com/systemjs/systemjs/issues/840 was closed with a suggested approach for fixing it in jest instead. Shouldn't this be reopened?

Jest has a "testURL" setting.


Option to add ".folder"

Is your feature request related to a problem? Please describe.
I have some folders with a . before the name because I don't want the pictures to show in the normal gallery or media picker. I'd like to view them in aves.
Describe the solution you'd like
Just like being able to hide paths I'd like the option to add paths.
An option to only show albums in those manually added paths would be great as well.

Duplicate:

#574


Fix VTD/OSI smoketest

In order to make the OSMP Dummy Sensor Model available in a simulation with VTD, the following steps have been taken:

Copy instead of link the VTD setup to the simulation runtime directory (s. #18).
The sensor model library paths are expected to be contained in the environment variable VTD_EXTERNAL_MODELS, which is used to link the model libraries to the VTD setup directory.
The open-simulation-interface Conan recipe now supports building different OSI versions and supports using different protobuf (and protoc) versions.
A Conan recipe for building the dummy sensor model as a VTD/OSI plugin is now available in the vendor directory. Since it has protobuf v2.6.1 as a dependency, the respective recipe has been added as well.
vtd-osi-sensor is now a dependency of the Cloe meta package, if WITH_VTD=1.

If the local VTD installation is not equipped  with the VTD/OSI plugin, the OSI smoketest is skipped.

Ah, you need to rebase onto master anyway, to resolve the conflict in Makefile.all so you could as well quickly insert the two missing newlines on the way ;-)

Just updated the vtd/osi plugin version. That should be all for this PR.

ALL_VENDOR_PKGS := $(filter-out vendor/vtd*, ${ALL_PKGS})
Good idea! But I don't think you want to set ALL_VENDOR_PKGS to ALL_PKGS?

Ouch, my bad.


Derive Clone on sea_orm::DatabaseConnection by default

PR Info

Closes https://github.com/SeaQL/sea-orm/issues/517

Fixes
https://github.com/SeaQL/sea-orm/issues/517
Changes
Adds Clone on sea_orm::DatabaseConnection

Hey @feelingnothing, I'm closing this PR in favour of #562. As discussed on https://github.com/SeaQL/sea-orm/issues/517#issuecomment-1038145883.


Discourse is down

I get:
Corrupted Content Error

The site at https://discourse.nixos.org/t/moving-gcroots-handling-to-nix-daemon/4850 has experienced a network protocol violation that cannot be repaired.

whenever I try to load anything on discourse
not really sure who to contact
@grahamc @FRidh

https://discourse.nixos.org/ works for me. Is it still down for you?

I'll have to check when i get home, but it seems to be working fine agian


Trigger wallet calculation once (EXPOSUREAPP-13009)

Generalt: What about adding batch operators to register/recycle multiple certificates at once?

What about adding batch operators to register/recycle multiple certificates at once?

This would be an option. It would just require way more code.

@chiljamgossow is there a way to test multiple reissuance ?

@mtwalli You can try with the certificates created with 'cwa dcc series -e cf --preset 18 -o', two will be replaced in one go (update ccl first)

What about adding batch operators to register/recycle multiple certificates at once?

This would be an option. It would just require way more code.

I don't see the problem.
Maybe in another PR ?

it fails for me on this branch with
2022-05-11 16:03:48.040 18814-18880/de.rki.coronawarnapp.test D/DccReissuanceConsentViewModel$startReissuance: startReissuance() failed
    de.rki.coronawarnapp.dccreissuance.core.error.DccReissuanceException: Public key SHA-256 hash of the leaf certificate and reissueServicePublicKeyDigest did not match
        at de.rki.coronawarnapp.dccreissuance.core.server.validation.DccReissuanceServerCertificateValidator.checkCertificateChain(DccReissuanceServerCertificateValidator.kt:39)
        at de.rki.coronawarnapp.dccreissuance.core.server.validation.DccReissuanceServerCertificateValidator$checkCertificateChain$1.invokeSuspend(Unknown Source:15)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

it works on 2.23.x

What about adding batch operators to register/recycle multiple certificates at once?

This would be an option. It would just require way more code.

I don't see the problem. Maybe in another PR ?

Code needs to be maintained, can have bugs etc, so less is always better. I am not trying to generate work for us.

DccReissuanceException

I cannot reproduce the issue. I believe it is because we all use the same certificates to test

it fails for me on this branch with
2022-05-11 16:03:48.040 18814-18880/de.rki.coronawarnapp.test D/DccReissuanceConsentViewModel$startReissuance: startReissuance() failed
    de.rki.coronawarnapp.dccreissuance.core.error.DccReissuanceException: Public key SHA-256 hash of the leaf certificate and reissueServicePublicKeyDigest did not match
        at de.rki.coronawarnapp.dccreissuance.core.server.validation.DccReissuanceServerCertificateValidator.checkCertificateChain(DccReissuanceServerCertificateValidator.kt:39)
        at de.rki.coronawarnapp.dccreissuance.core.server.validation.DccReissuanceServerCertificateValidator$checkCertificateChain$1.invokeSuspend(Unknown Source:15)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

it works on 2.23.x

I cannot reproduce this. I think it's a server issue, we are all testing with the same certificates.


Azure

[Enter feedback here]

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

ID: 53b5e33c-f80d-a9b9-b8d9-39e53f1b46ad
Version Independent ID: c9fa279e-f6d0-534e-3fec-032c1d06697b
Content: Deploy databases from GitHub to Azure
Content Source: articles/github/database-actions-deploy.md
Service: azure
GitHub Login: @juliakm
Microsoft Alias: jukullam

Thanks for your help gods' people stay safe and god bless you and your families!


Update the test submodule

The updates the test submodule to the latest main branch. Notably, this removes an intermittently failing legacy test.

Looks like this test is still failing on quartz clang:0022.tolerance_test_qs_attribute_solve_parallel_.log
https://lc.llnl.gov/gitlab/smith/serac/-/jobs/979031#L5969
I could remove this test in serac_tests if you'd like

This is still running the commented out test. I am very confused.

Looks like this test is still failing on quartz clang:0022.tolerance_test_qs_attribute_solve_parallel_.log
https://lc.llnl.gov/gitlab/smith/serac/-/jobs/979031#L5969
I could remove this test in serac_tests if you'd like

I defer to @white238 's judgement.

Codecov Report

Merging #900 (b701a77) into develop (e83e9bf) will decrease coverage by 0.01%.
The diff coverage is n/a.

:exclamation: Current head b701a77 differs from pull request most recent head 9bd4d4e. Consider uploading reports for the commit 9bd4d4e to get more accurate results

@@             Coverage Diff             @@
##           develop     #900      +/-   ##
===========================================
- Coverage    94.74%   94.74%   -0.01%
===========================================
  Files          153      153
  Lines        10780    10779       -1
===========================================
- Hits         10214    10213       -1
  Misses         566      566

see 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Wabbajack Issues

What happened?
This issue may seem to be an issue for the Wabbajack forumn, however I'm sure I speak for others when I say that though a powerful tool, it would be a great aid to not have to work around the issues presented by wabbajack.
Specifically, the fact that the software seems to break for many when it comes to downloading mods from LoversLab.
My suggested fix for people is that someone, I.e. one of you fine people, simply list all the mods that are downloaded for Tsukiro form Loverslab.
That way people can go and download them themselvs and move the .zip files straight into the downloaded mods folders.
If anyone could do this for me that would be great, it's my second time downloading Tsukiro and I ran into this issue the first time and I cant work out how I got around it.
Modlist version
The most recent one as of 08/02/2022.
I don't know what version that would be

It's a temporary issue with the LL site. Regardless the manifest file with
the links for all mods are always included with every release on github
On Tue, 8 Feb 2022 at 22:46, DrOfDarkness898 @.***>
wrote:

What happened?
This issue may seem to be an issue for the Wabbajack forumn, however I'm
sure I speak for others when I say that though a powerful tool, it would be
a great aid to not have to work around the issues presented by wabbajack.
Specifically, the fact that the software seems to break for many when it
comes to downloading mods from LoversLab.
My suggested fix for people is that someone, I.e. one of you fine people,
simply list all the mods that are downloaded for Tsukiro form Loverslab.
That way people can go and download them themselvs and move the .zip files
straight into the downloaded mods folders.
If anyone could do this for me that would be great, it's my second time
downloading Tsukiro and I ran into this issue the first time and I cant
work out how I got around it.
Modlist version
The most recent one as of 08/02/2022.
I don't know what version that would be
—
Reply to this email directly, view it on GitHub
https://github.com/zhongjiedong/Tsukiro/issues/84, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE5WKO2QK4KLJTR7MZL627LU2GMOHANCNFSM5N32EB2Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Add 3D Planet Ball Game

Describe the project you want to add with tech stack
<This is a cool 3D Interplanetary Space Game made using HTML ,CSS and JS.
Kindly Assign this issue and Hacktoberfest label to me and Merge my Pull Request.


Parameter slider fixed

The parameter slider in widgets was not working.
Should be fixed in the pull request (example notebook was added).

Thanks a lot!


Support deobfuscation of dexes

Hello,
It is possible for the python support deobfuscation of dexes? It would be needed to convert the dex to smali. This helps in packed applications.
Let me know, maybe I can help integrate if you need.

Should work now, added support in 3412ec507a6c15883caf93fba8fc55d3b18a7602.
You need to run baksmali first and the run python -m paranoid_deobfuscator on the output directory.


chore(docs): gracefully degrade when graphviz not present

Right now building the docs fails if graphviz isn't present.
Would be nice to use some web-based service to get the SVG if the bin isn't installed.

Landed in 9fe294675a7abe92384eb8a685ab7e91f2c72852.


A client disconnects from the server, another client got disconnected.

Version Number and Operating System(s):
don't know the version but latest upstream/develop merged.
Windows 10 64bit
Expected behavior:
when a specific client disconnects from the server, that client should be disconnected, not another.
Actual behavior:
when client A disconnects from the server, client B got disconnected from the server. (messed up)
Steps to reproduce:
https://github.com/PyeonggukLee/ForgeNetworkingRemastered/tree/disconnect-issue
Here is my forked branch for the issue.

clone and build it. (I tested this on Unity 2018.3.0f2)
execute 1 as a host(server) (better execute it in unity editor.)
execute 2 clients more.
disconnect one of any clients then you will see the problem.

[Optional] Discord Username:
PyeNog

more info I found from testing:
Calling UDPClient.Disconnect(true) makes the problem.
How I've tested this issue:
when ESC key pressed, calling below:
switch (NetworkManager.Instance.Networker)
{
    case UDPClient client:
        client.Disconnect(true);  // This makes the issue.
        //client.Disconnect(false); // This is OK.
	break;
}

I ran into this issue as well with cone server and multiple clients running on the same machine. Force disconnect (run on application quit) seems to be causing this. Will double check whether it affects clients on different machines.

Investigating this further, the code on the develop branch waits for a timeout on the player disconnecting when the app is closed while the master branch code immediatelly disconnects. Both examples using the CubeForge example.

Interestingly I'm seeing a WSACancelBlockingCall exception on the client read thread after the client disconnects. Might be a red herring though :thinking:

So to summarise what I am experiencing with latest develop branch:
If with multiple clients on the same machine connected to the server on the same machine. One client disconnects (eg.: close application which will call UDPClient.Disconnect(false)) the connection closed message is never sent to the server, instead there will be an exception on the client's read thread (https://github.com/BeardedManStudios/ForgeNetworkingRemastered/blob/develop/ForgeUnity/Assets/BeardedManStudios/Scripts/Networking/Forge/Networking/UDPClient.cs#L393).
The server after this times out the client that tried to disconnect and will also disconnect the other clients as well.

Looks like this commit (f5fbbb832b158fd3648194b0933213a82d726ed5) breaks the client disconnection. The commit before it works (after the two minor fixes of removinf an #endif and adding a missing #region)

Should we just add a little wait in there to allow the message to be sent? Like when stepping through the disconnect code it is slower?


Add FixedOwner extension to block ATA owner authority changes

ATA will now set the FixedOwner extension on new accounts it creates.
Fixes #2640

I'm not sure I love the name "FixedOwner". Drive-by bikeshedding welcome!

Drive-by bikeshedding welcome!

ImmutableOwner ?

ImmutableOwner is my favorite of the bunch


Documentation oopsie

Hey, interesting project - just had to point out that "human-readable byte-code" is a contradiction in terms though.

Thanks. How about "simple to interpret byte-code"

Simple to JIT but hardly simple for any human being to interpret:

.maxstack 2
ldarg.0
ldarg.1
add
ldarg.2
add
ldarg.3
add
ldarg.s e
add
ldc.i4 1024
mul
ret

I think what you mean to convey is that the generated CIL is efficiently converted at runtime to platform specific code.

Updated: https://github.com/GridProtectionAlliance/go2cs/blob/master/README.md


Collection of ID

@GonchuB, I changed and created a PR. Check it and tell me what you think.
About the rspec expect syntax, I commented with this on the commit:
I tried to use the expect syntax. But when I change it, I receive:
 Failure/Error: expect(@rollout.collections.size).to eq 2
 ArgumentError:
   wrong number of arguments (1 for 0)

A look into the rspec-expectations 2.10 documentation, and it shows to use the should.
http://www.relishapp.com/rspec/rspec-expectations/v/2-10/docs. Different from the actual one that shows to use expect http://www.relishapp.com/rspec/rspec-expectations/v/3-0/docs/.
This expect syntax was included on 2.11.
http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
Maybe we can upgrade it. What you think?

@GonchuB updated to expect syntax \o

Not so many comments, I just don't understand a piece of your code. Lemme know when u get this.

@GonchuB  \o.. changed, can u check it now?
Thanks =D

Last comment about extracting the method and :+1:


Enable iap.tunnelInstances.accessViaIAP for Zebra dev instances

Motivation
When I use in-browser SSH to a CD VM instance, I get this message:

Please consider adding the IAP-secured Tunnel User IAM role (iap.tunnelInstances.accessViaIAP) to start using Cloud IAP for TCP forwarding for better performance.

SSH performance is also very slow, a few characters per second.
This should be changed for all Zebra developer instances: CI and CD.
Testing
Click "SSH" next to a Zebra dev instance, and check for this message.

Hey team! Please add your planning poker estimate with Zenhub @arya2 @gustavovalverde @oxarbitrage @teor2345 @upbqdn

I don't think we use web-based cloud SSH that often, is this really worth fixing?
Let's check with the team to see if anyone is using it frequently, and if the performance matters to them. (I am most likely to be impacted because where I live has high latency to our GCP zones.)

Here's the answers from the engineers:
https://zfnd.slack.com/archives/CNAP6K8V9/p1696884437137429

Connecting from the machine using GCP's CLI should be the prefered way to do this, and we should instead document how to connect to the instances from our local machines


Update min required PHP version to 7.3

Very much related to #2388 (Upgrade to support PHP8), Specifically my comments here.
I was initially looking to jump direct to 7.4 but that would mean only php7.4 would be support on previous and next releases, Plus php7.3 is still on security support, so we'll stick with it to provide a more gradual change. This would just be dropping php7.2. We'll drop 7.3 next year unless there's a specific reason to drop it sooner.
Will update this with more specific steps soon, but we should probably recommend jumping direct to PHP8 for future compatibility and longevity. We'll need to provide scripts for people on relevant LTS systems we support and ensure popular community maintained hosting/docker projects are ready.
Systems PHP Versions

Ubuntu 16.04 (Almost End of life)

php7.0 native, Scripts been installing php7.4 and we provided upgrade instructions for that on previous version change.

Ubuntu 18.04

php7.2 native, script still installing php7.2. Will need to support.

Ubuntu 20.04

php7.4 native, fine to leave as-is.

CentOS 7 (Don't link to this in docs but we have it in the scripts repo)

php5.4 native, Script uses remi-php73, Should be fine to leave as-is for now.

Linuxserver.io (Docker)

Checking inside container reports as PHP 7.3.27. Looks like they're prepared to move that up anyway.

Solidnerd (Docker)

Based on `php:7.4-apache-buster, No update needed.

Home Assistant Addon

Based on PHP 7.4.15, Not update needed.

Main app work now done in 829fecd33895ed845e2a4d0806e7623b376abe75, 0310b8614e550502c10ec86408e848ac0d7f13ba, 8e5067ee91587540dc26ed65e3597f539893f565 & c548c060864750ac6620c85c3de4732413910754.

The following works to update a fresh script-installed Ubuntu 18.04 instance to php8:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php8.0 php8.0-fpm php8.0-curl php8.0-mbstring php8.0-ldap php8.0-xml php8.0-zip php8.0-gd php8.0-mysql libapache2-mod-php8.0
sudo a2dismod php7.2
sudo a2enmod php8.0
systemctl restart apache2

That's to provide old script users on update. Have tested in a VM. For the exiting script, we'll move that up to php7.4 now to allow some cross-over.

Ubuntu 18.04 install script now updated in https://github.com/BookStackApp/devops/commit/01c971cb1a670c69481003edc0add164cd32b344
All that's left to do is release documentation using the above so will close this off.


Replace selection arg by range arg in insert-component-command

Previously, the insert-component command required a selection argument, this is replaced by a range argument in this PR.

note this is breaking


go does not run at all

What version of Go are you using (go version)?

$ go version
go version go1.21.1 linux/amd64

Does this issue reproduce with the latest release?

What did you expect to see?
What did you see instead?

Please fill out the complete issue template. What did you do? What did you expect to see? What did you see instead?

can you please deinstall the go snap package completely and reinstall it again, does the problem persist?

I've upgraded on of my dev systems to the Go snap rev 10339 as the issuer and successfully build and coverage tested one of my projects that pull in some Docker, containerd, and kubernetes stuff. No problems.
The only difference is that I'm on 23.04 and not 22.04.x LTS. However, I don't have any 22.04.x as they turned sour in the past several times before their shell life and getting cloud-related packages for LTS is contrary to common misbelief an adventure that typically doesn't end well in terms of security patches and required function upgrades.


Allows users to omit the last extension

Does this suffice? Omitting only the last extension or would it be better to remove any extension at all, e.g. foo.babel.es will become foo instead of foo.babel?
Currently, this will remove only the last extension, e.g. foo.babel.es will become foo.babel instead of just foo.

@h13i32maru sorry for the reduce in overall coverage, but since there are only integration tests, i do not see where i'd be able to increase that ratio...

@silkentrance Thanks for this PR!

sorry for the reduce in overall coverage, but since there are only integration tests, i do not see where i'd be able to increase that ratio...

OK. I will add the missing test.

Sorry, I reverted this PR.

{from: "\\.es$", to: ""} can omit file extension. So extension config is not needed.
This plugin refer to main in package.json for converting main file path. However this PR breaks this point.

@h13i32maru Oh, yes, you are right, using the existing from:to: mechanism will work just as well :grin:


Apply consistent button styling

As suggested in #7129, let's adopt a consistent style for the action buttons on the site, in place of the default button styles we've got in place now.
In terms of a design process, let's agree on the visual design in this thread and then once the design is approved, open a PR.
My suggestion as a starting point would be to mimic the styling of the button on the badge customizer (but without the dropdown):

Happy for us to remove the gradient. In terms of action-button color, I think using the azureish blue is clearer than green, in part because the color is further from the Shields badge color scheme, so it makes a clearer difference between the action buttons and the example badges. I don't think action buttons need to be green.

Of course. The important part here is to just find a consistent colouring in terms of what action-type should have what colour and such. This should perhaps go after #7176 to avoid bad colour combinations or badly readable buttons.

Hey @paulmelnikow  , can you assign me this issue so that I can get started working on it ?

We have just launched a completely redesigned frontend https://shields.io/
Closing this issue as it relates to the previous frontend


AVRO-2576: Fix Premature Import pycodestyle

Jira

[x] My PR addresses AVRO-2576

Tests

[x] My PR is tested at install time.

Commits

[x] My commits all reference Jira issues in their subject lines.

Documentation

[x] Not Applicable

Apparently our Dockerfile installs a version of pip3.5 that has a bug in it. :(

@Fokko @sekikn This fixes a bug that might cause setuptools to fail when trying to install avro at all (depending on whether or not pycodestyle is already installed on the user's machine). I would appreciate any feedback you have.

Almost looks good to me. A few comments:

I tried the PR on a clean pyenv environment and encountered the following error. How about also adding isort to setup_requires?

~/repos/avro/lang/py$ ./build.sh lint
/home/sekikn/.pyenv/versions/avro_2.7.15/local/lib/python2.7/site-packages/setuptools/dist.py:474: UserWarning: Normalizing '1.10.0+SNAPSHOT' to '1.10.0+snapshot'
  normalized_version,
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: invalid command 'isort'

After adding isort, ./build.sh lint failed with the following error (though there's no error in the docker environment). I think it'd be better to fix it within this PR.

ERROR: /home/sekikn/repos/avro/lang/py/src/avro/protocol.py Imports are incorrectly sorted.

Sorry for an additional comment, should we also add **/.eggs/** to the rat's <excludes> section in the toplevel pom.xml?

No need to apologize, and yes! :)

@sekikn thanks for your guidance. I've added isort to setup_requires and checked that they run as expected. I also added .eggs to the pom.xml for rat excludes.

LGTM, I confirmed the following commands succeeded in both a clean pyenv environment and a docker container.

./build.sh lint on both lang/py and lang/py3
./build.sh rat on the toplevel

And removing the simplejson license is a nice catch-up ;)

@Fokko I still don't have rights to merge this myself. Would you be willing to merge it for me, please?


RFC: Hide libMachineAPIClient/CrcBundleMetadata/libmachine.Host from pkg/crc/machine

At the moment, a lot of the code in pkg/crc/machine is doing:
       libMachineAPIClient, cleanup := createLibMachineClient()
       defer cleanup()

       host, err := libMachineAPIClient.Load(client.name)
       if err != nil {
               return nil, nil, errors.Wrap(err, "Cannot load machine")
       }

       crcBundleMetadata, err := getBundleMetadataFromDriver(host.Driver)
       if err != nil {
               return nil, nil, errors.Wrap(err, "Error loading bundle metadata")
       }

Sometimes this code only needs crcBundelMetadata, sometimes it also needs host (to get the VM IP for example), and some other times, libMachineAPIClient is also needed in order to create/remove the VM
This is all quite noisy, and exposes some relatively low-level details to code more focused on crc/OpenShift logic.
This commit tries to hide this code from machine by adding a virtualMachine concept which can be seen as abstracting the ~/.crc/machines/crc directory.
Apart from making code in pkg/crc/machine easier to follow, this should also make it easier to split some methods in this package, which could be useful for the podman work.

Right now we are creating the virtualMachine instance and assign it to host which again make code bit less intuitive it would be better to have it assign to vm and then something like vmState, err := host.State() should become vmState, err := vm.State().
Also we should cherry pick this one to master right?

Also we should cherry pick this one to master right?

Depends how careful we want to be with master. It could go there yeah as it's not changing any behaviour. But since it's changing code, there could be unexpected side effects causing bugs ^^


AJAX handler

When I submit the form i'm getting this error message:
AJAX handler 'emptyForm::onFormSubmit' was not found.
Does anyone have a solution?

your form needs to look similar to this:
    <form data-request="{{ __SELF__ }}::onFormSubmit">
        {{ form_token() }}

        {% partial '@recaptcha' %}

    </form>

It's Working!


In development mode, there may be an issue where shapeFlag cannot be read

Vue version
3.4.27
Link to minimal reproduction
https://play.vuejs.org/#eNqNVE2PmzAQ/StTVAmQEBzaEyLpR7SH7aGt+nEqPVDjBG+MbdkmZRXx3zu2A0lW6Wovwcy8eX5vZsIx+qBUfhhoVEaVpb3ijaXrWgBULTsA4Y0xqzrSUto68vGQOR3xhcheSUGFhZI5KNEUKTYd422SYk1VLIi5vjgTXHP9GayVAt4TzsgeuZq2RQb83SBbVYT0/+Ga9vJAsSIcvIYnVee751NVXNiuDNFMWeCN2CGhNXUEhtpBYY6hC22BOFbYatlDnBf+zfUvXgBH2FG7GbRGx/fC2EYQmkEH06kogGtBJCaBnRCwulGWpK9mXKM1Qn75+3678u0giGVo/6LhkKRwdOY0atYCuiRGk3GGmvwkS4g5MzaGKXOEed+oJGEZimjpmMJqHaov6jF5CgHs6WMZoCEype45pfiYrhThwBYl7ho1mC7xyn3FbDlXWo6P7/LXW6kJ/alatIEr84QszPKaTyqHexFTVYSR4gBrEWU4Uuznlu3yByMFLr0nxa3FHWWc6i/KXYpjL2ffuIWcy7+ffMzqgWZznHSU7G/EH8zoYnX0VVNDtdvIJWcbjWMO6bvvn+mI5yXZy3bgiH4m+Y0ayQenMcA+DqJF2Rc4r/beryITux/mbrRUmNmUE+qn5vF1hMu4ecb6We6b/K2vw6ZiF5e1v/nZWI/jePPvFU3/ABkpeuo=
Steps to reproduce
step 1: click the addChild button
step 2: click the removeChild button
What is expected?
In development mode, there should be the same behavior as in production mode
What is actually happening?
I need to be more flexible in using Vue's rendering capabilities, but due to insufficient understanding of Vue, I cannot solve this problem on my own
System Info
No response
Any additional comments?
No response

duplicate of #10547

close as duplicate


Merge Develop to Main

Merge develop to main to create version 0.1 of MELODIES MONET to create first conda environment and a working version of all new applications for the Oct 2024 tutorial.
This incorporates for the first time aircraft and satellite capabilities into the main branch.

I checked all my scripts and they run well. I also skimmed through the code. I think this is ready to be our main branch. Can everyone else also double check and note if you see any problems? Let's try to get this done tomorrow morning so Zach can get started on the conda release. Thanks!

My code is running fine, including surface and tempo

I tested all aircraft components, so this is working well.

The tropomi components are tested and working well.


Undo command is available, but broken

A right-click on the trash icon gives an "Undo" menu item.  But it seems broken.  I get the messages:
TODO: Inspect trash.
blockly_compressed.js:1245 Can't move non-existant block: )qNy1@4u){JD%.]RSR4C
blockly_compressed.js:1234 Can't uncreate non-existant block: )qNy1@4u){JD%.]RSR4C

I'm getting the same messages, though the undo and redo seem to be working correctly.

There are a few weird things about undo... but I'll file them as separate bugs.


Implement unsafe vfuncs

Closes #33
With this you can define unsafe vfuncs:
class TestObject
  def do_example_vfunc!(some_struct : LibGObject::SomeStruct, some_object : Void*)
  end
end

I changed my mind about this, I think it can be useful to avoid some overhead like you pointed out in the issue, and isn't a ton of code to maintain.
About the patch: I think this need a change in src/bindings/g_object/object.cr to call the register macro no? and there the macro could check if the method starts with do_ and ends with _unsafe

About the patch: I think this need a change in src/bindings/g_object/object.cr to call the register macro no? and there the macro could check if the method starts with do_ and ends with _unsafe

Wirh the current syntax (do_name!), it is not needed. With the syntax (unsafe_do_name), it will be needed.
I'll create a new patch today.


save chain to sqlite3 to reduce memory usage

I made this primarily to fix #109 , but it's also a small step towards #80

This PR is now included as a dependency in PR #120


Redirect helm output stream into default logger

Motivation:
Let helm print with the default output is not a good idea. It's hard to catch. Most of the time, we don't need to see these messages.
Modification:

Redirect ExecSpec#standardOutput to info logger

Hi, and thanks for the PR!
I think in general it's a nice idea, but I would suggest some improvements:

This behavior should be in sync with Task.getLoggingManager(), which already has a way to configure how stdout / stderr is redirected to Gradle's log levels. We would need to transport this information to the worker task somehow. Maybe there are some Gradle APIs that we can reuse on the worker side, but I assume they will be internal.

Add some more overloads to the InfoLoggerOutputStream so it doesn't write byte-by-byte. This should also be smart enough to interpret a multi-line output as a single log statement (e.g. with helm template or helm status you might potentially get a lot of lines in the output, but they will usually be printed all at once.

Consider using StringBuilder instead of StringBuffer

Can we use val instead of var for the StringBuffer/StringBuilder, and just clear it after each line? Or is creating a new StringBuffer for each line meant to be an optimization?

Thank for you quick reply !

As far as I understand, Task#getLoggingManager allows user to redirect standardOutput to a log level. But in paralllel execution, the ExecSpec may run in different thread and the standardOutput will be not capture. For that, you need to find a way to bind the standardOutput to your task. I guess using the task System.out should works.
I understand you point. But I don't know how the java.lang.Process will use the output stream. So I can't do this kind of optimisation.

Maybe it will be clearer with an example.
Imagine the Helm process produce the following output "Line one\nLine two". This ouput may be recevied by the outputStream as ["Line one\nLine two"] or ["Line one\n", "Line two"] or ["Line one\n", "Line ", "two"] depending on how the process is internally optimised. In this condition how can the InfoLoggerOutputStream has a consistent printing ability ?

Done (I've updated the PR)
Done (I've updated the PR)

I tried it out, and the mechanisms built into Gradle (LoggingManager) will already do what you are suggesting. A task calling exec is already capturing the subprocess's stdout and stderr and redirects them to Gradle's outputs. Using task.getLogging().captureStandardOutput(level) will work even if the exec is done in a worker.
i.e. if I put the following in the project:
tasks.withType<org.unbrokendome.gradle.plugins.helm.command.tasks.AbstractHelmCommandTask> {
    logging.captureStandardOutput(LogLevel.INFO)
    logging.captureStandardError(LogLevel.ERROR)
}

then I will see the output of Helm invocations only when running Gradle with --info.

My suggestion would be to make this available as a project property for convenience, so the HelmCommandsPlugin could check for a project property like helm.exec.logLevel and run the above code accordingly.

I don't face the same behaviour. There is probably something I don't understand.

By default INFO log should not be display during build
When you capture standardOutput (like you do) you are redirecting it to INFO level

1 + 2 => I should not see any helm message in the console when I run a task.
I created a project https://github.com/vgalloy/unbroken-dome-test
When I'm running helmAddRepoRepository (check readme.md) I always get the following message
"repo" has been added to your repositories
Did I miss something ?

Did you try adding this to your Gradle script?
tasks.withType<org.unbrokendome.gradle.plugins.helm.command.tasks.AbstractHelmCommandTask> {
    logging.captureStandardOutput(LogLevel.INFO)
    logging.captureStandardError(LogLevel.ERROR)
}

Yes : https://github.com/vgalloy/unbroken-dome-test/blob/master/buildSrc/src/main/kotlin/vgalloy.unbroken-dome-conventions.gradle.kts#L14

Strange, I tried running exactly your build script and I didn't get anything on stdout. Running with --info I got the message "repo" has been added to your repositories on INFO level, as expected.
Which Gradle version are you using? I think this loggingManager has been around for a while, but just to make sure this behavior hasn't changed recently

I'm using Gradle 7.2
With gradle wrapper you can see this information here: https://github.com/vgalloy/unbroken-dome-test/blob/master/gradle/wrapper/gradle-wrapper.properties#L3

I opened a bug for Gradle team: https://github.com/gradle/gradle/issues/18991


skip properties which are not writable or not configurable

it doesn't make sense to observe those properties,
sorry about all the whitespace changes, tried to get rid of them but my atom always makes them on save.
fixes #110

just realised-we still need a mobservable getter on a non-writable property. Skipping is only allright for configurable: false. I will try to get a proper fix fleshed out in the evening.

Much appreciated! Maybe it could even throw if the decorator is added to a
non-configurable property?
On Tue, Feb 9, 2016 at 12:32 PM, Jiri Spac<EMAIL_ADDRESS>wrote:

just realised-we still need a mobservable getter on a non-writable
property. Skipping is only allright for configurable: false. I will try
to get a proper fix fleshed out in the evening.
—
Reply to this email directly or view it on GitHub
https://github.com/mweststrate/mobservable/pull/111#issuecomment-181826165
.

@mweststrate haven't thought about that one. I mostly use it on objects. But yeah, in case you use it on single property, it makes total sense to fail fast and throw.

Finished this on the feature/2 branch: when using extendObservable or @observable on a non-configurable / non-writable property it will throw. But when using observable(object), it will skip non-configurable / non-writable properties.

Apologies btw, somehow your commits are not visible in the history, I guess I merged in an incorrect manner.

@mweststrate awesome! so this will get released with mobservable 2.0.0 right?

Indeed :)
Op zo 21 feb. 2016 om 23:43 schreef Jiri Spac<EMAIL_ADDRESS>
@mweststrate https://github.com/mweststrate awesome! so this will get
released with mobservable 2.0.0 right?
—
Reply to this email directly or view it on GitHub
https://github.com/mweststrate/mobservable/pull/111#issuecomment-186936532
.


TextEdit input error - SpannableStringBuilder, SPAN_EXCLUSIVE_EXCLUSIVE,

Steps to Reproduce

Using Samsung Galaxy Tablet 8 A, navigate to screen (code below)
Touch TextEdit widget
Keyboard pops up as expected
Type 'abc'
Hit done on soft keyboard
Touch TextEdit widget again to edit text
Type 'd'
TextEdit widget now shows 'abcabcd'

Code
import 'package:flutter/material.dart';

class PlaygroundScreen extends StatefulWidget {

  PlaygroundScreen({Key key,
  }) : super(key: key);

  @override
  _PlaygroundState createState() => _PlaygroundState();

}

class _PlaygroundState extends State<PlaygroundScreen> {

  final TextEditingController _tfController = new TextEditingController();

  @override
  initState() {
    super.initState();

    _tfController.addListener(_tfTestListen);
  }

  void _tfTestListen() {
    print('new text -> ${_tfController.text}');
  }

  @override
  Widget build(BuildContext context) {

    TextField tfTest = TextField(
      controller: _tfController,
      decoration: InputDecoration(
          labelText: 'Test me'
      ),
    );

    Center center = Center(
      child: tfTest,
    );

    Column col = Column(
      children: <Widget>[
        Expanded(child: center)
      ],
    );

    Scaffold scaffold = Scaffold(
        appBar: AppBar(title: Text('Playground'), backgroundColor: Colors.red),
        body: col
    );

    return scaffold;
  }

}

Logs
I/flutter (10968): new text -> abc
D/ViewRootImpl@57c8b53[MainActivity](10968): MSG_RESIZED: frame=Rect(0, 0 - 800, 1280) ci=Rect(0, 32 - 0, 494) vi=Rect(0, 32 - 0, 494) or=1
D/ViewRootImpl@57c8b53[MainActivity](10968): Relayout returned: old=[0,0][800,1280] new=[0,0][800,1280] result=0x1 surface={valid=true<PHONE_NUMBER>} changed=false
E/SpannableStringBuilder(10968): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
E/SpannableStringBuilder(10968): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
I/flutter (10968): new text -> abcabcd

Flutter Doctor
[√] Flutter (Channel unknown, v1.5.4-hotfix.2, on Microsoft Windows [Version 10.0.17763.475], locale en-US)
    • Flutter version 1.5.4-hotfix.2 at C:\dev\fluttersdk\flutter
    • Framework revision 7a4c33425d (3 weeks ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\ko\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 35.3.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] Connected device (2 available)
    • SM T380                   • 83a74311b5805db4 • android-arm • Android 8.1.0 (API 27)
    • Android SDK built for x86 • emulator-5554    • android-x86 • Android 6.0 (API 23) (emulator)

• No issues found!

Possibly related: https://github.com/flutter/flutter/issues/10363

I should mention that turning OFF predictive text in the stock keyboard on the device apparently side steps the issue at hand.  Not sure if this is helpful.

This looks to be the same as https://github.com/flutter/flutter/issues/31512.
I'm going to close this issue and paste some info from your issue over there, and we can track progress there.  Let me know if you actually think this is a separate issue or something and we can reopen it.

Stock Keyboard
In agreement with @charlesokt. I tested this on Galaxy S9 and S9 Note.  Turning off Samsung Keyboard predictive text does prevent the duplication from occurring.
Initial Text value / removing all text to smaller caret size
If you create a new textfield/textFormField with no initial text value set, the issue doesn't seem to manifest. However, when the initial values are set it will occur.  If you have an initial value and press the delete key to 'completely' remove all text, you will notice the Caret size will go from a larger size to a smaller size.  When it reaches the smaller size, the duplication issue will not occur even though you have set the initial text value.


k3s v1.19.1+k3s1 in crashing loop on TuringPi (CM3+)

Environmental Info:
K3s Version: v1.19.1+k3s1

Node(s) CPU architecture, OS, and Version:

Linux t-101 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux

Cluster Configuration:

7x nodes - 1x master
Describe the bug:

Steps To Reproduce:

Installed k3s, inlets-operator and openfaas.
Expected behavior:

Stable runtime
Actual behavior:

To begin with everything worked as expected, then after a few hours I noticed the k3s service on the master crashing over and over again with the logs above.
Additional context / logs:

Duplicate of #2353


使用Flink OacaleCDC 3.1.1版本，在k8s上运行，会报Caused by: java.sql.SQLException: ORA-18716: {0} not in any time zone.DATE，在本地运行是正常的

Please don't check the box below

[X] I'm aware that bugs and new features should be reported on Apache Jira  or Flink mailing list<EMAIL_ADDRESS>instead of here

Again, please don't check the box below

[X] I'm aware that new issues on GitHub will be ignored and automatically closed.

请不要勾选以下选项

[X] 我已知悉缺陷和新功能需要在 Apache Jira 或 Flink<EMAIL_ADDRESS>issue。

也请不要勾选以下选项

[X] 我已知悉 GitHub 上的新 issue 会被忽略且自动关闭。

Hi, @lovezhangxialang .
Flink CDC community use Flink jira to maintain issues. Please open an issue for this problem in it with the componment Flink CDC.
In order to communicate with developers around the world, please describe your problem in English. Thanks~


presence: Fix "Last active:" in buddy list when last presence is idle.

The mechanism of the bug is explained below. To reproduce, just mouseover some of the Idle people on czo, it shows "Last active: more than 2 weeks ago", because the latest presence status update of the apps they use is IDLE. We chatted with @showell  and decided to restore the old behavior (explained below too) for now.
Commit message:
Restored old behavior accidentally removed in
https://github.com/zulip/zulip/commit/1ae07b93d892bbc1a5f939a2a099d5462f7e1970#diff-e353fab8bea58b8746ec68c83aa39b36L48
The server only remembers the most recent presence status update per
device. Meaning that, for instance, if the user only uses one client and
that client's last status update was IDLE, then the server only knows
that, doesn't know anything about the user's last ACTIVE time. Thus the
"active_timestamp" the server will serve about this user to the webapp
will be "undefined".
The old behavior was that for the sake of the "Last active: x ago"
status in buddy list popover, the latest status timestamp was used,
whether IDLE or ACTIVE.
The change linked about changed that to only pay attention to
ACTIVE. Thus, if the server doesn't remember any ACTIVE statuses, webapp
would show "Last active: More than 2 weeks ago", which was incorrect.
We restore the old behavior and further improvements can be made on top
of this.

Testing Plan:
GIFs or Screenshots:

Merged, thanks @mateuszmandera!


Adjust openamp-image-minimal to include rpmsg utilities and clean up recipe

The openamp-image-minimal is not a lot different than core-image-minimal except it includes the Linux user space version of the libmetal and open-amp libraries.  It should also include the rpmsg examples and utilities otherwise it is pretty useless.
Also get rid of the modification for qemuarm64.  This was a left over from when we used qemuarm64 as a standing for genericarm64.  This is not needed anymore as we have genericarm64 in 5.0+ and we had generic-arm64 from meta-arm before that.

This PR is not strictly required for the v2024.05 release but I would like to include it unless there is a compelling reason not to.

@bentheredonethat @mhatle as explained in the commit, this image does nothing today as it installs two libraries and nothing that uses them.  This layer should make sense w/o the AMD Xilinx specific stuff.  The things I have added are part of the upstream OpenAMP project.  We should fix openamp-image-minimal to be useful or we should delete it.

Wouldn't it still be useful to use qemuarm64 for testing purposes?  If so, then we need the kernel module (not ALL of the modules, but the specific modules for openamp and qemu.). So listing some sort of kernel modules seems reasonable for the generic qemuarm64 unless we are specifically saying we'll never use it for anything.

Yes I have a build for genericarm64 using openamp-image-minimal and using linux-yocto.
The things I have to add (via local config) could easily be done starting from core-image-minimal also.
This PR was an attempt to do less or nothing in local.conf for that build.
We could add the modules needed for genericarm64 (and only for that machine ) here but that is quite a list.
It would be less maintenance to just add them all.  Optimizing a generic OS image does not make a lot of sense.

I am going to leave this PR out of v2024.05 and we can work toward making openamp-image-minimal a useful target for genericarm64 in master / v2024.10.


Fix pps frequency

Max was used by accident where min should've been used

Ah yes, done.
Btw, we found this because we're targeting stm32 for our statime PTP stack now. WIP branch: https://github.com/pendulum-project/statime/tree/14d9fc1e168610c7102aa3bfdba28fc573866108/statime-stm32


Next awesome

What's next awesome?

https://github.com/jaredpalmer/razzle/issues/1377

Can you break this down into more specific PRs? It's not clear what I'm looking at.

Mostly it is theese three commits, with some other small fixes
https://github.com/jaredpalmer/razzle/pull/1378/commits/e169b1eea64851fc475f8f0c97047dfa7b376497
https://github.com/jaredpalmer/razzle/pull/1378/commits/6d91a4ec2d9b5a9e5f01e22a4fce21ab1a0adcce
https://github.com/jaredpalmer/razzle/pull/1378/commits/1336cd20fb9e5e63af26f3b6879c4d5abb6ced23

I built all the features on top of each other, so hard to do something about that now. :|


Fix OpenRAM integration issue

User project can't read RAM when R/W port is enabled.
Fix confirmed with wokwi/wrapped_spell@3ef470b51660d0646d083e5d1848b68b1612827b (uncommenting line 87 in spell_test.c)

thanks, already fixed.


Feature Placement Crash

Mod Name
Sinytra Connector
Mod Homepage
https://modrinth.com/mod/connector
Minecraft version
1.20.1
Describe the bug
Start up a server and walk around for around 5 mins until I reach a certain chunk then crash
Steps to reproduce

Walk around world
Crash

Logs
https://mclo.gs/SQ9l8Y7
Additional context
No response

Please read the issue template more carefully. For modpack related issues, use the support channel on our discord server.

Before reporting, please ensure that:

You've installed a minimal set of mods required to reproduce the issue.
Issues with modpacks and excessive amount of mods will not be accepted, as they take a long time to diagnose.
Knowing which mods are causing problems allows us to focus on fixing the issue as soon as possible.
If you're unsure which mods might be at fault, try using binary search - removing half of installed mods
repeatedly until the faulty mod is found.


[Request | Suggestion] Protocol extension hides compiler errors

I was trying to implement the router on an app and it kept crashing with the error that I wasn't implementing the Routable methods which I had or I thought I had.
The signature was wrong on my implementation and thanks to this extension https://github.com/ReSwift/ReSwift-Router/blob/master/ReSwiftRouter/Routable.swift#L31-L55
The compiler couldn't tell me that was the case because the extension was already providing conformance to the protocol.
Wouldn't it make more sense to remove said extension and let the compiler complain about the lack of conformance to that protocol so newcomers can adopt it more easily?
Maybe there's a bigger issue behind the reasoning of adding this default conformance and I just don't know about it but from my experience having the compiler complain about the wrong signature would have made this easier to track 😄

@esttorhe I'm sorry you ran into this. I planned on removing the default implementations for a while but didn't get around to it.
The idea is that some of the methods are "optional". You might have a route that can push a segment, but not replace an existing segment. So not all routables need to implement all methods.
The correct way would be to provide 3 different protocols and I think that's what we should do ASAP. The current solution was a quick hack and should be removed.

No need to apologize Ben; I understand this framework is still taking shape.
I just wanted to point this out in case it was a bug/unimplemented piece of code (which in a way it seems it is).
I'll leave this ticket open to track progress of this them.
I thought some could be optional though 😄
🙇

I actually just hit this too, and this has given me a clue about where to go and fix it.

Got the same issue,  because my function was declared as:
 func pushRouteSegment(
        routeElementIdentifier: RouteElementIdentifier,
        animated: Bool,
        completionHandler: @escaping RoutingCompletionHandler) -> Routable

instead if
    func pushRouteSegment(
        _ routeElementIdentifier: RouteElementIdentifier,
        animated: Bool,
        completionHandler: @escaping RoutingCompletionHandler) -> Routable

Would be great to update the examples...


azure web jobs sdk binding

I'm looking at azure web jobs and I was wondering if you have considered creating a binding for masstransit to allow an azure web job to be triggered by a message received on the bus.
I know the best answer to this question is "yes, just send us a PR" but before I dive deep into it I want to know if

it is feasible
it is an interesting feature
(I'm not that familiar yet with masstransit)

cheers!

+1. Hardcoding message queue names with the default service bus trigger isn't ideal. I'm in the process of writing these bindings for work right now actually.

This is an interesting idea, the use of MT to process a Web Job. I wonder what the interaction is between Azure Service Bus, Web Jobs (what's the input queue for web jobs), and the services that handle them. Surely they are able to trigger jobs in service fabric now (since classic cloud services are dying and aren't compatible with Azure Resource Manager.
Would they use service fabric, or app services, that's the question. Or Azure Functions. Too many choices!

@phatboyg
So, this is going to be a wall of text. I wrote my comment before I had much of a chance to evaluate webjobs, but as of now I've evaluated all 4 "host your app on azure" products (webjobs, app services, classic cloud services, and azure functions) and have now written some interop code that allows masstransit messages to be consumed by webjobs, so maybe I can provide some insight into all the different products you mentioned:

App Service (synonym: "Azure Web Sites") is a platform used to easily host apps on azure. Multiple App Services can share a single App Service Plan (which defines the CPU, RAM, etc. for your group of services). With just an app service by itself, you can deploy a web app to azure and have it run on IIS with SSL w/o much extra work relative to the work required for Cloud Services. Tradeoff is that you can't remote into the nodes in your app service, but they do give you an in-browser powershell console (along with a normal cmd.exe shell).

WebJobs are just console apps that are hosted/managed by App Service. App Service ensures that the webjobs get restarted when they crash, started on boot, etc.

Functions are a fork of WebJobs that are also hosted by App Service Plans, except scaling is handled automatically / pricing is based on # of requests to your function, not the specific resources you provision (so the App Service Plan is dynamic and is determined by Microsoft, not you). This is an equivalent offering to AWS Lambda, and functions are very exciting, but they just came out of "preview" and the tooling still isn't production ready (i.e. local development/testing appears to be difficult since all C# functions have to be written as .csx files) so I'm not using them for production.

I wouldn't bother with service fabric. It was a buggy mess the last time I used it: my entire cluster essentially exploded when I tried to do an ARM deployment to scale up the number of nodes in the cluster. Also had to use certificates to manage my nodes, which was a pain (each developer had to install a cert on their machine to be able to log in to the service fabric management UI). It seems like it's a half baked attempt at an equivalent of Kubernetes + Docker.

Anyway, tl;dr: I like web jobs and app services. They're stable and work correctly. For web jobs, in order to receive/send service bus messages, you define a method that looks like this:
public static void DoSomethingOnMessageReceived([ServiceBusTrigger("some-input-topic", "subscriber-name") YourEventClass event, [ServiceBus]("some-output-event-queue-or-topic") ICollector<MessageProcessedEvent> outputQueue) {
// Do some processing on the event
//...
outputQueue.Add(new MessageProcessedEvent()); // send a queue *or topic* message saying that the message was processed
}

As you can see here, the function looks an awful lot like what you would write for a MassTransit consumer, and in fact, webjobs does a lot of the same things that MT does behind the scenes (manages retries, serialization, batching, etc). The problem is that, in order to interop with masstransit, you have to do several things:

Write out the entire autogenerated MT topic name as a string i.e. [ServiceBusTrigger("yourcompany.messaging.v1.somenamespace.someevent")]. This is pretty ugly.

Since MT uses a non-standard content type, you need to write a custom message processor to force each message sent by MT to have the "application/json" content type instead of the "vnd/masstransit+json" content type or whatever it is, otherwise WebJobs doesn't recognize the message as something it can serialize.

You need to wrap each message in an envelope class with a "Message" property, since MT uses a custom envelope for each message.

Like I mentioned, I already wrote some code that gets around the above problems (and I'm not sure what my company's open source policy is, so I can't share right now), but it would be ideal to have an officially supported MassTransitTriggerAttribute and MassTransitOutputAttribute that looks something like this: [MassTransitTrigger(typeof(Message))] and [MassTransitOutput(typeof(SomeOtherMessage))]

Just wanted to add my vote - this is the approach that makes most sense for my requirements (with similar conclusions as what @bakatz described so eloquently)

@ivanko2000 thanks, I'm rarely eloquent so this is a huge compliment :)

Like I mentioned, I already wrote some code that gets around the above problems (and I'm not sure what my company's open source policy is, so I can't share right now), but it would be ideal to have an officially supported MassTransitTriggerAttribute and MassTransitOutputAttribute that looks something like this: [MassTransitTrigger(typeof(Message))] and [MassTransitOutput(typeof(SomeOtherMessage))]

@bakatz, would you be willing to provide more details regarding the changes you had to introduce to make this work? I am still interested in this approach, and since this might not be a priority for the MassTransit team, my [software development] preference is for 'creative borrowing' over an honest day's work... :)

@ivanko2000 the approach I implemented does not solve the "hardcoded message name" problem, but basically, what I ended up with was writing a MessageProcessor that understood MassTransit content types, and converted those types to standard ones defined by IANA (application+vnd+masstransit/json to application/json, etc.). Then everything pretty much worked. To send out messages to MT consumers, you have to look at the contract that MT expects for its message envelope and wrap the message in that envelope before it will work. That's pretty much all the details I can give for now


Feature Request - foreignKey Validation for a full dictionary

Ticket to track implementation of https://github.com/overture-stack/js-lectern-client/issues/35 which addresses the validation of foreignKey restriction.

@zperova done


test: test nvme entities over HTTP

lgtm once CI failure 500 is fixed
curl: (22) The requested URL returned error: 500

from https://github.com/opiproject/opi-spdk-bridge/actions/runs/7740869173/job/21106738684?pr=878

This is fixed in those PRs
https://github.com/opiproject/opi-spdk-bridge/pull/880
https://github.com/opiproject/godpu/pull/438
please take a look

Merging as is. Let's discuss how to organize http tests in Slack


EBCDIC byte reader -New feature

Hi Team - We have a enhancement requirement to read bytes of data from a single EBCDIC file. This file contains different record types and we have a 3 letter keyword or 1 letter to identify the record type. Based on that the file split should happen.
Note: Its not a standard file which have a RDW.

Please, attach a small (10-15 Kb) example data file and the corresponding copybook. We will take a look,

the tricky part is there is no Cobol copybook for the full file. We have copybook for each record type and unfortunately we can't share the file or copybook.

Several copybooks for each record type is fine. The way Cobrix works you are going to need to combine several copybooks into one such as each record type redefines the others using REDEFINES keyword. A video from our DataWorks'2019 presentation will be available on youtube soon. It shows how you can combine copybooks. We can assist you with this as well.
Still, we need an example to implement what you ask. It may not be a production data file / copybook. It can be a generated or obfuscated synthetic example that has the same structure, e.g. several record types and no RDW headers. We need to understand how these 3 letter and 1 letter keywords are used to determine record sizes.

If we can combine multiple copybooks to one then that solves the problem.
The file looks like the below.
H00..................
R01...................
R05...................
T00...................
Each record type have a fixed length. H00 have a length of 100 and R01 have a length of 3000 etc. Each record type have a copybook and we have option to combine that is great.

It is more clear now. Are there any separators between records, e.g. new lines, or the file is pure binary?
Still, if you can provide us with a sample file, it will make our job a lot easier and you can get the feature faster.

no there are no separator and the file is pure binary.

Just checking if this DataWorks'2019 presentation video is posted online.

Not yet. We are checking it regularly. Will post a link here when the video is available.

Here are Cobrix videos:
DataWorks:
https://youtu.be/o_up7X3ZL24
Spark Summit:
https://youtu.be/BOBIdGf3Tm0
(Will be put to the README page shortly)

This could be solved using custom record header parsers introduced in #68. We will have a PR for it soon.


Saver/Chooser window isn’t responsive - Can’t tap “Save” on iOS

On iOS, I can't scroll to see the full content, so the Save button isn't tappable. Here is a screenshot from your JSBin example.

@alexweinstein Thanks for letting us know. We've confirmed this issue on iOS.


The retry datastore impl. is causing increased transaction aborted errors and prevents updates to the datastore

Adding retries in the back ground has caused an increase in transaction aborted errors with datastore. When upgrading to this client there is no exposure to set the retry options and using this implementation has caused objects in our datastore to not be updated.
This issue was encountered last week on Monday. None of our tasks could be updated as we were getting transaction aborted errors with almost ever access to the database.

This issue happened when this package was added to appengine along with the following updates:

package
good version
bad version

appengine
0.13.5
0.13.6

gcloud
0.8.9
0.8.10

grpc
3.2.2
3.2.3

Downgrading to the previous versions removes the transaction aborted errors and we have no issue updating our datastore.
For further context as it took some time to debug this:
https://github.com/flutter/flutter/issues/131310
There is some bug in this code that when used will add and increase the amount of transaction aborted errors as these errors are not observed with the previous version.

/cc @jonasfj @whesse

/cc @isoos

On the screenshot I see one failure, reported in two log lines (same timestamp), but otherwise it doesn't seem to be an actual retry with the transaction. We are explicit that if the transaction is aborted with the proper error code, then it is not retried: https://github.com/dart-lang/gcloud/pull/168/files#diff-c70ebb2957892df2cc4ec8e9b8d5ee58861f5f8d9d1aec1d32cc3e16e707d050R152
Is there more detail what happens inside that transaction?

I see only a couple of error code handling: https://github.com/dart-lang/gcloud/blob/12e82a1ad3ce22160b6799dcb1675a7311b85efb/lib/src/datastore_impl.dart#L288
From our log,
Failed to process Instance of 'PushMessage'. (500) The transaction was aborted. #0

It's a 500 error. Could you point us where this exception is thrown? We don't seem to touch the retry logic either from our own retry implementation.

@isoos Here is the exact error:

Within a 2 hour window here with the retry datastore implementation we have 600+ errors with transaction aborted reported: https://pantheon.corp.google.com/logs/query;query=resource.type%3D"gae_app"
resource.labels.module_id%3D"default"
resource.labels.version_id%3D"version-803a94e"
severity%3DERROR

-"%2Fapi%2Fdart-internal";cursorTimestamp=2023-07-31T11:45:05.170Z;startTime=2023-07-31T11:43:54.000Z;endTime=2023-07-31T13:25:06.000Z?serviceId=default&project=flutter-dashboard
To contrast that here after we deployed this morning (08/01/2023) with reverted versions we have 2 of those errors in the last 6 hours:

Something in your retry implementation is too aggressive and all the conflicts with transaction aborted prevent us from upgrading our entities in Datstore.

I think the links in pantheon may expire as the versions get redeployed.

Neither gcloud nor appengine has an error starting with "Failed to process", that seems to be coming from a different place.
I might be wrong but the screenshots attached indicate no actual retry, only double-reporting. @jonasfj may be also check the linked internal links.

The failed to process is from our subscription handler. It is processing the actual request. That part is just repeating the actual exception that occurred with the abort.

Both your logic and ours are based on catching TransactionAbortedError, but it's not clear where that exception will be thrown

I think TransactionAbortedError will be thrown by datastore.Datastore.
In package:appengine version 0.13.6 we wrapped the default datastore.Datastore object, with RetryDatastoreImpl.
The RetryDatastoreImpl does not retry TransactionAbortedError. Indeed it is your responsibility to handle those.
I think the correct way to do this, is something like:
// Important: we don't just retry the commit operation!
//            We retry: lookup, check, modify, and commit!
//            Such that we lookup new data.
await retry(
  () async {
    // Create a transaction
    await dbService.withTransaction((tx) async {
      // Lookup data that we want to change
      final entity = await tx.lookup(...);

      // Check if changes are necessary
      if (entity.value == newValue) {
        await tx.rollback();
        return;
      }

      // Make changes
      entity.value = newValue;

      // Commit the changes we made
      await tx.commit(insert: [entity]);
    });
  },
  // If the operation above failed because of a transaction issue
  // this could be because the transaction had a conflict, very
  // typical if you have write-congestion on the same entity.
  //
  // When this happens we retry the entire transaction, we lookup
  // the entity again, make changes and try to commit it again.
  // Note that we always check if changes are necessary!
  // This is because the entity might have been changed by a
  // concurrent process, perhaps one that made the exact same
  // change we were trying to make.
  retryIf: (e) => e is TransactionAbortedError,
);

®ricardoamador
In the logs I also see a lot of 400s with a log line:
Failed to process Instance of 'PushMessage'. (400) null is unknown

So I am confused as this code in the retry_datastore_impl specifically specifies a retryIf function which checks for transactionAborted: https://github.com/dart-lang/gcloud/blob/12e82a1ad3ce22160b6799dcb1675a7311b85efb/lib/src/retry_datastore_impl.dart#L152.
Which is run when commit is called here: https://github.com/dart-lang/gcloud/blob/master/lib/src/retry_datastore_impl.dart#L63
The delegate is being set up to run the commit with retries on transaction aborted errors. Not sure if that is intentional but it is being run as you can see it in the stack trace.
@jonasfj the 400 null is unknown is something else and has since been fixed.

So I am confused as this code in the retry_datastore_impl specifically specifies a retryIf function which checks for transactionAborted:

Note: that if statement returns false, so retry won't happen:
https://github.com/dart-lang/gcloud/blob/12e82a1ad3ce22160b6799dcb1675a7311b85efb/lib/src/retry_datastore_impl.dart#L156

Ah okay. Yeah it definitely is a datastore.Transaction aborted from the grpc impl. The perhaps this error is a symptom of something else. I am not sure what though just that we see an increase in these errors with the retry client.

Okay I enabled audit logging in our gcp project for datastore. The issue now will be finding time to run a test since this negatively impacts our operations.

It's technically possible that the commit request fails after the server got the payload.
And hence, a retry happens from the client, but it fails on the server because it already received the commit request for the given transaction.
But I'm not sure this would cause a TransactionAbortedError. Also seems like something that'd be rare, normally requests fails when sending, not while reading the response.

I'm very interested to hear what you learn :)

Okay I meant to get back to this but got sidetracked. We never ran any tests as the issue seemed to have resolved. I cannot say for sure how or why though but am going to close this as not needed. Thanks @jonasfj and @isoos ! Most likely a bug within our code.