WIP: Adds capability to search for spaces with specified search text in name or description

Fixes #667 .
I've attempted to match the JSONAPI filtering convention as much as possible, but given the need to search for spaces that contain the matching text in either the name of the space or the description, I opted for a simple query param.
Depends on PR #681

Can one of the admins verify this patch?

Can one of the admins verify this patch?

[test]

@baijum I just finished a discussion with @aslakknutsen on this. This PR is marked as WIP as I need to rework it, to be similar to #478. So, reviews can be done once I update it.

Current coverage is 69.83% (diff: 91.30%)

Merging #695 into master will decrease coverage by <.01%

@@             master       #695   diff @@
==========================================
  Files            78         78
  Lines          4479       4498    +19
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3128       3141    +13
- Misses         1050       1053     +3
- Partials        301        304     +3

Powered by Codecov. Last update d8f27ca...c7e2f8f

[test]


chore: change debounce to throttle when searching

Co-authored-by: Mounir Dhahri<EMAIL_ADDRESS>The type of this PR is: Enhancement

Description
Addressing the point of @MounirDhahri that was commented here
Changing from debounce to throttle to provide a better user experience.

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

change debounce to throttle when searching - gkartalis

This PR contains the following changes:

Dev changes (change debounce to throttle when searching - gkartalis)

  Generated by :no_entry_sign: dangerJS against 2031f9c86094544a865ee1d74da65c1d6498614b


improve configure-projected-volume-storage.md

Currently the content in configure-projected-volume-storage.md is not well-organized.
This patch fix it.

/lgtm
Thanks for the patch!

@heckj  PTAL

@WanLinghao looks good, thank you
/approve


NuGet Package : Add repository metadata.

Basically, we can now add a repository metadata on a nuspec file to allow the repository to be surfaced on NuGet. This allows you to have a projectUrl as well a repository URL now.
I've talked about it on Twitter but the most basic things to know is here:
NuSpec Reference
Reference Implementation in Json .NET

This issue should be closed by #175.

Yep, wasn't aware of this.  Normally I do the merging and updates the docs at the same time.  I'll add this one in.


Update "change slide" behavior from presenter view

Dans la presenter view, ne plus synchroniser la gesture slide sur le cadre représentant la vue on stage avec le changement de slide effectif sur la stage view.
Ajouter un bouton qui, au clic, effectue le changement de slide sur la stage view en prenant comme information le numéro du slide affiché par le cadre représentant la vue on stage de la presenter view.
De cette façon, on peut skipper des slides si on voit qu'on est en retard par exemple.
Le speaker sélectionne le slide qu'il souhaite afficher sur la vue on stage et appui sur le bouton pour l'afficher directement sur la vue on stage.

Prendre exemple sur : http://vinsiinnovation.github.io/revealjs-sockets-notes/partials/guide.html

Final tech proposition for first attempt to resolve this issue :
Add "start asynchronous navigation switch" plugin
The plugin displays a button : "Start asynchronous navigation".
When the user click on this button, it :

displays 2 new buttons : Cancel and Validate
The Cancel button synchronize the presenter view with the on stage view state
The Validate button synchronize the on stage view with the presenter view state
send an event to the server, so the server can save in his store the asynchronousPresenters value to true.

tc-controller should know that it controls a presenter layout
In its init method, if the tc-controller controls a presenter layout, it should send to the server the information, so the server save its socket id in its store in the field "presentersList" .
In the broadcastStateChanges, if the value asynchronousPresenter is set to true, the server gets the ids stored in presentersList to retrieve the recipients of the goToSlide event.
The eventBusResolver method "emitTo" needs to evolve to handle an array for the "target" argument.
The emitTo emits an event to each recipients mentioned in the target array.
New onStageState in server store
When the asynchronousPresenters value is set to true, the onStageState in the store is set with the currentState value.
It represents the state of the on stage view.
When the "Cancel" button (see above) is clicked, the asynchronousPresenters is set to false and the currentState is replaced by the onStageState value. The onStageState value is emptied.
When the "Validate" button (see above) is clicked, the asynchronousPresenters is set to false and the onStageState value is emptied.
Option
Add a new button on presenter mobile layout that goes to next slide when clicked.


what is the solution for this error ? emerginfTexhnologyAdvisors

I'm trying to connect my Arduino with (electron js) app and I'm using this example :
https://github.com/sofroniewn/electron-johnny-five-examples
when I followed the instructions I found that there is an error related to the serial port ( find the attached capture ) , could you please help me !

thats not a error at all you can close this issue it tells you only that there was no binaray created for your operating system so he creates one. thats it.


[Data collection] Replace "i" icon on geometry flows with dismissible snack bar

@JSunde FYI in case you have bandwidth

Implemented in #2223


After uploading the image, the backend service shows that the connection is closed directly, but it is normal to check the script file, I hope to know the reason.

In fact, the GPT API request was not sent correctly, as I can see from the API logs.

messages_20240520_165023.json

Hi based on your logs. It looks like the request was sent and completed correctly. What's the problem you're seeing? Is the code not showing up on the frontend?

@abi I know for me, when I try to use the new gpt-4o with React + Tailwind, it just spits out the same code and same web page, titled "Reference Website". When switching to gpt-4-vision, it generates the code properly.

 Integer nec odio. Praesent libero.  All rights reserved.</p>
                    </footer>
                </div>
            );
        };

        ReactDOM.render(<App />, document.getElementById('root'));
    </script>
</body>
</html>

@prestonator I can take a closer look at this. Usually when this happens, the issue is that the image isn't uploaded properly. What environment are you running your code in? Locally?

Hi based on your logs. It looks like the request was sent and completed correctly. What's the problem you're seeing? Is the code not showing up on the frontend?

The problem is: no matter what model I use or what language I generate, I end up with a closed connection in the console, I check the gpt api credits and they are not deducted, and the generated code is blank.

Hi based on your logs. It looks like the request was sent and completed correctly. What's the problem you're seeing? Is the code not showing up on the frontend?

https://github.com/abi/screenshot-to-code/assets/43348055/e83b0773-9d6c-4d94-bd1e-feb3887d7bd2

@eachann1024 Thanks for the video. Still not sure what the problem is. Are you using a proxy or OpenAI directly? To isolate the problem further, can you tried Claude with an Anthropic key?

For me it was because of proxy. Once the proxy is off, the connection close error stops.

backend_1   | Traceback (most recent call last):
backend_1   |   File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 250, in run_asgi
backend_1   |     result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
backend_1   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1   |   File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
backend_1   |     return await self.app(scope, receive, send)
backend_1   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1   |   File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 276, in __call__
backend_1   |     await super().__call__(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 122, in __call__
backend_1   |     await self.middleware_stack(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 149, in __call__
backend_1   |     await self.app(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/cors.py", line 75, in __call__
backend_1   |     await self.app(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
backend_1   |     raise exc
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
backend_1   |     await self.app(scope, receive, sender)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
backend_1   |     raise e
backend_1   |   File "/usr/local/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
backend_1   |     await self.app(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 718, in __call__
backend_1   |     await route.handle(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 341, in handle
backend_1   |     await self.app(scope, receive, send)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 82, in app
backend_1   |     await func(session)
backend_1   |   File "/usr/local/lib/python3.12/site-packages/fastapi/routing.py", line 289, in app
backend_1   |     await dependant.call(**values)
backend_1   |   File "/app/routes/generate_code.py", line 268, in stream_code
backend_1   |     completion = await stream_openai_response(
backend_1   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1   |   File "/app/llm.py", line 62, in stream_openai_response
backend_1   |     stream = await client.chat.completions.create(**params)  # type: ignore
backend_1   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1   |   File "/usr/local/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 1334, in create
backend_1   |     return await self._post(
backend_1   |            ^^^^^^^^^^^^^^^^^
backend_1   |   File "/usr/local/lib/python3.12/site-packages/openai/_base_client.py", line 1738, in post
backend_1   |     return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
backend_1   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1   |   File "/usr/local/lib/python3.12/site-packages/openai/_base_client.py", line 1441, in request
backend_1   |     return await self._request(
backend_1   |            ^^^^^^^^^^^^^^^^^^^^
backend_1   |   File "/usr/local/lib/python3.12/site-packages/openai/_base_client.py", line 1532, in _request
backend_1   |     raise self._make_status_error_from_response(err.response) from None
backend_1   | openai.BadRequestError: Error code: 400 - {'object': 'error', 'message': "[{'loc': ('body', 'messages'), 'msg': 'str type expected', 'type': 'type_error.str'}, {'loc': ('body', 'messages', 1, 'content'), 'msg': 'str type expected', 'type': 'type_error.str'}]", 'code': 40001}
backend_1   | INFO:     connection closed


How to deal with multiple scenes ?

I am redirecting a user to the scene say "SCENE A" on OnReceive method.  In case I am already on Scene A and app is in the background, when I click on notification, the on receive message gets called like 20+ times. and the scene keeps reloading. How to fix?

@FaiyazMdAbdul I'm afraid we can't debug your application for you here.  If you want someone to take a look open an issue on http://firebase.google.com/support though it does sound very application specific.  Perhaps it's worth trying to reproduce the problem with our Cloud Messaging sample (in this repo) then opening up an issue with the reproduction so someone can take a look?


run memcheck on freyja

@tacaswell do you still working on this?

I think it's a leftover issue of the synchronization by the https://unito.io/basecamp-sync/ app. Can keep it in Basecamp, closing here.


Lights And Siren

Would be fun to have lights on the top of the tower and a warning siren for launch.
Copied from https://github.com/psas/Launch-12/issues/42

I thought we have always had a loud audible alert of some kind on the tower. This is an important safety feature: it tells people who are somehow near the tower when they shouldn't be to run the hell away. Don't really want to fly without this.


fix duplicate tags in options.txt

Codecov Report

Merging #4435 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4435      +/-   ##
==========================================
+ Coverage   80.41%   80.41%   +<.01%
==========================================
  Files         110      110
  Lines      142927   142927
==========================================
+ Hits       114934   114940       +6
+ Misses      27993    27987       -6

Impacted Files
Coverage Δ

src/ex_cmds2.c
87.8% <0%> (-0.12%)
:arrow_down:

src/channel.c
83.51% <0%> (-0.08%)
:arrow_down:

src/os_unix.c
60.63% <0%> (-0.05%)
:arrow_down:

src/gui.c
58.09% <0%> (+0.05%)
:arrow_up:

src/ex_cmds.c
82.43% <0%> (+0.24%)
:arrow_up:

src/if_xcmdsrv.c
84.56% <0%> (+0.35%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks.  I'll include the fix.


Fix logging data structures to console

steps to reproduce: click on data structure to print to console
following error occurs for all operation type details except for event details:
CLJS DevTools internal error: TypeError: Cannot use 'in' operator to search for 'constructor' in rx10

Hmm, this looks a bit familiar. Which version of cljs-devtools are you using in the host project? If I recall correctly we had a similar problem at work which went away with a devtools upgrade.

you're right! I just upgraded from 0.8.2 to 0.9.4 and it works now, thank you :)


Recommended preset for Eleventy-based site?

What part of the documentation isn’t clear?
Core concepts
How could the documentation be improved?
When getting Indiekit set up for the first time, I was uncertain whether to select the Jekyll publication preset for my Eleventy site that is set up with Jekyll-like directory structure, or to go without a publication preset. Having read the source code of the Jekyll preset, I now believe that using this preset is my best bet.
I suggest the documentation could be clearer about the fact that the Jekyll preset is appropriate for use with Jekyll-like site generators like Eleventy.

Good idea! I’ve been meaning to add an 11ty preset, but it doesn’t deviate from Jekyll enough from a data format perspective to make it worth doing, besides having the correct name. I’ll update the docs.

Added Eleventy and Lume to the descriptions of the Jekyll plugin, both in its README.md and its description in the plugin-directory. Also added 11ty, eleventy and lume tags to the plug-ins package.json to help with discovery.
The mention of the Jekyll preset on the core concepts page was incorrect, as the example then showed the Hugo preset 🤦🏼♂


DROOLS-821 OSGi modules clean-up + adding back Karaf integ. tests

@mariofusco please review.

I've added one more commit that uses dependency-plugin to download and unpack the *orm files that are used by the tests. This way we always get the latest updates and thus manual updates are no longer necessary.

Squashed and merged https://github.com/droolsjbpm/droolsjbpm-integration/commit/33f0e40a7a3562bc1757f0b9cf97200c338374de


Add jmx shard relate information to node info

Summary of the changes / Why this improves CrateDB
This adds shards specific information to the jmx node info.
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

The related pr to jmx exporter will need some small adaptations.

retest this please
REPRODUCE WITH: ./gradlew :server:test -Dtests.seed=5FEC558EE4F1739B -Dtests.class=io.crate.integrationtests.SysSegmentsTableInfoTest -Dtests.method="test_retrieve_segment_information" -Dtests.locale=en-BE -Dtests.timezone=America/Danmarkshavn
java.lang.AssertionError:
Expected: is "_0"
but: was "_1"


How do I get the Feature Id?

I'm trying to upgrade a project that use to use the older NetTopologySuite.IO.ShapeFile. When I use to export a shape, I would get the esri generated Feature ID as the property "FeatureId". I've tried using GetOptionalId("FID") and GetOptionalId("FeatureID") and neither work.

The FeatureId it's not related to Shapefile specification. You won't be able to find this attribute neither in *.shp nor in *.dbf file.
This is specific to Esri software. The ObjectID is used by ArcGIS to do such things as scroll, display selection sets, and perform identify operations on features. To solve missing ObjectID in Shapefiles they used simple solution, they added virtual FID column where values start at zero. It's not real ID because if a record from a shapefile is deleted, the FIDs are renumbered so that they start from 0 and increase sequentially (there is no gap in numbering).
You can easily mimic the same:
var features = Shapefile.ReadAllFeatures(shpPath).ToList();
for (int featureId = 0; featureId < features.Count; featureId++)
{
    var feature = features[featureId];
    Console.WriteLine($"{"FID",10}: {featureId}");
    foreach (var attrName in feature.Attributes.GetNames())
    {
        Console.WriteLine($"{attrName,10}: {feature.Attributes[attrName]}");
    }
    Console.WriteLine($"     SHAPE: {feature.Geometry}");
    Console.WriteLine();
}

Thank you for the explanation, I'll just use the array index as FID from now on.


Cryptography API docs

Description
Scaffolding the cryptography API docs
Issue reference
PR will close: #3216

Thanks for getting started on this :)
One thing that we should get clarity on ASAP is whether the low-level ("subtle") APIs are going to be included in 1.11 or not. If they are not, we should remove all references to digital signatures, as the high-level APIs only do encryption

Still need to flesh out:

[ ] SDK documentation (client code examples)
[ ] How to (will other SDKs besides Go be included in 1.11?)
[ ] Overview "Features" section

@hhunter-ms - This also needs an extensive change across the diagrams docs. Let's decide which to update, since it is now getting busy.

@hhunter-ms - I suggest adding the video on crypto from the last community call as part of this PR, into the overview topic

@hhunter-ms @ItalyPaleAle - This diagram is wrong since it makes if looks like the Dapr crypto engine is running outside of the Dapr process. I suggest making it clear that the built-in engine is inside Dapr.

BTW (This is no different to the Dapr workflow engine being built in)


Rename code-of-conduct.md to gsoc-guidelines.md

Currently, the code-of-conduct.md file contains Google Open Source Community Guidelines.
So, it should be renamed to differentiate from another  file CODE_OF_CONDUCT.md .

@jingtang10 @deepankarb  I would like to work on this issue.

i see we have 2 code of conduct docs. we should merge them. but i don't understand why one of them needs to be renamed to gsoc-guidelines.

i see we have 2 code of conduct docs. we should merge them. but i don't understand why one of them needs to be renamed to gsoc-guidelines.

Ok sure I am creating a pr and merging them.
Thank you for the specifics.

did you see any instructions on creating gsoc-guidelines.md from gsoc?


Fix download links

Right now we link to a release on GitHub. I think it's nicer to just link to the files directly. These links will always link to the latest release build, not the development build.

Yes it's much better always pointed to latest, thanks!


Add Mogrify.histogram/1 function

new method histogram/1
new fixture to make for easy histogram testing
new test for method histogram/1

Very cool! Thank you!

i didn't think you'd act so fast.
I've got fixes since this commit.  It currently doesn't handle rgba images.  But i'll submit another PR.


upgrade erlware_commons

I've been getting this error on Elixir 1.5.0 while trying to run mix compile

** (Mix) Could not compile dependency :erlware_commons, "/Users/therusskiy/.mix/rebar3 bare compile --paths "/Users/therusskiy/elixir/poxa/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile erlware_commons", update it with "mix deps.update erlware_commons" or clean it with "mix deps.clean erlware_commons"

Found this issue https://github.com/elixir-lang/elixir/issues/6399 and solution there helped me.

ugh, should have looked at other issues :-)


Set up developing CI for wasm32-unknown-unknown

with https://github.com/rustwasm/wasm-pack

OpenDAL has an edge test for wasm32, may worth a look: https://github.com/apache/opendal/blob/258f5c77e8f707145e64be2c0db58152c2ccae1e/.github/workflows/test_edge.yml#L62-L106

Thanks for your information 👍
I'm also considering if it's possible to reuse or include https://github.com/apache/arrow-datafusion/tree/main/datafusion/wasmtest.


MVAR table should support panose values.

MVAR table should support panose values.

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

ID: 5f3de94a-282f-efab-5d67-cfe5081d9d8a
Version Independent ID: 57513dd4-3dd7-95d8-82cc-2a93f4c5f968
Content: MVAR — Metrics Variations Table - Typography
Content Source: typographydocs/opentype/spec/mvar.md
Product: typography
GitHub Login: @PeterCon
Microsoft Alias: alib

Can you elaborate what you have in mind? The intent isn't clear in a few ways:

Should all ten bytes vary independently? Only certain of the bytes?
The meaning of some bytes is dependent on the value of other bytes. Should there be constraints, e.g., don't vary a byte if it causes the interpretation of another byte to change?
All of the bytes assign meaning to integer values, so the continuous (floating point) nature of detail values isn't an obvious fit.
Even allowing for the discrete nature of integer values, some of the bytes clearly aren't on a numeric scale—certainly not family type or tool kind.

These aren't insurmountable, and clearly some things in the PANOSE system use continuous numeric scales (that get discretized to byte values in specified ways). But some clarification is needed.

I need this for instantiation. Happy to discuss further :)


Cleanup

Renames DSOAPIClient to DSOClient
Fixes bug in Campaign nid property and gets rid of so many warnings omg i am the worst programmer

Renames DSOAPIClient to DSOClient
Fixes bug in Campaign nid property and gets rid of so many warnings omg i am the worst programmer

I ran pod udpate in order to get the new DSOClient into the Example project,which added Specta updates.  I'm thinking I should just kill the Specta tests completely since this would never be used to test visual stuff (unless the tests are for the Example project)... cc @ryangrimm


"ref" is not a function

After introducing https://github.com/developit/preact/pull/1138 ref is not always a function.
The following code causes an exception.
https://github.com/developit/preact/blob/329d7c14140624d8b194f04f6c093f7f55e19d97/src/vdom/component.js#L285

@ArthurYidi good catch, I must have missed that when converting things over to applyRef. I've opened #1235 to fix.


Why we need to set JAVA_6_HOME and JAVA_7_HOME?

we can define maven-compiler-plugin in pom.xml to special java version:
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

java 8 is compatible with java 7 and java 6, why we need to set JAVA_6_HOME and JAVA_7_HOME? It's ok to just define JAVA_HOME?
On Mac OS, it's difficult to define a system level environment, we must modify /etc/launchd.conf and restart system.

To prevent using JDK types or methods only available from java 7 or 8. Configuring source or target version cannot prevent it.

But some target libraries are compiled with java 7 compiler. To compile and test plugins for them, we need java 7 too. We don't use java 8 for this for the same reason.

   <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

When you define source 1.6 and target 1.6 in pom.xml, and install jdk 1.8 in system, compiler will generate java 6 class code. You can use "javap -verbose xxx.class|grep major" to check it.

Compile option provides binary-compatibility.
The purpose of JAVA_$VERSION_HOME is source-level compatibility.
ex:
public void souceLevelCompatibilityCheck() {
      Random random = ThreadLocalRancom.current();
      // JDK 7 -> nothing happend
      // JDK 6 ->  throw NoClassDefFoundError();
}


Not clear what system identity is

Code example.
use bevy::app::App;
use bevy::app::Startup;

fn system1() {
    println!("system1");
}

fn main() {
    App::new().add_systems(Startup, (system1, system1)).run();
}

Prints "system1" twice. Which means, the function is instantiated as two systems, there's no identity, each function reference creates a new system.
But then instead I do:
App::new().add_systems(Startup, system1.before(system1)).run();

and now it panics at startup
`"system1"` and `"SystemTypeSet(system1\")"` have both `in_set` and `before`-`after` relationships (these might be transitive). This combination is unsolvable as a system cannot run before or after a set it belongs to.

So, now bevy tracks uses function identity (pointer?) to detect cycles?
This is inconsistent. Either a function pointer is identity, and first example should print once (or emit some kind of error because the same system is being added twice), or second example should not panic and instantiate two systems.
Bevy 0.11.3.

OK, similar issue:
use bevy::app::App;
use bevy::app::Startup;
use bevy::prelude::IntoSystemConfigs;

fn system1() {
    println!("system1");
}

fn system2() {
    println!("system2");
}

fn system3() {
    println!("system3");
}

fn main() {
    App::new()
        .add_systems(Startup, (system3.after(system1), system3.after(system2)))
        .run();
}

Naively I think, that this means:

system1 and system2 are executed concurrently
then system3 is executed

But instead, system1 and system2 are not executed at all, but system3 is executed twice.
Would be nice if Bevy could at least detect this and report it.

        .add_systems(Startup, (system3.after(system1), system3.after(system2)))

But instead, system1 and system2 are not executed at all, but system3 is executed twice.

This is expected. system3.after(system1) means "add a constraint that system3 must run once system1 is done", and the .after(system1) does not schedule system1.
So the schedule looks at what it has to execute, there's no system1 or system2 left to execute, and it executes system3 twice

I don't think anyone intentionaly would write system3.after(system1) and not add system1. It would be great if we add warnings to help with it.
Same with adding the same system twice. I can't think of a use case where someone would want to add the same system twice.

I don't think anyone intentionally would write system3.after(system1) and not add system1
Same with adding the same system twice.

Well, I did.
Because it is not clear what that operation is doing, I assumed it adds both and adds dependency link between them.

I can't think of a use case where someone would want to add the same system twice.

Right. So graph consistency checks would help, i.e. no system is added twice, and all references are added to the same schedule.

We used to have warnings when a label was used, but not configured. But this led to issues when there's a dependency on an optional plugin. i.e. a system in Plugin A needed to be after a system in Plugin B, but only if plugin B is added. Warnings would need to correctly account for this scenario somehow.
Adding a system twice has to be supported. We do it with apply_buffers and users will readd transform propagation systems if they need to repropagate.

@hymm

Adding a system twice has to be supported. We do it with apply_buffers and users will readd transform propagation systems if they need to repropagate.

My 2 cents comment would be a suggestion to make it explicit. E.g.
app.add_systems(
  Update, (
    apply_buffers,
    new_id(apply_buffers),
  ),
)

Code example.
use bevy::app::App;
use bevy::app::Startup;

fn system1() {
    println!("system1");
}

fn main() {
    App::new().add_systems(Startup, (system1, system1)).run();
}

Prints "system1" twice. Which means, the function is instantiated as two systems, there's no identity, each function reference creates a new system.

This, as described, is desired behaviour. There are many instances where a user would want to run the same system multiple times. A good example of this is the apply_deferred system, which ensures all deferred operations are applied to the World. It's very common to see apply_deferred added many times throughout the schedules. If you could not add a single system multiple times to the schedule, this would be really cumbersome (new-type the system for every addition?)

But then instead I do:
App::new().add_systems(Startup, system1.before(system1)).run();

and now it panics at startup
`"system1"` and `"SystemTypeSet(system1\")"` have both `in_set` and `before`-`after` relationships (these might be transitive). This combination is unsolvable as a system cannot run before or after a set it belongs to.

So, now bevy tracks uses function identity (pointer?) to detect cycles?

Again, this makes sense. system1 is added multiple times, so there are multiple instances of system1 in the schedule. Asking the scheduler to ensure a before a is nonsensical. Just as nonsensical as if you new-typed system1 to be system1_b and added the constraints system1 before system1_b && system1_b before system1.

This is inconsistent. Either a function pointer is identity, and first example should print once (or emit some kind of error because the same system is being added twice), or second example should not panic and instantiate two systems.

I think you're confusing what before and after mean in this context: they are purely for ordering, they do not add any systems themselves. a.before(b) returns a single system, a with the condition a before b.

OK, similar issue:
use bevy::app::App;
use bevy::app::Startup;
use bevy::prelude::IntoSystemConfigs;

fn system1() {
    println!("system1");
}

fn system2() {
    println!("system2");
}

fn system3() {
    println!("system3");
}

fn main() {
    App::new()
        .add_systems(Startup, (system3.after(system1), system3.after(system2)))
        .run();
}

Naively I think, that this means:
system1 and system2 are executed concurrently
then system3 is executed

What that actually means is "add system3 with the condition system3 after system1; add system3 with the condition system3 after system2". If you wanted that behaviour, you would instead:
app.add_systems(Startup, (
    system1,
    system2,
    system3.after(system1).after(system2),
));

Notice that the after method is an additive constraint. To call it twice is to add two conditions, not replace them.

But instead, system1 and system2 are not executed at all, but system3 is executed twice.

Again, that is the intended behaviour.

Would be nice if Bevy could at least detect this and report it.

Now this is something that I think makes sense to act on. As @hymm mentioned, it is desireable to mention labels (systems) in constraints which may not exist (either temporarily or permanently). I do think adding an optional warning similar to the system ambiguity detection would be a nice change.
// Hypothetical API
app.edit_schedule(Update, |schedule| {
    schedule.set_build_settings(ScheduleBuildSettings {
        // Warn if a label is used without initialization
        label_unitialization_detection: LogLevel::Warn,
        ..default()
    });
});

However, I think this is far enough removed from your initial issue it might be worth adding as its own succinct feature request.

While this was productive, I think this is largely unactionable in its current form: like @bushrat011899 said, I think that following up with other clear feature requests or documentation suggestions is a good idea.


Added "Blog and Resource"

Added resource over Cloud Fundamental written by me and Blog post on "What is DevOps ?"

Hi @TKirtan I must say that I don't get how this is related to Meilisearch.
It's a piece about Cloud, that doesn't belong here. I'm sorry but I will close this PR without merging.
Feel free to give more details if you still think your content belongs here, I'd be happy to discuss it ans possibly reconsider your PR.

Hi @TKirtan I must say that I don't get how this is related to Meilisearch.
It's a piece about Cloud, that doesn't belong here. I'm sorry but I will close this PR without merging.
Feel free to give more details if you still think your content belongs here, I'd be happy to discuss it ans possibly reconsider your PR.

am sorry for sending pr without any context, I thought any resources can be shared. I would keep in mind for the next time.


Fix coupons e2e tests

Most of the e2e tests for coupons (mobile and regression) were disabled, because of changes in UI.
We should fix and reenable them.

https://github.com/SAP/cloud-commerce-spartacus-storefront/pull/5178

Tests successful


Current Lot link should not scroll with lots

It should stay fixed like the auction progress bar and not be duplicated across lots. Reported on Hockey.

Shouldn't be too difficult, but it is a change to our layout. I'll roll this into #1506.
@katarinabatina are there details available for how this is shown/hidden when the user navigates between lots by swiping on iPhone?

The live lot link should animate from the bottom up when navigating to a lot that is not the live lot, and animate down and away when the user navigates back to the live lot.

Talked with Katarina, we need to present the sale info VC in a modal, not a push.

@ashfurrow from today in sprint kickoff

Issue moved to artsy/auctions #191 via ZenHub


Using ⚙ emoji in ProgressBar spinner message causes unnessecary line breaks

For some reason, the width of ⚙ (a 2-byte emoji) seems to have its length mis-calculated, and as a result puts every single refresh on a new line.
As seen in the Dioxus CLI when watching a build. Reproduced in both Konsole 24.02.1 and JetBrains RustRover 2023.3 EAP on Linux with both the Fira Code and Hack fonts.
Note: this only happens with ⚙, not with ⚙.
Minimal reproduction code:
[dependencies]
indicatif = "0.17.8"

use std::time::Duration;
use indicatif::ProgressBar;

fn main() {
        let mut bar = ProgressBar::new_spinner();
        bar.enable_steady_tick(Duration::from_millis(200));
        bar.set_message("⚙ Hi there!");
        std::thread::sleep(Duration::from_secs(5));
}

You probably just need to enable some of the Cargo features for proper Unicode support?

Gave that a shot - same bug. Seems to happen regardless of if improved_unicode is enabled or not.

Well, maybe you can have a look at how indicatif::style::measure() fails with your example string, and if there's something that can be done to improve it?

Additionally, in the ratatui issue that links to it, the crate https://github.com/jameslanska/unicode-display-width/ is mentioned as a possible replacement. I haven't tested yet, but it'd need to be moved into the console crate instead.

Why would need to be moved into the console crate? I'd be okay with taking on the extra dependency on this (only if improved_unicode is enabled).

Could do, just feels weird to me to use the console crate for so few parts. But it'd just be a matter of replacing all occurrences of console::measure_text_width() with the width() method from the mentioned crate, maybe putting console::ansi::strip_ansi_codes() in before it depending on if you wanted that feature flag - I'm not sure what your intent is with dealing with ANSI there (though I'd assume you would want to strip it)

It's separation of concerns -- Unicode and dealing with the console are really separate domains so using different dependencies for these makes some amount of sense to me.

Works for me then. I will try to find some time in the next couple days to whip up an MR.

Actually hol up - while it is in theory separation of concerns, console-rs already has unicode width, which is why I flagged up maybe doing it in console anyway. We 100% sure we don't want to put it over in console-rs's own code? I feel like the fact that Cargo.toml has console/unicode-width we should be fixing it there.
(Hi I'm still waking up, so I'm a bit slower to catch things like this :P)

That's fair! Would be nice but console has had pretty slow maintenance recently. Okay, submit a PR to it and please ping me on it so I can have a look.

So, I've run a test. The patches work, but it appears it also only returns 1 or 2 for unicode_display_width::is_double_width() (well, boolean, but it means 2 if true or 1 if false) which would be used for fn char_width(c: char) -> usize {} As a result, I'm a little nervous to add it simply on the face of it, as it appears to throw out the option and unwrap_or(0) that was previously there.
For the sake of completeness, here are patch files with the changes I intended to make - but I'm not sure if these should be applied. Not sure if I'm going to break something elsewhere.
Here's the patches:
indicatif.patch
Index: src/style.rs
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/style.rs b/src/style.rs
--- a/src/style.rs	(revision HEAD)
+++ b/src/style.rs	(revision Staged)
@@ -39,12 +39,12 @@
     s.chars().map(|x| x.to_string().into()).collect()
 }

-#[cfg(feature = "unicode-width")]
+#[cfg(feature = "unicode-display-width")]
 fn measure(s: &str) -> usize {
-    unicode_width::UnicodeWidthStr::width(s)
+    unicode_display_width::width(s) as usize
 }

-#[cfg(not(feature = "unicode-width"))]
+#[cfg(not(feature = "unicode-display-width"))]
 fn measure(s: &str) -> usize {
     s.chars().count()
 }
Index: Cargo.toml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml	(revision HEAD)
+++ b/Cargo.toml	(revision Staged)
@@ -13,14 +13,15 @@
 exclude = ["screenshots/*"]

 [dependencies]
-console = { version = "0.15", default-features = false, features = ["ansi-parsing"] }
+#console = { version = "0.15", default-features = false, features = ["ansi-parsing"] }
+console = { path = "console", default-features = false, features = ["ansi-parsing"] }
 futures-core = { version = "0.3", default-features = false, optional = true }
 number_prefix = "0.4"
 portable-atomic = "1.0.0"
 rayon = { version = "1.1", optional = true }
 tokio = { version = "1", optional = true, features = ["io-util"] }
 unicode-segmentation = { version = "1", optional = true }
-unicode-width = { version = "0.1", optional = true }
+unicode-display-width = { version = "0.3.0", optional = true }
 vt100 = { version = "0.15.1", optional = true }

 [dev-dependencies]
@@ -35,8 +36,8 @@
 instant = "0.1"

 [features]
-default = ["unicode-width", "console/unicode-width"]
-improved_unicode = ["unicode-segmentation", "unicode-width", "console/unicode-width"]
+default = ["unicode-display-width", "console/unicode-display-width"]
+improved_unicode = ["unicode-segmentation", "unicode-display-width", "console/unicode-display-width"]
 in_memory = ["vt100"]
 futures = ["dep:futures-core"]

console.patch
Index: src/utils.rs
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/utils.rs b/src/utils.rs
--- a/src/utils.rs	(revision HEAD)
+++ b/src/utils.rs	(revision Staged)
@@ -707,12 +707,11 @@
 }

 fn str_width(s: &str) -> usize {
-    #[cfg(feature = "unicode-width")]
+    #[cfg(feature = "unicode-display-width")]
     {
-        use unicode_width::UnicodeWidthStr;
-        s.width()
+        unicode_display_width::width(s) as usize
     }
-    #[cfg(not(feature = "unicode-width"))]
+    #[cfg(not(feature = "unicode-display-width"))]
     {
         s.chars().count()
     }
@@ -720,12 +719,14 @@

 #[cfg(feature = "ansi-parsing")]
 fn char_width(c: char) -> usize {
-    #[cfg(feature = "unicode-width")]
+    #[cfg(feature = "unicode-display-width")]
     {
-        use unicode_width::UnicodeWidthChar;
-        c.width().unwrap_or(0)
+        match unicode_display_width::is_double_width(c) {
+            true => 2,
+            false => 1,
+        }
     }
-    #[cfg(not(feature = "unicode-width"))]
+    #[cfg(not(feature = "unicode-display-width"))]
     {
         let _c = c;
         1
@@ -873,7 +874,7 @@
         measure_text_width(&s),
         if cfg!(feature = "ansi-parsing") {
             3
-        } else if cfg!(feature = "unicode-width") {
+        } else if cfg!(feature = "unicode-display-width") {
             17
         } else {
             21
@@ -882,7 +883,7 @@
 }

 #[test]
-#[cfg(all(feature = "unicode-width", feature = "ansi-parsing"))]
+#[cfg(all(feature = "unicode-display-width", feature = "ansi-parsing"))]
 fn test_truncate_str() {
     let s = format!("foo {}", style("bar").red().force_styling(true));
     assert_eq!(
Index: Cargo.toml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml	(revision HEAD)
+++ b/Cargo.toml	(revision Staged)
@@ -13,13 +13,13 @@
 rust-version = "1.56.0"

 [features]
-default = ["unicode-width", "ansi-parsing"]
+default = ["unicode-display-width", "ansi-parsing"]
 windows-console-colors = ["ansi-parsing"]
 ansi-parsing = []

 [dependencies]
 libc = "0.2.99"
-unicode-width = { version = "0.1", optional = true }
+unicode-display-width = { version = "0.3.0", optional = true }
 lazy_static = "1.4.0"

 [target.'cfg(windows)'.dependencies]

I have created a pair of PRs that fully replace the API. Worth a note: there's a cast from a u64 to a usize in there, done to avoid changing APIs too much - also mentioned at https://github.com/console-rs/console/pull/210/files#r1552479044

Continuing the conversation from the PRs here because this is more meta to the whole change. Worth a note in the original unicode-width crate:

Most shells including bash and zsh and most terminal emulators do not support the zero width joiner.

If your application needs the width as rendered by any of these systems, DO NOT use this crate. This project is more suited towards editors that wrap a web engine such as Chromium with Electron (e.g. VS Code).

Given this info, I'm not really sure what we want to be doing here at this point. They suggest one solution involving probing the terminal for information on how it prints things using cursor widths etc, but this sounds like a far more involved and not entirely portable solution.
I'm considering closing the PRs unless something better is thought of - I think the route I'm going down is just trading one evil for another, as neither option is actually portable.

Ah, that's fair. Maybe the right fix is to advocate that Dioxus uses the other gear? (On my Mac the gears in your OP look identical anyway -- in the browser, at least.)

The gear looks identical - the problem is that it sends a bunch of newlines because it assumes the gear is 1 wide instead of 2, and as a result generates an extra padding space and thus an unnecessary newline. See here:

I'm closing the PRs, but leaving the issue open in case someone else wishes to pick up the mantle - I am short on time and consider the PRs unsuitable for fixing the issue, so I have to put this one aside.

Is there any way to work around this other than just not using 2-char emojis?

I don't think so, but am open to any ideas you have (after reading the discussion here, in #639 and in https://github.com/console-rs/console/pull/210).

unicode-width 1.12 (released today) now supports U+FE0F 2-char emojis, including ⚙ (skin tone modifiers and ZWJ emojis remain unsupported).

@Jules-Bertholet that sounds great. @Silvea12 so can we close this now?

that sounds great. @Silvea12 so can we close this now?

Hey! I've been meaning to get to this, but I've fallen ill with COVID. I'll get back to you on it when I'm better.
For me, a working thing is to install latest indicatif, and then running the above sample code and not seeing the extra newlines. That'll either result in this being closed, or a PR so it can be closed.
I'll get to it once I'm feeling better! Sorry for the delay.

Update: I can confirm a clean install works on my system, where I was experiencing the issue. Closing this, thanks @Jules-Bertholet for the update!

Thanks for the confirmation, hope you feel better soon!


next/after support and better AsyncLocalStorage context in general

This PR make the AsyncLocalStorage available to the middleware as well as the edge function.
It also provide support for next/after everytime including for lambda. On lambda without streaming it will block the response until all after promise are either resolved or rejected. Tested on lambda with streaming, it works as expected.
It can also be used to emulate vercel request context (the waitUntil) for lib that may rely on it on serverless env. It needs this env variable EMULATE_VERCEL_REQUEST_CONTEXT to be set to be enabled
And for wrapper that has native support for waitUntil they can provide globalThis.openNextWaitUntil ( Should work on cloudflare, not tested though)
I haven't found a way to test this with our current e2e setup, if someone has an idea ?

oh jeez that's a lot of lint warnings lol

Ho right i missed them, should be good now

@khuezy Yeah it would make sense, but i haven't figured out a way with our current setup.
The e2e test on the next repo for this rely on local console.log, which we cannot really use here.
Probably something with an endpoint, but haven't figured it out yet

To truly test after, the page request has to fully terminate, so the ALS would lose context w/ a new lambda... so I think we have to store some flag in DDB or something.

Ho this give me an idea, we create 2 endpoint one that got the after and another one that would be ssg.
On the one with after we call revalidatePath in a promise that resolve like 5s in after. We then just need to check if the ssg has changed or not and if the initial call didn't take more than 5s.
This is a bit hacky, but that's the only thing i can think of right now.
I'll work on this later tonight

Great idea, I don't think we'd need 2 endpoints for this. It can just be after/page.tsx where we call
after(() => {
   revalidatePath('/after') // inside 5 second timeout
})
return <>{time}</>

The test would reload the page and check that the time hasn't changed until after 5 seconds...
I think that would work? I could be missing something tho.


sideload.js function hasOfficeVersion targetVersion is wrong

Expected behavior
npm start for Outlook add-in (created using the Yeoman generator for Office Add-ins) will automatically sideload.
Current behavior
sideload fails with message 'The current version of Outlook does not support sideload. Please use version 16.0.13709 or greater.'
In sideload.js, you check the version of Outlook using function hasOfficeVersion, expecting a targetVersion of 16.0.13709 or greater.  I think your use of 16.0.13709 as the target version is wrong:
a. Add-ins are supported on Outlook 2013 or later on Windows, and I could not find anything to support your idea that a version of Outlook that supports add-ins does not support sideload.
b.  My Outlook version is 16.0.13127, which fails your check, but when I removed your check, 'npm start' sideload works just fine.
c.  Since Outlook 2013+ supports add-ins, and Outlook 2013 is version 15, I suggest your target version be 15.0.0 instead.  At version least, it should be no lower than 16.0.0

Hey @eblingus, thanks for the report.
That version check was there because sideloading in Outlook wasn't supported in earlier versions.
If you try to sideload to Outlook in a previous version, it wasn't expected to actually work.
I will make some tests to make sure the sideloading is working in some earlier versions. We can decrease the number 16.0.13709 if needed. Feel free to also create a PR with some changes if you feel like it.

@eblingus It would be useful to know more about the Office version you are running. In the File, Office Account page, there is  version text next to the About Outlook button. Can you share that with us?

@eblingus I will be closing this issue given no response in the past days. Please feel free to reopen the issue! We always want your help.

Sorry I missed this earlier.
I am currently using 16.0.14131.20278
https://docs.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date

Sorry I missed this earlier.
I am currently using 16.0.14131.20278
https://docs.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date

Which is a bigger Office version than 16.0.13709. @eblingus I think we can improve the message to talk about Office version and not Outlook versions to avoid this confusion in the future.

All Office apps have the same version, so what's the confusion between saying Outlook version and Office version?
@igor-ribeiiro It might be that the code which checks the version is not checking each component of the version. Can you double-check this? It needs to check the first number is >= 16, [it can skip checking if second number is >= 0 (of course it is)], and third number is >= 13709.

All Office apps have the same version, so what's the confusion between saying Outlook version and Office version?
@igor-ribeiiro It might be that the code which checks the version is not checking each component of the version. Can you double-check this? It needs to check the first number is >= 16, [it can skip checking if second number is >= 0 (of course it is)], and third number is >= 13709.

I double-checked. The behavior is just like what you said.

As I think this is working as expected, will be closing this for now.


Extract type classes and laws

Introduces extraction of stainless type classes and their methods from Rust traits, impls and their methods.
The feature is not yet 100% complete:

stainless specs on type class methods are not working yet, because they are desugared to sibling functions which is not allowed by rustc. (=> should probably be solved in this PR)

the generics of the type class only work with one type parameter for the moment. (=> next PR)

This PR depends on changes made in #58 & #59.

The CI works again on this PR. It now fails, because of the mentioned issue with measure attribute specs in type classes.
From my report:

At the moment it's not possible to add specs (other than laws) on type class methods, because Rust does not permit additional methods on trait implementations. This leads to Stainless not being able to prove one of the properties in the list implementation of Equals, because it cannot infer the measure. That problem could be solved by unifying the way in which specs are encoded by the macros.

Moving forward by disabling the measure spec in order to merge this.


Deprecate the Low Level CAST APIs

Applications should instead use the higher level EVP APIs, e.g.
EVP_Encrypt*() and EVP_Decrypt*().
This is marked as WIP because it builds on the commits from #10580. Once that is merged I will rebase this and take it out of WIP.
Please only look at the last commit.

Rebased and taken out of WIP. Please take a look.

Rebased

Rebased to resolve some merge conflicts with master.
@levitte please can you reconfirm?

Pushed. Thanks. There was a trivial CHANGES conflict which I fixed.


Accept HTTP code 302 redirect in MapTileDownloader loadTile method

MapTileDownloader loatTile method only accept 200 codes as valid responses from tile sources. We access a server that returns the tile with a 302 HTTP code.
We can contribute and add this code as accepted response code if necessary.
Issue Type
[ ] Question
[ x] Bug
[ ] Improvement
[ ] Build system related
[ ] Performance
[ ] Documentation
Description and/or steps/code to reproduce the problem
Access tile source that returns a tile with 302 http code.
Environment
If it's a bug, version(s) of android this affects:
All
Version of osmdroid the issue relates to:
5.6.5

@lgreulich Something like
final int responseCode = c.getResponseCode();
if (responseCode != 200 && responseCode != 302) {

instead of
if (c.getResponseCode() != 200) {

in MapTileDownloader.TileLoader.loadTile?
If so, now that we're here, which other response codes should we accept? Do we always get the data along with those response codes, or do we something have to use another URL given in the http response?

hmm anything less than 400 is generally ok. Do auto follow redirects?

My understanding is that HttpUrlConnection does follow redirects, but not across protocols e.g. http to https or vice versa. Take this with a grain of salt though since my research was rather superficial.

actually this needs some more work, on it now. it's common for servers to return just a path as part of the fragment

hmm, does anyone think that "follow redirects" should be a configurable thing?

I don't really see a use case for that. If yes it should default to true imho.

Does anyone have access to a map tile server that listens for http and sends a redirect to https?
@spyhunter99 We have a maptile server where we could do this test.

I checked-out and build the branch bug/#1052urlRedirects, I confirm the improvement worked perfectly.

coolbeans


guiconstants: update ORG_DOMAIN to bitcoincore.org

if desired, can also update ORG_NAME to Bitcoin Core

if desired, can also update ORG_NAME to Bitcoin Core

The reason that this was never done is because it changes where the Qt settings files are stored. For example this is ~/.config/<ORG_NAME>/<APP_NAME>.
i'm not sure what actually is the effect of changing the domain, but this shouldn't be done without checking.

if desired, can also update ORG_NAME to Bitcoin Core

Are there any issues with the current code? If not, then this PR lacks motivation.

ok, it came across in the qt-qml repo, I looked here and assumed it was forgotten to be updated.
nvm

Right. i think qt-qml does something substantially different with regard to settings, so it may be warranted there.


[Question] Is there any proper way to upload files

Is there any proper way to upload files and configure paths like in Flask ?
UPLOAD_FOLDER = '/path/to/the/uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
(https://flask.palletsprojects.com/en/1.1.x/patterns/fileuploads/)

https://fastapi.tiangolo.com/tutorial/request-files

Yeah, but for saving the files now I'm using shutil
for idx, img in enumerate(images):
    with open(str(idx)+".jpg", "wb") as buffer:
        shutil.copyfileobj(img.file, buffer)

Flask does have a wrapper for doing  this, also it has some functionalities like app.config which lack in fastapi, hopefully we could expect in new versions

Because you are able to save the file async right now, Flask doesn't give you this extendibility. It is totally up to you. Now you can use libraries like aiofiles.
import aiofiles

@app.post("/uploadfile/")
async def cache_favicon(file: UploadFile = File(...)):
    async with aiofiles.open("destination.jpg" , "wb") as f:
        await f.write(await file.read())

Thanks for the help here everyone! :clap: :bow:
Thanks for reporting back and closing the issue :+1:


Swift: Getting bad frequency with AKMicrophoneTracker

Hi,
I'm using AKMicrohoneTracker in my app, and it doesn't return me the good frequency.
It's ok when using AKFrequencyTracker node and I think that the two classes use the same algorithm, so I don't understand why It's not working well.
Did you ever have this kind of issue or is it just a mistake in my code?
`
let noteFrequencies = [16.35, 17.32, 18.35, 19.45, 20.6, 21.83, 23.12, 24.5, 25.96, 27.5, 29.14, 30.87]
let noteNamesWithSharps = ["C", "C♯", "D", "D♯", "E", "F", "F♯", "G", "G♯", "A", "A♯", "B"]
let noteNamesWithFlats = ["C", "D♭", "D", "E♭", "E", "F", "G♭", "G", "A♭", "A", "B♭", "B"]

override func viewDidLoad() {
    super.viewDidLoad()

    self.microAnalyze = MicroAnalyze()
    self.microAnalyze.setupAubio(samplerate: 44100)
    self.microAnalyze.startRecording()
    self.tracker = AKMicrophoneTracker()
    self.tracker.start()
}

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    self.timerOutput = Timer.scheduledTimer(timeInterval: 0.1,
                                           target: self,
                                           selector: #selector(HomeController.updateUI),
                                           userInfo: nil,
                                           repeats: true)

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    //Dispose of any resources that can be recreated.
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    self.timerOutput.invalidate()
    self.tracker.stop()
    self.timerOutput = nil

    let name = NSNotification.Name.AVAudioSessionInterruption
    let notification = Notification(name: name)
    NotificationCenter.default.post(notification)
}

override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)

}

@objc func updateUI() {
    if self.tracker.amplitude > 0.03 {

        var frequency = Float(self.tracker.frequency)
        print(frequency)
        while frequency > Float(self.noteFrequencies[noteFrequencies.count - 1]) {
            frequency /= 2.0
        }
        while frequency < Float(self.noteFrequencies[0]) {
            frequency *= 2.0
        }

        var minDistance: Float = 10_000.0
        var index = 0

        for i in 0..<self.noteFrequencies.count {
            let distance = fabsf(Float(self.noteFrequencies[i]) - frequency)
            if distance < minDistance {
                index = i
                minDistance = distance
            }
        }
        let octave = Int(log2f(Float(self.tracker.frequency) / frequency))
        self.noteNameWithSharpsLabel.text = "\(self.noteNamesWithSharps[index])\(octave)"
        self.bpmLabel.text = microAnalyze.bpm.description
    }
}

@IBAction func toggleBpm() {
    microAnalyze.toggleBpm()
}

}
Thx a lot!`

Same issue here when using it on Objective-C. I think this problem has been already there since version 4.4. This issue was reported  back then. https://github.com/AudioKit/AudioKit/issues/1510
It was supposed to be fixed, maybe it was not? I have been trying to avoid updating the framework version on my app but since March 1st I believe you have to target IOS 10 as a minimum so I am forced to upgrade Audiokit on my app.
Also, the MicrophoneAnalysis example crashes on the simulator still/again and when running on device nothing happens (it does not detect anything).
Also, when using the framework from objective c now and trying to do:
AudioKit.output = silence;
I get: Property 'output' not found on object of type 'AudioKit'
Any help on this would be appreciated.

@apple?

I was able to make it work by changing the hop size and peak count in a previous version (4.5.2) to default values.
But with the latest versions I get the error I mentioned before:
AudioKit.output = silence; -> Property 'output' not found on object of type 'AudioKit'

Thx for the link francdn. It's OK on my device with AKSettings.sampleRate = 44100.


Add valine ccomment system

Add some code to support valine comment system.
With valine-admin of DesertsP, people who receive mail notifications can click the link in the mail to arrive their reply directly instead of only opening that article.

Thanks for your PR! :smile:

Thanks for your PR! 😄

My pleasure!


Closing by clicking outside (allowOutsideClick=true) doesn't call callback

I'm seeing this behavior, although I am launching sweetalert on top of a react-bootstrap modal, so not sure if that's affecting it. Here's the initial issue on sweetalert:
https://github.com/t4t5/sweetalert/issues/299
This was apparently fixed here: https://github.com/t4t5/sweetalert/commit/7720ccafea1a259165207ee9842da11c770f6420

allowOutsideClick isn't a supported property.  Are you requesting this to be added?

Hi @djorg83, I'm not specifically requesting that property. The 'outside click' functionality seems to work fine. If I click outside of the alert box, it disappears (unless this isn't intended.. that could be a result of the underlying modal window). What I'm really after is when that click occurs, it triggers the onCancel event.

Ok. I see what you mean. This seems more like a defect within your application. Is the outside click somehow changing the state of your app and causing the sweet alert to no longer be rendered?

I'm not sure I'd call it a defect.. I have to render the sweetalert on top of the modal, otherwise it won't show. As a result, yes - when the modal disappears, it prevents sweetalert from rendering.
So I guess that's the cause, but I'm not sure how to get sweetalert to appear in front of the modal without making it part of the modal component.

As a workaround, I can specify backdrop='static' on the Modal to prevent background clicks from hiding it.

For anyone struggling with the onOutsideClick function also calling the onCancel a simple hackish workaround is this:
<SweetAlert
  show={showConfirm}
  title="Weekly Summary Email"
  text={'....?'}
  showCancelButton
  onCancel={() => this.handleChoice(false)}
  onConfirm={() => this.handleChoice(true)}
  onOutsideClick={() => {
    this.wasOutsideClick = true;
    this.setState({ showConfirm: false })
  }}
  confirmButtonText="Yes, Definitely"
  cancelButtonText="Nope"
/>

// then in handleChoice just do:

  handleChoice(choice) {
    if (this.wasOutsideClick) {
      return;
    }
    // ...

Closing this as a non-issue.  If this is still a problem, please reply or submit a PR.


Fetching available surround modes

Do you know what is the command body in order to fetch all available surround sound modes?
Based on this and the XML returned by deviceInfo, I would guess it would be akin to

GetSoundModeList

....

Not sure what parameters to send to get the response
$ curl http://192.xx.xx.xx:8080/goform/AppCommand0300.xml -d
'
<?xml version="1.0" encoding="utf-8"?>
<tx>
  <cmd id="3">
    <name>GetSoundModeList</name><list><param name="MOVIE"></param><param name="MUSIC"></param><param name="GAME"></param><param name="PURE"></param></list></cmd></tx>
'

# <---- I received the following response ----->
<?xml version="1.0" encoding="utf-8" ?>
<rx>
<cmd>
<name>GetSoundModeList</name>
<list>
</list>
</cmd>
</rx>

See line 69 here https://www.github.com/JPHutchins/denonavr2016/tree/master/XML_data_dump.txt
Let me know if that does not work.

See line 69 here https://www.github.com/JPHutchins/denonavr2016/tree/master/XML_data_dump.txt
Let me know if that does not work.

Oh lmao I just realized you may be going down a rabbit hole - I wrote a parser to generate commands from deviceinfo.xml - do not waste your time, the schema is inconsistent and the whole process was irritating.  Notably, there is no obvious way to handle distinctions of endpoints.

Oh lmao I just realized you may be going down a rabbit hole - I wrote a parser to generate commands from deviceinfo.xml - do not waste your time, the schema is inconsistent and the whole process was irritating.  Notably, there is no obvious way to handle distinctions of endpoints.

See line 69 here https://www.github.com/JPHutchins/denonavr2016/tree/master/XML_data_dump.txt
Let me know if that does not work.

The sound modes work but the sound mode list is basically a list of items within

See line 69 here https://www.github.com/JPHutchins/denonavr2016/tree/master/XML_data_dump.txt
Let me know if that does not work.

The sound modes work but the sound mode list is basically a list of items within

Actually I was able to find it using some network sniffing
Here is the request XML
<?xml version="1.0" encoding="utf-8"?>
<tx>
  <cmd id="3">
    <name>GetSoundModeList</name>
    <list>
      <param name="genrelist"></param>
    </list>
  </cmd>
</tx>

and you get a response like this
<?xml version="1.0" encoding="utf-8" ?>
<rx>
<cmd>
<name>GetSoundModeList</name>
<list>
<param name="genrelist" control="2">2</param>
<list>
<value>
<listno>1</listno>
<dispname>Stereo</dispname>
<selected>0</selected>
</value>
<value>
<listno>2</listno>
<dispname>Dolby Audio - Dolby Surround</dispname>
<selected>0</selected>
</value>
<value>
<listno>3</listno>
<dispname>DTS Neural:X</dispname>
<selected>0</selected>
</value>
<value>
<listno>4</listno>
<dispname>DTS Virtual:X</dispname>
<selected>0</selected>
</value>
<value>
<listno>5</listno>
<dispname>Multi Ch Stereo</dispname>
<selected>1</selected>
</value>
<value>
<listno>6</listno>
<dispname>Rock Arena</dispname>
<selected>0</selected>
</value>
<value>
<listno>7</listno>
<dispname>Jazz Club</dispname>
<selected>0</selected>
</value>
<value>
<listno>8</listno>
<dispname>Matrix</dispname>
<selected>0</selected>
</value>
<value>
<listno>9</listno>
<dispname>Virtual</dispname>
<selected>0</selected>
</value>
</list>
</list>
</cmd>
</rx>

Actually I was able to find it using some network sniffing
Here is the request XML
<?xml version="1.0" encoding="utf-8"?>
<tx>
  <cmd id="3">
    <name>GetSoundModeList</name>
    <list>
      <param name="genrelist"></param>
    </list>
  </cmd>
</tx>

and you get a response like this
<?xml version="1.0" encoding="utf-8" ?>
<rx>
<cmd>
<name>GetSoundModeList</name>
<list>
<param name="genrelist" control="2">2</param>
<list>
<value>
<listno>1</listno>
<dispname>Stereo</dispname>
<selected>0</selected>
</value>
<value>
<listno>2</listno>
<dispname>Dolby Audio - Dolby Surround</dispname>
<selected>0</selected>
</value>
<value>
<listno>3</listno>
<dispname>DTS Neural:X</dispname>
<selected>0</selected>
</value>
<value>
<listno>4</listno>
<dispname>DTS Virtual:X</dispname>
<selected>0</selected>
</value>
<value>
<listno>5</listno>
<dispname>Multi Ch Stereo</dispname>
<selected>1</selected>
</value>
<value>
<listno>6</listno>
<dispname>Rock Arena</dispname>
<selected>0</selected>
</value>
<value>
<listno>7</listno>
<dispname>Jazz Club</dispname>
<selected>0</selected>
</value>
<value>
<listno>8</listno>
<dispname>Matrix</dispname>
<selected>0</selected>
</value>
<value>
<listno>9</listno>
<dispname>Virtual</dispname>
<selected>0</selected>
</value>
</list>
</list>
</cmd>
</rx>

I think the above commands can be incorporated into the spec file to fetch various surround modes available.

I think the above commands can be incorporated into the spec file to fetch various surround modes available.

Ooooooh, super cool, nice work!  Check out my new push-based controller for
AV Receivers if you have a chance.
https://github.com/JPHutchins/pyavreceiver
I have also experimented with UPnP though the pub/sub is not comprehensive

for example, it doesn't support power state!  yikes

On Tue, Jan 12, 2021 at 12:41 PM newt10<EMAIL_ADDRESS>wrote:

I think the above commands can be incorporated into the spec file to fetch
various surround modes available.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JPHutchins/denonavr2016/issues/1#issuecomment-758953216,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIESQLXK4SB526T2W2YAFHTSZSXZLANCNFSM4V6ZIQAQ
.

Ooooooh, super cool, nice work!  Check out my new push-based controller for
AV Receivers if you have a chance.
https://github.com/JPHutchins/pyavreceiver
I have also experimented with UPnP though the pub/sub is not comprehensive

for example, it doesn't support power state!  yikes

On Tue, Jan 12, 2021 at 12:41 PM newt10<EMAIL_ADDRESS>wrote:

I think the above commands can be incorporated into the spec file to fetch
various surround modes available.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JPHutchins/denonavr2016/issues/1#issuecomment-758953216,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIESQLXK4SB526T2W2YAFHTSZSXZLANCNFSM4V6ZIQAQ
.

That is cool! I was primarily trying to build some home automation that would automatically read the now playing info from apple tv and set-up corresponding sound mode on the AVR. The apple side to this is turning out to be a bit painful though!

That is cool! I was primarily trying to build some home automation that would automatically read the now playing info from apple tv and set-up corresponding sound mode on the AVR. The apple side to this is turning out to be a bit painful though!

Of course it's painful.  It's all painful.  It's all undocumented and
archaic.  FWIW, as a sound guy, people should really just use "auto" or
"direct" on their receivers.  Every step of the signal chain from
distributor, to Apple TV, to TV, to receiver has logic for choosing the
"right sound mode".  Options like multi channel stereo are potentially
useful for multi room or something.  My new library won't give people the
option to choose DTS when the source is Dolby for example...  I have
opinions lol :wink:
On Tue, Jan 12, 2021 at 3:43 PM newt10<EMAIL_ADDRESS>wrote:

That is cool! I was primarily trying to build some home automation that
would automatically read the now playing info from apple tv and set-up
corresponding sound mode on the AVR. The apple side to this is turning out
to be a bit painful though!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JPHutchins/denonavr2016/issues/1#issuecomment-759107627,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIESQLV6IRSE22YS2JRQWG3SZTNBRANCNFSM4V6ZIQAQ
.

Of course it's painful.  It's all painful.  It's all undocumented and
archaic.  FWIW, as a sound guy, people should really just use "auto" or
"direct" on their receivers.  Every step of the signal chain from
distributor, to Apple TV, to TV, to receiver has logic for choosing the
"right sound mode".  Options like multi channel stereo are potentially
useful for multi room or something.  My new library won't give people the
option to choose DTS when the source is Dolby for example...  I have
opinions lol :wink:
On Tue, Jan 12, 2021 at 3:43 PM newt10<EMAIL_ADDRESS>wrote:

That is cool! I was primarily trying to build some home automation that
would automatically read the now playing info from apple tv and set-up
corresponding sound mode on the AVR. The apple side to this is turning out
to be a bit painful though!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JPHutchins/denonavr2016/issues/1#issuecomment-759107627,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIESQLV6IRSE22YS2JRQWG3SZTNBRANCNFSM4V6ZIQAQ
.


The package.json of '1.1.0/mock' and '1.2.0/mock' needs to be updated with the fix of issue #18

See https://github.com/papinet/papiNet-API/issues/18.

Waiting for https://github.com/papinet/papiNet-API/pull/48

#48 is merged.


Extension not working

The extension does not want to work (chrome).

Im unable to sort the steam market by float


Caddy v0.10.12 cannot build with this plugin

$ wget "https://caddyserver.com/download/darwin/amd64?license=personal"
--2018-03-30 08:38:42--  https://caddyserver.com/download/darwin/amd64?license=personal
Resolving caddyserver.com (caddyserver.com)... <IP_ADDRESS>
Connecting to caddyserver.com (caddyserver.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
...
$ wget "https://caddyserver.com/download/darwin/amd64?plugins=http.grpc&license=personal"
--2018-03-30 08:39:14--  https://caddyserver.com/download/darwin/amd64?plugins=http.grpc&license=personal
Resolving caddyserver.com (caddyserver.com)... <IP_ADDRESS>
Connecting to caddyserver.com (caddyserver.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2018-03-30 08:39:42 ERROR 500: Internal Server Error.

This was fixed in #2, maybe caddy is hardcoded to partical version of caddy-grcp plugin?

thanks @shaxbee, I'm newbie in Go, is it possible to download caddy and the fixed plugin separately?

@bianbian-org I have a Dockerfile that shows how to build Caddy and plugins on your own: giantswarm/docker-caddy/Dockerfile
@shaxbee Thanks for the fix! \o/ I also hit that before. But now there is another one:

../../../mwitkow/grpc-proxy/proxy/handler.go:63:30: undefined: transport.StreamFromContext

Ok, it's probably because of this change, in a dependency introduced in November:

// We require that the director's returned context inherits from the serverStream.Context().

Thanks @mholt. I just ran dep init on the plugin and it added caddy as one of the constraints.
[[constraint]]
  name = "github.com/mholt/caddy"
  version = "0.10.12"

Also, it added quite alot of packages to the vendor directory which might be included in caddy as well.
I'll see if there's a way around this.

Hmm, I'm not sure I would vendor Caddy itself either... 🤔 💣

Hi @mholt ,
I've created the vendor directory and cross checked with caddy to make sure I don't vendor the same.
This is my dep config:
ignored = [
  "github.com/mholt/caddy",
  "github.com/mholt/caddy/caddyhttp/httpserver",
  "golang.org/x/net/context",
  "golang.org/x/net/context/ctxhttp",
  "golang.org/x/net/http2",
  "golang.org/x/net/http2/hpack",
  "golang.org/x/net/idna",
  "golang.org/x/net/internal/timeseries",
  "golang.org/x/net/lex/httplex",
  "golang.org/x/net/trace",
  "golang.org/x/text/internal/gen",
  "golang.org/x/text/internal/triegen",
  "golang.org/x/text/internal/ucd",
  "golang.org/x/text/transform",
  "golang.org/x/text/unicode/cldr",
  "golang.org/x/text/unicode/norm",
  "golang.org/x/text/width",
]

[[constraint]]
  name = "github.com/improbable-eng/grpc-web"
  version = "0.5.0"

[[constraint]]
  branch = "master"
  name = "github.com/mwitkow/grpc-proxy"

[[constraint]]
  name = "google.golang.org/grpc"
  version = "1.11.3"

[prune]
  go-tests = true
  unused-packages = true

I created a new release 0.0.4 for my plugin with the vendored packages and then redeployed on the Caddy build server but get a build error: unexpected directory layout:.
Can you see if the build server is using the packages in the vendor directory at all?

Hi @bianbian-org. I've manage to deploy the latest code to Caddy (Thanks @mholt!), please check to see if this issue is resolved.


Feature/aml managed vnet

Add automation for managed-vnet AML workspace (allow internet outbound) to Azure recipes

...

Does this introduce a breaking change?

[ ] Yes
[x ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

Please follow the test instructions in the Readme.md for test cases.

What to Check
Verify that the following are valid

...

Other Information

Please follow the Readme.md to install the code for automation.

Overall, this is looking really good. Well done!
The recipes in this repo also deploys the "customer VNet" and that's missing from this sample. Suggest you add the following Azure resources:

A customer VNet.
Private Endpoint from storage account to this VNet.
Private Endpoint from key vault to this VNet.
Private Endpoint from AML workspace to this VNet.
Grant get/set access policy on AKV to the deployer.
You would also need to create private DNS Zones for storage, key vault, and AML workspace.

Hi @yogitasrivastava / @oloomi / @RenSilvaAU ,
Overall, this is looking really good. Well done!
The recipes in this repo also deploys the "customer VNet" and that's missing from this sample. Suggest you add the following Azure resources:

A customer VNet.
Private Endpoint from storage account to this VNet.
Private Endpoint from key vault to this VNet.
Private Endpoint from AML workspace to this VNet.
Grant get/set access policy on AKV to the deployer.
You would also need to create private DNS Zones for storage, key vault, and AML workspace.

Refer https://github.com/Azure-Samples/virtual-network-integration-recipes/pull/27/files?short_path=64a62a4#diff-64a62a4611883e924d833faeb925f4339bb201c9a3b2df284c1446b9db30f94b for additional guidance. Happy to chat about the details.

@yogitasrivastava @oloomi This PR has been stale for a while and has a few unresolved comments. Are we still looking to get this merged in?


Our values section

IBM Cloud toolchain: Delivery Pipeline deployed LRP-web-app to dev, including commit 90df3287ac131b2b15df6baeb1f84a20a4841c39

IBM Cloud toolchain: Delivery Pipeline deployed LRP-web-app to test, including commit 90df3287ac131b2b15df6baeb1f84a20a4841c39

IBM Cloud toolchain: Delivery Pipeline deployed LRP-web-app to prod, including commit 90df3287ac131b2b15df6baeb1f84a20a4841c39


[Windows] cannot build as shared library with opencl

Hi,
I was trying to compile elastix with opencl and I got a lot of errors like this:
Compilation output
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUImageToImageFilter.hxx(75,71): error C2491: 'itk::GPUImageToImageFilter<TInputImage,TOutputImage,TParentImag
eFilter>::GenerateData': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGenericPyramid\OpenCLMovingG
enericPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUImageToImageFilter.hxx(115,71): error C2491: 'itk::GPUImageToImageFilter<TInputImage,TOutputImage,TParentIma
geFilter>::GraftOutput': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGenericPyramid\OpenCLMovingG
enericPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUImageToImageFilter.hxx(150,71): error C2491: 'itk::GPUImageToImageFilter<TInputImage,TOutputImage,TParentIma
geFilter>::GraftOutput': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGenericPyramid\OpenCLMovingG
enericPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUInPlaceImageFilter.hxx(44,71): error C2491: 'itk::GPUInPlaceImageFilter<TInputImage,TOutputImage,TParentImag
eFilter>::PrintSelf': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGenericPyramid\OpenCLMovingGene
ricPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUInPlaceImageFilter.hxx(53,71): error C2491: 'itk::GPUInPlaceImageFilter<TInputImage,TOutputImage,TParentImag
eFilter>::ReleaseInputs': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGenericPyramid\OpenCLMoving
GenericPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUInPlaceImageFilter.hxx(62,71): error C2491: 'itk::GPUInPlaceImageFilter<TInputImage,TOutputImage,TParentImag
eFilter>::AllocateOutputs': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGenericPyramid\OpenCLMovi
ngGenericPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUUnaryFunctorImageFilter.hxx(45,87): error C2491: 'itk::GPUUnaryFunctorImageFilter<TInputImage,TOutputImage,T
Function,TParentImageFilter>::GenerateOutputInformation': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLM
ovingGenericPyramid\OpenCLMovingGenericPyramid.vcxproj]
C:\itk\build\elastix_build\_deps\elx-src\Common\OpenCL\ITKimprovements\itkGPUUnaryFunctorImageFilter.hxx(54,87): error C2491: 'itk::GPUUnaryFunctorImageFilter<TInputImage,TOutputImage,T
Function,TParentImageFilter>::GPUGenerateData': definition of dllimport function not allowed [C:\itk\build\elastix_build\_deps\elx-build\Components\MovingImagePyramids\OpenCLMovingGener
icPyramid\OpenCLMovingGenericPyramid.vcxproj]

And I tracked the error down to the interaction between this line:
https://github.com/SuperElastix/elastix/blob/7db2a8338452468358fc6630c8ab8adfde677d22/Common/OpenCL/CMakeLists.txt#L56
and this file:
https://github.com/SuperElastix/elastix/blob/main/Common/OpenCL/ITKimprovements/itkOpenCLExport.h
Essentially, I was building ITK as a shared library,  and so the export took this path in the itkOpenCLExport.h
took the first branch in if !defined(ITKSTATIC)  but that since elxOpenCL is forced to compile as a static library, it should have taken the other branch.
I assume that the reason that it was force compiled as a static library is for performance. If that's the case, then the fix would be just to delete the first branch to see if it's being compiled as shared or static.
If the proper fix is to not force compile it as static, then a secondary fix would be needed to define ITKOpenCL_EXPORTS.
Which ever the approach is best, I can submit a PR for it.

Thanks @EricAtORS So would everything build for you if we would simply just remove the first branch? That one:
https://github.com/SuperElastix/elastix/blob/debc79e2f817bef6643f49c0a3032d7b2fb6a8b1/Common/OpenCL/ITKimprovements/itkOpenCLExport.h#L27-L33
Please feel free to make that a PR.

That was the approach that I had taken and I've submitted the PR.


added hybrid and sim search notebooks

added two new notebooks with vector examples. notebooks parallel the Hybrid Search & Re-Ranking and Working with Vector Data docs pages.

With respect to the two Notes about what workspace the notebook can be run in.
I included the second Note with the revised wording as I've been advised that we are now supposed to use the words "Shared Edition" instead of "Free Starter Workspace". I'll remove my second Note, but heads up on the wording change.
Sorry about the extra %%sqls - part, I got extra lines in my SQL for reasons I don't understand and, part I didn't see the preview feature in github until I looked at your comments. So, sorry for the miss on those.
Will fix and resubmit.


swagger annotations not evaluated in separate maven module

Hello,
I have a spring boot web service written with spring mvc. The model for this service exists as a separate maven module in my application. This allows me to publish the api contract separately so api consumers can more easily create requests. For some reason, all of the swagger annotations within my POJOs in the contract module are not honored or evaluated when I view the documentation in swagger ui. I have created a dummy controller method that returns a sample pojo. I have bundled the sample pojo in the actual service module (instead of the contract module). If i provide the same annotations to the sample pojo, I am able to see the result documentation in swagger ui. Am I doing something wrong? Is there something I need to do to register with springfox that the api documentation is in a separate module?
Thanks in advance for any insight you can provide!

PEBCAK....
I was expecting when i rebuilt my project with maven that module changes would reflect when i re-run my application. I had to actually run mvn install on the contract module. THEN, the api documentation magically appeared. Thanks for the awesome tool!

:+1:


Look into window sizing issues

These seems to be happening mostly in mobile view.
Explore tab:

Issues tab:

Resource tab:

Home tab:

@lisaberrygis fixed this issue by setting the mode property for the Expand Widget to "floating" to always display the widget as floating regardless of browser size.

Looks good. Not seeing any showstoppers.


Check folder exists before creating it

Changes proposed in this pull request:

When trying to reuse New-RsFolder command it will throw an exception when trying to recreate it. This makes the script use it unable to be truly idempotent or be able to run it again without issue.

How to test this code:

Make sure SSRS is installed and initialized
Run as Admin in powershell
Import the module
Run this twice: New-RsFolder -RsFolder '/' -FolderName MyReports -ReportServerUri 'http://localhost/reportserver'
Expected: Folder should be created at first and the second time run does nothing

Has been tested on (remove any that don't apply):

Powershell 5  - Windows Server 2022
SQL Server 2019 Reporting Services Version 15.0.8434.2956

@microsoft-github-policy-service agree


Recycle item currently breaks the bot on latest dev

Expected Behavior
Recycle item should work and not break the whole program
Actual Behavior
Recycle item rpc call not working properly
Steps to Reproduce
Simply starting the bot and spin a pokestop
Other Information
raceback (most recent call last):
File "pokecli.py", line 503, in
main()
File "pokecli.py", line 89, in main
bot.tick()
File "pokemongo_bot/init.py", line 443, in tick
if worker.work() == WorkerResult.RUNNING:
File "pokemongo_bot/cell_workers/recycle_items.py", line 37, in work
response_dict_recycle = self.send_recycle_item_request(item_id=item_id, count=items_recycle_count)
File "pokemongo_bot/cell_workers/recycle_items.py", line 64, in send_recycle_item_request
count=count
File "src/pgoapi/pgoapi/pgoapi.py", line 121, in function
return request.call()
File "pokemongo_bot/api_wrapper.py", line 106, in call
result = self._call()
File "pokemongo_bot/api_wrapper.py", line 63, in _call
return PGoApiRequest.call(self)
File "src/pgoapi/pgoapi/pgoapi.py", line 219, in call
response = request.request(self._api_endpoint, self._req_method_list, self.get_position())
File "src/pgoapi/pgoapi/rpc_api.py", line 128, in request
response_dict = self._parse_main_response(response, subrequests)
File "src/pgoapi/pgoapi/rpc_api.py", line 359, in _parse_main_response
response_proto_dict = self._parse_sub_responses(response_proto, subrequests, response_proto_dict)
File "src/pgoapi/pgoapi/rpc_api.py", line 376, in _parse_sub_responses
request_entry = subrequests_list[i]
IndexError: list index out of range
Python 2.7.11 on Ubuntu
d0f60a221a8af7eaf7b41ffeeb756a636032534e

#3132 Submitted a PR for this.
Here's the fixed config.
http://pastebin.com/UStttHL2

@GitPupper thanks for the reply.
What exactly is the change? Can't see the diff set since config.json is new file.

@GitPupper seems like you changed something about keeping pokemons...which have no impact on the item filter.

As there have been many updates since this issue was posted, I'm assuming this issue has been resolved. If I'm wrong, please reopen.


[SPARK-31965][TESTS][PYTHON] Move doctests related to Java function registration to test conditionally

What changes were proposed in this pull request?
This PR proposes to move the doctests in registerJavaUDAF and registerJavaFunction to the proper unittests that run conditionally when the test classes are present.
Both tests are dependent on the test classes in JVM side, test.org.apache.spark.sql.JavaStringLength and test.org.apache.spark.sql.MyDoubleAvg. So if you run the tests against the plain sbt package, it fails as below:
**********************************************************************
File "/.../spark/python/pyspark/sql/udf.py", line 366, in pyspark.sql.udf.UDFRegistration.registerJavaFunction
Failed example:
    spark.udf.registerJavaFunction(
        "javaStringLength", "test.org.apache.spark.sql.JavaStringLength", IntegerType())
Exception raised:
    Traceback (most recent call last):
   ...
test.org.apache.spark.sql.JavaStringLength, please make sure it is on the classpath;
...
   6 of   7 in pyspark.sql.udf.UDFRegistration.registerJavaFunction
   2 of   4 in pyspark.sql.udf.UDFRegistration.registerJavaUDAF
***Test Failed*** 8 failures.

Why are the changes needed?
In order to support to run the tests against the plain SBT build. See also https://spark.apache.org/developer-tools.html
Does this PR introduce any user-facing change?
No, it's test-only.
How was this patch tested?
Manually tested as below:
./build/sbt -DskipTests -Phive-thriftserver clean package
cd python
./run-tests --python-executable=python3 --testname="pyspark.sql.udf UserDefinedFunction"
./run-tests --python-executable=python3 --testname="pyspark.sql.tests.test_udf UDFTests"

./build/sbt -DskipTests -Phive-thriftserver clean test:package
cd python
./run-tests --python-executable=python3 --testname="pyspark.sql.udf UserDefinedFunction"
./run-tests --python-executable=python3 --testname="pyspark.sql.tests.test_udf UDFTests"

Also cc @bersprockets I remember you took a look for this one as well.

Also cc @dongjoon-hyun FYI

Thank you for pinging me, @HyukjinKwon .

Test build #123811 has started for PR 28795 at commit e7a9974.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28437/
Test PASSed.

Test build #123811 has finished for PR 28795 at commit e7a9974.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/123811/
Test PASSed.

Thanks!


RFC Clean up interfaces

Puts the kernel interfaces in a namespace similar to how we handle nbformat, and marks everything as a JSON object.
Temporarily add json.ts here until we switch to the new phosphor library.

Probably best viewed as the new file content instead of a diff.

Good use of the new JSON definitions, it makes these interfaces more accurate and type safe.

Word.

This is ready for review.  The substantial changes are in ikernel.ts and isession.ts, with the rest of the changes being the necessary modifications.

This is epic. It looks good, cleaner organization, better interfaces, and code conventions.
👍


Added parameter for amount of link for each upkeep

Can you link the chainlink repo PR here which will use this feature


doc: Fix incorrect pairing of functions

CLA: trivial
The functions that should be implemented together are OSSL_FUNC_signature_verify_recover_init and OSSL_FUNC_signature_verify_recover and not  OSSL_FUNC_signature_verify_recover_init with  OSSL_FUNC_signature_verify_init

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Merged, thanks for the fix.


commands between MULTI and EXEC does not replicated to slave

I have a master and a slave configuration running ardb 0.8.6. Regular command or massive inserts runs fine but if I use pipeline mode which wraps commands between MULTI and EXEC. The results only show up on the master but not the slave.
Without pipeline
master:
redis <IP_ADDRESS>:16379> set a b
OK
slave:
redis <IP_ADDRESS>:16379> keys *

"a"

Using pipeline
master:
redis <IP_ADDRESS>:16379> multi
OK
redis <IP_ADDRESS>:16379> set a b
QUEUED
redis <IP_ADDRESS>:16379> exec

OK

slave:
redis <IP_ADDRESS>:16379> keys *
(empty list or set)

it‘s a bug for the cached command's protocol buffer, just fixed in latest commit.


Make example from README.md pasteable into a REPL

While the existing download instructions are workable, a direct link embedded in pastable Julia code is easier to use.

Did you mean to add this code into the other example? The ggml model should work without these files.

Oops, yes!

Thanks!


Odd Interaction with Tinkers' Construct Smeltery

It seems that having an invulnerable body in a Tinker's Construct Smeltery will result in the Smeltery filling up with blood as it thinks it's damaging the body.
Great for infinite Congealed Blood, bad for using the Smeltery.
This happens with:
Lootable Bodies 1.7.10-backport_1.3.6
Tinker's Construct 1.7.10-1.8.8
Config File

The lootable body uses the living entity class. I can't really do much about it, so I recommend making the corpses vulnerable to "other" damage and giving them 20 health. That will let you sacrifice bodies for blood in a way that isn't too OP.


Path Traversal Bug

Unsanitized input from a CLI argument flows into os.Open, where it is used as a path. This may result in a Path Traversal vulnerability and allow an attacker to open arbitrary files
Signed-off-by: Bhaskar Ram<EMAIL_ADDRESS>

I don’t understand the motivation for making this change in a vendored dependency on the Go standard library. Furthermore, the code that depends on the dependency you are modifying is only used by tests, not ever shipped as part of the Node SDK packages. The change itself looks quite unusual too, with a string variable being dereferenced. In Go strings are immutable. Can you explain what you are trying to achieve?

I don’t understand the motivation for making this change in a vendored dependency on the Go standard library. Furthermore, the code that depends on the dependency you are modifying is only used by tests, not ever shipped as part of the Node SDK packages. The change itself looks quite unusual too, with a string variable being dereferenced. In Go strings are immutable. Can you explain what you are trying to achieve?

Got it


Fails when forking process to media player

When youtube-viewer forks the process to vlc, mpv, mplayer is fails
Downloading however works fine.
http://pastebin.com/iYuUjqPz
Any suggestions greatly appreciated.
Gary

This is interesting. Which version actually fails: graphical or command-line? On what operating system? Thanks

They both fail. Using 64 Bit Amd system on Gentoo Linux. Is the

From what I can tell in the past youtube-viewer has requested/received http, rather than https:/
To that end I recompiled ffmpeg with ssl support. ( for mpv and mplayer)
and vlc with gnutls support
mpv  now works fine.
mplayer doesn't work. I'm assuming it won't because it lacks ssl support in the stable version.
vlc if i copy the link from the video info dialogue it plays fine. But it I allow youtube-viewer to play it it complains it can't play the video.

Going to mark this as resolved... VLC seems to have an issue with some https outside of youtube-viewer for me as well.