Save build time

Currently, 3rdparty projects are included in main project generation. This causes:

Long build time: VS ran through every dependencies again each build
Solution explorer flood: too many projects to navigate and not necessary
Build output flood

Same thing will happen for Linux.
I suggest only keeping subprojects that are directly related to irrbaw in project generation, such as convert2baw, etc.
Normally the dependencies should be built only once and left intact during the build process of main lib. If there's dependency change, we can just re-run CMake without any other hassle (VS will automatically detect changes and re-run CMake too).
I'm already integrating CEGUI that way, it builds when running CMake and does not affect library or example build. If this change is not considered applicable for some reason, I would have to change CEGUI build later.

I'm not entirely sure that "build when configuring" is a good call.
Because one might want to tweak the configuration of the 3rd-party dependencies before attempting an actual build.
I would however put forward the assertion that #196 will greatly improve build times, unless CMake loves to check dependencies recursively.

Somehow rebuilding between Debug and Release still takes a lot of time. It should have been cached by ccache like other parts. Maybe PCH or some config generated files don't play nice?

I've built both Release and Debug and here is the time to switch build config.
Build with Release: 2m4.628s
Build with Debug: 2m38.397s
I think ccache doesn't work with the main lib at all, it only caches for dependencies.

that is a very good build time, we never compiled sub 3 minutes before
(in fact before @Crisspl worked on the cmake last week Debug would have taken you in excess of an hour)
AFAIK there are separate PCHs for each configuration

I mean the ccache should work, this is not a clean build. Re-build should take just several seconds.

depends what you touch, if you touch a header then you need to rebuild several files.
Keep in mind that the biggest offender of build-time are the pixel conversion functions which bloat the library to a 150mb+ build

Well, I just re-build with different configuration.

@Crisspl we have 1 pch file per configuration (debug/Release), correct?

Well, I just re-build with different configuration.

A change in configuration will force a total recompile since after each CMake configure a new configured header is made, timestamp changes, etc. and this is the top level header that controls the behaviour of all the other ones. So in essence the code for every compilation unit changes.


Document use of updated testing infrastructure via pytest

Make necessary changes to our READMEs to reflect changes to how tests are run with these new changes.

I've committed the fixes in my own fork. Awaiting resolution of issue #218 before I make that pull request.

Fixed by https://github.com/openworm/PyOpenWorm/pull/220


New features and enhancements

Features and enhancements for null-safe version 4.

Codecov Report

Merging #9 (17702c9) into master (48ed36a) will decrease coverage by 0.27%.
The diff coverage is 88.88%.

@@             Coverage Diff             @@
##            master       #9      +/-   ##
===========================================
- Coverage   100.00%   99.72%   -0.28%
===========================================
  Files           37       37
  Lines         1441     1477      +36
===========================================
+ Hits          1441     1473      +32
- Misses           0        4       +4

Impacted Files
Coverage Δ

lib/src/algebraic/algebraic.dart
96.72% <88.88%> (-3.28%)
:arrow_down:

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 48ed36a...17702c9. Read the comment docs.

Codecov Report

Merging #9 (17702c9) into master (48ed36a) will decrease coverage by 0.27%.
The diff coverage is 88.88%.

@@             Coverage Diff             @@
##            master       #9      +/-   ##
===========================================
- Coverage   100.00%   99.72%   -0.28%
===========================================
  Files           37       37
  Lines         1441     1477      +36
===========================================
+ Hits          1441     1473      +32
- Misses           0        4       +4

Impacted Files
Coverage Δ

lib/src/algebraic/algebraic.dart
96.72% <88.88%> (-3.28%)
:arrow_down:

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 48ed36a...17702c9. Read the comment docs.


building bevy_asset v0.2.1 fails on wasm32 target

$ cargo build --example headless_wasm --target wasm32-unknown-unknown --no-default-features

   Compiling bevy_asset v0.2.1 (/home/crtn/work/bevy/crates/bevy_asset)
error[E0599]: no method named `spawn` found for struct `bevy_tasks::TaskPool` in the current scope
   --> crates/bevy_asset/src/asset_server.rs:277:22
    |
277 |                     .spawn(async move {
    |                      ^^^^^ method not found in `bevy_tasks::TaskPool`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0599`.
error: could not compile `bevy_asset`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

Please try it now - asset support for wasm just landed on master

It works well!
Thank you so much!


Select Portion on GPUImage

Hi,
How to select portion on GPUImage and apply filter ?

There currently isn't an easy way to do this. You can apply a mask using a custom blend, with one part of the image being filtered, but there isn't a built-in way to selectively apply a filter.


lattice assignment

Sometimes the program fails due to very unbalance lattice assignment.
Li8 Ca4 O10
1.0
101.924633 0.000000 0.000000
2.092458 1.699747 0.000000
0.901087 1.611128 1.139483
Ca Li O
4 8 10
direct
0.618499 0.026280 0.781551 Ca
0.381501 0.973720 0.218449 Ca
0.934161 0.947708 0.208905 Ca
0.065839 0.052292 0.791095 Ca
0.699432 0.589616 0.423058 Li
0.300568 0.410384 0.576942 Li
0.276588 0.174145 0.497114 Li
0.723412 0.825855 0.502886 Li
0.165347 0.126766 0.852747 Li
0.834653 0.873234 0.147253 Li
0.893754 0.494705 0.883722 Li
0.106246 0.505295 0.116278 Li
0.980766 0.937745 0.976306 O
0.019234 0.062255 0.023694 O
0.543600 0.986248 0.909981 O
0.456400 0.013752 0.090019 O
0.699099 0.094702 0.612930 O
0.300901 0.905298 0.387070 O
0.481797 0.128817 0.121688 O
0.518203 0.871183 0.878312 O
0.468908 0.946897 0.805108 O
0.531092 0.053103 0.194892 O

Hi Dr. Zhu,
Can you please tell me the conditions under which the generate_lattice
function failed?
On Apr 19, 2018 1:22 PM, "Qiang Zhu"<EMAIL_ADDRESS>wrote:
@scottfredericks https://github.com/scottfredericks the improvement on
8313764
https://github.com/qzhu2017/crystallography/commit/83137642166c28df55321b5e07d1ddfa4ba019d4
sometimes will fail to generate the certified lattice after a number of
attempts. Needs to prevent this failure.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/qzhu2017/crystallography/issues/5#issuecomment-382868700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQG6aEOAxkYOZ1Yae0XPz11EhQ1vpg58ks5tqPIMgaJpZM4TVKzq
.

try to run
# python test.py

You will quickly find the program stopped at some points due to the failure of lattice generation.

I have changed the value of minvec in the generate_lattice function, which
should help when generating small lattices. After that change, test.py
seems to fail mainly for monoclinic and orthorhombic space groups, which
still have unbalanced ratios for a, b, and c. I will change the methods for
those cases to use random 3-vectors.

excellent. Please just use test.py to run the test and if you find no problem with lattice generation, please close this issue.

I have implemented the random vector method for the remaining lattice types. I have also checked that the resulting lattice constants obey the appropriate statistics. test.py no longer fails to generate lattices.

@scottfredericks There is a bug in the lattice assignment. I found sometimes, the generated lattice has a volume not equal to the estimated volume. Here is
3489dad62bd78c39146e3c0b3a158304bffdc57d
try to run
python structure.py -s 22 -e C -n 12 -v 1.0

to reproduce this error.

I have changed the code to use
vec = random_vector() abc = volume/x xyz = vec[0]*vec[1]*vec[2] a = vec[0]*np.cbrt(abc)/np.cbrt(xyz) b = vec[1]*np.cbrt(abc)/np.cbrt(xyz) c = vec[2]*np.cbrt(abc)/np.cbrt(xyz)
I think the problem now results from the c vector in para2matrix. If we set
mat1 = random_matrix()
mat2 = para2matrix(matrix2para(mat1))
we get slightly different determinants for mat1 and mat2. I am having difficulty figuring out what the correct formula for the c vector should be.

There are multiple ways of transforming from para to matrix.
Currently, para2matrix function only convert the matrix to lower triangular matrix, while random_matrix returns a symmetric matrix. We need to add an option to para2matrix to output symmetric matrix, which is actually more useful in crystallography.
def para2matrix(cell_para, radians=True, mode='s'):
    """
    1x6 (a, b, c, alpha, beta, gamma) -> 3x3 matrix representation
    Args:
    cell_para: a, b, c, alpha, beta, gamma
    radians: if angle are in radian. True/False
    mode: the form of matrix:  s/l/u
    Return:
    matrix: symmetric/low triangular/upper triangular 3*3 matrix
    """

@scottfredericks  This is not very critical now, please finish the option of adding PBC condition first.

@scottfredericks There is a bug in matrix2para
    cell_para[5] = angle(matrix[1], matrix[2])
    cell_para[4] = angle(matrix[0], matrix[2])
    cell_para[3] = angle(matrix[0], matrix[1])

it should be
        cell_para[5] = angle(matrix[0], matrix[1])
        cell_para[4] = angle(matrix[0], matrix[2])
        cell_para[3] = angle(matrix[1], matrix[2])

Could you please double check the two functions of para2matrix and matrix2para?

@scottfredericks Please double check these two functions of para2matrix and matrix2para. After that, we can close this issue.

I have double-checked the functionality by calling matrix2para on matrices generated from para2matrix. The results seem to be consistent now. Additionally, I have added an option for creating upper-diagonal matrices instead of lower.


Fix AVAggregateAssetDownloadTask crash

When AVAggregateAssetDownloadTask is started, Atlantis crashes running app, because it checks currentRequest property which is not supported.
Thrown exception explicitly states:

AVAggregateAssetDownloadTask does not support currentRequest property

As skipping is definitely better option to crashing, this PR skips tracking this type of tasks.

Thanks. It's good to go 👍
I will bump a minor version 👍


Attempt to fix the test suite

I'm not exactly sure what changed to make the test suite so unhappy, but in general ember-try seemed to be having problems installing ember data correctly so I updated a bunch of the failing scenarios to get them to work.
Of particular note:

It might make sense to remove some of the older scenarios at some point
I could not get the Ember 2.3 scenario working so I removed it.  Let me know if you feel strongly about keeping it and I can try again.
The ember-release scenario was breaking because it couldn't run with ember data 2.14.  I think that is related to this ember data issue so I made that scenario run with ember data 2.13 for now.

@Dhaulagiri this is fantastic! Thank you so much for taking the time to fix this!
I 100% agree with you that some of these scenarios can be removed. What are your thoughts about the following:
env:
   - EMBER_TRY_SCENARIO=default
   - EMBER_TRY_SCENARIO=ember-1.13
   - EMBER_TRY_SCENARIO=ember-lts-2.4
   - EMBER_TRY_SCENARIO=ember-lts-2.8
   - EMBER_TRY_SCENARIO=ember-2.12
   - EMBER_TRY_SCENARIO=ember-release
   - EMBER_TRY_SCENARIO=ember-beta
   - EMBER_TRY_SCENARIO=ember-canary

Agreed. I plan to start dropping support for Ember < 2.0 when 3.0 is released.

@offirgolan updated the scenarios based on your suggestion

@Dhaulagiri thank you! 😸


Support for Node 18

Hi,
The 0.5.5 release updated minimatch to v10:
https://github.com/eslint/config-inspector/commit/b5da8e7ada2cc9b3df8d1cebb2931bc48b31d1a5#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
Minimatch v10 does not support node v18:
https://github.com/isaacs/minimatch/blob/v10.0.1/package.json#L52-L54
Indirectly this removed Node v18 suport from this package as patch release. and from parent packages like @nuxt/eslint without a release.

Thank you!


[POC] New URLSync mechanism

Proof of concept - not production ready.
This PR proposes a new API for synchronizing the search parameters with the URL. Here are the key goals of this new implementation:

deeper customization of the URL
handling the no-value / default value case and do not render any crufts
make the state more accessible
possibility to handle storages that are not URL's

First, what does not change with this new implementation: the lifecycle itself. The URL is stored when there is a new rendering and a new search is triggered when there is an update of the URL.
This PoC is an effort to make the internals customizable. So anything that is not related to the lifecycle is externalized as API's. We will provide a default implementation that will work but may not be to the taste of everyone, hence the customization part.
UI State
One of the biggest change is that the widget can now provide UI-oriented views of the state. This is inspired by the state of react-instantsearch. This is this view that will be manipulated by the synchronization. Unlike react-instantsearch, this view is not the search parameters. If you want a widget to be synchronizable, it needs to implement two methods:

getUIState: this methods transforms the searchParameters into a view of the state of this widget and adds it in an object that is returned (API is like a reducer). The implementation for the searchbox reads the searchParameters and adds a key query in the UI state object with the value of the current query.
getSearchParameters: this methods does the opposite, reads a UI state and update the search parameters accordingly. Here is an example with the searchbox

This PoC implements the synchronization for the refinementList as well.
Storage synchronization
For the synchronization itself, there are two aspects:

the mapping
the storage

This part has been split in two so that it's always possible to customization the structure without having to reimplement the storage which may be more tedious.
The UI state mapping is an object with two methods:

toSyncable
fromSyncable

The syncable object is the simplified structure that will be used directly by the storage. The storage shall not make any changes in this structure. We have currently a single implementation that just transfers the UIState without any changes.
The storage part is inspired by both the work on react-instantsearch for an API to transfer the state of IS into another store and the experience that we gained with the URL sync.
The storage API has 5 methods:

write: writes a syncable object to the storage
read: reads the storage and gets a syncable object
onUpdate: registers a callback that will be triggered when the storage is updated
createURL: creates a URL. May not be applicable. For now a default implemented must be provided.
dispose: unregister the storage adapter. Cleans up the event listeners.

This PoC offers a single implementation that is based on the code from the current URL sync and it uses the modern browser history API.
Overview

Demos

with default implementations based on modern history API
With non-trivial mappings, brand refinement list data is mapped to brand query string parameter and the hierarchical menu is mapped to the path name of the URL

Next steps

[x] Implement debouncing of the write. I'll try to implement this in the data storage in order to not clutter
[ ] Implement other widgets. I don't think this matter much in the context of this PoC unless you see some specific widget where it could be a problem. I'll have a look at react-instantsearch also.
[x] Try to implement a custom writer that will rewrite the path. What I have in mind is a hierarchical menu path in the URL and some custom query parameters.

A big change is that it doesn't allow inputting arbitrary api parameters from the URL bar, which I think is a great idea, especially from a security POV, but I'm slightly wondering which usecases will be broken by not allowing refinement from arbitrary elements from the URL.
Dynamic widgets might also be interesting to consider, I think it's fine here, where the URL is basically the source of truth, so widgets could be created, simply by being there in the URL, others could be left empty. I think this is a step forward for that direction and won't impede future explorations regarding dynamic behaviour.

not necessarily part of the API, but it would be good if we saved the "default state" of a widget as undefined, which won't get serialised by qs, as well as making page 1-indexed (rather than 0-indexed). That way ?p=2 will behave like you'd expect and will only get added once you go to the next page

not necessarily part of the API, but it would be good if we saved the "default state" of a widget as undefined, which won't get serialised by qs, as well as making page 1-indexed (rather than 0-indexed). That way ?p=2 will behave like you'd expect and will only get added once you go to the next page

That's part of the plan. You can see that in action here. However I'm not sure for the page because it introduce a shift of value and it's pretty easy to implement.

That’s awesome

I'd keep mapping 😄

I like stateMapping too because it's more explicit on the user will have to manipulate.
@bobylito Do you also plan to have a webpage where you have the full ui state explained as a json? A bit like on react-instantsearch: https://community.algolia.com/react-instantsearch/guide/Search_state.html

Thanks for the update @bobylito If this is approved, what's the ETA for the PR and following merge do you think?

I'd like to have it ready for the release of next month (2.6). Not hard guarantees here :)

Closing this PR for now. I'll open a new one, when I reach a milestone. In the meantime, I'm pushing the current state here: https://github.com/algolia/instantsearch.js/tree/feat/routing


proper exception/warning for null aware operator used on null value

Use case
During the development I mistakenly used ! (null check operator) on the null instance.
In the console, I realized there was no special warning or exception thrown but just a log stating Null check operator used on a null value  Thankfully I was aware of the file in which I did the mistake but it will be very hard to find the error if more than one developer is working on the particular project.

Proposal
Suggestion:
I think instead of just mentioning Null check operator used on a null value in the console if a proper warning or exception is thrown it will be very easy to track the file & line of error.

Hi @Ritsz123, this is a core dart issue and as such should be filed on the dart repo.
Link to repo.
It seems like there might be a similar case in https://github.com/dart-lang/sdk/issues/47185, but if that issue isn't exactly what you're describing, kindly file a new issue on the dart repo.
Closing from here.
Thank you


[Management] manage XSD via JMX

add/delete XSDs via JMX (add already done!);
separate XSD handling in another Management interface?
use custom types from XSD;
store XSD as is on FS and load it before schema documents;
restore an ability to load many schemas (with imports) in one hit;
use registered XSDs for binding;
what about similar approach for JSON?

can also use and turn on/off incoming document validation via XSD

done schema handling via ContentModeler interface. XML/JSON schemas are processed currently.


Method choose from Discrete node not working

Hi,
I've build a Hybrid Bayesian Network, and now I'm trying to use the choose method of a Discrete node, but what happens is that python tells me this:
File "C:\Users\eliam\Miniconda2\lib\site-packages\libpgm\CPDtypes\discrete.py", line 71, in choose
    pvalues = [str(outcome[t]) for t in self.Vdataentry["parents"]] # ideally can we pull this from the skeleton so as not to store parent data at all?
NameError: global name 'outcome' is not defined

And actually, looking at the code there's something strange I don't understand going on in that function: basically the parameter pvals is completely ignored, instead it builds it's own pvals using some kind of list named outcome that doesn't exist in the file though..

Hi @elia-maracani ,
We will look into this.  Do you have some example code for us to replicate this error?
Thanks

Hi @irwincong ,
Yeah sure, at this github repository you can find all you need to try it, let me know.
Thanks

Hi @elia-maracani,
Agreed that there is a source code issue as you pointed out -- variable usage without prior declaration.  An internal version of the code has progressed since and has been refactored a bit, and it does not exhibit this error.  We are currently working through how to best update this external repository.  @cccabot - Do you have any suggested workarounds while we work through this?
Also, please note that the dictionary that you are using in your repo to construct the discrete node seems to be different from what the Discrete() class has documented, specifically, the 'cprob' portion.  If you uncomment line 44 in examples/examples.py, you would get something like the following.
  "Grade": {
    "vals": [
      "C",
      "B",
      "A"
    ],
    "numoutcomes": 3,
    "cprob": {
      "['high', 'easy']": [
        0.0,
        0.029411764705882353,
        0.9705882352941176
      ],
      "['low', 'easy']": [
        0.23529411764705882,
        0.3764705882352941,
        0.38823529411764707
      ],
      "['low', 'hard']": [
        0.7547169811320755,
        0.20754716981132076,
        0.03773584905660377
      ],
      "['high', 'hard']": [
        0.25,
        0.42857142857142855,
        0.32142857142857145
      ]
    },
    "parents": [
      "Intelligence",
      "Difficulty"
    ],
    "children": [
      "Letter"
    ]
  },

Regards


arc render bug when x is greater than radius

I want to render an semicircle witth method arc，but when x is greater than radius. It didn't render correctly.

I have wrote a sample in jsfiddle.
https://jsfiddle.net/yreenchan/0c85uxoh/

Looks like this is still active in v4:

Looks fixed in latest; https://jsfiddle.net/16cbefab/


Using Phinx with PHPUnit

Hello,
I'm trying to set up a fixture for an integration test using a PDO sqlite in-memory database. I'm looking at the documention:
    $configArray = require('phinx.php');
    $configArray['environments']['test'] = [
        'adapter'    => 'sqlite',
        'connection' => $pdo
    ];

This results in an error, because app/phinx.php is just a class loader for PhinxApplication apparently:
Error: Cannot use object of type Phinx\Console\PhinxApplication as array
How can I therefore setup a fixture as explained in the docs with the current version of Phinx? Thanks.

Hi! Is there any way to run migration from the specific directory? I have unit tested on which I need to create just 3 tables and some seeds, so I don't want to run all the migrations/seeds files.


[BUG] - Can't pass custom variants props to styled component

Describe the bug
import { styled } from '@nextui-org/react';
import React from 'react';

const StyledDiv = styled('div', {
  variants: {
    custom: {
      true: {},
      false: {},
    },
  },
});

interface CustomDivProps {
  custom?: boolean;
}

export const CustomDiv: React.FC<CustomDivProps> = ({ custom = false }) => (
  <StyledDiv custom={custom} /> // Getting TS error `No overload matches this call.`
);

If I use import { styled } from '@stitches/react' then it works and the StyledDiv has custom property
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
In desctipion
Expected behavior
I expect that styled from NextUI add custom variants props
Screenshots or Videos
No response
Operating System Version
macos
Browser
Chrome

After research found the solution. The problem was with TS version, this problem occures on typescript 4.6.6. After downgrading to 4.5.5 it works fine.
So in the future this would be perfect if we support the latest ts

Will be fixed in https://github.com/nextui-org/nextui/pull/434


Landing page demo integration

Integrate Sheepdog vs Native demo
Visually integrate the demo
Dark/light mode fixes
Responsiveness fixes

Just making a note:

the favicon and main logo are now different (perhaps were different before)
need to add the new tagline (slack)
add line to copy the install command (if we want it)
the search box could do with a different outline in darkmode
link to Mainmatter at the bottom
I think we need a better plan for the task selector on mobile, I don't think it's clear that you can scroll that, maybe it should be a dropdown instead?
is there a way to switch between light/dark mode on mobile? (do we want it?)

@beerinho  The first point is interesting because it looks totally different on my machine 😂 I assume this again is a difference between dev/prod.... sigh


docs: refactor & refine lifecycle API docs

Motivation
The lifecycle API doc is becoming more and more cluttered overtime, and the name is also somehow misleading since there are other non-lifecycle APIs. I wish to more formally introduce their usage.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

Maybe we should rename "lifecycle API" to just "plugin apis"?

That's exactly what I plan to do:P https://deploy-preview-5918--docusaurus-2.netlify.app/docs/next/api/plugin-apis/introduction/ (the slug is already called plugin-apis; forgot to rename the category label)

We'll likely need a redirect in _redirects

Since we already marked the section as WIP—won't that imply there can be any kind of breaking changes?


Moving Social Activities Framework from kie-uberfire-extensions to ub…

…erfire-extensions

@manstis this should fix current build error on master.

+1


changing height in cavas tags messes with drawing

changing the height value here: https://github.com/IPS-LMU/EMU-webApp/blob/master/app/views/level.html#L8 to a higher value messes with the rendering of the levels.

fixed in component rewrite


WIP: Precompile GMT.jl package to speedup loading

Check if precompiling GMT.jl can speedup the library loading.

Doesn't work as expected. Closing.


Added a Haskell, potentially handles more clients than C++

I ran the client and server on me own machine, think it would unbound it a bit if they were separated like in your setup.
I got, uh, pretty good results.

Love to see what y'all get and if you could maybe-possibly add it to the existing blog post pretty please? I'll explain the code if desired.

For contrast, Rust on the same machine:

Golang:

C++:

The Haskell server peaked at 1.28 gb of memory used based on the eyeball-htop method suggested.

The response time spread seems minimal, have you tuned GC in any way to achieve this result? Weird not seeing pauses affect your 95th percentile.

@farnoy I did nuh-zink. What you see (in the diff) is what you get. Just the ghc-options specified in the cabal file.

hi @bitemyapp, you might want to split the fix for clojure and the fix for cpp into separate PR's so hashrocket can more easily judge this one on its merit

Doesn't Control.Concurrent.Broadcast drop messages (i.e. it's not really a channel)? I think unagi-chan would be better here.

It does indeed drop messages.
After adding received message counting to websocket-bench(https://github.com/zyla/websocket-shootout/commit/b4c7104e4bcf0377a55e899000159fdd3efcb6c6) and a minor fix in the haskell server (https://github.com/zyla/websocket-shootout/commit/0c329a6920aa2706e9141586d450cf13c28907e5), the results are:
clients:  1000  expected: 100000  rcvd:  1960  95per-rtt:  53ms  min-rtt:   1ms  median-rtt:  50ms  max-rtt:  79ms
clients:  2000  expected: 200000  rcvd:  3939  95per-rtt:  98ms  min-rtt:   2ms  median-rtt:  96ms  max-rtt:  99ms
clients:  3000  expected: 300000  rcvd:  5993  95per-rtt: 181ms  min-rtt:  39ms  median-rtt: 160ms  max-rtt: 207ms
clients:  4000  expected: 400000  rcvd:  7751  95per-rtt: 244ms  min-rtt:   2ms  median-rtt: 241ms  max-rtt: 245ms
clients:  5000  expected: 500000  rcvd:  9957  95per-rtt: 246ms  min-rtt:   2ms  median-rtt: 237ms  max-rtt: 252ms

Here expected is the number of broadcast messages we expect to receive, and rcvd is the how many actually arrived.

Kicking around the unagi-chan variant @sgraf812 PR'd, definitely don't merge this for now, original version I wrote was not correct!

For some context, this: https://blog.wearewizards.io/a-lot-of-websockets-in-haskell is roughly what I expected in terms of results modulo hardware differences, which is why I wasn't that surprised when I saw the initial results.

@bitemyapp It's a shame you removed original PR comment - future readers will be lost.

@tumdum well, people were getting nasty about it on Reddit, so I figured I'd amend it to shift focus to the retraction and what we were doing to fix it. I wasn't going to leave a (visually prominent) screenshot of erroneous results up.

Not sure if this is still in progress or how it relates to the other Haskell PR, but the websocket-bench tool now checks for too many or too few broadcasts.

There hasn't been any activity on this PR for a while, and we have a Haskell server merged now. So I'm going to close this PR. Feel free to reopen if there are any further developments.

@jackc 👍


Fix typo (TRESHOLD instead of THRESHOLD)

@villfa, this has conflicts now but fixed with v1.1.0 and mentioned in readme.
Thanks.


Conditional.php generates wrong field name

I wanted to add conditional logic, but failed to do so.
This is my set up:
//
// News / Blog items
//
$fields = [
    acf_image([
        'name' => 'banner',
        'label' => 'Banner',
        'wrapper' => ['width' => '100%'],
    ]),
    acf_radio([
        'name' => 'thumbnail_options',
        'label' => 'Image or video on thumbnail',
        'wrapper' => ['width' => '100%'],
        'choices' => ['image' => 'Image',  'youtube' => 'Youtube'],
        'default_value' => '',
        'layout' => 'horizontal',
        'return_format' => 'value',
    ]),
    acf_image([
        'name' => 'thumbnail_image',
        'label' => 'Thumbnail image',
        'wrapper' => ['width' => '50%'],
        'conditional_logic' => array(
            array(
                array(
                    'name' => 'thumbnail_options',
                    'operator' => '==',
                    'value' => 'image',
                ),
            ),
        ),
    ]),
    acf_url([
        'name' => 'thumbnail_video',
        'label' => 'Thumbnail video',
        'wrapper' => ['width' => '50%'],
        'conditional_logic' => array(
            array(
                array(
                    'name' => 'thumbnail_options',
                    'operator' => '==',
                    'value' => 'youtube',
                ),
            ),
        ),
    ]),
];

$location = [
    [
        acf_location('post_type', 'post')
    ],
];

acf_field_group([
    'title' => 'News settings',
    'key' => 'group_news',
    'fields' => $fields,
    'style' => 'default',
    'location' => $location,
    'position' => 'normal',
    'hide_on_screen' => ['featured_image', 'categories'],
]);

It only works if I disable the logic in Conditional.php and change the config like this:
array(
    'field' => 'field_news_thumbnail_options',
    'operator' => '==',
    'value' => 'image',
),

Hmm, have you tried using the acf_conditional_logic function?

I did, but this helper only returns the array I have above:
acf_conditional_logic('thumbnail_options', 'image')
returns
[
    "name" => "thumbnail_options"
    "operator" => "=="
    "value" => "image"
]

I think the real issue lays in Conditional.php or Field.php

What version of this package and PHP are you using?

wordplate/acf: 3.1.0
advanced-custom-fields/advanced-custom-fields-pro: 5.5.14
php: 7.1.0

I created a pull request with a possible fix

Thanks, I'll look into this as soon as I've time to spare!

@MaximVanhove thanks for reporting! I've pushed a fix in f3eb02c65d7961b927a64d4442c83edb96f92e75.
Are you your code in production yet? If not, you could upgrade to the latest beta version 4.0.

No it's still in progress. I'll test the beta soon. Thanks for the great work.

No it's still in progress. I'll test the beta soon. Thanks for the great work.

Okay, great! Just know that the new version is hashing the keys. This means data will be lost but if this is only in a development environment it should be too much of an issue.

I can confirm that this is fixed in 4.0 and no data is lost, but you need to save everything again first.

Okay, great! Thanks for letting us know.

Please take note of this breaking change in version 4.0: 6b8dd35c21563085da11427b467918a4c5b7daa1


param support not really implemented, though documented

I would like to use param matching in my mocks. Seems like this functionality is broken/partial. Here's a PR to add/fix it.

PR: https://github.com/atecarlos/protractor-http-mock/pull/24

This doesn't seem to work for something like ?filters[something]=test

I haven't tested that case, but I wouldn't be surprised if that's right. The problem with JS is that there is no solid query string parser built in, so everyone rolls their own. I stole the parser from the query-string library on github and hard coded it: https://github.com/atecarlos/protractor-http-mock/pull/24/files#diff-1de14bcfc873a6a7afb539aef7f95547R7
I hard coded it, because protractor-http-mock is:
A.) doing a search and replace on this code: https://github.com/atecarlos/protractor-http-mock/blob/master/lib/http-mock.js#L210
B.) being run within the context of protractor itself, which seems to make external library calls impossible, because the scope disappears.
If square brackets are a requirement, I'm sure they wouldn't be too difficult for someone to add. Just take a look at the queryString code I linked above.

Looks like it does support [] without this.

Hi @jdgblinq and @jonricaurte . I'm currently working on testing and integrating this into the main branch. Thanks for the pull request.

Hi @jdgblinq @jonricaurte . So the problem was a misrespresentation in the documentation. The params property in the mock object is not meant to match the query string, but the params as passed to the $http object.
In what scenarios do you need to to actually match the query string? I'm working on that implementation, but just so I understand the scenario better.
I'll be publishing a new version today with a fully working params functionality.

We use query string params matching frequently. We use $resource to access RoR REST services. Sometimes these take params.

I see. Great. I'm almost done with an implementation inspired from your pull request. I'll update here as soon as it is released.
Thanks!

Hi @jdgblinq and @jonricaurte . I just published a new version of the plugin with query string support. Thanks @jdgblinq . Your pull request was a great help. Please let me know how this works for you.


Log flooded with messages

Curious why you have the log flooded with messages by default?
Is there a reason you haven’t provided a way to turn off all the messages other than gpio state changes?

Set Log Level to control the level of logging per Raspberry Pi.


Add support url params in create, update, save methods

Resolve #41

Codecov Report

Merging #42 (4a83207) into main (dc044ea) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #42   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           63        63
  Lines          946       952    +6
=========================================
+ Hits           946       952    +6

Impacted Files
Coverage Δ

aioalfacrm/core/api.py
100.00% <100.00%> (ø)

aioalfacrm/core/entity_manager.py
100.00% <100.00%> (ø)

aioalfacrm/core/utils.py
100.00% <100.00%> (ø)

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 dc044ea...4a83207. Read the comment docs.


[$250] App crashes when the user initiates the send invoice flow twice

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.16-4
Reproducible in staging?: Yes
Reproducible in production?: No
Expensify/Expensify Issue URL:
Issue reported by: @rezkiy37
Slack conversation: https://callstack-hq.slack.com/archives/C049HHMV9SM/p1722876158696939, https://callstack-hq.slack.com/archives/C06SPA2JTPC/p1722865278681679
Action Performed:
Break down in numbered steps

Open an invoice room.
Initiate the Send Invoice flow from the room.
Close it.
Initiate the Send Invoice flow one more time.

Expected Result:
The app initiates the Send invoice and does not crash.
Actual Result:
The app crashes.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/user-attachments/assets/6467e11d-2c18-4504-9275-be1e08d7066f

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011b5e32288a6dbf2c
Upwork Job ID:<PHONE_NUMBER>301758830
Last Price Increase: 2024-08-06

Issue OwnerCurrent Issue Owner: @brunovjk

Agree this is a bug that should be fixed

@daledah I am developing the invoicing feature and I've found this bug. So I will take care of the fix. Thank you for the proposal.

Hi, I’m Michael (Mykhailo) from Callstack and I would like to work on this issue.

Preparing the PR - https://github.com/Expensify/App/pull/46869.

The PR has been opened for review 🙂

Reviewing after lunch.

Hi @VictoriaExpensify, Can you assist with the assignment for this issue? What should I review? Thank you.

Hey everyone, after chatting with the internal Expensify team we are going to move forward with @rezkiy37's PR.

Sounds good, thanks @davidcardoza and @rezkiy37 !

The PR (https://github.com/Expensify/App/pull/46869) is ready for review.

I think the PR has now been on prod for a week. Deployed on August 13th: https://github.com/Expensify/App/issues/47219#issuecomment-2287028910
cc: @VictoriaExpensify, @Beamanator

Agreed 👍

@Beamanator, please remove the Reviewing label and bump to Daily as payment is due. Thank you :D

Done 😅

Issue not reproducible during KI retests. (First week)

[x]  [@brunovjk] The PR that introduced the bug has been identified. Link to the PR: N/A
[x]  [@brunovjk] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
[x]  [@brunovjk] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[x]  [@brunovjk] Determine if we should create a regression test for this bug.  No
[x]  [@brunovjk] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.  N/A

@mallenexpensify Would you mind helping with payment here? I believe @VictoriaExpensify is OOO. Thank you very much.

Hey @VictoriaExpensify, just a heads up that the payment for this issue is still pending. When you have a moment, could you help process it so we can close this out? Appreciate it!

@brunovjk can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~011b5e32288a6dbf2c

@mallenexpensify Offer accepted, thanks.

Contributor+: @brunovjk paid $250 via Upwork

@brunovjk] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. N/A

@brunovjk can you provide reasoning why we don't want a regression test here?  Thx

@brunovjk can you provide reasoning why we don't want a regression test here? Thx

@mallenexpensify In light of the recent type-safe changes across multiple files and flows, I initially considered that a regression test might not be necessary. However, after reviewing, I don’t see why we shouldn’t create a test. I updated this comment with the test.

Thanks @brunovjk , when in doubt, let's always create the test cases cuz QA reviews them and they can decide what's best.

https://github.com/Expensify/Expensify/issues/423342


Keyd settings can't remap non alpha keys

Describe the bug
When using services.keyd.settings it's not possible to remap special characters and numbers.
error: syntax error, unexpected invalid token

       at /nix/store/gqbz75affx5x5yi6zd4bfwkxdjix4r5r-source/modules/base.nix:137:9:

          136|
          137|         ` = "$";
             |         ^
          138|         1 = "&";
(use '--show-trace' to show detailed location information)

Steps To Reproduce
Code I used:
  services.keyd = {
    enable = true;
    ids = [ "03eb:ff01" "0001:0001" ];
    settings = {
      main = {
        capslock = "escape";
        escape = "capslock";

        ` = "$";
        1 = "&";
        2 = "[";
        3 = "{";
        4 = "}";
        5 = "(";
        6 = "=";
        7 = "*";
        8 = ")";
        9 = "+";
        0 = "]";
        - = "!";
        = = "#";

        q = ";";
        w = ",";
        e = ".";
        r = "p";
        t = "y";
        y = "f";
        u = "g";
        i = "c";
        o = "r";
        p = "l";
        [ = "/";
        ] = "@";

        a = "a";
        s = "o";
        d = "e";
        f = "u";
        g = "i";
        h = "d";
        j = "h";
        k = "t";
        l = "n";
        ; = "s";
        ' = "-";

        z = "'";
        x = "q";
        c = "j";
        v = "k";
        b = "x";
        n = "b";
        m = "m";
        , = "w";
        . = "v";
        / = "z";

      };
      shift = {
        ` = "~";
        1 = "1";
        2 = "2";
        3 = "3";
        4 = "4";
        5 = "5";
        6 = "6";
        7 = "7";
        8 = "8";
        9 = "9";
        0 = "0";
        - = "%";
        = = "`";

        ] = "^";
      };
    };
  };

Additional context
Maybe I'm missing something syntax wise?
Notify maintainers
@woojiq
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.31, NixOS, 23.11 (Tapir), 23.11.20230605.7409480`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

@leg7 you need to take non alpha keys in quotes. This is not related to keyd service but to nix language. So this works for me:
services.keyd = {
    enable = true;
    ids = [ "*" ];
    settings = {
      main = {
        "`" = "$";
};};};

@leg7 you need to take non alpha keys in quotes. This is not related to keyd service but to nix language. So this works for me:
services.keyd = {
    enable = true;
    ids = [ "*" ];
    settings = {
      main = {
        "`" = "$";
};};};

Thank you this works. I did try that but I guess I must have missed one so I thought it didn't work. Maybe it would be good to add this to the example?

Maybe it would be good to add this to the example?

If I add something new to the service, I'll add an example like this. But I don't want to create a PR just for this change.
I'm glad I helped you. If there are no questions, feel free to close the issue 😇

kk

Yes, something strange happens when writing "=" = "1". If you look at the generated /etc/keyd/default.conf file, you will see \==1 but expected is ==1. This is also related to the nix language. I don't know why it escapes "=" with backslash, I'll try to investigate.

Yep this works great thanks a lot!
If you get the chance to update the service I think it would be very helpful to mention these pitfalls.
o/


Pilot US dataset: data.gov

To test if auto-certification work for data.gov, including the metadata quality, what % of their datasets will get raw.
Test using the staging site.

I've not run a full import on staging yet due to some reliability issues in the import code[1]
It probably will also require making the licensing questions in the US jurisdiction a bit more strict, currently if no answer is provided for the initial licensing question of if the data was created by the US govt or not then most certificates will pass. We need a way to work out if each dataset is federal data[2] or some other body.
If we can work out what data is Federal then they will mostly likely pass depending on how we deal with the Public Domain within the US issue.
[1]: As the data.gov dataset is so large the chance of a request failing due to intermittent issues is higher, currently there's very little retry logic.
[2]: Federal data is explicitly PD inside the US but outside requires a licence, data by other bodies may be anything.

Reliability has been split out to #1140
Licensing questions to #1138
And determining the producer to #1139


Adding JSONHelpers tests and SemanticVersion Tests

re-factor the CompletionController and got some tests for it as well as the SemanticVersion

</Reference>

Not related to your change, but wanted to make a note so we can discuss in group code review meeting. These are very old.

Refers to: src/LibraryManager.Vsix/Microsoft.Web.LibraryManager.Vsix.csproj:181 in e084c0d. [](commit_id = e084c0dadb2c764242431b2d07fac3750be57215, deletion_comment = False)

using System.Linq;

Sorting the namespace

Refers to: src/LibraryManager.Vsix/Json/Completion/BaseCompletionProvider.cs:14 in a702b43. [](commit_id = a702b430e42b0fe96d152eee71ec4e9dd61c6760, deletion_comment = False)


Change default hash to BLAKE2b

This is a candidate solution for #727.
SHA-1 has been broken, and so is no longer a sensible default.

LGTM


Parsing error on smart pipeline

When passing in a value with the placeholder (#), a syntax error is thrown.
Example:
header_elem |> assign_defined(#, { display_name, t0 });

It doesn't seem like there's any way around this, so I currently have to ignore the entire file.

Thank you for the issue. Now that @babel/eslint-parser has been released, we are making this repository read-only. If this is a change you would still like to advocate for, please reopen this in the babel/babel monorepo.


require('readmore-js') fails when used with browserify with error could not find module 'jquery'

Problem 1
having example.js like below
global.$ = global.jQuery = require('jquery');
require('readmore-js');
$('.consent').readmore();

using browserify
browserify example.js -o bundle.js

and then in the console getting could not find module 'jquery' from readmore calling in jquery.
Problem 2
After browserify produced bundle.js, it had jquery 2.1.4 in it together with our version of jquery. The final bundle has 2 jquery libraries if the project using readmore is also specifying jquery.
Changed the dependencies section in readmore-js package.json and used https://docs.npmjs.com/cli/shrinkwrap to remove the  readmore jquery dependency from the resulting bundle to make sure that was not causing Problem 1 above.
Used bower to have readmore-js in my project that I am building with npm and browserify to finally get it working. If you are going to drop support for bower it is best to make sure it works with browserify and npm as build tool.
Thanks for the good work, your plugin is helpful.

I think I figured out what was going here. Let me know if the next version (which I will publish shortly) doesn't work for you.


cannot run vite

⚠ IMPORTANT ⚠ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

[x] Read the docs.
[x] Use Vite >=2.0. (1.x is no longer supported)
[x] If the issue is related to 1.x -> 2.0 upgrade, read the Migration Guide first.

Describe the bug
When I run vite command, it throws an error and exits.
Reproduction

Create a project using npm init @vitejs/app
Run npm i
Run npm run dev or any run script use vite(build, serve)

System Info

vite version: 2.0.0-beta.66
Operating System: Windows 10 x64
Node version: 15.8.0
Package manager (npm/yarn/pnpm) and version: npm v7.5.3

Logs (Optional if provided reproduction)
2021-02-09T11_51_25_236Z-debug.log

1384

No. I created a new project in a full English path but it still outputs that error.

><EMAIL_ADDRESS>dev E:\vite-project
> vite
events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: spawn E:\vite-project\node_modules\esbuild\esbuild.exe ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
    at onErrorNT (internal/child_process.js:465:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
    at onErrorNT (internal/child_process.js:465:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn E:\\vite-project\\node_modules\\esbuild\\esbuild.exe',
  path: 'E:\\vite-project\\node_modules\\esbuild\\esbuild.exe',
  spawnargs: [ '--service=0.8.42' ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>dev: `vite`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\*\AppData\Roaming\npm-cache\_logs\2021-02-09T14_25_20_457Z-debug.log

This is the log copied from console.

Well, you didn't provide that information in the original issue - that's why it was closed.
This seems like an esbuild install failure with your system setup - try if you can install and run esbuild individually, if you get the same error, open an issue in esbuild's repo instead.

Hmm... After testing, I found the reason why esbuild could not be installed was that I used the Taobao mirror. Then I switched to the official registry, the project can build successfully.


fix(standalone): should not specify dashboard ui path

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
There's no static dashboard assets in the docker image. By specifying ui-path (which is meant to be used by developers), the dashboard service will fail to proxy the requests to GitHub user contents.
https://github.com/risingwavelabs/risingwave/blob/9bfa04cf25f4bf8ce5d7e6dc6e6333cceb81ab1a/src/meta/src/dashboard/mod.rs#L370-L400
This is a quick fix. However, I still think we should avoid external network requests in production and maybe we should pack the assets in the image. What do you think? @xxchan
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

#13257


Minor syntax error in README

"test": "riteway -r @babel/register 'src/**/*.test.js' | tap-nirvana",
I think should be:
"test": "riteway -r @babel/register src/**/*.test.js | tap-nirvana",
omitting the inside quotation marks surrounding src/**/*.test.js

What makes you think this is an error?


V3 routing docs

R: @jeffposnick @addyosmani @gauntface
This is very rough, but it at least surfaces the available top level functions on the workbox-routing default export.

Looks like index.mjs needs to be updated to point to ./Route.mjs instead of ./lib/Route.mjs.
Otherwise, 👍


Property types validation doesn't pay attention to types hierarchy

Langium version: 0.5.0
Package name: langium
Steps To Reproduce
Named: name = ID;
Expression: NamedRef;
NamedRef: ref=[Named];

interface QualifiedRef extends NamedRef {
    qualifier: Expression
}

QualifiedRef returns QualifiedRef:
    qualifier=NamedRef ref=[Named];

QualifiedRefWithAction infers Expression:
    NamedRef {QualifiedRef.qualifier=current} '.' ref=[Named];

The current behavior
The error The assigned type 'NamedRef' is not compatible with the declared property 'qualifier' of type 'Expression': 'NamedRef' is not expected. rises for QualifiedRef and QualifiedRefWithAction.
The expected behavior
No errors since NamedRef is Expression.

Relates to #559. For example, this brings an error The assigned type 'QualifiedName' is not compatible with the declared property 'name' of type 'string':  'QualifiedName' is not expected..
interface TypeA {
    name: string
}
A returns TypeA: name=QualifiedName;
QualifiedName returns string: 'QualifiedName';


python311Packages.aioairq: 0.3.0 -> 0.3.1

Diff: https://github.com/CorantGmbH/aioairq/compare/refs/tags/v0.3.0...v0.3.1
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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 rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 265340 at eb9fdf2a run on x86_64-linux 1

2 packages built successfully:

python310Packages.aioairq
python311Packages.aioairq


DBZ-7196 Add modify range_partitions to modify_table_partition rule in parsing PL/SQL

https://issues.redhat.com/browse/DBZ-7196

Upstream: https://github.com/antlr/grammars-v4/pull/3834

Hi @ilyasahsan123 it would appear the test failures are related, could you take a look?

Hi, @Naros, I've updated the logic for parsing SQL and ran the tests locally. Could you please review the changes?
Thanks!

/packit test --labels oracle

Thanks @ilyasahsan123, applied to main (=2.5).


cluster-aws: Adapt to CAPA subnet spec changes

Follow-up to https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/4026 in which the breaking change was partially rolled back. The subnet id field now has 2 meanings (managed: use non subnet- prefixed key which by default is used as Name tag, unmanaged/bring-your-own: id field denotes the AWS subnet ID).

Upgrade CAPA with the change from https://github.com/kubernetes-sigs/cluster-api-provider-aws/pull/4474. See if it can migrate existing cluster-aws manifests nicely, or if not, we need to leave remarks in that PR.
If it works out nicely, adapt cluster-aws to include the id field, but only after our CAPA app was upgraded on all clusters.

@AndiDog do u know how much effort is this to 'do'? How critical is it? Should we do it before we create CAPA production clusters instead of Vintage?
Upgrade of CAPA is done, so the question is about migration.

The upgrade isn't done yet on our side – the change will only be released in CAPA v2.3.0. I reviewed the change again and think that it won't be risky. We only need to change cluster-aws to introduce the AWSCluster.spec.network.subnets[].idfield for managed subnets. But that means at least CAPA v2.3.0 should run. So upgrading CAPA and changing+upgradingcluster-aws` for all MCs/WCs must basically be done at once, or else CAPA will complain about the missing field and will not reconcile clusters. I guess we can do this pretty soon to avoid issues with production clusters. However, the CAPA v2.3.0 milestone isn't complete, so the release can still take weeks. We're probably better off prioritizing this by merging the change into our fork as a "pre-release hotfix" 😆. I could take this task since I still have the full context.

The v2.3.0 release had its CRDs corrected after the initial PR, so the id field becomes actually required:
--- a/helm/cluster-api-provider-aws/files/controlplane/patches/versions/v1beta2/awsmanagedcontrolplanes.controlplane.cluster.x-k8s.io.yaml
+++ b/helm/cluster-api-provider-aws/files/controlplane/patches/versions/v1beta2/awsmanagedcontrolplanes.controlplane.cluster.x-k8s.io.yaml
@@ -370,0 +371,2 @@
+                    required:
+                      - id
@@ -372,0 +375,3 @@
+                  x-kubernetes-list-map-keys:
+                    - id
+                  x-kubernetes-list-type: map

So deploying a WC fails at cluster-aws installation:
Reason: Upgrade "andreas108" failed: failed to create resource: AWSCluster.infrastructure.cluster.x-k8s.io "andreas108" is invalid: spec.network.subnets[1]: Duplicate value: map[string]interface {}{"id":""}

I suggest we make this major change in two steps:

Deploy CAPA v2.3.0 to MCs, but without the above CRD diff (we comment it out and ignore temporarily that make generate output differs). As tested above, CAPA will happily fill the id field itself and reconcile just fine. Upgrade all workload clusters to a version of cluster-aws which sets the id field. Fix kubectl-gs to emit that field (an identifier not starting with subnet-).
Deploy latest CRDs that actually make the id field required and a unique key of the array-typed map AWSCluster.spec.network.subnets.

Reopening for now because with https://github.com/giantswarm/cluster-aws/pull/387 and https://github.com/giantswarm/cluster-api-provider-aws-app/pull/200, there are still temporary reverts in place that caused issues.
Next, I'm going to work on the EKS WC cluster creation error shown in https://github.com/giantswarm/roadmap/issues/3048:
E1213 13:17:04.251075       1 controller.go:324] "Reconciler error" err="failed to reconcile network for AWSManagedControlPlane org-giantswarm/vac0eks: failed to patch conditions: AWSManagedControlPlane.controlplane.cluster.x-k8s.io \"vac0eks\" is invalid: spec.network.subnets[7]: Duplicate value: map[string]interface {}{\"id\":\"\"}" controller="awsmanagedcontrolplane" controllerGroup="controlplane.cluster.x-k8s.io" controllerKind="AWSManagedControlPlane" AWSManagedControlPlane="org-giantswarm/vac0eks" namespace="org-giantswarm" name="vac0eks" reconcileID="12841c2f-7435-4f3b-9106-782a05e97702"

For that, I need to retest cluster-eks. It should have been solved by https://github.com/giantswarm/cluster-eks/pull/43, but maybe something else is missing.
Then, the CRDs inside the CAPA app can be fully updated to make the subnet id field actually required.


stat/distmv: Add Nu() method to MV Student's T

It cannot be extracted at present, but it can get created unobserved with Conditional

@btracey can this be closed? I see a Nu() function here -- unless I'm misunderstanding? (I'm looking for a good first issue.)

yes, it seems this was fixed w/ https://github.com/gonum/gonum/pull/356

yes, it seems this was fixed w/ https://github.com/gonum/gonum/pull/356

(but the correct bug labeling was lost when transitioning from the multi gonum repo to the single mono-repo structure).
nice catch.

(but the correct bug labeling was lost when transitioning from the multi gonum repo to the single mono-repo structure).
nice catch.


UNAUTHENTICATED response for admin.firestore.collection.doc.get running in parallel

What you're trying to do

IoTCore devices send events and requests through pubsub. A GKE workload with multiple pods subscribes to the messages and responds to the IoTCore devices.
Workload Runtimes

node 12.18
firebase-admin: 8.12.1

When a surge of IoTCore device messages occurs, each pod receives a larger number of messages to handle. This causes a few requests in parallel to firestore via the nodejs-firestore sdk.  During this load, we are receiving a few errors.
In addition to firestore failing, pubsub message ack fails to go through as well.
The code works fine when there is no surge in load.

What code you've already tried

Mainly get and update firestore collections.  This call is run in parallel multiple times.

public get(collection: string, doc: string | undefined): Promise<any> {

    return new Promise((resolve, reject) => {
      if (doc) {
        this.firestoreClient
          .collection(collection)
          .doc(doc)
          .get()
          .then(snapshot => {
            const retItem = snapshot.data();
            if (retItem) {
              resolve(retItem);
            } else {
              reject(new Error('entity not found'));
            }
          })
          .catch(err => {
            log.error('Error getting documents ' + err);
            reject(err);
          });
      } else {
        reject(new Error('document id undefined'));
      }
    });
  }

Any error messages you're getting

16 UNAUTHENTICATED: Failed to retrieve auth metadata with error: request to https://www.googleapis.com/oauth2/v4/token failed, reason: Client network socket disconnected before secure TLS connection was established

Errors not related to firestore
4 DEADLINE_EXCEEDED: Deadline exceeded
    at AckQueue._sendBatch (/usr/src/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:178:19)
    at runMicrotasks (<anonymous>)
    at runNextTicks (internal/process/task_queues.js:62:5)
    at processImmediate (internal/timers.js:429:9)

Question

Are there any issues in sending a few firestore get collection calls in parallel? Should applications be developed to minimize calls in parrellel?

Hi @nilushan-bluekey. I don't have any immediate ideas but I'll take a look into it and reply back.

Thank you very much @dconeybe
I will do an audit of the code as you suggested. There is a good chance that some promises do not await properly.

Since it's been a week I'm going to close this issue; however, feel free to comment if you are unsatisfied with this resolution, or file a new ticket if the issue resurfaces. Thanks!


Game Scenes (advice)

Hi all,
I've been looking in to using scenes in Kontra (such as different RPG areas / menu screens, etc), most of which I've got working in some manner but the method I'm currently using:
import { init, GameLoop, load } from  "kontra";

const { canvas } = init();

const Scene = ({ areaId }) => {
	return GameLoop({
		update: () => console.log("Area Id:", areaId),
		render: () => {}
	});
};

load("assets/tileimages/test.png").then(assets => {
	const loadScene = props => {
		console.info("==> Next Scene:", props);

		return Scene({
			...props
		}).start();
	};

	loadScene({ areaId: "area1" });

	setTimeout(() => {
		loadScene({ areaId: "area2" });
	}, 3000);
});

However if you run the script, it doesn't seem to clear out the 'area1' scene and keeps it in memory.  Is there a crucial point I'm missing / does anyone have experience with implementing scenes at all?
This isn't really an issue per-say, so my apologies if I've asked in the wrong bit.
Cheers

Nice! I personally don't have any experience trying to write scenes in Kontra, but maybe @wini3d , @BoldBigflank, or @Rayne do?
Otherwise, just from the posted code, it looks like the current GameLoop may not be stopped when you load a new scene. Might be what's causing the previous scene from not being cleared.

You call start() but never call stop(), you'll need to save what the current scene is and stop it before starting the next.

Amazing, thanks so much! I’ll gjve that a go. Totally missed the stop method in my travels by overthinking the problem it seems.

I can confirm that it works a treat! Thanks for sorting me out everyone. :)
If it's of any use to folks I ended up settling for the following (for now at least) and stuck it all in a scene manager script:
export default ({ scenes = [] }) => {
  let currentScene = null;

  return {
    loadScene: props => {
      const { areaId } = props;

      if (currentScene) currentScene.stop();

      const { sceneObject: Scene } = scenes.find(
        scene => scene.areaId === areaId
      );

      currentScene = Scene(props);
      return currentScene.start();
    }
  };
};

What a scene object might look like (different scenes will hold different properties and things):
const Scene = ({ areaId }) => {
  console.info("==> Next Scene Loaded:", areaId);

  return GameLoop({
    update: () => console.log("Area Id:", areaId),
    render: () => {}
  });
};

How it could be used:

/* Pass in some pre-existing scene data as an example */
const sceneManager = SceneManager({
    scenes: [
      {
        areaId: "area1",
        sceneObject: Scene
      },
      {
        areaId: "area2",
        sceneObject: Scene
      }
    ]
  });

/* Leave it to the scene manager to find the one it needs */
  sceneManager.loadScene({
    areaId: "area1"
  });

Obviously implementation is all up for debate but so far so good.

Looks good to me. :+1:
I'm currently refactoring my JS13K game to support "game states" ("scenes"). My approach is similiar, but it also supports stacking scenes. Stacking can be useful for menus that are not occupying the whole screen and for reusing already loaded scenes. The top most game state is updated and rendered. If the top most game state is an overlay, then the state below will be (recursively) rendered, too.
Workflow

The intro scene is pushed to the game state stack
When the intro ends, the main menu scene replaces the intro scene
The main menu scene allows to select level scenes. Instead of replacing, the selected level scene will be pushed on top of the main menu scene. This pauses the main menu. The selected level scene is no overlay, therefore the main menu scene won't be updated and won't be rendered
Now it is possible to add a level pause scene on top. This scene is an overlay, therefore the level scene will be rendered below the pause scene
Popping the level scene from the stack will resume the main menu scene. Therefore the level scene doesn't have to know which scene will follow

export class GameState {
    // […]
    update(dt) {} // Indirectly called by Kontra.
    render() {}   // Indirectly called by Kontra.
    onEnter() {}  // State entered. Reset the environment. Set listeners, …
    onExit() {}   // State left. Clean up the environment. Remove listeners, …
    onPause() {}  // Another state was set on top. Remove listeners, …
    onResume() {} // The state on top got removed. This is now the primary state. Add listeners, …
}

Kontra is calling update and render of the state machine.
export class GameStateMachine {
    constructor() {
        /**
         * @type {GameState[]}
         */
        this.stateStack = [];
    }

    // Called by Kontra.
    // Updates the top most game state.
    // Could also update visible states but that's currently not required by my game.
    update(dt) {}

    // Called by Kontra.
    // Renders all visible game states (at least the top most state).
    render() {}

    /**
     * Pauses the current state and pushes the next state on top of the stack.
     * Afterwards the new state will be entered by calling {GameState.onEnter}.
     *
     * @param {GameState} state
     */
    pushState(state) {}
    popState() {}
    replaceState(state) {}
}

The code will be shared later.

I like it a lot, the idea of stacking up states looks pretty powerful. Right now I'm just handling some real simple stuff which will no doubt lose flexibility fairly soon (already starting to see it). Thanks for sharing this though @Rayne , it's definitely given more to think about in a positive way.

My solution is probably a little over-engineered. Here are the relevant bits and pieces:

GameStateMachine handles game states and transitions

The state interface is defined in GameState

Example: Pushing a PauseMenuGameState object to the state stack will pause the states below. PauseMenuGameState is an overlay that is popping itself from the state stack.
https://github.com/Rayne/js13k-lost-robot/blob/894149a412d65aab0bfac7313ec383be16ea45e4/public/src/GameState/PauseMenuGameState.js#L10
When the user is selecting the quit action, then a custom kontra event is triggered. That event is received by the loaded map, which will pop itself from the stack. This will resume the level select menu.
https://github.com/Rayne/js13k-lost-robot/blob/894149a412d65aab0bfac7313ec383be16ea45e4/public/src/GameState/PauseMenuGameState.js#L39-L40
The code above this snippet is not relevant for game state (or scene) handling. That code defines the transitions of another finite state machine (MenuStateMachine), that is controlling menu states. This allows the player to navigate menus with keyboard, mouse and touch controls

Closed via #169


Handle case where the event width evaluates to zero which causes the …

…index to become infinity (X/0 - Infinity)

This was fixed with #13.


C-s, C-r getting rebound

I wanted to use the fuzzy search by default and so I did the following (using the use-package! macro from doom emacs):
(use-package! ctrlf
  :config
  (ctrlf-mode +1)
  :bind
  ("C-s" . ctrlf-forward-fuzzy)
  ("C-r" . ctrlf-backward-fuzzy)
  )

But I find that only the first use of C-s is fuzzy, and after that it gets rebound somehow to the literal search. Why is this? How can I fix it?

Answering my own question:
This works.
(use-package! ctrlf
  :custom
  (ctrlf-mode-bindings '(
                        ("C-s" . ctrlf-forward-fuzzy)
                        ("C-r" . ctrlf-backward-fuzzy)
                        ("C-M-s" . ctrlf-forward-regexp)
                        ("C-M-r" . ctrlf-backward-regexp)
                        )
                       )
  :config
  (ctrlf-mode +1)
  )

Answering my own question:
This works.
(use-package! ctrlf
  :custom
  (ctrlf-mode-bindings '(
                        ("C-s" . ctrlf-forward-fuzzy)
                        ("C-r" . ctrlf-backward-fuzzy)
                        ("C-M-s" . ctrlf-forward-regexp)
                        ("C-M-r" . ctrlf-backward-regexp)
                        )
                       )
  :config
  (ctrlf-mode +1)
  )

This will be made more intuitive by https://github.com/raxod502/ctrlf/pull/64


Test for json validation

test

Is this PR still needed for anything or should we close it?

Is this PR still needed for anything or should we close it?

Closing.


FATAL ERROR: JS Allocation failed - process out of memory

I'm parsing a 100MB file on a node server running locally on my Macbook Air with 8BG of memory, which resulted in this error:
FATAL ERROR: JS Allocation failed - process out of memory
Is 100MB too large?

If I remember correctly, V8 has a 2 GB heap limit, so it can't use the 8GB anyway.
And yes, unfortunately 100 MB XML can expand into a lot of megabytes of JS objects. To parse it smarter you'd either need a streaming parser or a smarter parser like lxml which does not convert everything at once into objects but only does so on request.

I created a workaround by first parsing the XML using libxmljs and then retrieving pieces of the XML and converting them using this library.

@Leonidas-from-XIV It seems xml2js using sax, and sax is using stream. May I know why you said xml2js is not a streaming parser? btw, I have the same out of memory issue.

Because we do not take in a stream of data but a fixed string and don't stream parsed chunks out but return a big JS object all at once.

@sonata82 would you kindly share your workaround?


Tringles

Could you clarify - how get list of triangles ?

triangulation.Triangles is a list of indexes into the original points. Indexes 0, 1, 2 give you the first triangle, 3, 4, 5 the second, and so on...

@fogleman , thank you for clarification.

Thank you for good package

Could you clarify about elges? May I use halfegdes?

Have you read this page? It explains it well, and the structures are the same for this library:
https://mapbox.github.io/delaunator/


[Feature Request] Add $toolbar-ios-title-font-family to Ionic Sass Variables

Short description of the problem:
The Ionic Sass Variables include the variables shown below.
$toolbar-ios-title-font-size
$toolbar-ios-title-font-weight
$toolbar-ios-title-text-align
$toolbar-ios-title-text-color

$toolbar-md-title-font-size
$toolbar-md-title-font-weight
$toolbar-md-title-text-align
$toolbar-md-title-text-color

$toolbar-wp-title-font-size
$toolbar-wp-title-font-weight
$toolbar-wp-title-text-align
$toolbar-wp-title-text-color

However, there is no variable that would allow me to change the font-family. Something like
$toolbar-ios-title-font-family
$toolbar-md-title-font-family
$toolbar-wp-title-font-family

What behavior are you expecting?
I would like to use a custom font on the page titles in my app ONLY, but there is no variable that would allow me to do so.
Which Ionic Version? 2.x

Hello again @gigocabrera :) So this is something we could do but it would simply be setting the font-family to inherit. Is there a reason you can't use:
.toolbar-title-ios {
  font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif;
}

.toolbar-title-md {
  font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif;
}

.toolbar-title-wp {
  font-family: -apple-system, "Helvetica Neue", "Roboto", sans-serif;
}

Where font-family is equal to whatever you want it to be. Just trying to understand your use case!

Hi @brandyscarney your suggestion makes sense and works as expected. I don't have a particular use case to need a new SASS variable for font-family. However, it looks like its missing by reading the documentation. I mean you have a SASS variable for all the other properties (size, weight, align, color) except for font-family.
I think the best approach would be all or nothing. That would make more sense. Wouldn't you agree?


Customize class name hash function ala getLocalIdent?

What will it allow you to do that you can't do today?
Customize the generated class name ala the getLocalIdent function feature that css-modules allows you to do
How will it make current work-arounds straightforward?
It will give users total control over what the class name output looks like, beyond just adding displayNames / fileNames to the class
What potential bugs and edge cases does it help to avoid?
It will allow for reduced css, which is one of the advantages css-in-js systems are supposed to have
If this feature already exists, then my bad. I was not able to find anything in the documentation or in prior issues to suggest that it does. With css-modules, I use a custom function for class names that allows me to generate much shorter names in production, it would be nice to be able to do the same in styled-components
The kind of names styled-components tends to generate: s8ji26z-0 iwNJkL
The kind of (much shorter) names I can generate with css-modules using a custom getLocalIdent function: a0_a7

I also enjoyed this feature in CSS Modules. I spent the morning looking through styled-components documentation looking for such a feature, but unfortunately wasn't able to find anything. This would be very nice and hopefully will be added in the very near future.

What's the value add here? We're generally 👎 on this sort of customization unless there's a compelling use case.

The value add is reduced css output. I don't understand the point of using unnecessarily long class names that increases the amount of html and css required to render the page
Ideally, the output would be as short as possible already and not require customization, but that is currently not the case

Just put displayName: false into the Babel plugin options
On Fri, Jul 20, 2018 at 2:39 PM Ross<EMAIL_ADDRESS>wrote:

The value add is reduced css output. I don't understand the point of using
unnecessarily long class names that increases the amount of html and css
required to render the page
Ideally, the output would be as short as possible already and not require
customization, but that is currently not the case
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/1856#issuecomment-406706450,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiy1ogPGjxw6dCf4JguUcvYVQq_ToIHks5uIjHxgaJpZM4VXP1G
.

? Yes, obviously there are some options for reducing output. The point is that even when you do that, you still get unnecessarily long class name output
in more tangible terms, just shortening the class name output on a site i've been working on recently cut css by ~20kb, which is nothing to sneeze at considering we didn't have to remove a single line of css to do it
i realize maybe that's not the case for every site, but I don't understand why it's not at least an option

Because the library would have to be greatly restructured for that to work
and there isn’t much value in it due to gzip on the HTML side.
On Fri, Jul 20, 2018 at 2:59 PM Ross<EMAIL_ADDRESS>wrote:

? Yes, obviously there are some options for reducing output. The point is
that even when you do that, you still get unnecessarily long class name
output
in more tangible terms, just shortening the class name output on a site
i've been working on recently cut css by ~20kb, which is nothing to sneeze
at considering we didn't have to remove a single line of css to do it
i realize maybe that's not the case for every site, but I don't understand
why it's not at least an option
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/1856#issuecomment-406711123,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiy1tpJBachM5qB_EpUcxIpGkaTQKAUks5uIjangaJpZM4VXP1G
.

In any case, we likely won’t support something like this in the forseeable future. People can 👍 the OP if they really want it and we’ll do a sweep over unimplemented feature requests at a later date.

I'm working on a code base that uses a lot of snap shot testing of components (via storyshots).
We are having a lot of trouble with class-name churn where the addition of a single new styled component will cause the classes for all styled components to change.
This is leading to a lot of noise in our tests.
I'm looking for a way that we can render completely stable deterministic styled components class names in jest.
My ideal would be to use something like what CSS modules gives you where the class name would be generated form a function that is given the filename, component name, a uuid ... maybe the path?
Maybe there is another way to achieve this?

@theinterned https://www.styled-components.com/docs/tooling#jest-integration

@three60five okay we are using this, but it still doesn't let me control the class name does it? and the class name is still determined by the number of styled components in scope right?

@theinterned sorry, can't help you. sounds like your issue is with storyshots.

@theinterned sorry, can't help you. sounds like your issue is with storyshots.

Okay thanks for your time! If I figure it out I’ll post here.

For anyone else coming across this, it turns out that we weren't correctly applying the jest-styled-components serializer in Storyshots. We were using the multiSnapshotWithOptions which ignores serializers configured in your projects jest config.
A simplified version of our storyshots.test.js file looks like this:
import initStoryshots, {
  multiSnapshotWithOptions,
} from '@storybook/addon-storyshots';
import styleSheetSerializer from 'jest-styled-components/src/styleSheetSerializer';

initStoryshots({
  test: multiSnapshotWithOptions({}),
  snapshotSerializers: [styleSheetSerializer],
});


Add pull_request_template.md.

Changes
Add standard pull_request_template.md modeled on pipelines and others.
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] ~Has Docs included if any changes are user facing~ N/A
[ ] ~Has Tests included if any functionality added or changed~ N/A
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] ~Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)~ N/A
[ ] ~Release notes contains the string "action required" if the change requires additional action from users switching to the new release~ N/A

/kind documentation
Release Notes
NONE

/lgtm
/approve


Suggest Replacement Types for Invalid Placeholders

First, relax the restrictions on placeholder types appearing in interface types. In the past, we would pretty much replace every instance of them with an error type, which would lose information when we came around to apply the contextual type to any solutions for associated inference sources like initializers in pattern bindings or the return types of functions. Preserve these types in interface types so they can be opened later.
Second, now that placeholder types are preserved, we can open them wherever they appear in positions where they are used as contextual types. Use the checks we already run in the primaries to ban placeholders in top-level positions. Only now, use the inferred type of any associated expressions or statements to present the user with a contextual replacement type.
For parameters in functions and enum cases, we use any default argument expressions to get the contextual type.
For functions, we use a traversal similar to the opaque result type finder to find the type of any return statements in the program and present those as options.
Resolves rdar://82837146

@swift-ci test

@swift-ci test

Build failed
Swift Test OS X Platform
Git Sha - ffff35465c5546ff0a528fee421ce630ff031ccc

@swift-ci test

⛵


Problems of RC1

To fix

[x] Change the footprint of Q1, to have 0.1' pitched holes. Current footprint is horrible at assembly time.
[x] Adjust the mounting holes

Nice to have

[x] Title and revision labels

All done


Return the webhook URL as part of the Webhook info

@rutgervandeelen
It's nice to see that you return whatever in the database Item back as the information; but I miss the full Webhook URL which needs to be constructed by taking the Hash of the Webhook and the base URL of the webhook trigger.  Please also provide it as part of the returned Webhook info.
https://github.com/Donders-Institute/hpc-qaas/blob/96650f36c11ec6adb4aa0f1faa50e15a344ec6c7/internal/server/configuration.go#L28

Done. See for example code in commit b6f5f4fedbe273c5bd81a8f80e5b32d2134555c0.

Shouldn’t the returned URL with port 443?

My mistake. Just fixed the ports in commit 630a60f66e0a29a10b04fcc3d0b9363bd334fd4a.

Shall we close this one?  The Webhook URL is already available.


DamageEntityEvent caused by EnderPearl hitting entity does not contain EnderPearl in the cause.

When an EnderPearl hits an entity, it causes damage, which fires the DamageEntityEvent. However, the EnderPearl is not in the cause.
Test code, this outputs null.
    @Listener
    public void onDamage(DamageEntityEvent event) {
        System.out.println(event.getCause().first(EnderPearl.class).orElse(null));
    }

Tested in both 1.10.2 and 1.11

Tested in 1.12 (bleeding branch).
[18:21:09 INFO] [STDOUT]: EntityEnderPearl['entity.ThrownEnderpearl.name'/370, l='world', x=220.73, y=72.07, z=298.81]
[18:21:10 INFO] [STDOUT]: EntityEnderPearl['entity.ThrownEnderpearl.name'/370, l='world', x=220.73, y=72.07, z=298.81]

Note: the event is called twice. It could be related to #1447, but this specific issue is fixed in the latest version.


Fix Reloader

The Reloader is broken or borked with the way we do things now in Camping land. We need to fix that, I think.
This issue entails a couple things really. Additionally we want to have a standard directory structure that we've been experimenting with for a while now. So we should have that sorted out. We need to cement the convention of using camp.rb as the launcher for our apps. OR moving apps up to an /apps directory and autoloading THOSE virtually or something. We also ought to add some autoloader stuff using Zeitwerk.
So:

[ ] Establish and document a directory structure.
[ ] Add Autoloading of Constants using Zeitwerk.
[ ] Fix reloader in development finally.

I've been experimenting with this a bit over the weekend and I wanted to share.
Reloader
Camping's reloader assumes that we're loading every app from a single file, which kinda makes sense, historically. This is not going to be the assumption moving forward though, and with autoloading we'll need to rethink this. To really understand what to do we'll need to establish a directory structure scheme, that's simple, and easy to understand.
Directory Structure.
We've talked about this in other issues and PRs, but a formal directory structure should now be like this:
Gemfile
Rakefile
camp.rb
config.kdl
src/
lib/
public/
test/
apps/
    camping.rb
    controllers/
    views/
    models/
    helpers/
    nuts/
        nuts.rb
        controllers/
        views/
        models/
        helpers/

I think that's an expanded directory structure. An abbreviated structure:
Gemfile
Rakefile
camp.rb
config.kdl
src/
lib/
public/
test/

Because, ideally, you would only have an Apps directory if you have more than one app, or if you're app starts to get pretty big.
A goal of Camping is to have installable and modifiable apps available. So you could add an app to your Gemfile and just, have it work. Getting that to work with the Reloader might be tricky, but not if we reload according to where the app is defined, i.e. : Camping.goes :Nuts. At that moment the reloader, wherever it is, needs to be informed that we've got a new Camping app defined. The assumed directory structure is, well, assumed, and we load the app accordingly.
Once everything is loaded Camping.make_camp is Called. This sets up routes for the controllers. So that's what we'll do, start by adding the location of where something 'Camping.goes` to the reloader, and making a list of these things.

I've mostly got a new reloader thing working the way It ought to on this branch: https://github.com/karloscarweber/camping/tree/feat-146-fix-reloader .
Formal PR and more documentation/discussion about this should be incoming later tonight/early tomorrow.

I have a new Reloader now called Loader mostly working and passing tests. Work in progress PR can be found at: #147 .
I have questions about the ORDER that things should be loaded or autoloaded. For example in directories and subdirectories should we prioritize the eager loading of Models over Controllers? Ought there to be a preloading sequence for initializers? I'd love to hear what ya'll think about those ideas.


Storage behaviour of strings

Steps to reproduce
1.Create concepts in Thesaurex with String-Input
2.Add the concept as a attribute to a context in the Data Model Editor
3.Enter some Text into the added attribute in Spacialist
Expected behaviour
The data should be saved in the backend as some kind of string
Actual behaviour
The content is correctly displayed in the frontend. In the backend the value is stored as a complete URL in the column "thesaurus_val" of the table "attribute_values". There is no value in other columns (like "str_val"). This behaviour is the same for all attribute, which are of datatype (as visible in the datatype column of the table attribute_values) "string-mc" or "string-sc", so all the dropdown-menus.
It would be very useful, if the actual values are saved as string arrays or json-values like it is done for the datatype "epoch".
Server configuration
Operating system: Ubuntu LTE 16.04
Web server: Apache 2.4.18
**Database:**PostgreSQL 9.5.7
PHP version: 7.0.18
**Lumen Version:**5.3.3
Spacialist version:
Client configuration
Browser: Firefox 54.0
Operating system: Ubuntu 16.04

Hi David,
the behavior you are describing is by design. The single/multiple choice selections are stored as thesaurus concept URIs only.  The respective label for the concept needs to be retrieved via a query.  Storing the string value additionally would raise questions like: store the label in which language? what kind of label (pref label vs. alt label)? what happens when the thesaurus dude changes the label after the attribute value has been assigned? and so forth... all these bears a huge potential for inconsistencies. This is why we chose during DB design to store only one single value in attribute_values for each attribute value assignment.  The actual value to display is up to the application. In our case the displayed label is retrieved from the thesaurus whent he attribute value is displayed in Spacialist.
An epoch is encoded as JSON since it is a complex data type, and JSON is easy to process in most environments.
I hope this clarifies the issue?


[Mar 27 Backport] Theoretical Hotfix for testnet3 branch

Motivation
[March 27, 2024 Backport] Theoretical Hotfix for testnet3 branch.
This PR includes a version bump and disables solutions
The sister PR is in https://github.com/AleoHQ/snarkVM/pull/2417.

Hotfix by disabling coinbase solutions? Interesting...

The solutions on Testnet 3 are for the KZG puzzle, which has been deprecated in preparation for mainnet already. This PR turns them off to reflect the reality that the puzzle is changing and not final until mainnet launch.


[chrome] Force Pure RISCV64 Support on Android

Utilize the definition of skip_secondary_abi_for_cq and android_secondary_abi_toolchain directly to support pure RISCV64 on Android.
Before RISCV64 introduced into Chromium, every 64-bit ARCH enables its own 32-bit support by default.
But for RISCV, Android announced only pure 64-bit would be supported.
So for Chromium RISCV64 on Android, one proposed solution based on the commit is to skip the legacy check logic for its 32-bit ABI.

attached diff file, which diff output of gn ls before this change and after this change.
We can see tons of target with "(//build/toolchain/android:android_clang_riscv32)" are removed.
Regardging to removal of "//android_webview:monochrome" and "//android_webview:monochrome_linker_script", it's due to changes in android_webview/BUILD.gn about webview_alternate_library.
diff.gn.txt

This PR is a cleanup for fianl merge based off discussion on https://github.com/aosp-riscv/chromium/pull/29.

This PR is related to https://github.com/aosp-riscv/angle/pull/5.


Question: is is possible to import&export entities classes into strings?

Suppose I have a class that has the annotation "@TableModelSpec" for it, which created an entity class.
Is it possible to import&export the created class into a string (for example using a Json format) ?

I don't quite understand your question. Generally speaking, the generated class is exactly that: a Java class. You can do with it whatever you could do with any Java class. If your goal is in some way to serialize it, be aware that you must account for changes to the model spec (just as with serialization you must be wary of changes to the serialized class that make it impossible for Java to deserialize it from the persisted data).

You could write a @ModelMethod to manually implement serialization, or if you're feeling very adventurous write a code generation plugin to automatically generate some serialization code.


Exception thrown in ComboBox.SelectionChanged event handler is not crashing app

Describe the bug
When raising an exception in the SelectionChanged event handler of ComboBox, the exception is reported as "unhandled" (in VS) but it does not crash the app.
Example project: TestException.zip
Steps to reproduce the bug
<ComboBox Header="crash" SelectionChanged="ComboBox_SelectionChanged">
    <ComboBoxItem  Content="Option A"/>
    <ComboBoxItem  Content="Option B"/>
</ComboBox>

void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) => throw new Exception();

Expected behavior
App crashes, UnhandledException event handler fires

NuGet package version
Windows App SDK 1.5.1: 1.5.240311000
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
Visual Studio 2022
Additional context
When setting SelectionChangedTrigger=true, the app crashes.
When marking the event handler method as async, the app crashes.
Similar behavior can be observed in an UWP app

Fixing this would be good but is likely a breaking change. It would be good to understand what is happening.


Support scoped piral-cli plugins

New Feature Proposal
For more information, see the CONTRIBUTING guide.
Description
Currently, only piral-cli plugins with empty/no scope are supported by the piral-cli. Requesting that the piral-cli additionally support scoped plugins following the  @<any-scope>/piral-cli-<name> naming convention.
Discussion
Pros: Makes support for publishing custom, internal plugins easier without interfering with the standard approach.
Cons: this flexibility might discourage sharing of otherwise useful plugins and proliferation of custom approaches. In our case, we deviated from the normal feed API when building our own feed service and are building this plugin to support some of our custom features.

Landed in develop and the preview version @next.


sorting by multiple fields

I don't know much about this Pod, or CLucene, but I'm faced with either adding multi-field sorting or abandoning this for another solution. Before I waste too much time, can someone say whether this would this work?
In CLuceneSearchService changing the sortBy argument in the internal searchWithQuery:sortBy:sortType:ascending: from an NSString to an NSArray, and its implementation like:
- (id<BRSearchResults>)searchWithQuery:(std::auto_ptr<Query>)query
							  sortBy:(NSArray *)sortFieldNames
							sortType:(BRSearchSortType)sortType
						   ascending:(BOOL)ascending {
	std::tr1::shared_ptr<Searcher> s = [self searcher];
	if ( sortFieldNames != nil && sortFieldNames.count > 0 ) {
		SortField *sortFields[sortFieldNames.count + 2];
		int idx = 0;
		for (NSString *sortFieldName in sortFieldNames) {
			SortField *sortField = new SortField([sortFieldName asCLuceneString], (sortType == BRSearchSortTypeInteger
																				   ? SortField::INT
																				   : SortField::STRING), !ascending);
			sortFields[idx++];
		}
		SortField *docFieldSort = ascending ? SortField::FIELD_DOC() : new SortField(NULL, SortField::DOC, true);
		sortFields[idx++] = docFieldSort; // ensures we have consistent results if a sort field has duplicate values
		sortFields[idx] = NULL; // requires NULL last element
		std::auto_ptr<Sort> sort(new Sort(sortFields)); // assumes ownership of each SortField
		std::auto_ptr<Hits> hits(s->search(query.get(), sort.get()));
		return [[CLuceneSearchResults alloc] initWithHits:hits sort:sort query:query searcher:s];
	}
	std::auto_ptr<Hits> hits(s->search(query.get()));
	std::auto_ptr<Sort> sort;
	return [[CLuceneSearchResults alloc] initWithHits:hits sort:sort query:query searcher:s];
}

Then making the obvious changes to search:sortBy:.. and searchWithPredicate:sortBy:... to call it with<EMAIL_ADDRESS>and making additional methods search:sortByMultiple:.. and searchWithPredicate:sortByMultiple:....
I can do a pull request if this works.

Thanks for your interest in the project. As you discovered when looking at the CLucene API, it does support sorting on multiple fields. Updating the BRFTS API to support this has been an outstanding task in the back of my mind for some time, actually. To that end, check out the multi-sort branch, where I've added two new methods:
// parsed query with an array of sort descriptors
- (id <BRSearchResults> )search:(NSString *)query
            withSortDescriptors:(nullable NSArray<id<BRSortDescriptor>> *)sorts;

// predicate query with an array of sort descriptors
- (id <BRSearchResults> )searchWithPredicate:(NSPredicate *)predicate
                             sortDescriptors:(nullable NSArray<id<BRSortDescriptor>> *)sorts;

The BRSimpleSortDescriptor provides a basic implementation of BRSortDescriptor for you, and there is a unit test that shows this working. Also note Lucene has limitations on the fields you can sort on.
If you'd like to try out this branch with your project, let me know how it goes for you and if all is well I can merge this into the next release.

Thanks, I didn't see that branch. I'll investigate whether we can work within Lucene's limitations you mentioned, and if so, then indeed I'll be exercising this branch. Would you like me to email my feedback to you directly @msqr, or post it in this thread?

Great! Go ahead and post any feedback on this thread if you can.

Hi @jpmhouston did you have any luck using the multi-sort branch? I am likely to merge this in for the next release, but would be interested to hear if you tried it out.

Didn't get a chance yet, and now the project is being shelved & I'm moving on so it looks like I won't ever. :^(

Ah well, I have a few of unit tests in there at least, so I'll merge it in. Thanks!


Restore previous order of request processing in Composite's mergeChild

Restore previous order of request processing in Composite's mergeChild:

First, child WidgetRequests
Then, parent WidgetRequests (including the request to update parent model)
Finally, onChange events (after model is updated).

Under some circumstances, when a parent and child widgets share the model and updates on the child trigger updates on the parent, the parent update could overwrite the changes made by the child.
These changes need a unit test, but I have not been able to create a minimal example that fails with the previous version (although I can reproduce it consistently on an existing application).

This is a non-issue. Closing.