Small website visual issues

Environment
Website: https://nuxt.com/
Time: same as issue created date
Browser: Newest Chrome version
Reproduction
https://nuxt.com/modules/druxt

https://nuxt.com/modules/druxt/changelog | https://nuxt.com/modules/i18n/changelog

yarn - not pnpm? maybe only npm as native one with lock file. Only hint :)
Preview of logo: https://nuxt.com/modules/i18n

Version of nuxt to switch? (in top bar or left bar) - only hint but will be nice and welcome.
Language switch of nuxt? (probably clone but need better description - https://github.com/nuxt/nuxt.js/issues/15577 )

https://nuxt.com/docs/guide/concepts and try click "Directory Structure" -> should work as link and run redirect to first link but nothing happens

Form for agency submission don't describe what email is for what. 3x emails can be provided but no hint what emails got to public part or what will be used for communications.
Partners logo in "Silver" section is skew/disturbed and not scaled - https://nuxt.com/support/us

On right bar it isn't properly text wrap

Describe the bug
Checked and tested website for issues that normal user can find out when navigating.
Maybe they aren't too important so priority can be low for this issue.
Additional context
No response
Logs
No response

Transferring to (currently) private https://github.com/nuxt/nuxt.com repo to track there.


AccessViolationException  for Client 4.0

Hi,
When I run following code using client for .net 4.0 i am getting AccessViolationException , the same code with the same configuration for .net 4.5 client works fine.
var paymentTokenRequest = new PaymentTokenCreate()
{
Currency = "GBP",
Value = "100",
Email =<EMAIL_ADDRESS>ChargeMode = 1,
AutoCapTime = 1,
AutoCapture = "N",
Products = new List()
};
var ckoApiClient = new APIClient();
        // Submit your request and receive an apiResponse
        var apiResponse = ckoApiClient.TokenService.CreatePaymentToken(paymentTokenRequest);

An exception is thrown when httpClient does SendAsync
System.AccessViolationException was unhandled by user code
HResult=-2147467261
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Source=System
StackTrace:
at System.Net.WebRequest.InternalSetCachePolicy(RequestCachePolicy policy)
at System.Net.WebRequest.set_CachePolicy(RequestCachePolicy value)
at System.Net.Http.WebRequestHandler.InitializeWebRequest(HttpRequestMessage request, HttpWebRequest webRequest)
at System.Net.Http.HttpClientHandler.CreateAndPrepareWebRequest(HttpRequestMessage request)
at System.Net.Http.HttpClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.SendAsync(HttpRequestMessage request)
at Checkout.ApiHttpClient.SendRequest[T](HttpRequestMessage request)
at Checkout.ApiHttpClient.PostRequest[T](String requestUri, String authenticationKey, Object requestPayload)
at Checkout.ApiServices.Tokens.TokenService.CreatePaymentToken(PaymentTokenCreate requestModel)
at CheckoutSample.Controllers.HomeController.Index() in C:\Users\Marcin\documents\visual studio 2010\Projects\CheckoutSample\CheckoutSample\Controllers\HomeController.cs:line 39
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters)        at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.b__a()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException:
Any ideas?
Regards,
Marcin

Dear @marcindzwonnik
Sorry for the delay in getting back to you.
To help us replicate the issue on our side, could you please get back to us on the below points?

Are you running both the 4.0 and 4.5 clients on the same machine?
Are you on a 32-bit or 64-bit environment?

Also any additional details about your environment may help us.
Thanks


[Generator] Include Core Bot in the bot generator

Fixes #
Description

Specific Changes

Testing

Closing as it was copied to the external branch


Support for Darwin Core Archives without metafile

According to the standard, you can have a perfectly valid DwC-A without a meta.xml given that:

there's only a (core) data file
that data file has one header row
the Metadata is kept in a file named EML.xml

I tried to convert a test archive, but I got:
Traceback (most recent call last):
  File "/anaconda/envs/fdwca_pip_test/bin/fdwca", line 10, in <module>
    sys.exit(cli())
  File "/anaconda/envs/fdwca_pip_test/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/anaconda/envs/fdwca_pip_test/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/anaconda/envs/fdwca_pip_test/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/anaconda/envs/fdwca_pip_test/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/anaconda/envs/fdwca_pip_test/lib/python3.7/site-packages/FrictionlessDarwinCore/fdwca.py", line 13, in cli
    da.save(outpath)
  File "/anaconda/envs/fdwca_pip_test/lib/python3.7/site-packages/FrictionlessDarwinCore/archive.py", line 74, in save
    zf.writestr('readme.md', self.metadata.as_markdown())
AttributeError: 'NoneType' object has no attribute 'as_markdown'

In a first step, I suggest to have a more explicit error saying 'no meta.xml found'.


Add Global Nav component

Add the new Global Navigator component.
Implement the new GN. Add the Avatar, Chat, and Global Create buttons on it.
Mockup is coming...

This hasn't started yet. Will assigns a SWM engineer once they confirm that they have a capacity to take on this issue.

A SWM engineer is working on a PoC PR ⬆

Adam from SWM is working on this. I gonna assign Adam once they comment on this issue.

👁 👁

@adamgrzybowski please link the PoC PR you're working on to this issue 🙇

Working on it. Draft PR for v1 is here https://github.com/Expensify/App/pull/28277

@s77rt and @allroundexperts helped with the review of the PR that was done by an expert agency engineer (Software Mansion)
We should pay for these two, taking into considering the regression that @rushatgabhane mentioned here

Taking a look

I'm going to apply External to create an upwork job

Payment summary from here: https://github.com/Expensify/App/issues/27000#issuecomment-1774315012
Looks like we will be paying $250 to each reviewer:
@allroundexperts you can make a manual request tied to this issue for $250
@s77rt offer sent to you via upwork for $250

$250 payment approved for @allroundexperts based on comment above.


Allow for optional pspReference in response to charge, cancel, refund requests

Currently, pspReference is required in response to sync webhooks:

TRANSACTION_REFUND_REQUESTED
TRANSACTION_CHARGE_REQUESTED
TRANSACTION_CANCELATION_REQUESTED

However, if an error occurs on the Payment Provider, there's no pspReference to return. But we still want to be able to return message and result (failed).

Double verify this

Currently, we don't allow for returning the error without psp-reference. We could reduce the validation, and allow to accept the the error event without pspReference.
We have similar flow for transactionInitialize and transactionProcess.  See saleor.payment.utils.create_transaction_event_for_transaction_session as an example.
We use there saleor.payment.utils._get_parsed_transaction_action_data with psp_reference_is_optional=True,, then we make a validation if the pair (event.type + psp_referense as None) is allowed on Saleor side.
saleor.payment.utils._get_parsed_transaction_action_data is also used in implementation for processing the action-requests, so we need to have a similar implementation as in the function listed above (saleor.payment.utils.create_transaction_event_for_transaction_session).


Add an option to preserve indentation on empty lines

I'd like to request an option for preserving the indentation level on empty lines between indented code.
Use case: The preserved indentation on empty lines makes it easier to insert additional code between two existing lines without having to manually correct the indentation. I'm used to this from various editors and IDEs and I'm really missing this as an option in VSCode (which I was told uses JSBeautify as a formatter and thus cannot provide an option for it).

Any chances? This behavior is very inconvinient.

@HanabishiRecca
Most editors I know truncate empty lines on save.  Keeping the whitespace would be a more involved change from the current behavior (as it is not preserved through to where the output is generated), but making empty lines have indentation matching the current block could be done relatively easily.
This is would involve adding the option, changing the if statement below, and writing tests.
https://github.com/beautify-web/js-beautify/blob/f57eaff4deb0a66123345b1a2333fb343cebd7df/js/src/core/output.js#L163-L166
Probably a 4-8 hours of work, unfortunately I don't have time to work on this currently.  Any help you can give would be great!

@bitwiseman, but save != formatting. For example VS Code uses beautify and has auto-formatting on the fly.

Any help you can give would be great!
Ok, I will try to look for it.

@bitwiseman, check https://github.com/HanabishiRecca/js-beautify/commit/3effb435f480fe91fce4dd8cae011d8257475a5b
Tested via VS Code and Python CLI. Can't make a build because don't have linux machine for now.

@HanabishiRecca
You change looks reasonable to me. Thanks!
We'll need some tests.  Please start a PR.
The build should work on Windows and Mac (it does in CI).  What error are you seeing?

@bitwiseman, started pull request.

The build should work on Windows and Mac (it does in CI). What error are you seeing?

Bash & make requires at least linux subsystem, isn't it?

Finally I built it via WSL. Also found and fixed another bug.
https://github.com/beautify-web/js-beautify/pull/1645

@HanabishiRecca
Great thanks.
Glad you go this working via WSL.  You can also get a minimal bash on windows by installing Git for Windows.
I think option name and value needs to be modified.  We're not preserving the whitespace that was on those lines, we're forcing it to the indent level.
So, two ideas - which of these do you think is better:

indent_empty_lines (false|true) - accurately describes the behavior.  Probably good enough.
empty_line_whitespace ("none" | "indent") - This would allow us to more easily add a "preserve" setting in the future that would keep the existing whitespace as it was on the line in the input.

Finally, we need some tests.  I've added a few smoke tests to your PR take a look and try adding any others you can think of.

1st variant with shorter name is good.
2nd is too complicated because generally there is no difference between empty and non-empty lines. If you want to really "preserve" whitespaces, you need to implement another option like "ignore/keep indention" which affects whole code. Doing this to only empty lines doesn't seems to make sense.

This will be in the v1.9.1

@HanabishiRecca
https://github.com/Microsoft/vscode-html-languageservice/pull/58
We'll see if this goes into the current release or the next one.


Add Item Detail View page and Refactor ItemTable

Closes #193
Closes #124
Description

Update Character Detail Page
-- Add 'Item.index' route to CharacterDetail Page to render the Item Page through Inertia.

Refactoring ItemTable Component
-- Implement the re-usable DataTable component  into the ItemTable Component in order to move away from a hard-coded table.
-- Add 'Item.show' route to ItemTable component to render ItemDetail Page when item name is clicked.

Add Item Detail Component
-- Add CharacterItemCreateForm for the Drawer in the ItemDetail Component
-- Add ItemDetailBox Component to display Item data

Edit Database Seeder to create Items associated to existing Characters

Edit ItemController to prohibit viewing item's of a character which does not belong to the current User

@luigibesani Please let us know if you're going to address @pascwhale's comments and resolve the merge conflicts

I tried importing a character from the grod.csv we've been using as an example. The Description field should avoid rendering anything below it.
Here's an example of when I manually attach an item through a DM Entry.

The field below it is empty. Maybe we can just put the words No description to provide some kind of feedback to the user.
Also, the word DESCRPITION is misspelled.


⚠ ClamAV has degraded performance

In ee18520, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 486 ms

Resolved: ClamAV performance has improved in 487f95a.


Move middleware stack execution from router

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Thanks!


[retirements] Featured projects to retire

Retirements featured projects
URL

carbonmark.com/retire

New Design:

FIGMA

Log In Status

[ ] Logged-in only

Technical requirements / Questions

[ ] featured projects are hardcoded => YES, for version 1
[ ] featured projects are coming from Carbonmark API ??
=> additional backend work such as "add a flag "isFeaturedProject" or alike, for version 2
[ ] How to link to each retirement? Are these always seller listings? Or pool prices too? Or simply the best price of this project (no matter if from seller or pool) ?
[ ] Or rather link to the Project page instead of a single retirement so the user can decide if "retire from seller listing" or "retire from pool" ?

TODOs

[ ] On server: get the last three featured projects
[ ] Render last three  featured projects
[ ] Link each project to retirement page => URL example from a pool
[ ] Design includes a "Back to retirements" button => may be difficult to achieve

@jabby09 @sy-zygy just triple checking that these are the actual projects we want to feature. Can you confirm with drew

@ladytrekker
The featured project URL will be:

https://www.carbonmark.com/projects/VCS-1577-2015
https://www.carbonmark.com/projects/VCS-1764-2020
https://www.carbonmark.com/projects/VCS-1121-2018


facing challenges to complete dependencies of MSAL Library

being newbie in coding, i am finding it difficult to install all the dependencies required.  can you suggest simple way to install all the dependencies including MSAL library.

Register-PackageSource -provider NuGet -name nugetRepository -location https://www.nuget.org/api/v2
Install-Package exchange.webservices.managed.api -ProviderName NuGet
Install-Package Microsoft.Identity.Client -ProviderName NuGet

Hi,
I installed Microsoft.Identity.Client silently to skip the dependency because i was constantly getting error of dependency loop. Now you can see in following transcript i have Module installed,
PS C:\Users\userx\OneDrive\Common Need To Know\PowerShell\Invoke-Unarchive-main> Install-Package Microsoft.Identity.Client -ProviderName NuGet -Verbose
VERBOSE: Using the provider 'NuGet' for searching packages.
VERBOSE: Searching repository 'https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.Identity.Client'' for ''.
VERBOSE: Total package yield:'1' for the specified package 'Microsoft.Identity.Client'.
VERBOSE: Skipping installed package Microsoft.Identity.Client 4.42.1.
but when i try to run the command it gives me following error of Dll.
PS C:\Users\userx\OneDrive\Common Need To Know\PowerShell\Invoke-Unarchive-main> .\Invoke-Unarchive.ps1 -Identity<EMAIL_ADDRESS>-Credentials $Credentials -Impersonation -Server outlook.office365.com -Verbose
VERBOSE: Loading module C:\Program Files\PackageManagement\NuGet\Packages\Exchange.WebServices.Managed.Api.<IP_ADDRESS>\lib\net35\Microsoft.Exchange.WebServices.dll
VERBOSE: Loading module from path 'C:\Program Files\PackageManagement\NuGet\Packages\Exchange.WebServices.Managed.Api.<IP_ADDRESS>\lib\net35\Microsoft.Exchange.WebServices.dll'.
VERBOSE: Module Microsoft.Exchange.WebServices v<IP_ADDRESS> loaded
VERBOSE: Required module Microsoft.Identity.Client.dll could not be located
PS C:\Users\userx\OneDrive\Common Need To Know\PowerShell\Invoke-Unarchive-main>
Please help me in this case

Or you might need to run elevated (as dll's are installed in protected folder), or copy Microsoft.Exchange.WebServices.dll and Microsoft.Identity.Client.dll  to folder where script is located, might need to unblock (properties), en you can run it in regular context. You can download versions of those files from the Remove-DuplicateItems repo.

I downloaded dll's from your repo. unblocked them.. then added impersonation using exchange online permission article of yours... thats it.. Hurray... it worked brilliantly.. thank you very much


XSSFWorkbook object cannot be created from filestream due to system date format setting

NPOI Version
NPOI.2.3.0
File Type

[ ] XLSX

Upload the Excel File
Should not be file related
SE_Properties_Template.xlsx
Reproduce Steps
Opening Excel file with regional / date settings dd/mm/yyyy failed (English (Austria))
Changing date format to dd.mm.yyyy (German (Austria) is successfull
Issue Description
I'm trying to create a XSSFWorkbook object for an Excel .xlsx file like this
using (fs = File.OpenRead(filePath)) {         workbook = new XSSFWorkbook(fs);
in the line new XSSFWorkbook(fs) (File exists and filestream is open) the code crashes with the error
System.ArgumentException: '1 ist keine unterstützte Codepage.
Parametername: codepage'
When i change the systems date settings to German (Austria) dd.mm.yyyy style the object can be created.
How can i set up the initialisation, that this works with any language / date setting?

.docx? Are you sure?
thank you, corrected the mistake, obviously xlsx


Unable to use /@dnd-kit/core/dist/components/Accessibility/Accessibility.d.ts(2,13): '=' expected.  TS1005

I have not used this repo before and after a fresh install I am running into a Typescript issue on build. I have all the monorepos installed via yarn.

You're likely using an old version of TypeScript, make sure the resolved TypeScript version is ^4.0.5


Add support for java.util.logging

I tend to use java.util.logging for logging. Could you add its support ?

I never used java.util.logging. I guess, that makes me to a bad person to implement it. :)
But I like the idea and would be happy to check and changes.

The PR above will use the existing interface of ExpectedLoggingAssert, i.e. it uses hasErrorMessage when checking for log messages with level "SEVERE", because j.u.l. has no error level.
To stay withing the j.u.l. domain we could add hasSevereMessage with the same functionality as hasErrorMessage.
Using hasErrorMessage to check for a severe message could be confusing to the test reader.
Since I don't use java.util.logging either, @Riduidel , could you help here and say what you would prefer?
Bonus question: Would you remove hasErrorMessage in the assertj-logging-jul artefact?
Of course this goes for all the other methods that handle error/severe levels, too.


Custom model format breaks Models UI

Currently with, if a user specifies a model format with a custom name in the inference service manifest and deploys it, the Models UI on kubeflow will become disfunctional and not showing any model deployed under the same namespace. This has been mentioned in #46 but there has been no update.
For example,
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  name: dummy-model
  namespace: dummy-namespace
spec:
  predictor:
    model:
      image: dummy-image
      modelFormat:
        name: my-model
      name: 'kserve-container'

with a ClusterServingRuntime
kind: ClusterServingRuntime
metadata:
  name: kserve-my-model
spec:
  containers:
    image: dummy-image
    name: kserve-container
  supportedModelFormats:
  - autoSelect: true
    name: my-model

This is because PredictorType is currently hardcoded as an Enum (See here), but getPredictorType function will return the name of the model format as an Enum directly instead of checking if it's a member of the Enum first.. TypeScript does not raise an error when by default when this happens, and will return undefined, which breaks all the downstream tasks, and the logs from the web-app will not show anything related to this.
Suggestion:
Check if the model format is a member of PredictorType Enum and returns PredictorType.Custom if it's not (similarly to what we do with old predictor formats before Kserve 0.7). I believe #47 has already attempted at fixing this problem but I can also make a PR for this.
Question:
How should we make PredictorType more flexible for custom model types? Say a user has custom model types: "A", "B" and "C". Even with the above suggestion, the Models UI will still show custom for all three.

The same is happening for the sample mlflow modelFormat.
The model is getting deployed, and I am even able to inference the model, still it is not showing in the UI

I am encountering this same issue when I launch my custom defined ServingRuntime and InferenceService (https://github.com/supertetelman/nim-kserve/blob/main/nim-models/llama-2-7b_1-a100_24.01.yaml) running on build version Kubeflow v1.8.0

Raising this issue again. Everything works great but this undermines the project, as models logging for debugs (without the need to read the Pod's logs or any additional services) is quite a crucial part for small ML teams.


Refactor: Migrate to 2.0-style security policies

Very WIP; pushing up for visibility.
Closes #11211.
Closes #11252.

This currently partially works (I can log in and navigate around), but permissions are currently broken for reasons I haven't fully debugged (trying to manage projects returns a 403).

This needs a lot of testing, but the basic structure is here:

Each of session, basic, and macaroon-based authentication uses a "security policy" rather than 1.0-style AuthN APIs.

We provide a new MultiSecurityPolicy that wraps multiple security policies in a manner similar to the now-removed pyramid-multiauth. One significant deviation: MultiSecurityPolicy also handles AuthZ, but it doesn't use each policy's separate AuthZ -- instead it keeps a singular AuthZ policy internal to itself, since Warehouse only has one.

Our "identity" structure is now a dictionary with the following format:
{ "entity": entity, "principals": principals }

...where entity can be User model or any other DB model suitable for a particular AuthN/AuthZ flow, and principals is the list of relevant security principles (previously a dedicated part of Pyramid's AuthZ APIs).

I need to do a final round of local testing, but this should be nearly good to go.

This is the main blocker for #11272, which will "finish" the core functionality here (allowing a user to go from a JWT to an ephemeral API token).


Viridianforge/adjust protobuf req

Removes protobuf version top pin
Adds support for GetMessageClass if the version of protobuf installed supports it
Beginning to consider removing support for deprecated versions (Python 3.7, Protobuf 4.21 in Q1 of 2024)

@jkwayf - anything here that would disrupt your workflows? If not, I'll merge this to main and do a new version release.

Overall looks good to me! I think there are some checks you could do with the major version as only checking the minor worries me a little.


Gsutil failed: Could not capture docker logs

I get this error:
  "task-id": "task-1",     "last-update": "2018-05-09 22:38:48.000000",     "status-message": "15: Gsutil failed: Could not capture docker logs: failed to acquire logs: exit status 1",     "job-name": "run-sc-enrichment"
when trying to submit the following command:
dsub \
	--provider google \
	--project *******  \
	--zones "us-central1-*" \
	--min-ram 12 \
	--logging gs://**** \
	--disk-size 300 \
	--image gcr.io/****  \
	--tasks submit_list_CHD8.tsv \
	--script run_sc_enrichment.py

The output log (and the .stderr and .stdout) don't show any error. The script run for an hour or so and the suddently it stops.
I tried to increase disk size, but still see the same error.

Solved, this was because there was no space on the disk, but my files were saved in / rather than /mnt/data


--vm-test fails with ZFS on root after updating lock file

I have a configuration based on nixos-anywhere-examples here with the only things I've changed being:

Changed root filesystem to ZFS.
Switched to systemd-boot.
Added nixosConfigurations.vm (the same as hetzner-cloud but with disko.devices.disk.disk1.device = "/dev/vda"; to use in QEMU).

With the configuration as-is, nix run github:nix-community/nixos-anywhere -- --flake "path:.#vm" --vm-test succeeds and installing it in a QEMU guest with nix run github:nix-community/nixos-anywhere -- --flake "path:.#vm" root@<ip> also works.
However, after updating the lock file with nix flake update this is not the case. Running the update command will update flake.lock like so.
• Updated input 'disko':
    'github:nix-community/disko/0b178c0554421a6171fc8afb3fb1675511f31377' (2023-09-26)
  → 'github:nix-community/disko/bad376945de7033c7adc424c02054ea3736cf7c4' (2024-07-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e12483116b3b51a185a33a272bf351e357ba9a99' (2023-09-21)
  → 'github:NixOS/nixpkgs/9355fa86e6f27422963132c2c9aeedb0fb963d93' (2024-07-16)

Running the command with --vm-test now will result in a failure. The error output is the following.
error: builder for '/nix/store/qqg5a968s0xabipxnz3s01km3g77i321-vm-test-run-disko-nixos-disko.drv' failed with exit code 1;
       last 10 log lines:
       >     driver.run_tests()
       >   File "/nix/store/1jxaawzgwla9qf3ksnzd4a8h0b1ija5n-nixos-test-driver-1.1/lib/python3.12/site-packages/test_driver/driver.py", line 166, in run_tests
       >     self.test_script()
       >   File "/nix/store/1jxaawzgwla9qf3ksnzd4a8h0b1ija5n-nixos-test-driver-1.1/lib/python3.12/site-packages/test_driver/driver.py", line 158, in test_script
       >     exec(self.tests, symbols, None)
       >   File "<string>", line 46, in <module>
       >   File "/nix/store/1jxaawzgwla9qf3ksnzd4a8h0b1ija5n-nixos-test-driver-1.1/lib/python3.12/site-packages/test_driver/machine.py", line 611, in succeed
       >     raise Exception(f"command `{command}` failed (exit code {status})")
       > Exception: command `test -e /mnt/home/testfile` failed (exit code 1)
       > kill vlan (pid 7)
       For full logs, run 'nix log /nix/store/qqg5a968s0xabipxnz3s01km3g77i321-vm-test-run-disko-nixos-disko.drv'.

It is worth noting that installing on the same QEMU guest with the root@<ip> command still works with no errors and the guest successfully boots after the installation. Only running with --vm-test has this issue.

I've run into the same problem.   Using a disko config I know worked on both the vm-test and actual hardware as of 2023-12-20 I'm now seeing the same error as shown above, with the critical error in logs being:
vm-test-run-disko-skeleton-disko> machine # + rm -rf /tmp/tmp.Muxv79PDAU
vm-test-run-disko-skeleton-disko> (finished: must succeed: /nix/store/z8838sjswryrjg6rwy1ck2drf184s7qn-disko, in 29.34 seconds)
vm-test-run-disko-skeleton-disko> machine: must succeed: mkdir -p /mnt/home
vm-test-run-disko-skeleton-disko> (finished: must succeed: mkdir -p /mnt/home, in 0.32 seconds)
vm-test-run-disko-skeleton-disko> machine: must succeed: touch /mnt/home/testfile
vm-test-run-disko-skeleton-disko> (finished: must succeed: touch /mnt/home/testfile, in 0.30 seconds)
vm-test-run-disko-skeleton-disko> machine: must succeed: /nix/store/fv7mfyig4sv48lfggx2m6kvy6893dpd0-disko-format
vm-test-run-disko-skeleton-disko> machine # ++ mktemp -d
vm-test-run-disko-skeleton-disko> machine # + disko_devices_dir=/tmp/tmp.9HItfC04BG
vm-test-run-disko-skeleton-disko> machine # + trap 'rm -rf "$disko_devices_dir"' EXIT
vm-test-run-disko-skeleton-disko> machine # + mkdir -p /tmp/tmp.9HItfC04BG
vm-test-run-disko-skeleton-disko> machine # + device=/dev/vdb
vm-test-run-disko-skeleton-disko> machine # + imageSize=2G
vm-test-run-disko-skeleton-disko> machine # + name=main
vm-test-run-disko-skeleton-disko> machine # + type=disk
vm-test-run-disko-skeleton-disko> machine # + device=/dev/vdb
vm-test-run-disko-skeleton-disko> machine # + efiGptPartitionFirst=1
vm-test-run-disko-skeleton-disko> machine # + type=gpt
vm-test-run-disko-skeleton-disko> machine # + blkid /dev/vdb
vm-test-run-disko-skeleton-disko> machine # /dev/vdb: PTUUID="eae70d3c-a8ea-460b-b02e-14b3dfdb8ee5" PTTYPE="gpt"
vm-test-run-disko-skeleton-disko> machine # + sgdisk --align-end --new=1:0:+512M --change-name=1:disk-main-ESP --typecode=1:EF00 /dev/vdb
vm-test-run-disko-skeleton-disko> machine # Could not create partition 1 from 8386560 to 9435135
vm-test-run-disko-skeleton-disko> machine # Error encountered; not saving changes.
vm-test-run-disko-skeleton-disko> machine # + sgdisk --change-name=1:disk-main-ESP --typecode=1:EF00 /dev/vdb
vm-test-run-disko-skeleton-disko> machine # + partprobe /dev/vdb
vm-test-run-disko-skeleton-disko> machine # + udevadm trigger --subsystem-match=block
vm-test-run-disko-skeleton-disko> machine # + udevadm settle
vm-test-run-disko-skeleton-disko> machine # + sgdisk --align-end --new=2:0:-0 --change-name=2:disk-main-rootfs --typecode=2:8300 /dev/vdb
vm-test-run-disko-skeleton-disko> machine # Could not create partition 2 from 8386560 to 8388574
vm-test-run-disko-skeleton-disko> machine # Error encountered; not saving changes.
vm-test-run-disko-skeleton-disko> machine # + sgdisk --change-name=2:disk-main-rootfs --typecode=2:8300 /dev/vdb

In particular, sgdisk does not seem to be doing the right thing, creating a partition at an unusual offset, which makes me think the test is improperly clearing the block device either in nixos-anywhere or disko itself, or something has changed in the behavior of sgdisk (which updated from 1.0.9 to 1.0.10 in this commit NixOS/nixpkgs#297099 )
I'm working on trying to isolate the chain of nixos-anywhere, disko, and gptfdisk to figure out what actually broke.


OrderType.MARKET is still in supported_order_types

Describe the bug
The deprecated OrderType.MARKET is still present in multiple connectors even in refactored:
kucoin, bybit, altmarkets, beaxy, bitmex, blocktane, coinflex, ftx, mexc, ndax
When one of those connectors is set as a taker market in cross_exchange_market_making (or arbitrage strategy), a Market order instead of Limit is sent to the exchange.
Steps To Reproduce

Create XEMM
Set ByBit/Kucoin/ or other market mentioned above as a taker market
Wait for the maker order being filled
The taker order will be of OrderType.MARKET. Probably because of this bug some connectors has an error and taker order is not opened.

Release version
1.6
How to fix
Either remove OrderType.MARKET from the connectors supported_order_types,
or remove OrderType.MARKET from get_taker_order_type of exchange_base.pyx,
or both

Hi @supervik good day
We happen to have a discussion about this ticket and our team will have plans to support OrderType.MARKET to connectors on future releases. While this is confirmed to be expected, we are still working on improving Cross-Exchange-MM.
Closing this ticket for now. Thank you


results size is elasticsearch results get really total

results total is elasticsearch results total, but results size is the really count.

when i add 'size' to search dsl , i use kaminari all = A.search(xxx).page(params[:page]), i got all.total equal A.search(xxx).results.total, but it should equl A.search(xxx).size, because i use 'size' dsl to limit result from elasticsearch.

Hi @houdl I think the #total_count and #total_entries is intended to be the result set size so this change isn't necessary. Let me know if you agree.

I'm going to close this, as #total_count and #total_entries is intended to be the result set size.


Register

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/120464
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.2 -m "<description of version>" 66429e1c7875cbbd42a2169dc28e76e12d98ab42
git push origin v0.1.2

Also, note the warning: This looks like a new registration that registers version 0.1.2.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/120801
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.3 -m "<description of version>" c507351a4ea8a4b76f3c9062bf8e93737e7989b8
git push origin v0.1.3


Spotlight layout cannot be loaded with API

Describe the bug
It seems as if the "layout" argument is ignored when loading Spotlight. It doesn't load up with the right layout, but I can select "load layout" in the GUI just fine.
To Reproduce
Steps to reproduce the behavior:

Download dataset:
dataset = datasets.load_dataset("renumics/cifar100-enriched", split="all")
df = dataset.to_pandas()
df.drop(columns=['embedding', 'probabilities'], inplace=True)
Load spotlight:
spotlight.show(df, dtype={'embedding_reduced': spotlight.Embedding, 'image':spotlight.Image})
Save two different layouts
Load the layouts:
spotlight.show(df, dtype={'embedding_reduced': spotlight.Embedding, 'image':spotlight.Image}, layout="mylayout.json")
The layout is not loaded, but can be loaded in the GUI

Expected behavior
Layout should be set to saved layout
Screenshots
Desktop (please complete the following information):

OS: Linux and Windows
Browser Firefox
Spotlight Version rc10

Additional context

done


Adding one column metadata into the Stereoseq Object

I have an excel file with 118,443 rows &  2 columns.  1st column is the BinID, 2nd column is the cell type annotation. Here is an example:

I would like to add this metadata to my Stereopy object which has 118,443 bins & 37 clusters.

StereoExpData object with n_cells X n_genes = 118443 X 23162
bin_type: bins
bin_size: 20
offset_x = None
offset_y = None
cells: ['cell_name', 'total_counts', 'pct_counts_mt', 'n_genes_by_counts', 'louvain']
genes: ['gene_name', 'n_cells', 'n_counts']
cells_matrix = ['pca', 'umap']
cells_pairwise = ['neighbors']
key_record: {'hvg': ['highly_variable_genes'], 'pca': ['pca'], 'neighbors': ['neighbors'], 'umap': ['umap'], 'cluster': ['louvain'], 'gene_exp_cluster': ['gene_exp_louvain']}

I would be really glad if you could suggest me a solution.

Hi, you can do this like below:
anno = reading from the excel you mentioned as a dataframe
anno.rename({'ID': 'bins', 'CellType': 'group'}, inplace=True)
data.tl.result['anno'] = anno
data.tl.reset_key_record('cluster', 'anno')


GEODE-8657: Increase acceptance test timeout

Co-authored-by: Jens Deppe<EMAIL_ADDRESS>Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/AcceptanceTestOpenJDK11/builds/541
http://hydradb.gemfire.pivotal.io/hdb/testresult/8807821
Looking at the above failure, it does not seem like any of the tests hung. All tests were executed and completed in some fashion (either successfully or they were skipped). Acceptance tests have 1hr 30min to execute, but it seems this is not long enough due to a greater number of acceptance tests.


[bug] build script does not check for invalid or duplicate IDs

The build script does not currently check to see if an ID appears twice or if an ID does not follow our defined format, which means we could end up re-using an ID by accident or adding an invalid ID.
I think the best way would be to add a check command that validates IDs (and possibly other fields), so that we can run just the check as a CI workflow on pull requests. The compile command, which produces actual output, could either call the check first, or we can adjust the pages workflow to include a validate step before the compile step as a backstop against something sneaking in accidentally.

Related, possibly separate... we need to sort the entries according to category now that #87 is merged! Puerco and I noticed that it takes a bit of searching to make sure you're getting the right ID.
Also related, possibly separate... we should talk about (and document) what the project do with an ID in the event that an entry is deprecated or removed after an official release. It will be cumbersome to users if an ID is reused for a different entry.

Opened #94 and #96 for the points Eddie raised above.


In-source version is out of date

Looks like we missed a spot w/ the release automation

Duplicate of #1033?

Closing this issue due to age and the release of version 1 of Polymer - please feel free to re-open if this is incorrect.


<IP_ADDRESS>/24 OR <IP_ADDRESS>/24?

In docs configuration is SUBNET_PRIVATE_CIDR="<IP_ADDRESS>/24", but in https://docs.aws.amazon.com/vpc/latest/userguide/vpc-subnets-commands-example.html
say <IP_ADDRESS>/24.
aws ec2 create-subnet --vpc-id vpc-2f09a348 --cidr-block <IP_ADDRESS>/24
So <IP_ADDRESS>/24 is okay?

Yes. It’s okay. I simply chose a different network address. Still valid.


Add error summary component

Summary | Résumé
Add gcds-error-summary component to component library.
Use
<gcds-error-summary
  listen="true"        // boolean
  error-links=""      // string/object
  heading=""          // string
  sub-heading=""  // string
>
</gcds-error-summary>

Listen
Using the listen attribute will listen for the gcdsError event and generate/display the error summary list when the parent form submits.
Error-links
Use the error-links to render the error list without using event listeners. Pass a string or object formatted like the example below to render the list.
{
  "href": "Error message",
  "href": "Error message"
}

Heading
To customize the error summary heading, pass a string to the heading attribute.
Sub-heading
To customize the sub-heading, pass a string to the sub-heading attribute.

Can the error summary links scroll to the label for each field instead of the input field itself? I think that would be a slightly nicer interaction.

Good idea! I will look at adding this!


replace JWT with eth_sign

Motivation

Solution

PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Updated the changelog

Codecov Report

Merging #28 (6dfcaf2) into master (9d5e8e7) will increase coverage by 4.22%.
The diff coverage is 57.33%.

Additional details and impacted files

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
+ Coverage   24.16%   28.38%   +4.22%
==========================================
  Files          26       26
  Lines        5553     5576      +23
==========================================
+ Hits         1342     1583     +241
+ Misses       4211     3993     -218

Flag
Coverage Δ

test
28.38% <57.33%> (+4.22%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/api/v1/auth.rs
0.00% <0.00%> (ø)

src/api/v1/info.rs
0.00% <0.00%> (ø)

src/main.rs
4.41% <0.00%> (ø)

src/jwt.rs
37.83% <30.00%> (-15.50%)
:arrow_down:

src/api/v1/contribute.rs
90.00% <85.71%> (-0.06%)
:arrow_down:

src/keys.rs
89.09% <87.50%> (+50.90%)
:arrow_up:

src/util.rs
20.00% <0.00%> (+1.90%)
:arrow_up:

crypto/src/lib.rs
26.20% <0.00%> (+5.65%)
:arrow_up:

Continue to review full report at Codecov.

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


[WIP] Scripts to create pretraining dataset

This PR will have the scripts to generate the pretraining dataset discussed in #64.  So far I've implemented the dipeptides subset.  Let me know if this looks good.  @giadefa I'd especially appreciate your feedback on what conformations to include, since you have experience on pretraining with large amounts of semi-empirical data.
The script only takes a few hours to run on my laptop.  It generates about 310 MB of output data.  I estimate the complete pretraining dataset will be around 10 GB, assuming we include the same molecules as the standard dataset and the same level of sampling for the other subsets.

Get one conformation per molecule and prefer more molecules keeping the budget constant

Get one conformation per molecule and prefer more molecules keeping the budget constant

Computational budget isn't a problem.  This method is super cheap.  We can include more molecules and also lots of conformations per molecule.
Based on your experience, how large should it be, and how should we select the conformations?

Why just one?  And again, how large should the dataset be?

Rdkit is not very good to generate more than one or two. Given a certain
budget is better to have more molecules than more conformations.
Realistically training on more than 10M points starts to be problematic.
On Wed, Jun 21, 2023 at 5:19 PM Peter Eastman @.***>
wrote:

Why just one? And again, how large should the dataset be?
—
Reply to this email directly, view it on GitHub
https://github.com/openmm/spice-dataset/pull/65#issuecomment-1601039507,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3KUOXMJWAXGYAYQOWUPCLXMMGHVANCNFSM6AAAAAAZFHQULE
.
You are receiving this because you were mentioned.Message ID:
@.***>

If you're going to run MD for generating conformations, we probably do want multiple overdispersed starting points in case crossing torsional barriers is difficult. If the RDKit conformers end up being too similar, this shouldn't be too much of a problem---it's like running more MD, especially if you allow some "burn-in" equilibration before collecting samples from each conformation.
I fear the only way to optimize the selection of N conformers x M snapshots/conformer is to train some models and assess generalization. There's no real a priori way to know what is optimal here, though there are probably reasonable lower bounds (N >= 3, M > 10?).

The current code asks RDKit to generate 10 conformers.  Starting from each one, it runs MD to generate 10 conformations at each of four temperatures, for a total of 400 conformations per molecule.
@giadefa what is the problem with training on more than 10 million points?  ANI-1 has 20 million, and people train on it all the time.


python3Packages.systembridge: 2.2.1 -> 2.2.3

Motivation for this change
Update to latest upstream release 2.2.3
Change log: https://github.com/timmo001/system-bridge-connector-py/releases/tag/v2.2.3
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 145134 run on x86_64-linux 1

2 packages built:

python38Packages.systembridge
python39Packages.systembridge


Use a virtual build of attested-fetch on non-SGX.

Attested fetch can now be built in a "virtual" mode, where it runs directly on the host instead of in an SGX enclave. We can use this in our own virtual builds, instead of the previous "unattested fetch", which was implemented in Python.
Of course, despite being called attested fetch, the virtual mode lacks any kind of attestation and is not any more or less secure than the previous unattested fetch.
This makes the two environments more uniform, and removes most of the code difference in the ledger. The only difference left is that SGX builds of the ledger will check the hardware attestation, whereas the virtual mode doesn't.
As an added benefit, features that were missing in "unattested fetch", namely checking of TLS certificates and reporting HTTP errors, are now available even in virtual builds.

CI is failing:

/.pipelines/common.yml (Line: 54, Col: 11): Unexpected value 'displayName'
551

Yes, I manually went into Azure Pipelines and searched for a failed run for this branch. Unfortunately, it doesn't report YAML errors back to GitHub and just leaves it pending.


How do I display risk objectives and risk scores on MP4 videos after running demo.py with getting the .npz files?

Dear Sir, I'm a noob at machine learning.
I noticed there are some videos vividly showed in ROL Driving Scene Dataset Prediction Demo. And there are some examples of risky traffic agent localization in driving scenes dispalyed in paper.  How do I display risk objectives and risk scores on MP4 videos after running demo.py with getting the .npz files? As you showed in your video.
Sincerely

@monjurulkarim

@YangErNiu
Thank you for your interest in our work. I apologize for the delayed response.
To create a visualization similar to the one mentioned, you must first extract the frames from the video. Currently, our method supports a 5-second video, which amounts to a total of 100 frames. Subsequently, you can use OpenCV or another method of your choice to superimpose the bounding box and riskiness score onto the frames.
If you provide me with your email address, I can share the code with you. It may not be the latest version, but it will give you an understanding of the structure, and you can modify it as needed.

@monjurulkarim
Thank you so much for sharing the code with me. Here is my email address<EMAIL_ADDRESS>

@monjurulkarim
Dear Sir, I have the same issue. Would it be possible for you to share the code with me? I'm quite unfamiliar with this field, so I would be very grateful if you could share the code with me. Here is my email address<EMAIL_ADDRESS>

@monjurulkarim
Dear Sir, I also have the same issue. Would it be possible for you to share the code with me? I'm quite unfamiliar with this field, so I would be very grateful if you could share the code with me. Here is my email address<EMAIL_ADDRESS>

@monjurulkarim
Dear Sir, I also have the same issue. Would it be possible for you to share the code with me? I'm quite unfamiliar with this field, so I would be very grateful if you could share the code with me. Here is my email address<EMAIL_ADDRESS>

Dear Sir, i have the same problem,appreciate too much if you share me the plot code,my emai address<EMAIL_ADDRESS>thankyou


Use fileset for compilation database target.

With the resolution of
https://github.com/grailbio/bazel-compilation-database/issues/84
... we can now use a fileset, reducing duplication.
Signed-off-by: Henner Zeller<EMAIL_ADDRESS>

Codecov Report

Merging #928 (0142220) into master (9311fcd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #928   +/-   ##
=======================================
  Coverage   92.72%   92.72%
=======================================
  Files         316      316
  Lines       20570    20570
=======================================
  Hits        19074    19074
  Misses       1496     1496

Continue to review full report at Codecov.

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


Incorrect export of JVM_IO functions with do notation

Just add the following code to the integration tests...
`module Main
main : IO ()
main = do
putStrLn "world!"`
and tests will fail with

Time elapsed: 180.061 s  <<< ERROR! java.lang.RuntimeException: Compilation timed out.

and empty compiler.log.

Thanks for reporting. It seems like the last release package didn't have the latest idris-jvm-runtime jar. I have released a new version to fix that. Your simple program also revealed another issue with how Idris generates a main function. The main function generated for this program (main) is different when we have a non-trivial program ({runMain_0}) so the following program works as currently idris-jvm always looks for the second one. Let's keep the issue open to fix the generated main function for simple programs.
module Main

main : IO ()
main = do
  putStrLn "hello "
  printLn $ length "world!"

Thanks for your quick reaction. Might it be the case that the problem you've mentioned also occurs on FFI exports - or might this be another issue?
E.g. my program compiles fine, but during runtime, it throws an..

java.lang.NoSuchMethodError: main.Main.mouseDragged(Ljava/lang/Object;)Lio/github/mmhelloworld/idrisjvm/runtime/IdrisObject;

The generated method has signature public static IdrisObject mouseDragged(Object var0, Object var1), but the exporting class calls this function with only one argument.
public void mouseDragged() {         Runtime.unwrap(Main.call__IO((Object)null, (Object)null, Main.mouseDragged(this)));     }
But if I simplify the implementation of mouseDragged to a single putStrLn call everything works fine.
I really hope this condensed description of the problem guides you in the right direction; for now I keep short, so please don't hesitate to ask if you need more information.

Hi,
I have fixed the issue with main function and uploaded a new release. Please let me know if you still have that issue. I will look into the export issue.

Hi,
I fear the issue still exists in the newest release. To make things more clear I have attached some sourcecode; everything works if I have only one printLn in mouseDragged ; but if the second printLn is included I face error: java.lang.NoSuchMethodError: main.Main.mouseDragged(Ljava/lang/Object;)Lio/github/mmhelloworld/idrisjvm/runtime/Thunk;. I hope that's enough for you to reproduce/solve the problem, but don't hesitate to ask for more information.
module Main

import IdrisJvm.FFI
import IdrisJvm.IO
import Java.Lang
import Effect.Random
import Effect.System
import Effects

%access public export

IdrisPApplet : Type
IdrisPApplet = JVM_Native $ Class "processing/core/PApplet"

size : IdrisPApplet -> Int -> Int -> JVM_IO ()
size = invokeInstance "size" (IdrisPApplet -> Int -> Int -> JVM_IO ())

background : IdrisPApplet -> Int -> JVM_IO ()
background = invokeInstance "background" (IdrisPApplet -> Int -> JVM_IO ())

settings : IdrisPApplet -> JVM_IO ()
settings this = do
  size this 500 500

mouseDragged : IdrisPApplet -> JVM_IO ()
mouseDragged this =
  do
    printLn "mouseDragged -- 1"
    printLn "mouseDragged -- 2"  -- if you remove this line everything works

draw : IdrisPApplet -> JVM_IO ()
draw this = do
  background this 64

main : IO ()
main = pure ()

exports : FFI_Export FFI_JVM "Idris/JMain extends processing/core/PApplet" []
exports =
  Fun draw (ExportInstance "draw") $
  Fun settings (ExportInstance "settings") $
  Fun mouseDragged (ExportInstance "mouseDragged") $
  End

Right, I should have been more clear. I fixed the issue with the following program as in your original post.
module Main

main : IO ()
main = do
    putStrLn "world!"

As for the issue with the export function, mouseDragged in your program, I will have to look into this but I think the following workaround should work:
mouseDragged' : IdrisPApplet -> JVM_IO ()
mouseDragged' this =
  do
    printLn "mouseDragged -- 1"
    printLn "mouseDragged -- 2"

mouseDragged: IdrisPApplet -> JVM_IO ()
mouseDragged = mouseDragged'

The idea is to add an alias and export that function instead. I have also got this error related to exporting JVM_IO functions with do notation in the past and this workaround worked for me. Please let me know if this works for you. Let's keep this issue open to fix it properly.

Nearly - your code doesn't work because mouseDragged no longer has any parameter in its java signature.
But the strange thing is that this works...
mouseDragged : IdrisPApplet -> JVM_IO ()
mouseDragged this = mouseDragged' this

My naive expectation would have been that after the idris compiler has processed the source code, the two implementations are indistinguishable. So maybe this is even something that could be improved in idris? Nonetheless the jvm backend should cope with both notations.

I remembered something along that line. Good that it works for your case as well. This may be something we need to fix in Idris itself but I will see if we can make it work in the JVM back end.

This should now be fixed with #92.


Include machine name in default target note name

Huge thanks for this plugin. It is really going to help with user support on the Tasks plugin.
This is a slightly more simpler alternative to  #2, as it does not require adding any settings code and UI.
Scenario
I have a vault which is synced via Obsidian Sync across 3 devices.
If I have the plugin enabled on more than one of these devices, then there will be constant contention and sync conflicts between devices in the content of LOGGING-NOTE.md.
Suggested solution
Please could you consider appending the name of the device to the default filename automatically, so that users get non-conflicting behaviour out of the box.

Hi @claremacrae, thanks, that's an excellent suggestion!
Also, your thanks make me unreasonably happy. I'm a big fan of your work and now I am able to give something back, which feels really nice. 🙌🏼

Wow - thank you for the kind words!

@claremacrae Do you happen to know how to get the device name on mobile? On desktop, it's straightforward (os.hostname()) but since I can't use the Node.js API on mobile …

I’m on mobile at the moment so can’t check. Sorry.
I think if you console.log  app you might find something.
Otherwise, I might search in #plugin-dev on Discord. And then ask there.
When using Obsidian Sync, the log shows machine name in a particular format, I think. And I feel it would be good to try to use that same value, if possible.

Good suggestion, thanks! After some serious digging around in Discord, I came across this post:
app.internalPlugins.plugins["sync"].instance.getDefaultDeviceName()
Looks like it fits the bill!

OK. What happens if Sync is disabled? Worth testing with that, I feel.

This is all really interesting.
There is also a nearby post:
See above message for way to grab the Device Name that Sync is using (whether system default or specified by the user) from the Sync plugin internals 🙂
let syncPlugin = app.internalPlugins.plugins["sync"].instance;
console.log(syncPlugin.deviceName ? syncPlugin.deviceName : syncPlugin.getDefaultDeviceName());

In my case, Sync is disabled but Sync is in by default because it's a core plugin and all that. I'm certain .getDefaultDeviceName() will do the trick but over the next few days I'll poke around its source code some more.

In my case, Sync is disabled but Sync is in by default because it's a core plugin and all that. I'm certain .getDefaultDeviceName() will do the trick but over the next few days I'll poke around its source code some more.

OK great. It's not obvious from the Sync docs but it's possible for users to rename their machine for sync:

I think that code snippet I posted above would help you, if you wanted to use the user's own name, if supplied...

Oh, now I see, I misread your post, then. Yes, that's true, it should adhere to the user's preference.

Added in 1.2.0, just released. (Found some time and energy, it was a slow Sunday.)

It works great. Thank you!


Add test for thread use case of fusion

Wrote test for #1581

Jenkins, test this please.

Jenkins CI test (for commit 4a81b43cf08e2afafe7307bb2e746e95889f3c64, target branch master) succeeded!

@niboshi Thanks, fixed.

LGTM

Jenkins, test this please.

Jenkins CI test (for commit 67891f9dfdb766f1289e9980d2a1c1f6da119ddf, target branch master) succeeded!

LGTM.

Jenkins, test this please.

Jenkins CI test (for commit 00b36482d2229333696240e149fa11ee8f5cadbc, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

Jenkins, test this please.

Jenkins CI test (for commit 065ff5c70eb83fe59429bd71029bdf79782de5ea, target branch master) succeeded!

LGTM.


User menu for variable dimension text width

Create a menu option that allows the user to control the width of the text shown for the dimensions

Committed to master


Fix coordinate-transformation test case answers

since the test cases reuse closure functions, the answers need to be accumulated.

It's really late to reply. Yes, it has turned out that I misunderstood the assignment. Thank you for your quick response.


object-detection-cv25 - Unable to run app with high resolution

getting this error on log
2023-12-25T22:48:08.644-07:00 axis-b8a44f742baa [ INFO    ] object_detection[551935]: Creating VDO High resolution image provider and stream 1280 x 720
2023-12-25T22:48:08.644-07:00 axis-b8a44f742baa [ INFO    ] object_detection[551935]: Dump of vdo stream settings map =====
2023-12-25T22:48:08.644-07:00 axis-b8a44f742baa [ INFO    ] object_detection[551935]: chooseStreamResolution: We select stream w/h=1280 x 720 based on VDO channel info.
2023-12-25T22:48:08.660-07:00 axis-b8a44f742baa [ ERR     ] object_detection[551935]: createStream: Failed creating vdo stream: DBus call failed: Failed creating stream: Unable to find a suitable buffer for 1280x720 NV12
2023-12-25T22:48:08.687-07:00 axis-b8a44f742baa [ ERR     ] object_detection[551935]: createImgProvider: Could not create VDO stream!
2023-12-25T22:48:08.710-07:00 axis-b8a44f742baa [ ERR     ] object_detection[551935]: main: Could not create high resolution image provider

Hello,
Thanks for your question. Can you specify which camera model and firmware are you trying to run the application on?

camera model: AXIS M2035-LE Bullet Camera
firmware: 10.12.199

Thanks for sharing! Could you try the same with our latest firmware version 11.7.61? (You can find it here - https://www.axis.com/ftp/pub/axis/software/MPQT/M2035-LE/11_7_61/M2035-LE_11_7_61.bin)
Since there are most likely going to be breaking changes involved when there's a stepup in the major version of the firmware.

The examples use the latest SDK (1.12) which maps to a latest AXIS OS (11.8).
For older AXIS OS 10.12 versions you can find which SDK version that is compatible to a firmware in compatibility page, in this case ACAP 4.3 release which has ACAP Native SDK tag 1.3.
As can also be seen in the release notes, this example repository had tag 1.3 for that release. Using the versioned SDK and example should hopefully work better.


E/SocketSender: java.net.NoRouteToHostException: Host unreachable

hi, i am using version 0.37_MySQL8, and i have the E / SocketSender error: java.net.NoRouteToHostException: Host unreachable
I don't know if I'm doing something wrong
this is my code
try {
       mysqlConnection = new Connection(server, user,
               password, Integer.parseInt( port), dbname,new IConnectionInterface()
       {
           @Override
           public void actionCompleted()
           {
               completed=true;

               statement = mysqlConnection.createStatement();
               //You are now connected to the database
               Log.i("DBConnection", "Completed");
           }

           @Override
           public void handleInvalidSQLPacketException(InvalidSQLPacketException e)
           {
               //Handle the error
               Log.e("DBConnection", e.toString());
           }

           @Override
           public void handleMySQLException(MySQLException e)
           {
               //Handle the error
               Log.e("DBConnection", e.toString());
           }

           @Override
           public void handleIOException(IOException e)
           {
               //Handle the error
               Log.e("DBConnection", e.toString());
           }

           @Override
           public void handleMySQLConnException(MySQLConnException e)
           {
               //Handle the error
               Log.e("DBConnection", e.toString());
           }

           @Override
           public void handleException(Exception e)
           {
               //Handle the error
               Log.e("DBConnection", e.toString());
           }
       });
       int count=0;
       while ( completed ==false  ) {
           if (count ==50) {
               Log.e("DBConnection","Error Timeout");
               return false ;
           }
           count++;
          Thread.currentThread().join(100);

       }

       return true ;
       } catch (Exception e) {
               e.printStackTrace();
           }
       return false;

Hey.
NoRouteToHostException is usually just a case of the server you are trying
to connect to isn't available on the device you are connecting from.
Can you double check your mobile device is on the same network as your
MySQL database.
If your using a hostname it might be that the hostname can't be resolved so
might be worth accessing the server from the ip address instead.
Hope that helps if I can help further then please let me know.
Thanks
Chris
On Mon, 25 May 2020, 00:24 Ronny Villamar<EMAIL_ADDRESS>wrote:

hi, i am using version 0.37_MySQL8, and i have the E / SocketSender error:
java.net.NoRouteToHostException: Host unreachable
I don't know if I'm doing something wrong
this is my code
try {
mysqlConnection = new Connection(server, user,
password, Integer.parseInt( port), dbname,new IConnectionInterface()
{
@Override
public void actionCompleted()
{
completed=true;
           statement = mysqlConnection.createStatement();
           //You are now connected to the database
           Log.i("DBConnection", "Completed");
       }

       @Override
       public void handleInvalidSQLPacketException(InvalidSQLPacketException e)
       {
           //Handle the error
           Log.e("DBConnection", e.toString());
       }

       @Override
       public void handleMySQLException(MySQLException e)
       {
           //Handle the error
           Log.e("DBConnection", e.toString());
       }

       @Override
       public void handleIOException(IOException e)
       {
           //Handle the error
           Log.e("DBConnection", e.toString());
       }

       @Override
       public void handleMySQLConnException(MySQLConnException e)
       {
           //Handle the error
           Log.e("DBConnection", e.toString());
       }

       @Override
       public void handleException(Exception e)
       {
           //Handle the error
           Log.e("DBConnection", e.toString());
       }
   });
   int count=0;
   while ( completed ==false  ) {
       if (count ==50) {
           Log.e("DBConnection","Error Timeout");
           return false ;
       }
       count++;
      Thread.currentThread().join(100);

   }

   return true ;
   } catch (Exception e) {
           e.printStackTrace();
       }
   return false;

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/16,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2M4TKEBGCGQ4U3Y2PULRTGUC3ANCNFSM4NJC3BPA
.

ah if i fix it my error but now i have another problem when executing an INSERT query it throws me an error
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
    Process: com.syterox.wholesales, PID: 26174
    java.lang.RuntimeException: An error occurred while executing doInBackground()

comes from this file in this section specifically,
at ```
com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.shiftCurrentBytePosition(MySQLIO.java:242)
at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.processPacketData(COM_QueryResponse.java:102)
at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.(COM_QueryResponse.java:25)
at com.BoardiesITSolutions.AndroidMySQLConnector.Statement$2.socketDataSent(Statement.java:243)
at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:53)
at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:11)

but the execution if it works, it inserts the data in the table, but al finalize gives me that error

Hey,
OK that could be an incompatibility between your DB version.
Can you let me know what version of MySQL/MariaDB you are using please and I'll see if I can replicate it.
Thanks
Chris

thanks
my version is 5.7
Although haha, I know why it originated, in my function where I execute the query, I also read the result it gives me, and since it is a function with no return, I suppose,
INSERT, does not return any value and gives me an error,
I do not know if in that case it should throw some value when executing INSERT or UPDATE, in any case, if you can solve it so that this does not happen, that it returns something or some way of verifying if it has returned any value

change the function and follow the same error, the error is in this code
public void shiftCurrentBytePosition(int length)
    {
        if ((currentBytesRead + length) > fullData.length)
        {
            throw new IndexOutOfBoundsException();
        }
        currentBytesRead += length;
    }

other

  Caused by: java.lang.ArrayIndexOutOfBoundsException: length=65; index=65
        at com.BoardiesITSolutions.AndroidMySQLConnector.MySQLIO.readCurrentByteWithoutShift(MySQLIO.java:139)
        at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.processPacketData(COM_QueryResponse.java:104)
        at com.BoardiesITSolutions.AndroidMySQLConnector.PacketManager.COM_QueryResponse.<init>(COM_QueryResponse.java:25)
        at com.BoardiesITSolutions.AndroidMySQLConnector.Statement$2.socketDataSent(Statement.java:243)
        at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:53)
        at com.BoardiesITSolutions.AndroidMySQLConnector.SocketSender.doInBackground(SocketSender.java:11)

Thanks for the extra info, that index out of bounds error is usually caused by the library not being able to parse the MySQL packet correctly. Every version of MySQL and equivalent MariaDB version seems to send a slightly different response which doesn't always agree with the docs so its a little confusing.
I'll see if I can replicate it and hopefully provide a fix.
Thanks
Chris

thanks .
help me with that problem please, I'm developing an app to query data,
If you want I can also help you a little, I have also worked with TCP sockets, I know a little about it

Hi,
I've not been able to replicate it unfortunately seems to work OK for me. Can you let me know how you installed it, assuming you did, or is it a hosted MySQL server as I've seen hosted servers or different installers sometimes behave differently for some reason.

with this code I am starting, this works fine, but when I execute an INSERT or UPDATE query it throws me that error

 public boolean inicialize()   {

        try {
        mysqlConnection = new Connection(server, user,
                password, Integer.parseInt( port), dbname,new IConnectionInterface()
        {
            @Override
            public void actionCompleted()
            {
                completed=true;

                statement = mysqlConnection.createStatement();
                //You are now connected to the database
                Log.i("DBConnection", "Completed");
            }

            @Override
            public void handleInvalidSQLPacketException(InvalidSQLPacketException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleMySQLException(MySQLException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleIOException(IOException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleMySQLConnException(MySQLConnException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleException(Exception e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }
        });
        int count=0;
        while ( completed ==false  ) {
            if (count ==80) {
                Log.e("DBConnection","Error Timeout");
                return false ;
            }
            count++;
           Thread.currentThread().join(100);

        }

        return true ;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

,
if SELECT works, the user I use in the database has limited permissions, only basic queries, I don't know if that has anything to do

this is all my driver code

import android.util.Log;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringDef;

import com.BoardiesITSolutions.AndroidMySQLConnector.ColumnDefinition;
import com.BoardiesITSolutions.AndroidMySQLConnector.Connection;
import com.BoardiesITSolutions.AndroidMySQLConnector.Exceptions.InvalidSQLPacketException;
import com.BoardiesITSolutions.AndroidMySQLConnector.Exceptions.MySQLConnException;
import com.BoardiesITSolutions.AndroidMySQLConnector.Exceptions.MySQLException;
import com.BoardiesITSolutions.AndroidMySQLConnector.Exceptions.SQLColumnNotFoundException;
import com.BoardiesITSolutions.AndroidMySQLConnector.IConnectionInterface;
import com.BoardiesITSolutions.AndroidMySQLConnector.IResultInterface;
import com.BoardiesITSolutions.AndroidMySQLConnector.MySQLRow;
import com.BoardiesITSolutions.AndroidMySQLConnector.ResultSet;
import com.BoardiesITSolutions.AndroidMySQLConnector.Statement;

import java.io.IOException;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Optional;

import static com.syterox.wholesales.Functions.TABLE_ITEMS;
import static com.syterox.wholesales.MainActivity.db;

public class MySqlDriver implements IResultInterface  {
    Connection mysqlConnection;

    public String server;
    public String port;
    public String dbname;
    public String user;
    public String password;
    ResultSet result;
    public Statement statement;
    boolean completed = false;
    boolean getResult = false;
    public boolean initialize()   {

        try {
        mysqlConnection = new Connection(server, user,
                password, Integer.parseInt( port), dbname,new IConnectionInterface()
        {
            @Override
            public void actionCompleted()
            {
                completed=true;

                statement = mysqlConnection.createStatement();
                //You are now connected to the database
                Log.i("DBConnection", "Completed");
            }

            @Override
            public void handleInvalidSQLPacketException(InvalidSQLPacketException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleMySQLException(MySQLException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleIOException(IOException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleMySQLConnException(MySQLConnException e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }

            @Override
            public void handleException(Exception e)
            {
                //Handle the error
                Log.e("DBConnection", e.toString());
            }
        });
        int count=0;
        while ( completed ==false  ) {
            if (count ==80) {
                Log.e("DBConnection","Error Timeout");
                return false ;
            }
            count++;
           Thread.currentThread().join(100);

        }

        return true ;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    @Override
    public void executionComplete(ResultSet resultSet)
    {
        result=resultSet;
        getResult = true;
        Log.d("DBViewFragment", "result");
    }

    @Override
    public void handleInvalidSQLPacketException(InvalidSQLPacketException e)
    {
        Log.e("DBViewFragment", e.toString());

    }

    @Override
    public void handleMySQLException(MySQLException e)
    {
        Log.e("DBViewFragement", e.toString());

    }

    @Override
    public void handleIOException(IOException e)
    {
        Log.e("DBViewFragement",e.toString());

    }

    @Override
    public void handleMySQLConnException(MySQLConnException e)
    {
        Log.e("DBViewFragement", e.toString());

    }

    @Override
    public void handleException(Exception e)
    {
        Log.e("DBViewFragement", e.toString());

    }

    public Hashtable<String,List<String>> executeQueryTable(String query){
        MySQLRow row;
        Dictionary<String, List<String>> table = new Hashtable<>();
        List<String> lr=new ArrayList<>();
        int count = 0;
        try {

        statement.executeQuery(query, this);

        while (getResult==false){
            if(count == 50) return null;
            count++;
           Thread.currentThread().join(100);
        }
        //read content

        for (ColumnDefinition c : result.getFields()) {
            while ((row = result.getNextRow()) != null)
            {
                try{
                    lr.add( row.getString(c.getColumnName()));

                }catch (Exception e){
                    lr.add(new String( row.getBlob(c.getColumnName())));
                }
            }
            table.put(c.getColumnName(), (List<String>) ((ArrayList<String>) lr).clone());
            lr.clear();
        }

        }catch (Exception e){
            e.printStackTrace();

        }
        getResult=false;
        return (Hashtable<String, List<String>>) table;
    }

    public List<List<String>> executeQueryTableRows(String query){
        MySQLRow row;
        List<List<String>> table = new ArrayList<>();
        List<String> lr=new ArrayList<>();
        int count = 0;
        try {

            statement.executeQuery(query, this);

            while (getResult==false){
                if(count == 50) return null;
                count++;
                Thread.currentThread().join(100);
            }
            //read content

            while ((row = result.getNextRow()) != null) {
                for (ColumnDefinition c : result.getFields()) {
                    try{
                        lr.add( row.getString(c.getColumnName()));

                    }catch (Exception e){
                        lr.add(new String( row.getBlob(c.getColumnName())));
                    }
                }
                table.add((List<String>) ((ArrayList<String>) lr).clone());
                lr.clear();
            }

        }catch (Exception e){
            e.printStackTrace();

        }
        getResult=false;
        return (List< List<String>>) table;
    }

    public String executeQueryString(String query) {
        try {

            Hashtable<String,List<String>> table = executeQueryTable(query);
            List<String> l;
            l= table.get(result.getFields().get(0).getColumnName());
            return l.get(0) ;
        }catch (Exception e){
            e.printStackTrace();

        }
        return "";
    }

    public void executeQuery(String query) {
        try {

            statement.execute(query, new IConnectionInterface() {
                @Override
                public void actionCompleted() {

                }

                @Override
                public void handleInvalidSQLPacketException(InvalidSQLPacketException ex) {

                }

                @Override
                public void handleMySQLException(MySQLException ex) {

                }

                @Override
                public void handleIOException(IOException ex) {

                }

                @Override
                public void handleMySQLConnException(MySQLConnException ex) {

                }

                @Override
                public void handleException(Exception exception) {

                }
            });
        }catch (Exception e){
            e.printStackTrace();

        }
    }

    public String select(String table,String s, String cname, String value ){
        String data="";
        data = this.executeQueryString("SELECT "+s+" FROM "+ table +" WHERE "+cname +" = '"+value+"'"  );
        return data;
    }

    public boolean exist(String table, String id){
        String data = "";
        data = select(table,"id","id",id);

        return (data == "") ? false:true;
    }

    public int getMaxId(String table, String cname){
        String res =db.executeQueryString("SELECT MAX("+cname+") FROM "+table );

        return (res == null)? 0: Integer.valueOf(res );
    }
    public void close(){
        mysqlConnection.close();
    }
}

I am doing something wrong?

I'm trying to replicate your code, but having a bit of confusion.
Are you definitely using the tag 0.37_MSQL8 as I've just noticed the getBlob method isn't in the MySQL8 branch but its in the master branch. If you are accidently using the master branch that might be why you are having this issue as the recent fixes I've done in the branch only.
This might be why I can't see the issue you are having as I think you might be using the master branch where as I'm using the MySQL 8 release branch.
I have found an issue which I can release as it wasn't parsing the packet correctly if a MySQL error occurred but was different behaviour to what you were seeing. I'll ideally release this with a fix for you if you need one.
Thanks
Chris

Further to my comment above. I've used your class code that you gave me and what you've done appears to work OK.
I've added the getBlob method into the MySQL8 branch so when I release this you'll have access to this as well, but the connection, select and insert seems to work OK using your code.
The only comment I'd have is I wouldn't rely on doing thread joins with timeouts as I'd imagine your going to hit some weird timing issues potentially with larger data sets/slower devices/slower network connections and should just rely on the call backs from the library to know what step has been completed.
I'm in the process of doing a new release 0.39_MySQL8. Its on GitHub just waiting for JitPack to do the build which is for some reason taking a long time so haven't had a chance to test yet so might not be able to confirm the release is OK until the morning.
Thanks
Chris

I'm trying to replicate your code, but having a bit of confusion.
Are you definitely using the tag 0.37_MSQL8 as I've just noticed the getBlob method isn't in the MySQL8 branch but its in the master branch. If you are accidently using the master branch that might be why you are having this issue as the recent fixes I've done in the branch only.
This might be why I can't see the issue you are having as I think you might be using the master branch where as I'm using the MySQL 8 release branch.
I have found an issue which I can release as it wasn't parsing the packet correctly if a MySQL error occurred but was different behaviour to what you were seeing. I'll ideally release this with a fix for you if you need one.

Ah, if I'm using version 0.28 of your library,
I used that because I was testing with another version of mysql and it gave me many errors and I decided to use that one because it seemed to work well, but later when I started using the INSERT query it started giving me problems,
oh and about the getBlob function I use it because it gave me an error with the type of data it had, when it was an integer or decimal an error would jump, but using that function it no longer gave me problems and I decided to keep it that way

I was using version 10 of mysql, I thought that it would work with the MYSQL8 version of its library, but it gave me errors, so I thought that this library was specific to mysql8 and not the rest
I will try to prove that he recommends it to me,
oh and if that code does not give an error because what I did was not to use
statement.executeQuery (query, this);
instead
statement.execute (query, {...});
in the function
 public void executeQuery (String query)
there it worked although a little slow, or will it be my pc haha,
good thank you very much I will try the version that you recommend and I will notify you if you throw any error
oh yes, if you can include the getBlob () function it would be great since I also save bytes of image data in my database

Ah OK. Yea you're better off using the MySQL8 branch releases although they're marked as pre-release these are much more likely to work as this branch has received many bug fixes for different MySQL versions and hosts.
I think you should be able to use 0.37_MySQL8 but you won't have access to the getBlob method.
Eventually 0.39_MySQL8 should be available once JitPack is finished, I'm not sure what's taking it so long, I think they're experiencing an issue as I can't sign in to it either via GitHub so hopefully that should be available in the not too distant future. This will have the getBlob method as well as a fix for it not parsing MySQL error packets correctly.
The MySQL 8 branch initially started as a branch for me to implement the changes for MySQL8 authentication but had to shelve it as the time there wasn't any libraries that I could find that implemented it, then as other issues got raised they got implemented into this branch instead of the master.
With hindsight I should have branched again from the master to a pre-mysql8 branch for these fixes to avoid confusion. I'll add a note on the readme for the time being.
FYI you can use MySQL 8 just as long as its using the mysql_native_password for authentication not the new SHA_Caching2 method.
Thanks
Chris

ah i have another problem i am using version 0.37
When I make a SELECT query, only one row appears, am I doing something wrong?
are there different functions for a multi-row query?

I think that might be a logic problem within your own code as it looked to work OK for me.
I'm not 100% sure what you're code is doing with the hashtables, I'd prob try and simplify it to the bare bones to prove where the issue is.
e.g. just do a select query and loop over each row and just log out the values and then build up the code to what you need.
FYI looks like 0.39_MySQL8 tag is available now.
Thanks
Chris

Hi. Did you manage to get this working on ok in the end of you do you need some help.
If you weren't aware there is a demo app within the library that shows how it works.
Thanks
Chris

Hi, I have left the project on pause, tomorrow it continued, the last thing I did was try with version 0.37, but I had the problem that the rows did not arrive complete, only the first one, but not the last one tested, tomorrow I will do it and  I will review the test app, it will help me a lot, thanks, tomorrow I will notify you of any error or if it was solved

Hello, the initial problem has been solved, I have had some more but it was due to my code but I have solved it,
Now that another error has arisen, it sends me the result of the query well, up to half, from there is the rest all mixed up, as the rows have not been well separated, I have a code to see how many rows arrive, and it appears to me that There are only 5 rows when there are actually 10,
I would like to share the complete code with you, so you can help me, I don't know if it is an error of mine or of the library

this is the debugger section
D/Connection: Packet Sequence Number Returned: 0
D/MySQLIO: Resetting Socket: Don't Expect Response: false
    Reading Socket Data
    Created baos
D/MySQLIO: Read from socket. Bytes Read: 1024
    BAOS written: Bytes Written: 1024
    Read from socket. Bytes Read: 874
    BAOS written: Bytes Written: 874
D/MySQIO: Less than 1024 Bytes Returned. Packet Type at end of array (end of array would have to be an OK: 0
D/MySQLIO: Loop completed
    Get Socket Data Finished. Full Data Length: 1898
D/MySQLIO: Full data written to: now size: 1898
D/Statement: ABOUT TO CREATE COM_QUERY_RESPONSE
D/Query Response: Packet Length: 1 Packet Sequence: 1
D/COM_QueryResponse: Number of Fields: 15
D/MySQLIO: About to pop extracting data
D/DBViewFragment: result
I/MYSQL Driver: Table size 5

//this is from my code
I/SEARCH: count:5

can you add a section for get the tables in json?
I do not know if that is possible or if it will make the app slower, but if you could do it it would be great, since this would get the entire table, and I would take care of processing it

Good news that its working now. Not sure why there's less rows as it seems to be OK for me.
Below is the out I get when I run the query.
ABOUT TO CREATE COM_QUERY_RESPONSE
Packet Length: 1 Packet Sequence: 1
Number of Fields: 4
GOT EXECUTION COMPLETE AND PROCESSING RETURNED RESULTSET
Rows Found: 20
Row Number: 2
Row Number: 3
Row Number: 4
Row Number: 5
Row Number: 6
Row Number: 7
Row Number: 8
Row Number: 9
Row Number: 10
Row Number: 11
Row Number: 12
Row Number: 13
Row Number: 14
Row Number: 15
Row Number: 16
Row Number: 17
Row Number: 18
Row Number: 19
Row Number: 20
Row Number: 21

This is using the below code.
statement.executeQuery("SELECT * FROM test", new IResultInterface() {
            @Override
            public void executionComplete(ResultSet resultSet)
            {
                Log.d("MainActivity", "GOT EXECUTION COMPLETE AND PROCESSING RETURNED RESULTSET");
                MySQLRow row;
                Log.d("MainActivity", "Rows Found: " + resultSet.getNumRows());
                while ((row = resultSet.getNextRow()) != null)
                {
                    try
                    {
                        //Log.d("MainActivity", "Field Name: " + row.getString("FieldName") + " Field ID: " + row.getInt("id"));
                        //String field1 = row.getString("Field1");
                        int id = row.getInt("id");

                        Log.d("MainActivity", "Row Number: " + id);

                        //Log.d("MainActivity", "Field1: " + field1 + " id: " + id);
                    }
                    catch (SQLColumnNotFoundException ex)
                    {
                        Log.e("MainActivity", ex.toString());
                    }
                    catch (Exception ex)
                    {
                        Log.e("MainActivity", ex.toString());
                    }
                }
            }

I'm not sure I want to add a get JSON for the table data that is returned as the idea of this library is to keep it as close in terms of functionality to the official connectors for normal devices such as PC for example so I think to get JSON representation is more of app logic side then library side. If I find other connects do offer this then sure I'll add it in.
If you want to send me your code to see if I can figure out what the issue is then feel free, you can send it to chris @ boardiesitsolutions.com.
If you can also send the database table definition and some fake data to populate it with that exhibits the problem that would be great, just in case there's some quirky bug where the data in the table is causing some unexpected behaviour - obviously don't give me any personal data :)
Thanks
Chris

Hello, I have sent my code to your email, thanks in advance for the help, I also include the database that I use,
So far it works a bit well, but I have that problem, with my strange code I hope you can correct it, haha

Hi, what email did you send it to as it doesn't seem to have to come
through to me.
Thanks
Chris
On Mon, 8 Jun 2020, 23:36 Ronny Villamar<EMAIL_ADDRESS>wrote:

Hello, I have sent my code to your email, thanks in advance for the help,
I also include the database that I use,
So far it works a bit well, but I have that problem, with my strange code
I hope you can correct it, haha
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/BoardiesITSolutions/Android-MySQL-Connector/issues/16#issuecomment-640923177,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCS2M6T33H3B6K5XGY67XTRVVRVHANCNFSM4NJC3BPA
.

Version 0.40_MySQ8 has been released to resolve this issue.
The issue was related to a BLOG column with an empty string affecting how the library processed the MySQL packet as when it looked at the length of the data which is 0, this was treated as a MySQL EOF packet and therefore thought it was the end of the row which caused corrupted row data and/or missing rows.

Issue confirmed resolved in version 0.40_MySQL8


How to understand saga use while(true) ?

what's different between the following code?
i do not understand  how to use the While.
function* watchNavigate() {
  while(true) {
    const {pathname} = yield take(actions.NAVIGATE)
    yield history.push(pathname)
  }
}

function* watchNavigate() {
   const {pathname} = yield take(actions.NAVIGATE)
   yield history.push(pathname)
}

Hi,
I just read the documentation just today and haven't used redux-saga yet. From what i understand, the first code snippet you posted behaves like the "takeEvery", but it is not exactly the same. So it will always watch for an action "NAVIGATE", while the second code snippet will only watch for the first actions "NAVIGATE" then end the generator function.
https://redux-saga.js.org/docs/advanced/FutureActions.html
Hope i helped

What @seanyu4296 said :)
Generators are kinda pauseable functions, so putting while (true) in them doesnt mean blocking infinite loop (if the body of the while contains yield ofc), but rather some kind of infinite task - in your case that saga wont ever stop listening for NAVIGATE action.

thanks @Andarist  @seanyu4296

Wound't be better just use takeEvery rather than the while(true) ?

nvm, I found the answer here: https://github.com/redux-saga/redux-saga/issues/684


⚠ Bofrost.be has degraded performance

In 7d24c6a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1492 ms

Resolved: Bofrost.be performance has improved in a5c3f42 after 7 minutes.


Remove workflow unit tests from CI pipeline

🗣 Description
Remove the workflow unit tests from the CI pipeline, since they are now in their own pipeline, the workflow pipeline.
💭 Motivation and context
Closes #1271
🧪 Testing
Removed job.  Re-ran workflow.  Tests still pass.
✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] PR targets the correct parent branch (e.g., main or release-name) for merge.
[x] Changes are limited to a single goal - eschew scope creep!
[x] Changes are sized such that they do not touch excessive number of files.
[x] These code changes follow the ScubaGear [content style guide]
[x] Related issues these changes resolve are linked preferably via closing keywords.
[x] All relevant type-of-change labels added.
[x] All relevant project fields are set.
[x] All relevant functional tests passed.
[x] All automated checks (e.g., linting, static analysis, unit/smoke tests) passed.

✅ Pre-merge checklist

[x] PR passed smoke test check.
[x] Feature branch has been rebased against changes from parent branch, as needed
[x] Resolved all merge conflicts on branch
[x] Notified merge coordinator that PR is ready for merge via comment mention

✅ Post-merge checklist

[ ] Feature branch deleted after merge to clean up repository.
[ ] Verified that all checks pass on parent branch (e.g., main or release-name) after merge.

@nanda-katikaneni , this PR is ready.  The smoke tests fails are due to some testing that Addam is doing in a tenant, not with the code for this PR.


num_samples, num_tracked_samples, marked and mark have been removed from tsk_tree_t.

Breaking change from the C 0.99.15 change log

Seems like the tskit change log is wrong: tskit-dev/tskit#2165

Nothing to do here--the upstream changelog was wrong.


update to stable ffmpeg 3.2.3

Ah I didn't see the release, thank you.
Note : ./update.py at the root level of the project auto update all the files (not just ubuntu, but centos and alpine as well)


[4.0] [Parse] Don't tell CodeCompletion nonsense about protocol/AT where clauses

Explanation: cherry pick of https://github.com/apple/swift/pull/9419 . This was misusing an API in a cargo-culted attempt to get better completions for things like protocol Foo where Se<esc>, which just resulted in crashes. The default completions aren't as helpful as they could be, but are definitely better than just crashing.
Scope: Anyone using the new where clauses in Xcode.
Radar: rdar://problem/32256159
Risk: Low: this is removing an incorrectly called, optional function call.
Testing: Swift CI.

@swift-ci Please test

LGTM!


Make a list of all icons: searchable

Checklist:

[x] I'm sure this issue is not a duplicate?

It would be awesome if the library has a page, listing all folder/file names with corresponding icon: so that we can quickly search the list to find an apt folder/file name that has an icon assigned.
like:

file name
preview
tags

src, source
<preview_of_icon>
source

test, tests
<preview_of_icon>
test

typings
<preview_of_icon>
typescript, javascript

typescript
<preview_of_icon>
typescript, javascript

*.d.ts
<preview_of_icon>
typescript, javascript

...
...
...

Looking at https://github.com/vscode-icons/vscode-icons/blob/master/src/icon-manifest/supportedExtensions.ts for files and https://github.com/vscode-icons/vscode-icons/blob/master/src/icon-manifest/supportedFolders.ts for folders is quite easy to read in my opinion.
It's also linked in the README file.


[Doc Improvement][Update deep link meeting side panel in application][3163923]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/deep-link-application.md
91
17
link
:white_check_mark:

msteams-platform/toolkit/teams-toolkit-fundamentals.md
92
5
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/deep-link-application.md
91
17
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/deep-link-application.md
90
18
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.