Export Record List Data (JSON or CSV) Button always disabled

Describe the bug
The export to CSV or JSON button of records list export Modal dialog never can satisfy condition to switch to enabled state. condition in code corteza-webapp-compose/src/components/Public/Record/Exporter/Configurator.vue :

We have the choice to not choose a rage of date to activate Export Button CSV or JSON but we have this date range in the condition?
Also even if we choose a range date the state of export button dosen't change to enable state
To Reproduce
Steps to reproduce the behavior:

Go to  a record list block and activate export (ensure that you have some record data)
Click on export button the modal window of export will appear
Select fields you want export
See error "Export Button CSV or JSON are disabled"

Expected behavior
after selecting fields to export and choosing export all data and having some record data in database we expect that "Export CSV" or "Export JSON" button be enabled
Screenshots

Desktop (please complete the following information):

OS: Mac OS
Browser chrome, safari..
Version 2022.3.1 and 2022.3.4

Hi @mrabbah, I tried to reproduce this issue but I wasn't able to. The only time for me that the buttons were disabled was when I didn't have any fields selected, any other way the buttons were enabled and working as they should. Make sure that your module and record list is configured properly and that you have the needed fields selected and it should work. Try with new module and records and double check the outcome and let me know if you are still able to reproduce this and what exact steps are you taking in the process.

This edge case should be fixed in version 2022.9.1`. Thank you for raising the issue!


Fixes ScriptPath for script paths with query strings

Hi there, thank you for publishing such a great project! I've just been getting a demo up and running using Visual Studio 2017 (using standard VS templates). By default, the VS/webpack toolchain will append a version hash query string to its script bundle references. e.g:
http://localhost:59090/dist/main.js?v=hyw4nPT-JXNYaAsGUUqAfkThIaWT7qch0FVyfgwK9zg
The ScriptPath object purposefully throws an exception in order to extract the script path from the stack trace. A regular expression is used to extract the path components. The expression does not expect a query string in the script path.
In my particular case, the stack trace string with the query string on the script path looks like this:
    at Object.module.exports (http://localhost:59090/dist/main.js?v=0gN5LBVFBXS_KkM6Si37YaPTqhTdNsQRWgUcbcGODYs:2884:211)

This fails with error:
Uncaught TypeError: Cannot read property '2' of null
    at ScriptPath.path (perspective.view.js:1)
    at ScriptPath.host (perspective.view.js:1)
    at Object.worker (perspective.view.js:2)
    at get_worker (perspective.view.js:1)
    at HTMLElement.load (perspective.view.js:1)
    at HTMLElement.value (perspective.view.js:1)
    at HTMLDocument.<anonymous> (Home.tsx:24)
    at webcomponents.min.js:14

If we purposefully omit the query string like so:
    at Object.module.exports (http://localhost:59090/dist/main.js:2884:211)
It works.
As a fix we can update the regular expression to lazily match any character 0 or more times between the file extension (js|html) and the first instance of the colon character (which in this context, indicates the end of the path).
I applied this fix in my local development environment and had no further issues and also confirmed with a web-based visual regular expression debugger that both forms are correctly parsed.
Thanks!

Ah, great catch.  Verified this works as well - thanks for the fix!


Update Text for GitHub UI Changes

I recently merged this PR on Git-it https://github.com/jlord/git-it/commit/3dd0cfe219a2b8a0ebb6cafc5fb8f7212f5f1c0a so the same text will be out of date here as well (and in the Traditional Chinese version).

Closed via #111


SAK-43201 - Integration Test Improvements

This is my attempt to improve our position with respect to integration testing and overall architecture. The ComponentManager is obviously very core functionality, and this seeks to tidy it up and make some headway on adopting more common, modern patterns from Spring and JSR-330.

I'm not totally up on where folks prefer to have technical discussion about specific code these days. Anyway, I've tried to make a nice patch here that has plenty of design notes in the comments, but I'm happy to have detailed discussion about what's going on here and what I found that drove this approach. There was a lot of searching and fiddling that doesn't have a good home in the comments, but might be of interest (e.g., Hibernate vs. SakaiProperties vs. refresh()).

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- kernel/component-manager/src/main/java/org/sakaiproject/component/api/ComponentManagerNotifier.java  4
- kernel/test-helper/src/main/java/org/sakaiproject/integration/IntegrationTestContextLoader.java  1

Complexity decreasing per file
==============================
+ kernel/component-manager/src/main/java/org/sakaiproject/component/impl/SpringCompMgr.java  -2

See the complete overview on Codacy

Great question, Earle. I think there is a place for more fakes and mocks, but here is my working model:
As I'm trying to untangle the tool layer stuff that uses state from the request, session, and system scopes, I want the tests to be as real as possible. The tools reach into the same shared state as the request filter and many of the services. The services (even just the "main one" that backs the velocity tools) have many dependencies, many of which reach back into the component manager and get others -- no surprise to you, but worth underscoring.
It's taking quite a bit of work to get enough stuff to start up, but you have to figure out at least what's needed either way. Then you have to either start it or fake it. I see three issues with faking here:

It's quite challenging to implement fakes for all of the needed pieces, and you end up chasing the real code as you test more.
There is enough implicitly shared state between the tool code and its normal context that testing against fakes would not give me enough confidence that refactorings truly preserve behavior.
To even begin faking, the tool code needs to be modified or we need to resort to substantial static mocking.

At this stage, I'm taking the difficulty in bootstrapping this process as useful design feedback. It's revealing the transitive dependencies in ways that would be obscured by faking at the nearest edge. Those issues are not the essence of this session work, but using real components provides a leak test that can help find the seams and improve the broader dependency story later.
This should also get easier with each tool -- for example, I think the test helper should load the entity broker for everything, but leave edu-services as an easy opt-in. Very little harness setup should end up duplicated across tools.
Once covered and refactored toward smaller objects with more reasonable dependency sets and good unit coverage, I think it is a fair question of whether narrower integration tests would give the same or comparable confidence.
My hypothesis is: if we have a way to do tool-level tests against real services with low ceremony, it will be safer, easier, and faster to refactor out the session state dependencies.

It's worth noting that I've been trying a couple of different relationships between the test base class, its context loader, and the component manager. I'm finding that the approach of handing the locations/resources to load down to the component manager and then loading them in the newly created context is not as profitable a midway approach as I had thought.
I've been hitting some tricky stuff with tool-specific service beans because of the hierarchy and how the sakai-component war files don't really function as jars for the classpath, nor can you point at the source directories to do the traditional component load for them. I'm working toward a nice enough way to get equivalent behavior via  and classpath locations.
What I am trying now is an extension of the cleanup in this branch to pull the initialization further up and closer to the usual Spring patterns. Specifically, I think it will all be easier to work with if the context loader does not know the defaults, but rather gets a usual ContextHierarchy/ContextConfiguration from the IntegrationTest (which would specify test-configuration.xml and components.xml as locations). They should be able to load normally and be handed down to a new component manager as its initial set. Then the child contexts should load with all of the expected bean resolution, etc.
That's all to say: we should still consider this PR a work in progress... I expect to have some modifications and a companion example from Announcements within a couple of days.


C code decompiled from Arm thumb is not correct

Hello,
It looks that the C code generated is incorrect in the while loop :
ARM Code :
                             **************************************************************
                             *                          FUNCTION                          *
                             **************************************************************
                             undefined FUN_00082c64()
                               assume LRset = 0x0
                               assume TMode = 0x1
             undefined         r0:1           <RETURN>
                             FUN_00082c64                                    XREF[1]:     FUN_00082c66:00082c70(c)
        00082c64 46 f7           mov        pc,lr
                             **************************************************************
                             *                          FUNCTION                          *
                             **************************************************************
                             undefined FUN_00082c66()
                               assume LRset = 0x0
                               assume TMode = 0x1
             undefined         r0:1           <RETURN>
                             FUN_00082c66                                    XREF[2]:     FUN_00082d20:00082d48(c),
                                                                                FUN_00082d80:00082d86(c)
        00082c66 b5 80           push       {r7,lr}
        00082c68 4f 04           ldr        r7,[DAT_00082c7c]                                = FE000040h
        00082c6a 78 38           ldrb       r0,[r7,#0x0]=>DAT_fe000040
        00082c6c 09 c0           lsrs       r0,r0,#0x7
        00082c6e d0 04           beq        LAB_00082c7a
                             LAB_00082c70                                    XREF[1]:     00082c78(j)
        00082c70 f7 ff ff f8     bl         FUN_00082c64                                     undefined FUN_00082c64()
        00082c74 78 38           ldrb       r0,[r7,#0x0]=>DAT_fe000040
        00082c76 09 c0           lsrs       r0,r0,#0x7
        00082c78 d1 fa           bne        LAB_00082c70
                             LAB_00082c7a                                    XREF[1]:     00082c6e(j)
        00082c7a bd 80           pop        {r7,pc}
                             DAT_00082c7c                                    XREF[1]:     FUN_00082c66:00082c68(R)
        00082c7c fe 00 00 40     undefined4 FE000040h

C code generated :
void FUN_00082c66(void)
{
  char cVar1;
  char *pcVar2;

  pcVar2 = DAT_00082c7c;
  cVar1 = *DAT_00082c7c;
  while (cVar1 < '\0') {
    FUN_00082c64();
    cVar1 = *pcVar2;
  }
  return;
}

From my understanding, the ASM code checks if the most significant bit is 1 or 0 in the byte from the address DAT_00082c7c = FE000040h
But when I read the C code it's not so obvious in  while (cVar1 < '\0')
Something like while ((cVar1 & 0x80) != 0) { }  would be more expected ?
Thanks,
Lionel.
Windows 10
Ghidra 10.2.2Version

Since cVar1 is a (signed) char, the 7th bit is the sign bit. So checking if it's less than 0 is correct from that perspective. So both of those tests are equivalent. I think if you were to change the type of cVar1 to unsigned char you might get something closer to what you expect.

Thanks, this makes sense.


Enhancement: Validate composer on Travis

This PR

[x] validates composer.json and composer.lock on Travis
[ ] updates composer.lock by running composer update --lock

💁 Running
$ composer validate

locally yields
./composer.json is valid
The lock file is not up to date with the latest changes in composer.json, it is recommended that you run `composer update`.

Thanks, @localheinz !


Analyzer failing on Excellent news! A package dependency has been removed! cli_util

Tree is closed on unrelated PR https://github.com/flutter/flutter/pull/98604
https://ci.chromium.org/p/flutter/builders/prod/Linux analyze/6101?
All analyzer checks are passing, but the output ends with:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Excellent news! A package dependency has been removed!
  cli_util
To make sure we do not accidentally add this dependency back in the future,
please remove this packages from the allow-list in dev/bots/allowlist.dart.
Thanks!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Guessing that "excellent news" is an unexpected output and is being interpreted as failing?

I ran flutter update-packages --force-upgrade but all the pubspec.locks still contain cli_util...

This is coming from
https://github.com/flutter/flutter/blob/87fe3fe03149fc14b70c4c3daf37e9a4b17d49fe/dev/bots/analyze.dart#L1569-L1571
https://github.com/flutter/flutter/blob/54a9d652828941dbebbe8de32cf667e89578b13d/packages/flutter_tools/lib/src/commands/update_packages.dart#L78-L80
So it's not about our package lock files, it's about the consumer-facing packages.
I see traffic from @devoncarew removing this dep like https://dart-review.googlesource.com/c/sdk/+/232423 so this looks expected.

Thanks for fixing this @jmagman. The reason this test failed out of band, rather than on an update packages roll is https://github.com/flutter/flutter/issues/91757.

I see traffic from @devoncarew removing this dep like https://dart-review.googlesource.com/c/sdk/+/232423 so this looks expected.

@jmagman - thanks for the fix in https://github.com/flutter/flutter/pull/99037! I didn't realize that reducing deps would break CIs.

I didn't realize that reducing deps would break CIs.

Neither did I, at least it was cheery "Excellent news!" 😄


Blacklisting items only work for arsenal, not for saveslots, that were saved earlier

i restricted some nightvisions via blacklist in the mission. but they are still available, if they were previously stored in a saveslot.

Yeah, if you save a loadout from the virtual arsenal in the main menu of arma with items which are not available of the server you can still load them via the spawn menu for example.
I could implement a check after closing the arsenal and after respawn, if the player has an item from the blacklist and if he has, it will get removed.

that would be part of a masterpiece ;)
great work by the way

I humbly suggest raising the severity of this issue.
People tend to load their presets with mortar bipod and mortar tube, assemble the mortar, then selling it to get ammunition points, thus exploiting the mission. Applies to other static defences too. Players should only be able to buy those with ammunition resource, not loading it from VA.
Thx.

I have this on my todo for 0.95, don't worry :)


[Win11] [Bug] [ConcurrentBag regression in .Net 9] System.AccessViolationException: 'Attempted to read or write protected memory. This is often an indication that other memory is corrupt.'

ConcurrentBag is broken since .Net 9.
On heavy usage it fails with this error. It happens not every time but often.
System.AccessViolationException: 'Attempted to read or write protected memory. This is often an indication that other memory is corrupt.'
Just before update it did not happen.
Unfortunately, i cannot find repro steps, because AccessViolationException even cannot be catched by application means.
Please introduce ConcurrentBag - from .Net 8 because uinstable work in .Net 9 breaks my app

The only workaround i found so far is to reduce performance or attach with debugger. Then crashes are not happening.

If to go through stack trace - System.Linq is third one, Ion double click on it VIsual Studio 2022 crashes (!).

@dotnet/area-system-collections


fix: state machine

优化状态机逻辑以及修复一些小问题，提升稳定性

Codecov Report

Merging #1432 (88e6ebc) into master (ed145c6) will decrease coverage by 9.55%.
The diff coverage is 37.50%.

@@            Coverage Diff             @@
##           master    #1432      +/-   ##
==========================================
- Coverage   51.79%   42.23%   -9.56%
==========================================
  Files          89       54      -35
  Lines       12662     9239    -3423
==========================================
- Hits         6558     3902    -2656
+ Misses       5775     5006     -769
- Partials      329      331       +2

Flag
Coverage Δ

unittests
42.23% <37.50%> (-9.56%)
:arrow_down:

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

Impacted Files
Coverage Δ

hrp/internal/boomer/boomer.go
14.90% <0.00%> (-1.09%)
:arrow_down:

hrp/internal/boomer/client_grpc.go
9.58% <0.00%> (-0.05%)
:arrow_down:

hrp/internal/boomer/message.go
78.26% <ø> (ø)

hrp/internal/boomer/output.go
22.60% <0.00%> (-0.22%)
:arrow_down:

hrp/server.go
0.00% <0.00%> (ø)

hrp/boomer.go
32.29% <6.25%> (-6.29%)
:arrow_down:

hrp/testcase.go
58.09% <25.00%> (-1.56%)
:arrow_down:

hrp/internal/boomer/server_grpc.go
30.00% <44.44%> (-0.50%)
:arrow_down:

hrp/internal/boomer/runner.go
58.91% <52.45%> (+0.59%)
:arrow_up:

hrp/runner.go
61.13% <72.72%> (+0.14%)
:arrow_up:

... and 43 more

Continue to review full report at Codecov.

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


Missing bak file

Hello,
I am not able to download the MAP_updatedDB.bak file. Every time I received error code 404. Could you please check if the file is not corrupt?
Thank you.
Michal

This is still open... sorry today
@PhilStollery please take a look into this... we are not able to download and proceed in the execises

This is still not resolved ...

Same issue here! As a workaround, you could download the code master branch code and then extract it to find the backup file.

No idea what happened to the file - uploaded again and it should work now.


Add Pre-Signature Dialog for EVM/SVM Connection

Currently, we are automatically requesting a signature from the user when connecting a EVM/SVM wallet.
Improve the flow by adding a pre-signature dialog that informs the user about the purpose of the signature.
The dialog should display a message like: “Sign this message to prove you own this wallet and proceed. Canceling will disconnect you.”
If the user cancels, the wallet should disconnect. This update improves the user experience and minimizes the risk of race conditions during wallet requests.

https://github.com/FuelLabs/fuel-connectors/pull/360
We can revert this Arthur’s PR if we add the pre-dialog modal. No timeout will be needed anymore.


Import micromed .TRC raw data

Hi MNE :)
I would like to analyze micromed raw EEG data (.TRC) using MNE.
Is there already a way to import this format (that I missed)?
So far, I'm using NEO to import the data on python environment, and this leads me to the #870 issue, talking about interoperability between NEO and MNE.
What would be the best way to carry on my analysis and how could I help solving this issue ?
Thanks!
best
cc @samuelgarcia

We now have an example of how to integrate NEO and MNE, feel free to open a new issue if it is unclear or there seems to be a better way

Does mne-python support (or plan to) reading in .TRC files (couldn't find anything in API), or is the recommended approach rn to use what @agramfort 's gist does?
https://gist.github.com/agramfort/7fc27a18fcdc0e8cff3f

it's not supported in MNE as nobody really needed it among the core
developers.


unsuccessful API call - R-208 communication module

Using uhomeuponor (ec403d7) through HACS.
I have a recent Smatrix setup: X-265 controller (2x), and an R-208 communication module.
During HA start up the log shows:
custom_components.uhomeuponor.uponor_api.UponorAPIException: Unsucessful API call

Update: it seems to be related to new R-208 API. I assume the R-208 is not yet supported?
https://community.home-assistant.io/t/custom-component-for-connect-home-assistant-with-uponor-smatrix-wave-plus-r167/134457/26
In that case the below info is not relevant any more, but will keep it for reference.
configuration.yml
climate uponor:
  - platform: uhomeuponor
    host: <IP_ADDRESS>
    supports_heating: True

sensor uponor:
  - platform: uhomeuponor
    host: <IP_ADDRESS>

host is available (although not sure how to manually access the API):
# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=4.10 ms

# curl <IP_ADDRESS>/api
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <title>404 - Not Found</title>

404 - Not Found

Log:
2020-03-29 19:47:30 ERROR (MainThread) [homeassistant.components.climate] Error while setting up uhomeuponor platform for climate
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 179, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/uhomeuponor/climate.py", line 55, in setup_platform
    uponor.rescan()
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 39, in rescan
    self.uhome.update()
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 223, in update
    self.uponor_client.update_devices(self)
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 138, in update_devices
    self.update_values(value_list)
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 161, in update_values
    response_data = self.do_rest_call(req)
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 113, in do_rest_call
    raise UponorAPIException("Unsucessful API call")
custom_components.uhomeuponor.uponor_api.UponorAPIException: Unsucessful API call
2020-03-29 19:47:31 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up uhomeuponor platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 179, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/uhomeuponor/sensor.py", line 43, in setup_platform
    uponor.rescan()
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 39, in rescan
    self.uhome.update()
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 223, in update
    self.uponor_client.update_devices(self)
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 138, in update_devices
    self.update_values(value_list)
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 161, in update_values
    response_data = self.do_rest_call(req)
  File "/config/custom_components/uhomeuponor/uponor_api/__init__.py", line 113, in do_rest_call
    raise UponorAPIException("Unsucessful API call")
custom_components.uhomeuponor.uponor_api.UponorAPIException: Unsucessful API call

Tried to access the API directly, based on the example mentioned elsewhere:
curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"jsonrpc":"2.0","id":6358,"method":"readactivealarms","params":{}}' \
  http://<IP_ADDRESS>/api

This also gives me a 404 error.
Update: accessing the R-208 API directly works fine:
curl -X POST -H 'x-jnap-action: http://phyn.com/jnap/uponorsky/GetAttributes' -i 'http://<IP_ADDRESS>/JNAP/' --data '{}'

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Connection: close
Content-Length: 46206
Date: Sun, 29 Mar 2020 18:32:15 GMT
Server: lighttpd/1.4.42

{
"result": "OK",
"output": {
"vars": [
{
"waspVarName": "cust_New_ControllerSW",
"waspVarValue": "1"
},
{
"waspVarName": "cust_CX_SW_Distributed",
"waspVarValue": "0"
},
{
"waspVarName": "cust_Start_SW_Update",
"waspVarValue": "0"
},
...

Sorry, i have no time in covid time, this component is not supported , even throw i think you know it now

No worries. It seems this one supports the new R-208 & X-265.
https://github.com/asev/homeassistant-uponor


Feature/nested parameters

I added support for nested parameters via JSON. Changed the rules for forming the base path. This is all to facilitate the migration of the appsettings.json in the Vault.

@Kibnet Hey, great work, thanks! I have a few comments, please take a look. Also, the integration test is failing.

@Kibnet Hey, great work, thanks! I have a few comments, please take a look. Also, the integration test is failing.

As for the tests, I couldn't run them on the local machine. So I tested it manually. Mikhail, can you help me fix the tests?

@Kibnet sure, will do that. I think you couldn't run the test because they require docker to be installed. But I will help with that.

@Kibnet I've fixed test here https://github.com/MrZoidberg/VaultSharp.Extensions.Configuration/commit/0044cf48d727f2ca506e216422ba59e6ff4b867a.

Anyway I'll check this version with my services if these changes are ok

Anyway I'll check this version with my services if these changes are ok

You will have to make changes there, because the storage structure has changed.

@Kibnet yep, I see and that may be a problem.


tweaks

update readme, styling of not found template, category link in the article info box, image borders and inner shadow, the small carousel, integration tests

image borders - done
small carousel - partly done, but it's ok
integration tests - don't want to learn this in few hours and do some lousy tests

not found - done
category link --- skipped


Files left in /tmp during large conversion sets causes OOM/Disk Full errors

Converting a large set of CBR files leaves image files in /tmp, eventually filling /tmp ramFS, causing conversion to fail with "not enough disk space" errors.
Examples:
% ls /tmp/mbt-*.tmp | head
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img100.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img101.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img102.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img103.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img104.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img105.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img106.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img107.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img108.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img109.tmp

% file /tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img100.tmp
/tmp/mbt-3P6zCs7E1_C_11_C_2F_A_23C_2FC2_B446860_9_Img100.tmp: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 981x1448, frames 1

% ls /tmp/mbt-*.tmp | wc -l                                                                                2056

Can't replicate this problem. KCC create separate directory for its temporary files. No idea from where these files come.


Clicking on Download CLI does not download rancher cli

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

On 2.5.2-rc8
Click on Download CLI on the bottom right corner of Rancher UI
Click on MacOS/Windows (any)
It does not download the cli.

Expected Result:
User should be able to download CLI by clicking o "Download CLI"
Other details that may be helpful:

Right click on Download CLI and open in new Tab downloads the rancher CLI
Works on 2.5.1

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.5.2-rc8
Installation option (single install/HA): single

On master-head commit id: 82510802

Click on Download CLI on the bottom right corner of Rancher UI
Click on MacOS/Windows (any)
Rancher CLI is downloaded.

the bug fix is validated on v2.5-574ddd9d29098c919e58b75cea0f086d7cdb98df-head with the lastet UI
All 3 options are clickable and can trigger the download of the corresponding CLI


Skyscrappers_in_the_starry_sky-Creeperlulu

Write a short description about your art piece, such as what your artwork represents and your experience drawing it!
My artwork represents skyscrapers in the starry night, with a big moon in the background. I really enjoyed working on this! I never used Javascript this much, this was a good practice for me. I only had issues with the starry sky, it was pain to code and I nearly gave up but I managed to finish it (kinda proud of me lol)

[✓] I have read the steps to getting a blot
[✓] I am submitting art that...

[✓] is algorithmically generated (will meaningfully change each time the program is run)
[✓] is your own work that is not copied from somewhere else
[✓] doesn't call Math.random() (See the documentation on randomness)
[✓] is drawable on Blot itself (doesn't have lines overlap more than 5 times)

[✓] Doesn't overlap lines more than 5 times
[✓] Fits in the working area of 125x125mm
[✓] Doesn't rely on colour to look good

If you used based your art on something else, used a tutorial, or remixed it from something else, please link it here: Nope, all my work :D
Lastly, link a picture of your art piece here:

@qcoral Added some water and craters to the moon! Do I have to do anything else (like create another pull request) ?
Thanks a lot :)

It's alot nicer! I couldn't help but notice that the artwork seems to clip out of the bottom - could you fix that?

Clip out?? Where does it clip out? I don't see anything... :/

Hi there! Just an update - I'm closing this PR for now to clear up the repo. Once you're done with your edits/changes, please make a new PR and we can review it there!


Add utils format error

Hi there this is exactly what you proposed here:
https://github.com/whatyouhide/redix/issues/20
Right out of the box if you run the tests without redis running you would get:
13:01:14.300 [error] Disconnected from Redis (localhost:6379): unknown POSIX error

Now:
13:03:57.329 [error] Disconnected from Redis (localhost:6379): :tcp_closed

We can probably make these reasons better to read by replacing them for human readable messages (TCP connection closed).

[ ] Tests? Should I add a new utils_test.exs?

Hey @edgurgel, thanks so much! Yes, we need tests, and utils_test.exs sounds good for now. :

Added a test and updated the type spec

Hey @edgurgel, looks great! Thanks so much :D

Awesome! Thank you! :tada:


Update  .maintain/Dockerfile

A follow-up from https://github.com/paritytech/substrate/pull/9753

is it still used?

Yes, and it is critical to keep it.

if yes, it should follow our containers policy and use ubuntu:20.04 as base

I see no issue with that. Do you want to include that in the PR? If not, please open an issue and I will take care of it.

and have some metadata as the other images do

100%
Originally posted by @chevdor in https://github.com/paritytech/substrate/issues/9753#issuecomment-917974659

[ ] add metadata
[x] use ubuntu:20.04 as base (was already done)
[ ] add label io.parity.image.type="builder"
[ ] remove labels not relevant to images not built via CI
[ ] align the entrypoint with the injected image
[ ] align the volumes with the injected image
[ ] fix exposed ports

See also https://github.com/paritytech/polkadot/pull/3884


Can't boot up vm after configuring the PMUs (performance monitoring units) through powershell

My Hyper-V VM can't boot up after executing Set-VMProcessor -VMName your_vm_name -Perfmon pmu,pebs,lbr  in powershell with error messages as below. what might can be the problems?

FYI, nested virtualization is disabled for the target vm

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

ID: 9d511241-f09a-63d9-e95b-99a52d93a14c
Version Independent ID: c5897e9d-b827-04be-f894-59acf1474cf7
Content: Enable Intel Performance Monitoring Hardware in a Hyper-V Virtual Machine
Content Source: WindowsServerDocs/virtualization/hyper-v/manage/Performance-Monitoring-Hardware.md
Service: windows-server
Sub-service: hyper-v
GitHub Login: @ifeomaufondu-ms
Microsoft Alias: ifufondu

I have same issue

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


withBuffer should kill the other thread when one completes

withBuffer creates two threads - one to produce values and one to consume values. They communicate with a "seal" which starts empty, and when one thread finishes it signals that the work is done. The other thread notices the seal has been written to and stops what it is doing. However, this only works if the threads are blocked on activities relating to the basket. If they are actually blocked on some IO, they will never be terminated, and hence the whole withBuffer never terminates.
In my project, I have a producer that reads from a Socket, and the consumer reads Binary serialized values from connections to this socket:
withSocketValues
  :: (Binary a, Show a, MonadBase IO m, MonadMask m, MonadBaseControl IO m)
  => Socket -> (Stream (Of a) m () -> m r) -> m r
withSocketValues socket go =
  withBuffer unbounded receive (\basket -> withStreamBasket basket go <* liftBase (putStrLn "OK"))

  where
    receive basket =
      liftBase $
      forever $ do
        (client, _, _) <- accept socket
        forkIO $ writeStreamBasket (decoded (SBS.hGetContentsN 1 client)) basket

After all clients are done sending data, this won't terminate, because the receive action just gets stuck in accept.
I think withBuffer should be in charge of killing the reader or writer. Does this make sense?

Hmmm, I see what you mean.  I suppose I was thinking more of input being exhausted rather than output not wanting any more input.
I think what needs to happen is that the two bracket_ calls should both become finally which should solve this issue (as I think I had forgotten about finally when I first ported this from pipes-concurrency).

Turns out finally is implemented using bracket_ so that's not it.
I'm not sure if it's possible in the general case for withBuffer to kill either thread; how can it do so?
I think the problem here is the usage of forever: writeStreamBasket will stop as soon as the buffer indicates it can no longer accept input (as the continuation will seal the buffer when it completes).
I think what you should do is to use forever to build up Stream and then write that to the basket, rather than continuously trying to write to the basket.
The only other approach I can think of is that if you try and write to a basket that's already sealed it throws an exception; since it's possible, however, for the continuation to immediately exit before you recursively try to write to it I don't think that's viable.

It might be the old "needs one in the chamber problem":
import Prelude
import qualified Streaming as S
import qualified Streaming.Prelude as S
import Streaming.Concurrent

ex1 :: IO [String]
ex1 = S.toList_ . S.take 3 $ S.stdinLn

buff o i = withBuffer unbounded (writeStreamBasket i) (\basket -> withStreamBasket basket o)

ex2 :: IO [String]
ex2 = (S.toList_ . S.take 3) `buff` S.stdinLn

 ex1
a
b
c
["a","b","c"]
 ex2
a
b
c
x
["a","b","c"]
 ```

@ocharles I think #3 will work for your example.  The InBasket thread can't cancel the OutBasket one, because that needs to return to arrive at the answer, but you can have the OutBasket thread cancel the InBasket thread if it finishes.


[DNM]re-enable the external FTS ICW

fix #ISSUE_Number

Change logs
Describe your change clearly, including what problem is being solved or what feature is being added.
If it has some breaking backward or forward compatibility, please clary.
Why are the changes needed?
Describe why the changes are necessary.
Does this PR introduce any user-facing change?
If yes, please clarify the previous behavior and the change this PR proposes.
How was this patch tested?
Please detail how the changes were tested, including manual tests and any relevant unit or integration tests.
Contributor's Checklist
Here are some reminders and checklists before/when submitting your pull request, please check them:

[ ] Make sure your Pull Request has a clear title and commit message. You can take git-commit template as a reference.
[ ] Sign the Contributor License Agreement as prompted for your first-time contribution(One-time setup).
[ ] Learn the coding contribution guide, including our code conventions, workflow and more.
[ ] List your communication in the GitHub Issues or Discussions (if has or needed).
[ ] Document changes.
[ ] Add tests for the change
[ ] Pass make installcheck
[ ] Pass make -C src/test installcheck-cbdb-parallel
[ ] Feel free to request cloudberrydb/dev team for review and approval when your PR is ready🥳

let us waitting the ICW ....

icw-orca-test failure is unstable test case.

@foreyes
hi, foreyes
IN commit c8271af36756f9c0e900160a553ed70d3389d723

I am not sure why 2<:  <... completed> can create table success?

@my-ship-it PTAL


Troubles with front-end integration

Discussed in https://github.com/ProjectOpenSea/seaport-js/discussions/90

Originally posted by punpom August 10, 2022
Hello, I try to use seaportJS with front-end, but my transaction is reverted with this error:
(index.ts:261 Uncaught (in promise) Error: call revert exception [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (method="isApprovedForAll(address,address)", data="0x", errorArgs=null, errorName=null, errorSignature=null, reason=null, code=CALL_EXCEPTION, version=abi/5.6.4)
    at Logger.makeError (index.ts:261:1)
    at Logger.throwError (index.ts:273:1)
    at Interface.decodeFunctionResult (interface.ts:427:1)
    at Contract.<anonymous> (index.ts:400:1)
    at Generator.next (<anonymous>)
    at fulfilled (index.ts:2:1))

I first tried to create a Seaport instance with Metamask and got the above error, and then with a provider and a private key and also got the above error.
I also tried to do an Approveforall from the NFT contract on Etherscan Goerli but nothing works.
I tried a strong approach, approving the NFT contract with the method "isApprovedForAll(address,address)"
and still the same error.
I already made back-end scripts with nodeJS that work perfectly but impossible to allow compatibility between React and SeaportJS.
I observed that by removing the createOrder function I had no error
Thank you for reading me

@punpom Did you manage to fix this?


NVC+OpenACC broken with SubDomainSet and MPI

Premise: This is a bug somewhere in the NVidia SDK (nvc+openacc), not a devito bug. But we need a workaround in devito.
Explanation copy-pasted from slack follows.
Consider SubDomainSet's _bounds_glb_to_loc. And consider the following (copy-pasted from a code comment):

When the MPI-decomposed domains are very small and the thicknesses very large, it is possible that the combination of x_m, x_M, x_ltkn, x_rtkn, ... creates an iteration space with "negative size" -- for example, x starting at x_m + x_ltkn = 3 and terminating at x_M - x_rtkn = 0 (ie size = -3 iterations). This simply means that ultimately no iterations will be executed -- any "negative size" would imply exactly this.

Unfortunately, the NVC compiler/runtime for OpenACC has a bug when the iteration space size is smaller than -1. ...
Now, first of all: the bug has been confirmed and escalated to the NVidia compiler team (via @kenhester , thank you)
The issue crops up for us, as I was saying earlier, with SubDomainSet (or more generally with MultiSubDomain). In particular, it happens due to the following pair of lines: these, these, these, and these. These lines set the thicknesses to the loc_abs_max, so ultimately you can get a "negative size" smaller than -1, which triggers the bug (eventually computing wrong output).
Do we agree that if I set all bounds_M[j] to 1, rather than to dec.loc_abs_max, we would obtain the same effect, ie no iterations executed as iteration space size systematically == -1, while also working around the NVC bug?
Why -- well we have the left thickness bounds_m[j] = dec.loc_abs_max, so for example we got x starting at x_m + xi_ltkn = 0 + 3 = 3 and stopping at x_M - xi_rtkn = 3 - 1 = 2. The reason that here x_M == 3 is because we're assuming that dec.loc_abs_max = 3

For completeness: the following MFE was extracted from a devito failing test and handed over to NVidia for reproducibility and to work out a patch:
#include <stdlib.h>
#include "openacc.h"
#include <stdio.h>

int main(int argc, char* argv[])
{
  int xi_ltkn = atoi(argv[1]);
  int xi_rtkn = atoi(argv[2]);
  int yi_ltkn = atoi(argv[3]);
  int yi_rtkn = atoi(argv[4]);
  int x_m = atoi(argv[5]);
  int x_M = atoi(argv[6]);
  int y_m = atoi(argv[7]);
  int y_M = atoi(argv[8]);

  printf("INPUT: %d %d %d %d  --  %d %d %d %d\n", xi_ltkn, xi_rtkn, yi_ltkn, yi_rtkn, x_m, x_M, y_m, y_M);
  printf("\n");

  acc_init(acc_device_nvidia);

  int* f_vec = (int*) malloc(sizeof(int)*4*4);
  int (*restrict f)[4] __attribute__ ((aligned (64))) = (int (*)[4]) f_vec;

  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      f[i][j] = 0;
    }
  }

  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      printf("%d ", f[i][j]);
    }
    printf("\n");
  }

  printf("\n");
  printf("======\n");
  printf("\n");

  #pragma acc enter data copyin(f[0:4][0:4])

  printf("xi from %d to %d\n", x_m + xi_ltkn, x_M - xi_rtkn);
  printf("yi from %d to %d\n", y_m + yi_ltkn, y_M - yi_rtkn);
  printf("Now offloading...\n");
  printf("\n");

  #pragma acc parallel loop collapse(2) present(f)
  for (int xi = x_m + xi_ltkn; xi <= x_M - xi_rtkn; xi += 1)
  {
    for (int yi = y_m + yi_ltkn; yi <= y_M - yi_rtkn; yi += 1)
    {
      f[xi][yi] = f[xi][yi] + 1;
    }
  }

  #pragma acc exit data copyout(f[0:4][0:4])
  #pragma acc exit data delete(f[0:4][0:4])

  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      printf("%d ", f[i][j]);
    }
    printf("\n");
  }
  printf("\n");

  return 0;
}

compile and run with:
 nvc -acc:gpu acc_bug.cpp -o acc_bug ; ./acc_bug 3 1 3 1 0 3 0 3  # ALL GOOD, it space size == -1
 nvc -acc:gpu acc_bug.cpp -o acc_bug ; ./acc_bug 3 2 3 2 0 3 0 3  # BROKEN, it space size < -1 (== -2 for each loop)

fixed by #1767


Replace Print with Logging

This replaces the print statement in BaseDataset with a logging statement instead.
Fixes #82

Feel free to merge if you accept this.


openrazer daemon stopped working

Describe the bug
The openrazer daemon service can not start on my system
To Reproduce
Steps to reproduce the behavior:

hardware.openrazer.enable = true;
install razerGenie
Error occurs (see screenshot below)

Expected behavior
The openrazer daemon works.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
It is also pretty weird that I can not see the razer daemon status with the following command:

Metadata

system: "x86_64-linux"
host os: Linux 5.4.51, NixOS, 20.09pre234194.8d05772134f (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.7
channels(root): "nixos-20.09pre234194.8d05772134f, nixos-unstable-20.09pre234194.8d05772134f, nixpkgs-20.09pre234236.c87c474b17a"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

For some reason I can only reproduce the part where sudo systemctl status openrazer-daemon does not work.
Razergenie works and there is a running openrazer process for some reason.
I think I have seen a similar error message from razergenie once while packaging it. However it resolved itself before I could investigate further.
Metadata

system: "x86_64-linux"
host os: Linux 5.4.50, NixOS, 20.03.2506.68c599acd58 (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.6
channels(root): "nixos-20.03.2506.68c599acd58, nixcfg"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Very weird, it would help tremendously for debugging if I could see the logs of the service and find out why it fails to start. Do you have a suggestion how I might be able to do that if the status command does not work?

Edit: I think I found something:

You can kill the running openrazer process and manually start it. This way you might be able to get some debug information.

Hm it is super suspect, if I manually start the daemon with:

It works. If it gets started via nixos it does not.

CC @roelvandijk @evanjs

Maybe an update to the latest version of openrazer would help (2.8.0). I am currently trying to do that but I am struggling a little with the overlay since I am not very experienced with it.

OpenRazer is a user service IIRC.
Can you see if systemctl status --user openrazer works on your end?

I updated the docs on the OpenRazer site after this module was merged into nixpkgs, but perhaps the nix side needs to be better documented.

Can you see if systemctl status --user openrazer works on your end?

Should be openrazer-daemon. And yes, I can see the output now.

Mmyup openrazer-daemon.
Alright, sweet.
And @Algram?

@evanjs  thanks for your help, Yeah I can see the output to and it states active and loaded for the service. Logs look good too. As soon as I start razergenie though it tells me that the service is not present..

Seems to work on my end.
I recall other users having issues in the past, I think it might've been dbus-related?
I want to say that enabling services.dbus.socketActivated had an effect, but I can't quite remember if that was the solution.
What window manager are you using, anyhow?

I am running sway. Setting services.dbus.socketActivated = true did not have an effect.
This is the "error" razerGenie produces:

I think there must be something that is missing from the openrazer nix module. It only shows in sway because most other window managers probably add the missing config per default by chance already.

Yeah, I haven't been able to pin down the cause entirely, but it seems to work fine in XMonad, even without services.dbus.socketActivated.
If it is something that is activated by chance, I'm not sure what it might be, but am happy to add whatever if we can determine what the missing option is.

@evanjs I changed my setup so that sway gets started via GDM. Now it works! It seems like something the displayManager adds is needed for openrazer.
One follow up question: Is there an easy way to quickly test openrazer 2.8.0? I have a Razer Viper Ultimate and support for this mouse is only in the latest release.
Thanks a lot!

Curious, any other Razer users with merge/write permissions?
Not sure what else I can do (or who would be best to ping) aside from e.g.
@GrahamcOfBorg build openrazer-daemon
or etc


Endless re-compile in spin watch for Spin Apps that consist of multiple components

I stumbled upon a bug when using spin watch with an Spin App consisting of multiple components of which one is a static-fileserver.
TL;DR;
The spin watch command keeps on re-compiles the app in an endless loop because the static-fileserver command does not contain a build configuration. According to the implementation of BuildFilterFactory, this leads to watching all files for changes. Suggested solutions are mentioned in the corresponding section below.
Spin App to reproduce this behavior
You can find an Spin App for reproducing the behavior at github.com/ThorstenHans/tmp--spin-watch-repro.
App layout
The app consists of two components a backend component which has been created using the http-rust template and an ui component which has been created using the static-fileserver template.
Actual behavior
When executing spin watch, the Spin App will be compiled in an endless loop.
Logs show that files in ./target/ are causing this behavior:
2024-07-12T10:18:57.011356Z DEBUG spin_cli::commands::watch: spin watch detected changes requiring reload: /Users/thorsten/dev/demos/spin-watch-repro/backend/target/wasm32-wasi/release/backend.wasm

Revisiting the implementation of spin watch
I looked into the implementation of spin watch and recognized that create_source_globs as part of src/commands/watch/filters.rs returns an empty vector for the ui component:
https://github.com/fermyon/spin/blob/a7ffa3ae387d9cb7e33c8409719d80750f5c0751/src/commands/watch/filters.rs#L113-L115
This leads to the buildifier recursively watching all files.
Suggested solution 1: Updating the static-fileserver component template
On way of addressing this behavior could be updating the component template of static-fileserver to add the following build configuration (assuming that the source folder for the static fileserver is set to assets/:
[component.ui]
source = { url = "https://github.com/fermyon/spin-fileserver/releases/download/v0.2.1/spin_static_fs.wasm", digest = "sha256:5f05b15f0f7cd353d390bc5ebffec7fe25c6a6d7a05b9366c86dcb1a346e9f0f" }
files = [{ source = "assets", destination = "/" }]

[component.ui.build]
command = ""
watch = ["assets/**/*"]

Suggested solution 2: Updating the implementation of spin watch
Alternatively, the implementation of spin watch should be modified to terminate spin watch if the Spin App consists of multiple components and one or more components lack either the entire build configuration or specify watch = [] .

If a component doesn't have a build.watch then we should watch nothing.  That's the intent of the BuildFilterFactory returning the empty vector.  I guess watchexec is taking "empty list" to mean "everything" which is unfortunate design!  (Normally the list is additive.)  I'll have an investigate - thanks for flagging it!
We should not build.watch the assets.  All files entries are already watched for reload (and trigger only a reload, not a rebuild).  As a temporary workaround, I'd suggest build.watch-ing a never-matches pattern because there is never any need to trigger a rebuild for the fileserver component.


ies.py errors

Getting some errors with ies.py
Command:

./ies.py ability.ies

Output:

Traceback (most recent call last):
File "./ies.py", line 165, in
ies = IesFile(sys.argv[1])
File "./ies.py", line 26, in init
self._open()
File "./ies.py", line 62, in _open
self.file_handle.seek(-self.resource_offset - self.data_offset, 2)
IOError: [Errno 22] Invalid argument

Decrypting IPF files with https://github.com/r1emu/IPFUnpacker

I believe IPFUnpacker already converts IES files to CSV but still has extension of .ies.  Try viewing it in notepad and see if it is not already converted.

Let me know if @WillTheDoggy is correct, so I can close this. Otherwise, please upload your ability.ies somewhere and link it here

@WillTheDoggy is right, already CSV. I didn't see their changelog. o/ @WillTheDoggy @TwoLaid

Cheers~

Thanks @WillTheDoggy :)


currently install script breaks due to eventmachine and rubyracer

this is of consequence to certs because even if you manually fix event machine with following (fix current @ April 2017)
gem install eventmachine -v '1.0.7' -- --with-cppflags=-I/usr/local/opt/openssl/include
gem install libv8 -v '<IP_ADDRESS>' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315

Certs bin/setup file will crash out when it attempts to run bundle

@Floppy as I am incorporating these same issues into the CSVlint readme could you have a look at this and unpack how these sorts of dependency errors can be mitigated?
Also can you explain how these problems are mitigated or managed by Heroku? Basically I'm curious if there is a way to catch or be notified of any future dependency problems likely to happen on local development of repositories.
I'd also like to avoid 'hardcoding' known issues into the readme in case the solutions cease to work due to development elsewhere, any thoughts on whether that's avoidable or not?


The pre-cache callbacks loop should be parallelized

I've been testing out some slow code.  To make a long story short, I've been setting  model_parameters.max_callback_cache_size greater than number of nodes so as to always trigger caching.
Anyway, in doing that I've found that this loop is super slow:
https://github.com/google/or-tools/blob/c59101fc9e7b4dda50429cad5a291f13b580a2c9/ortools/constraint_solver/routing.cc#L826
Copying here:
  if (cache_callbacks_) {
    const int size = Size() + vehicles();
    std::vector<int64> cache(size * size, 0);
    for (int i = 0; i < size; ++i) {
      for (int j = 0; j < size; ++j) {
        cache[i * size + j] = callback(i, j);
      }
    }

In my test case, I have 5500 vehicles and 1041 nodes, so that is a large matrix, and running that loop takes 15 minutes.
But it uses just one core, and I've got 7 others sitting idle.  It seems to me this simple loop could be parallelized to get a significant speedup, but I know nothing about the intricacies of doing so in C++, and searching quickly though the code base doing so might be a headache.  But as a user I know there is parallel support in the cp_sat side of things, so there must be a reasonable set of conventions somewhere.
Comparing run times, the precache version is faster.
With precaching,  after the 15 minutes to call routing.RegisterTransitCallback(time_callback), the solver finds the
All Unperformed Solution<PHONE_NUMBER>000) at time = 11794 ms (11 seconds), and stabilizes on its final solution at  time = 124455 ms (about 2 minutes).
Without precaching (using defaults of cache=1000), the solver finds the  All Unperformed Solution<PHONE_NUMBER>000) at time = 439661 ms (7.3 minutes) and has not yet stabilized on the best solution before hitting 12.6 minutes (I set total solver time to 20 minutes) (update with a 45min run) took a further 33.7 minutes to stabilize on the best solution.
So with caching:    15 minutes   + 11 seconds + 2 minutes   = about 17 minutes
without caching:  no cache time + 7 minutes  + 33 minutes  = about 40 minutes to reach same solution
If the 15 minutes can be parallelized to 8 threads, I'd expect around 3 minutes for that step (allowing for marshaling the results), for a total run time of about 4 minutes.
So definitely worth it, in my opinion.

Googling "how to program parallel loops in C++" is a terrible idea, but...is there a reason why the parallel versions of the std template library for each wouldn't work here?
Something like
std::vector<int64> cache(size * size, 0);
// is there a way to initalize the cache to equal the index number, so cache[0] === 0 and cache[50] === 50, etc?
// if so do that, then
std::for_each(std::execution::par,
                      cache.begin(),
                      cache.end(),
                      f);

where f is some function that take an element of the vector and modifies it in place.
If the element of the cache vector is initialize to the index, then f can figure out i and j from the value of the passed in vector element (v) doing something like:
f(v){
  // assuming value of v is initialized to the index
  j = v % size;
  // is there a div operator in C++?
  i = (v - j) / size; // or integer divide?
  v = callback(i,j)
  // bob's your uncle

But I haven't done C++ and STL stuff since 1992 or so.  Things have changed.

unfortunately ExecutionPolicy comes in C++17 i.e. STL just discover the multi-threading world ! Unfortunately we still try to target C++11 which is widely available.
On the other side we could use pthread which is here for long time but a little bit a pain to use.
Last proposal would be to use OpenMP pragma which is less intrusive but don't know how well is supported on all paltforms.
note: I was thinking of something like
std::vector<int> c(SIZE * SIZE, 0);
std::iota(c.begin(), c.end(), 0); // fill vector with 1,2,3,4,5,6 but not sure is paralellized

std::transform(
  std::execution::par,
  c.cbegin(), c.cend(),
  c.begin(),
  [](int i) -> int { return callback(i / SIZE, i % SIZE); }); // can be expensive to compute i and j

Working from the above suggestion, I got the following to compile:
int RoutingModel::RegisterTransitCallback(TransitCallback2 callback) {
  if (cache_callbacks_) {
    const int size = Size() + vehicles();
    std::vector<int> cache(size * size, 0);
    std::iota(cache.begin(), cache.end(), 0); // fill vector with 1,2,3,4,5,6 but not sure is paralellized

    std::transform(
                   std::execution::par,
                   cache.cbegin(), cache.cend(),
                   cache.begin(),
                   [callback, size](int i) -> int { return callback(i / size, i % size); });
    transit_evaluators_.push_back(
        [cache, size](int64 i, int64 j) { return cache[i * size + j]; });
  } else {
    transit_evaluators_.push_back(std::move(callback));

Compilation succeeded by switching OR Tools to C++17, adding the intel Tbb library (libtbb) to get the std::execution::par to work, and fixing the compilation of all dependencies to also use C++17 (abseil was resistant).  All of the C++ and Python tests run successfully.
But when I run my code that triggers this precache algorithm, I get an unceremonious segfault.
I added a print statement in my callback, and I'm getting sane values for from_index and to_index.  The crash is definitely happening on the C++ side, after anywhere between 3 and 7 calls to the callback are made.
So two lessons learned:  apparently none of the existing test programs use cache_callbacks_, and something in the above is broken.
Which means I have to figure out another way to speed up C++ talking to the python callback function.  Are there some SWIG techniques I can leverage?

Closing for now until I come up with a parallel loop that works

One more note to this.  I kept trying different things on this, and I've come to the conclusion that SWIG does not play well with std::execution::par or std::execution::par_unseq.
I think this because when I commented out that line in the C++, it ran fine...so the bug isn't the algorithm or in the callback, but rather in what is going on when it is split up to run in parallel.
That and the fact that there is zero documentation that I can find about using std::execution::par with SWIG callbacks.  If no one has written anything about it, the most likely no one thought to handle that case in SWIG at all.

my bet on a Python GIL issue than a SWIG one itself

Another possibility is something like that suggested in #321.  Passing the matrix of data directly to the solver and let the solver generate a simple lookup callback.  When/If somebody tackles that, perhaps similar approach could be used here.

This issue is still tripping me up.  I've been trying to work around it because often it is just foolish to try to solve a very large problem, but for example, today I was trying to fit 4 new destinations in a large problem that I had already solved by decomposition.  So most of the nodes are locked to vehicles, and there isn't much work to do, but I had to wait 600+ seconds to load the data into C++.
Because the parallel thing isn't going to work, I'm not going to reopen this issue, but how about passing data to C++, rather than a callback, and let C++ create the callback itself (as is done when precaching the callback).  I will try to work on that, but my C++ skills are still rusted shut.


Consider removing PKCE plain method

It's insecure and I am failing to see a legitimate use case.
Either remove altogether - or introduce global flag.

A global flag to allow plain across all clients? That sounds worse than the client property.

No - disable globally. Default to true. Or just remove it.

The problem I see with removing it is:

Plan is part of the spec.
It is helpful when trying to debug why things aren't working.

If you can control it on a per client bases than adding a global flag would be disastrous.


App not compatible with buildpack error

Counting objects: 69, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (69/69), done.
Writing objects: 100% (69/69), 10.53 KiB | 2.11 MiB/s, done.
Total 69 (delta 25), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/go.tgz
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !	Push rejected to ride-companion-api.
remote:
To https://git.heroku.com/ride-companion-api.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/ride-companion-api.git'

I cloned the default app, copied the relevant files but this is the error I get. What file is missing any idea?

Which default app? The one in the getting started guide? Also, when you say "copied the relevant files" what do you mean?
PS: If you open a support ticket with Heroku they can probably help or escalate it internally and get better help.

I got the default scaffold which Heroku provided and copied all the files to my existing project. It looks like I had missed some of the files. I tried again and it works. Thanks for the help.

Hello there.
I have these errors.
remote: -----> Build succeeded!
remote: -----> ngrok app detected
remote: -----> Installing ngrok...  done
remote: -----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/java.tgz
remote:        Could not find a pom.xml file! Please check that it exists and is committed to Git.
remote:
remote:        More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to trivia-multi.
remote:
To https://git.heroku.com/trivia-multi.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/trivia-multi.git'
Somebody helps me.

@GuruJustin Hi! Your error is not related to either the Go buildpack, or the issue the original reporter had above. Support issues (rather than bugs) are best reported at https://help.heroku.com . Also in general it's best practice to create new issues (for bugs) on a GitHub repo if there isn't a recent + definitely related existing issue, rather than commenting on much older issues. Hope you get your app working! :-)


Encode SAR (aspect ratio) into the bitstream

Some sources have nonsquare pixels. This is specified by the 'A' parameter in a y4m file. This should be put into daala_info and encoded/decoded so that the final output y4m has the same SAR encoded in it.

There are already fields for this in daala_info, and it is read by encoder_example, stored in the stream, and output in dump_video. What are you doing to cause this to not be preserved?

I think the bug report was on IRC using player_example and I didn't bother to actually check.

Yes, player_example completely ignores these fields, to the best of my knowledge.

Reopening this bug to track player_example.


Website broken on curriculum link

When we click on the image in curriculum, we end up on a broken link.

I can fix this one, just wanted to have this bug noted somewhere. Wrong place?

Okay to be here right now, soon we should create another repo to take care of it.
BTW I think I've found someone to take the communications AOR with managing the website being part of it.

Sweet, who is it? The Unbounce account is still mine, so I'll have to share account details with her/him

I've made an intro to them on slack :)

Fixed, thanks!


Resolves toin0u/DigitalOceanV2#206

These are the changes to make the library PHP 7.1+. Don't see how HHVM support can continue. Recommend tagging this as release 3.0.0.

Actually resolves https://github.com/toin0u/DigitalOceanV2/issues/195 I think?

Could you send the new GuzzleHttpAdapterSpec as a separate PR please? That can get merged right away.

Could you send the new GuzzleHttpAdapterSpec as a separate PR please? That can get merged right away.

See #219 for the separate PR


Update README.md

Hello @zmilojko
do you want to merge this in? Otherwise I'll close the PR :)
Cheers,
Spek


Crash

two things :

I have a very very tiny windows, is there a way to calibrate the window of apscale to the screen resolution?

If I apply the changes to the parameter for the all in one analysis,  I am getting an error message:

thanks !

I don't have a windows PC myself, but you can resize your screen in your settings. Sadly I cannot do anything about the window size issues on Windows in general.
Regarding the crash: Can you please show me the error message that is printed in the console when clicking "Exit"?

I think that's the output:
Traceback (most recent call last):   File "/home/vincent/anaconda3/bin/apscale_gui", line 8, in <module>     sys.exit(main())   File "/home/vincent/anaconda3/lib/python3.10/site-packages/apscale_gui/__main__.py", line 348, in main     settings_dict = load_settings(settings_file)   File "/home/vincent/anaconda3/lib/python3.10/site-packages/apscale_gui/settings_file.py", line 8, in load_settings     xl = pd.ExcelFile(file)   File "/home/vincent/anaconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 1500, in __init__     raise ValueError( ValueError: Excel file format cannot be determined, you must specify an engine manually.

This error usually occurs when you have an .xlsx file opened (e.g., in Excel). Then, a temporary file will be created (e.g., ~$table.xlsx), which causes the crash. Could you please close all files in Excel (or most likely OpenOffice or similar when working on Ubuntu) and try running it again?
Another issue could be that you are using python3 through anaconda, which has caused some issues in the past.


Authenticating via other methods

For those who log into spotify via google, facebook, or Spotify, is there a way to authenticate with this CLI?

You would have to manually login. See this

Perfect. Thanks!

What do you do after pasting the Bearer token into the file? Using headspace login still asks for a password.


how to organize longitudinal Sturctral MRI data

Hi, all
I wonder if I get a longitudinal structral MRI data(and I just have structral MRI data without dwi or fmri data), how should I organized them? treat the second longitudinal structral MRI data as another subject? (I have put my second longitudinal structral MRI into ses-2 folder, but got an error)
please give me some advice!
Many thanks!
Best,
Wenjun

Hi, could you share your full file listing and then the validation error you got? It would help any advice be more concrete.

thanks for your reply~
I fixed it, something wrong with my file names~~

Glad you got it resolved!


EXECUTABLE visible to other threads before processing complete

@liampauling as discussed there is a timing issue with replace operations where order.executable() is clearing the update_data fields AFTER setting the order status to executable. This early setting allows other threads to leap in with another replace operation all of which finally results in an exception due to a missing new_price key.
Fix that appears to work is to clear the update_data BEFORE the status turns to executable
    def executable(self) -> None:
        self.update_data.clear()
        self._update_status(OrderStatus.EXECUTABLE)

Also suggest following change to leave setting of any status change as late as possible so all changes are complete before other threads can see a changed status. This would help avoid similar timing issues of other threads jumping the gun before logging and trade adjustments are complete. BTW not checked if trade looks at order status - if it does then needs working around since will see status prior to this transition.
    def _update_status(self, status: OrderStatus) -> None:
        self.status_log.append(status)
        self.complete = self._is_complete()
        if logger.isEnabledFor(logging.INFO):
            logger.info("Order status update: %s" % self.status.value, extra=self.info)
        if self.complete and self.trade.complete and status != OrderStatus.VIOLATION:
            self.trade.complete_trade()
	    self.status = status

Would we not need a thread lock on this function as well?

I don't think it is needed on the basis that it is a transition from some state to EXECUTABLE which would normally only be done by the orders thread. As long as the status change is the last thing that happens users wouldn't be expecting to do anything until it shows as being executable - that was the loophole that let me in and broke it - the status was set too early so I went ahead with changing the order.None of this is totally safe from another thread poking values in the order but that is one of the major weaknesses of python. I do have a prototype for a totally protected type of class object such as an order where code takes ownership and nobody can read/write to the object(order) fields or call methods until it is released. That's the long term safest way but it's a fair chunk of work rewriting.


DRILL-7414: EVF incorrectly sets buffer writer index after rollover

Enabling the vector validator on the "new" scan operator, in cases in which overflow occurs, identified that the DrillBuf writer index was not properly set for repeated vectors.
Enables such checking, adds unit tests, and fixes the writer index issue.

Another in a series of operator fixes for issues uncovered by thorough auditing of each batch of vectors.
This PR builds n DRILL-7403, which is not yet merged. Once DRILL-7403 is merged, I will rebase this PR so that only the last commit is retained.
Please review just the last commit (for DRILL-7414); the others are covered by the DRILL-7403 PR.

@paul-rogers mostly looks good, one minor concern about if need to update the comment after code change.

+1

Cherry-picked last tow commits and squashed them, since there were no conflicts, changes were merged into master.


Responsive design

Status
Type

:x: Hold
Refactor

Description
In this PR I have rewritten most of the scss code to Tailwindcss, the new css framework we are using from now on. In addition to that I will make the whole frontend responsive in order to use it on mobile devices.

Motivation and Context

Screenshots / GIFs (if appropriate):

More Images

Checklist

[x] I have read the CONTRIBUTING document.
[x] I have considered the accessibility of my changes (i.e. did I add proper content descriptions to images, or run my changes with talkback enabled?)
[x] I have documented my code if needed

Resolves

We decided to leave Tailwindcss out of Vocascan, despite the costly conversion, and continue to rely on SCSS. I will close this PR here and copy the responsive design css code to a new branch and PR over time.