RCTJSONStringify Error when playing stream

Hello!
I'am running in to an issue where I'am receiving the error message:
RCTJSONStringify() encountered the following error: Invalid number value (NaN) in JSON write
reactConsoleErrorHandler @ ExceptionsManager.js:71
console.error @ YellowBox.js:67
logToConsole @ RCTLog.js:45
logIfNoNativeHook @ RCTLog.js:31
__callFunction @ MessageQueue.js:245
(anonymous) @ MessageQueue.js:101
__guard @ MessageQueue.js:213
callFunctionReturnFlushedQueue @ MessageQueue.js:100
(anonymous) @ debuggerWorker.js:71

This only occurs when I'am streaming from an IceCast server MP3 stream.  The error does not occur if I use a mp3 url from cloudfront.
Setup to reproduce the error:
import {
    Player
} from 'react-native-audio-toolkit';

let url = 'http://webradio.antennevorarlberg.at/live';
let p = new Player(url, {
  autoDestroy: true,
  continuesToPlayInBackground: true
});
p.play();

In the Info.plist add:
<key>NSExceptionDomains</key>
<dict>
    <key>antennevorarlberg.at</key>
    <dict>
        <key>NSExceptionAllowsInsecureHTTPLoads</key>
        <true/>
        <key>NSIncludeSubdomains</key>
        <true/>
    </dict>
</dict>

My guess is React Native is not liking it when 0 is being passed as the duration, since the streams have no set end time.  I have not tested this on Android yet.
Thank you for a great library!  Please let me know if you need additional information about my setup.
Dependencies:
React: 16.0.0
React-Native: 0.45.1
React-Native-Audio-Toolkit: 1.0.5
iOS: 10
iPhone 6

Im having the same issue

Me too

+1

has anyone worked around this?

This problem occurs because your server doesn't support partial request.

FYI I got around this my removing the duration from the callback in iOS.

I am having the same issue. @caseyg1204, could you please elaborate a bit on how you have fixed that? Thanks! :-)

@RassaLibre I ended up moving to a new library which has been working out very well. https://github.com/react-native-kit/react-native-track-player.

@whobutsb Ah, nice! Thanks a lot!

@RassaLibre That library no longer exists. Any other ideas?

@GeoffreyPlitt https://github.com/react-native-kit/react-native-track-player

OK. That library seems to do a whole bunch of other things.
@futurice, any fixes coming for this?

@GeoffreyPlitt This commit adds a live parameter for handling stream.
https://github.com/NZME/react-native-audio-toolkit/commit/e389a600c1b0a9e13237cab55268ee7779d6d12b

I'm experiencing a similar issue using the player on iOS:
RCTJSONStringify() encountered the following error: Invalid number value (NaN) in JSON write
It seems to be related to playback of live content from what I can tell, which do not have a definite duration value... hence the NaN. Which @moonstruck eludes to with the live parameter.
I'm finding that it has to do with any usage of @(CMTimeGetSeconds(player.currentItem.asset.duration) * 1000) in AudioPlayer.m
I can resolve this by doing a check with CMTIME_IS_INDEFINITE, and I chose to return -1 if it's not a valid time value.
I ended up adding a couple of helper methods on ReactPlayer to always get valid values:
// ReactPlayer.h
- (NSNumber *)duration;
- (NSNumber *)position;

// ReactPlayer.m
- (NSNumber *)duration
{
    NSNumber *duration = @0;

    if (self.currentItem != nil && self.currentItem.asset != nil) {
        if (CMTIME_IS_INDEFINITE(self.currentItem.asset.duration) || CMTIME_IS_INVALID(self.currentItem.asset.duration)) {
            duration = @(-1);
        } else {
            duration = @(CMTimeGetSeconds(self.currentItem.asset.duration) * 1000);
        }
    }

    return duration;
}

// ReactPlayer.m
- (NSNumber *)position
{
    if (CMTIME_IS_INDEFINITE(self.currentTime) || CMTIME_IS_INVALID(self.currentTime)) {
        return @(-1);
    } else {
        return @(CMTimeGetSeconds(self.currentTime) * 1000);
    }
}

I also added a helper class method in AudioPlayer to DRY up the usage of things throughout all of the RN callbacks:
// AudioPlayer.m
+ (NSDictionary<NSString *, NSNumber *> *)getPlayerDurationAndPosition:(ReactPlayer *)player
{
    return @{ @"duration": [player duration], @"position": [player position] };
}

// AudioPlayer.m
// usage in various locations within RCT_EXPORT_METHOD methods, replacing:
// callback(@[[NSNull null], @{@"duration": @(CMTimeGetSeconds(player.currentItem.asset.duration) * 1000),
//                             @"position": @(CMTimeGetSeconds(player.currentTime) * 1000)}]);
callback(@[[NSNull null], [AudioPlayer getPlayerDurationAndPosition:player]]);

With this patch, everything is functioning normally.
Thanks.

@colinmcardell Any reason not to open a PR with this patch?

@curt-tophatter No reason not to. I ended up patching it using patch-package. Does this patch resolves the problem for others.

This error was raised for me, but only in my simulator, and completely unexpectedly; I've been using this library in many places around my app, loading the audio in the same way from the same remote endpoint, but in one specific instance this error would be thrown. I confirmed it wasn't present in the build.
I was just noting that this thoughtful solution deserved it's own PR :)

I will carve out a quick moment to put together a PR. Thanks for the input.

Something interesting: the error I referred to above is only happening in my iPhone 12 mini simulator. @colinmcardell it looks likely I'll be trying your patch soon, if you need some verification QA in your PR.

I ended up patching it using patch-package

I added your code, used patch-package, followed their instructions, re installed pods, but still getting the same erorr.
I didn't add your DRY function.

@disrae, @curt-tophatter, @whobutsb this PR #276 resolves the error when playing live streams or when the player cannot determine the duration or position for whatever reason. Hopefully this is helpful.

Thanks @colinmcardell! I ended up hacking it with play immediately followed by stop. But I'm having issues on Android where the first stream works, but the second stream crashes the app (works fine on iOS and on my previous usage of the package). I think this is it for me, giving up on this package :(


Write about Optional and Required values in all Builders

For example:
/**
* Required: Specifies table name
*

* Default value is null
*
* @param table non-null table name
* @return builder
*/
@NonNull
public Builder table(@NonNull String table) {
  this.table = table;
  return this;
}

/**
* Optional: Specifies arguments for "where" clause
*

* Passed objects will be immediately converted to {@link String} via calling {@link Object#toString()}
*

* Default value is null
*
* @param whereArgs array of objects that will be converted to strings
* @return builder
*/
@NonNull
public Builder whereArgs(@Nullable Object... whereArgs) {
  this.whereArgs = QueryUtil.varargsToList(whereArgs);
  return this;
}

Can I take it?

Yes, sure, you can use PreparedPutObjects from storio-contentresolver as an example.
Let's make best documentation -> developers will be happy. Everybody will be happy!
I think, that covering default values should be done in separate PR so it will be easier to review it


Write Icon that lets us create a new note title and description

GIVEN a note-taking application
WHEN I click on the Write icon in the navigation at the top of the page
THEN I am presented with empty fields to enter a new note title and the note’s text in the right-hand column

The write icon is able to function when a user is looking at a note, if they click on the plus icon it will let them input a title and description to then save without issue!


[Feature][doc] Add V2 connector jdbc document parameter can speed up data import PR

https://github.com/apache/seatunnel/issues/6167

Purpose of this pull request

Does this PR introduce any user-facing change?

How was this patch tested?

Check list

[x] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[x] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[x] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[x] Update the release-note.

The latest PR add : OceanBase、Kingbase、Vertica、Snowflake、SqlServer、PostgreSql jdbc parameter an related information

The code style check failed. Please run mvn spotless:apply to fix it

I have completed formatting

Oops, there are some conflict should be resolved.


Please keep this page updated for 2022

We love using this page to keep up with changes. Can you keep it up to date for 2022 please?
Doug Purnell

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

ID: 27fa3259-c8cf-bd35-7e6a-6f8a1f2a36cf
Version Independent ID: 187906ab-5531-bce0-084c-d90e3c009c82
Content: Previous monthly updates to the on-premises data gateways
Content Source: data-integration/gateway/service-gateway-monthly-updates.md
Product: on-premises-data-gateway
Technology: ****
GitHub Login: @arthiriyer
Microsoft Alias: arthii

Hi @sqlnikon
Thanks for your feedback!
We'll do our best to keep it up to date.


Win32: restoring screen not always done right (try again)

I cannot reply to ML now, so I chose PR.
I quickly realized that there was a problem.
It starts with a different color when !cmd is executed, only there.
It's a little big, because the code isn't organized.
I welcome corrections.

Looks solved. The operation requires verification.

Removed temporary code.
If you see scrolling issues with this patch, I think it's a terminal bug. maybe.
I'm a little tired this time.

Can someone please try this out and provide feedback?

Somebody please.
Earlier patched mentioned that single line scroll up was disabled.

I tried this.
It looks that it works fine when VTP is not used, but the screen is not restored properly when VTP is used.
> vim --clean --cmd "set tgc"

When the vim ended, many blank lines are shown.

Closing this, as the account has been deleted.


Docker cache

http://thenewstack.io/understanding-the-docker-cache-for-faster-builds/
I think we need some way of busting the cache, so it's not using an old version of openzipkin when building. (In fact, my docker build didn't even clone openzipkin at all)

My first idea is doing the clone outside the Dockerfile. This comes with the benefit of being able to add .git to .dockerignore.

Once we do releases, we wouldn't be building from source, and instead
letting the user choose snapshot or some pinned version from bintray. Does
this change anything?

Even in that case I'd prefer downloading on the host instead of in the container, to keep the images super lean. (Obviously the git clone will become a wget etc.)

Wait, no. In an ideal world we'd have automated builds, which means everything would be inside the containers, even the downloadings. In that case #16 is only a temporary thing to use while we build the docker containers from source.

While we build the docker images from source, this is fixed by #16. The proper long-term solution is tracked in #18, so I'm closing this issue.


Reworked relevance rankers and fixed proximity ranker

Reworked the way rankers get their information, it's now all in nice objects making it easier to understand what's going on.
Moreover, I found that the Proximity ranker was buggy because it did not consider the attribute. It's best seen in the SearchTest::testRelevanceAndRankingScoreWithAttributeWeights().
Previously, when searching for game of life the following document got a relevance score of 0.8034:
[
     'id' => 3,
     'title' => 'Learning to game',
     'content' => 'What life taught me about learning',
]

This is nonsense but happened because game occurs at position 3 within title and life at position 2 within content. Without distinguishing the different attributes, this results in close proximity.
With this PR, this now gets downgraded to 0.64323.
Would love to have a review @daun - maybe you see false-positives in the adjusted tests. Also, the information is now not passed on using references anymore to the rankers. As I said, it should have no negative effect because objects are also references but you might want to run your bench again. For me, this PR is actually quite a bit faster because information can be re-used 😉 I am now at about 105ms instead of 120ms as stated in the README. Would love to learn about your results.
TODO:

[ ] Update README.md because Loupe got faster with this PR?

Benchmark-wise, I'm seeing no difference (139.1 vs 139.4). Which is amazing, considering the improved maintainability of the ranking algorithm.


dnscrypt-winclient.exe duplicate processes, crashes

saw another ticket opened about this from a win 8 user that was closed with being resolved
i'm using win 7 x64
dnscrypt-proxy-win32-full-1.4.3.zip
if i open the client gui, then close it, the dnscrypt-winclient.exe process remains running
if i run another instance, another process is loaded and it also remains running upon exit
the documentation is unclear to me as to whether it is supposed to remain running or not - it says:
"When launched as a standalone process and a box is unchecked or the application is closed, all DNS server settings are reverted to their original state."
which seems to indicate it is supposed to be left running?
another problem here is that the client crashes upon exiting the gui on occasion...
"The dnscrypt-proxy service terminated unexpectedly.  It has done this 7 time(s)."
event id: 7034

if i open the client gui, then close it, the dnscrypt-winclient.exe process remains running

I also saw this. That's bad.
Please fix it.
I would say it can just be closed. It's useless to let it running in the background while it's doing nothing.

Like I said in the other ticket, I cannot reproduce this. I have tried it on Windows 7, 8, 8.1, and 10. None of them exhibit this behavior.

Ah you mean https://github.com/Noxwizard/dnscrypt-winclient/issues/18.


Fixed #26706 -- Fixed clear() with prefetched values

Doing a prefetch before clear() causes the cached value
to be returned after a query. Since they are cleared,
the cached values should no longer be needed, so this change
removed them from the cache inside clear().

Thanks for the review, I've put in the formatting changes.

I left a comment on the ticket with a question about whether or not to actually make this change.

I guess there's consensus on the mailing list to move forward with this. Could you find some place to document it, including a mention in the 1.11 release notes?

Absolutely, I'll work on it when I get off work, maybe after today or tomorrow.

Thanks for the review. I've made the changes,

New tests are now added, and this is now ready for another review.

merged in d30febb4e59b659e0d279c77f61f936c199a05b2, thanks!


Fix SignalXY right edge clipping bug

Purpose:
Fix for SignalXY wrong clipping on right edge. https://github.com/ScottPlot/ScottPlot/issues/889#issuecomment-803582419
The problem was not at incorrect clipping, but that float DataWidth, when cast to int, is not correctly rounded. thus, for example, with a width of 627.998, a simple conversion to int gives 627 instead of 628.
And the points that should have gotten into the last column did not get there. as a consequence, interpolation did not go from the last point of the last column, but from the last point of the previous colomn. Which gave such an effect if points in last and previous columns had many difference.
In general, it is very strange to use float variable for the pixels count, a quick glance at the project showed that cast to int is still used in many places, they can also play a cruel joke.

that float DataWidth, when cast to int, is not correctly rounded

Thank you for figuring this one out @StendProg!


A subsection about extensible records is missing

http://elm-lang.org/docs/records

Thanks to @sofiapoh (#15)


As a user, I would like to assign different background colors for different tasks so that they are easier to distinguish visually in the task board

The color could simply be assigned as metadata using a key:value tag, for example
#TODO add functionality do assign background colors c:red

Ideally, the color tag would be optional.
I guess it would also be possible to configure colors based on already existing tags (e.g. +project), but using a separate key:value pair would allow the user to employ individual strategies for assigning colors, e.g. by priority, by due date, by project, or any other context.

#1

At one point I had an extension that was looking for all due dates like due:2018-03-23, parsing the date, comparing to the current date, and then coloring yellow or red based on whether the due date was approaching or past.


[BUG] Service bus sender client: connection errors in logs

Describe the bug
The sender client works, and messages are sent successfully to a service bus. But from time to time, there are several types of errors appear in the logs:

com.azure.core.amqp.exception.AmqpException: Connection reset, errorContext[NAMESPACE: *****.servicebus.windows.net. ERROR CONTEXT: N/A]
com.azure.core.amqp.exception.AmqpException: Connection timed out: getsockopt, errorContext[NAMESPACE: *****.servicebus.windows.net. ERROR CONTEXT: N/A]
com.azure.core.amqp.exception.AmqpException: connection aborted, errorContext[NAMESPACE: *****.servicebus.windows.net. ERROR CONTEXT: N/A]

These errors have no influence on the message-sending process, all messages are sent successfully. But in Application insights -> Logs messages have severity level = 3 (Error), which leads to false-positive error notifications.
Exception or Stack Trace
reactor.core.Exceptions$ErrorCallbackNotImplemented: com.azure.core.amqp.exception.AmqpException: connection aborted, errorContext[NAMESPACE: ***********.servicebus.windows.net. ERROR CONTEXT: N/A]
Caused by: com.azure.core.amqp.exception.AmqpException: connection aborted, errorContext[NAMESPACE *********.servicebus.windows.net. ERROR CONTEXT: N/A]
at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
at com.azure.core.amqp.implementation.handler.ConnectionHandler.notifyErrorContext(ConnectionHandler.java:362)
at com.azure.core.amqp.implementation.handler.ConnectionHandler.onTransportError(ConnectionHandler.java:259)
at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:191)
at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)

Code Snippet
spring:
  cloud:
    azure:
      servicebus:
        namespace: ${service-bus-namespace}
        producer:
          entity-name: ${service-bus-queue-name}
          entity-type: QUEUE

ServiceBusSenderClient client; - injected client
client.sendMessage(message);

Setup (please complete the following information):

OS: Windows
Library: com.azure.spring:spring-cloud-azure-starter-servicebus:5.10.0
Java version: 21
App Server/Environment: Azure Function, standalone app running
Frameworks: Spring Boot

@ViacheslavPetriaievEBT  transient network issues are expected and based on your description are retried and don't result in visible impact.
Is the ask here to reduce the severity to warning?
Would you expect error severity if ServiceBus SDK hits unrecoverable issue (either retries are exhausted or issue is not transient)?

@lmolkova
Yes, that's correct:

warning - for recoverable issues
error - for unrecoverable issues

@ViacheslavPetriaievEBT thank you for the confirmation!
Do you have an examples of the messages coming from ServiceBus SDK and logger/class name?
I'm trying to change levels in the #39904, but the stack trace and error messages describe the exception, but not the place where it's logged. Having a specific messages/logger names would really help to apply fixes in the places which affect your application.
Thanks!

@lmolkova
I've found only the following information:

Logger Message: Operator called default onErrorDropped
LoggerName: reactor.core.publisher.Operators
SourceType: Logger


35363671 work item

Updated TOC per Ashish's issue 1374

Docs Build status updates of commit b831703:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@vchapel - Please Edit the title of this PR to a descriptive title so I can manage the open PRs.

Docs Build status updates of commit 037f39a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Make keyboard shortcuts for fancyzones and normal window snapping separate.

Separate keyboard shortcuts for snapping windows to fancy zones and normal windows 10 snapping.
One set of snapping keyboard shortcuts should snap windows to defined facyzones while another set of shortcuts (the default ones) should still snap windows to normal windows 10 positions.
This way it will make sense to move windows between fancyzones and normal positions using shortcuts.
What the shortcuts should be and how they should be separated is left as an exercise to the dev at hand.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

This feature request is tracked by https://github.com/microsoft/PowerToys/issues/4795

This feature request is tracked by https://github.com/microsoft/PowerToys/issues/4795


Reference codelense not shown if the function/variable is a single letter

Describe the bug

let y () = "" // This line doesn't have the references count shown

let yy () = ""

let add () = ""

Machine info

OS: Windows
.NET SDK version: [e.g. 5.0.100]
Ionide version: 7.0.0

Additional context
Add any other context about the problem here.

This is true for all single character identifiers - probably some off by one error somewhere in FSAC:

This isn't an off-by-one actually! We actually get a NavigationItem back from the compiler for these single-character identifiers:

The problem is that we map out Field type glyphs in the codelens mapping:
|> Array.filter (fun n ->
      not (
        n.Glyph <> FSharpGlyph.Method
        && n.Glyph <> FSharpGlyph.OverridenMethod
        && n.Glyph <> FSharpGlyph.ExtensionMethod
        && n.Glyph <> FSharpGlyph.Field
        && n.Glyph <> FSharpGlyph.EnumMember
        && n.Glyph <> FSharpGlyph.Property
        || n.IsAbstract
        || n.EnclosingEntityKind = NavigationEntityKind.Interface
        || n.EnclosingEntityKind = NavigationEntityKind.Record
        || n.EnclosingEntityKind = NavigationEntityKind.Union
        || n.EnclosingEntityKind = NavigationEntityKind.Enum
        || n.EnclosingEntityKind = NavigationEntityKind.Exception
      ))

We could consider removing this - it seems that some functions are either mistagged as Fields or are purposefully compiled as such.


Window10下Qt 6.5.2 MinGW编译报错

F:\FluentUI-File\framelesshelper\build>cmake -DCMAKE_PREFIX_PATH=F:\Qt\6.5.2\mingw_64 -DCMAKE_INSTALL_PREFIX=E:\QtProjects\FluentUI-Projects\FluTest\framelesshelper\bin -DCMAKE_BUILD_TYPE=Release -GNinja ../
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: E:/Qt/Tools/mingw1120_64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: E:/Qt/Tools/mingw1120_64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
CMake Warning (dev) at cmake/utils.cmake:2467 (message):
  generate_project_version: PROJECT_VERSION_TWEAK is not set!
Call Stack (most recent call first):
  CMakeLists.txt:200 (generate_project_version)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning at cmake/utils.cmake:645 (message):
  setup_compile_params: Current toolchain is not supported.  Only LLVM-MinGW
  (https://github.com/mstorsjo/llvm-mingw) has partial support.
Call Stack (most recent call first):
  src/core/CMakeLists.txt:304 (setup_compile_params)

CMake Warning at cmake/utils.cmake:645 (message):
  setup_compile_params: Current toolchain is not supported.  Only LLVM-MinGW
  (https://github.com/mstorsjo/llvm-mingw) has partial support.
Call Stack (most recent call first):
  src/widgets/CMakeLists.txt:176 (setup_compile_params)

CMake Warning at cmake/utils.cmake:645 (message):
  setup_compile_params: Current toolchain is not supported.  Only LLVM-MinGW
  (https://github.com/mstorsjo/llvm-mingw) has partial support.
Call Stack (most recent call first):
  src/quick/CMakeLists.txt:284 (setup_compile_params)

This problem has been solved, try to replace
-DCMAKE_PREFIX_PATH=F:\Qt\6.5.2\mingw_64
to
-DQt6_DIR=F:\Qt\6.5.2\mingw_64\lib\cmake\Qt6


Load fewer mouse ID's

Pull Request instructions:

Please follow the update protocol
Answer the questions below in detail. Your responses will be emailed to experimenters.
If the experimenters must do anything new, provide detailed step by step instructions on the wiki
If computer maintainers need to manually update anything, provide detailed step by step instructions
Use markdown syntax in order for your comments to be rendered reliably in the email: "1." instead of "1)", use four spaces for indents.
If you use the keyword "skip email" in the title, it will skip the email updates
Merges from "develop" into "production_testing" should use the keyword "production merge" in the title for reliable indexing of updates
Merges from "production_testing" into "main" should use the keyword "update main"

Describe changes:

Only mouse ID's with local files modified in the past two weeks will appear in the load drop down box

What issues or discussions does this update address?

resolves #711 and resolves #495

Describe the expected change in behavior from the perspective of the experimenter

Only mouse ID's with local files modified in the past two weeks will appear in the load drop down box

Describe any manual update steps for task computers

None

Was this update tested in 446/447?

[x]  446

file explorer:

before:

after:

@micahwoodard Have these been tested in a rig?

@micahwoodard I tested this on ephys rig 3. It looks good.

Slight update to address #495. Here is what Load combo box and verify box look like now.

@micahwoodard I tested on the ephys rig 3. It does not seem to show the latest mice.

@micahwoodard it will show up as above in the Load mouse box, as well as the verify box? If so that's great!

@micahwoodard it will show up as above in the Load mouse box, as well as the verify box? If so that's great!

yep exactly!

looks good to me.

All together looks like this:
File explorer:

Combobox:

Verify page:

Can still load in past sessions if they didn't happen in within the last two :

@micahwoodard It looks right now

@micahwoodard I tested on the ephys rig 3. It does not seem to show the latest mice.

It should only show the mice from the past two weeks, but you will be able to load in any mouse found on the computer

There were previously showing the latest mice, but some old mice. Now, this issue was fixed.

There were previously showing the latest mice, but some old mice. Now, this issue was fixed.

Ah great there was a small bug before but should be fixed now


I tried to bypass mirrored and get some error.

Domain
https://www.mirrored.to/files/1CANDLHU/?hash=f27b0c028ab8ad0aec1f3dfc41053368&dl=0
Link
https://www.mirrored.to/files/1CANDLHU/?hash=f27b0c028ab8ad0aec1f3dfc41053368&dl=0
Version
0.0.0
What browsers are you seeing the problem on?
Chrome
What OS are you seeing the problem on?
Windows
Anything else?
No response

please check: https://github.com/FastForwardTeam/FastForward/issues/647

this should have been fixed, be sure to download the newest bypass definitions


cob_command_tools: 0.6.21-2 in 'kinetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository cob_command_tools to 0.6.21-2:

upstream repository: https://github.com/ipa320/cob_command_tools.git
release repository: https://github.com/ipa320/cob_command_tools-release.git
distro file: kinetic/distribution.yaml
bloom version: 0.10.3
previous version for package: 0.6.20-1

cob_command_gui
* Merge pull request #296 <https://github.com/ipa320/cob_command_tools/issues/296> from fmessmer/fix/pylint_segfault
  fix pylint segfault
* specify required version
* Contributors: Felix Messmer, fmessmer

cob_command_tools

No changes

cob_dashboard

No changes

cob_helper_tools
* Merge pull request #301 <https://github.com/ipa320/cob_command_tools/issues/301> from HannesBachter/fix/visualize_in_map
  remove leading / in frame_id
* remove leading / in frame_id
* Contributors: Felix Messmer, HannesBachter

cob_interactive_teleop

No changes

cob_monitoring
* Merge pull request #299 <https://github.com/ipa320/cob_command_tools/issues/299> from HannesBachter/fix/wlan_monitor
  Fix/wlan monitor
* decode values before adding them
* generically generate key value pairs from iwconfig output
* handle unconnected WIFI
* Merge pull request #297 <https://github.com/ipa320/cob_command_tools/issues/297> from fmessmer/fix/python3_decode
  python3 decode stdout
* fix parse info
* python3 decode bytes
* python3 decode stdout
* Contributors: Felix Messmer, HannesBachter, fmessmer, hyb, mailto:robot@cob4-12

cob_script_server
* Merge pull request #300 <https://github.com/ipa320/cob_command_tools/issues/300> from fmessmer/sss_improvements
  harmonize joint_states subscription
* configurable joint_state_topic
* harmonize joint_states subscription
* Merge pull request #298 <https://github.com/ipa320/cob_command_tools/issues/298> from fmessmer/fix/python3_cob_console
  cob_console for dual-distro ipython
* cob_console for dual-distro ipython
* Contributors: Felix Messmer, fmessmer

cob_teleop

No changes

generic_throttle

No changes

scenario_test_tools

No changes

service_tools

No changes

We are preparing for the final kinetic sync. All releases should be prepared by April 20th and we will have a long soak time until April 26th. Please make sure to test from the testing repository to make sure that there's no regressions after this is released. You can get more info from this thread on ROS Discourse


Character Buffs (Prime battle solution, Bravery, Noct, Etc.)

No error shown in Toolbox but when you go inside dungeons it starts to not show anything, some skills doesn't work due to no buffs like 2nd tap Godsfall or Shining Crescent.

Hi. What dungeon?

Install the latest updates, this issue should be fixed.

I tried DAH, DAN, CSN same for all. Now fixed. Thank you!


Double-clicking buttons will misalign items

I know that those 'Previous'/'Next' buttons are supposed to be clicked once, but I think this problem should be addressed. Some people might want to navigate items very fast, rather than waiting the scroll animation to be finished.
This is how it shows in my blog, which uses blog related posts, which uses this module.
https://github.com/hbstack/slide/assets/37061801/81728750-ac11-43a5-a9e0-3596f1df9a49
I double-clicked next button, then previous button in this video. Items are misaligned because first animation was interrupted by second animation, causing offset to be inaccurate.
This problem can be observed in the module page too.

PS. Maybe, this issue will be obsolete after this issue is resolved.

Fixed since v0.3.2.

Some people might want to navigate items very fast

I don't think it's good UE, but you can achieve this by adding custom style.
.slide-inner {
    scroll-behavior: auto;
}


Check circular dependencies in executions with include of other executions

As a developer, I want to be able to check for circular dependencies in the SetExecution call, to avoid to overwork the system with circular logic.
Acceptance Criteria

[ ] Include is checked that no circular dependencies are possible
[ ] Include is checked to a maximum of defined levels

@peintnermax @stebenz @eliobischof  can you please estimate this issue?


Support multiple locales concurrent

This is the revised patch from rails-timeago as mentioned in #173.
I've added a few tests to test locale detection and selection.

@rmm5t Anything more needed here to get this merged?
Newer Rails version have some of NPM integration and a few more people asked me to provide a npm package from rails-timeago, but I am always kindly redirecting them to your project. Some were missing the locale support...


Fix #92

<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage remained the same at 86.169% when pulling b081ab58df6c99c4a34ecb5413cfefe37b22dc95 on mirceaulinic:FIX-92 into cef6b23bc267c5dcc4ed09542c99d94b29064ad3 on napalm-automation:develop.


Check textfield against DL and VRT

Check textfield

[ ] matches DL
[ ] check VRT passes
[ ] check and update migration guides example

Icon positioning is broken in VRT


Clean Up CompoundSprite

getComponents and GetAnimatedSprites in CompoundSprite are returned as mutable pointers.
There is nothing implicitly unsafe about this b/c the compound sprite will react well to the vectors changing in size.
This may produce surprising behavior for users if one stores a pointer to the internal array and modifies it from a random part of the code. I think this is probably a foot-gun. Lets make it return a const reference to the internal array. Users can still modify the states of the internal sprites, but the vectors themselves will be safe.

CompoundSprite::update should be override


fix: increase range of supported versions of python

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation (change which affects the documentation site)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Quality assurance (all should be covered).

[x] My code follows the code style of this project.
[x] Documentation for my change is up to date?
[x] My PR meets testing requirements.
[x] All new and existing tests passed.
[x] All commits are signed-off.

Summary
GitHub actions is now defaulting to python 3.12 when the python version is not specified. There was a breaking change for compliance-trestle in a fresh environment as setuptools is no longer included by default in a python environment / venv.
To merge this PR, required versions of the pipelines will need to be updated in the branch protection configuration
Key links:

Sonar coverage

Before you merge

Ensure it is a 'squash commit'
Ensure CI is currently passing
Is this a merge to develop from any branch except main and ghpages

Signed-off-by: Chris Butler<EMAIL_ADDRESS>

As part of PR https://github.com/oscal-compass/compliance-trestle/pull/1533 which is under review and should result in a new release of trestle very soon, the versions of python tested (therefore supported) will change to {3.9, 3.10. 3.11}. The reasons are two fold. One is that it is desirable to have at least one version of python (3.9) that is the same as the previous release. The other is that supporting too many version of python causes the test matrix to expand and the test time to increase, so we keep it at 3 versions. We project that a future release will use {3.10. 3.11, 3.12}. Please feel free to review and comment on the aforementioned PR. With respect to github action versions, that too would be a good candidate for a near term follow-up once the 1.1.2 trestle support release happens.

As part of PR #1533 which is under review and should result in a new release of trestle very soon, the versions of python tested (therefore supported) will change to {3.9, 3.10. 3.11}. The reasons are two fold. One is that it is desirable to have at least one version of python (3.9) that is the same as the previous release. The other is that supporting too many version of python causes the test matrix to expand and the test time to increase, so we keep it at 3 versions. We project that a future release will use {3.10. 3.11, 3.12}. Please feel free to review and comment on the aforementioned PR. With respect to github action versions, that too would be a good candidate for a near term follow-up once the 1.1.2 trestle support release happens.

Supporting 3.12 is a small change in the trestle code itself (moving setuptools to be required to install, as well as develop trestle). Given the small cost of the change, and the availability of 3.12 in the ecosystem (3.13 is coming shortly) it might be worth introducing as well. For 3.7-3.11 the only difference is that setuptools is always already installed.
In terms of the bulk of the changes for the CICD pipeline which is broken today, it's a question of whether you are happy to wait or not. The most broken part of the pipeline is support for macos 3.7 - which I could refactor a minimal fix to unblock the current PRs.

I'm closing this given the upstream changes.


ref(deploy): allows user to re-deploy after changing version

This commit allows users to redeploy their app after changing the version specified in the spin.toml file. It simply deletes the app if it already exists and re-creates it and the relevant channel.
This PR is blocked by a change that needs to be made in the hippo-cli where we need to update the hippo-openapi dep. https://github.com/deislabs/hippo-cli/issues/135
The first route I tried was to simply keep the app and update the channel configuration but was unsuccessful in doing so. I'll need to debug why the hippo channel put api is not working as expected.
Co-authored-by: Ivan Towlson<EMAIL_ADDRESS>Signed-off-by: Michelle Dhanani<EMAIL_ADDRESS>

Also tried the route of bumping the revision in #561 but need some changes in hippo (listing channels not working properly) to make that route work.


exception cannot show on rescue_from custom handler exception

I have custom handle error

exception: event.payload[:exception]&.first,
exception_object: event.payload[:exception_object],
exception_trace: event.payload[:stacktrace]

not show on stdout logger , if apps is error

@aelgees feel free to submit a PR for this! Unsure of exactly what is causing this error.


Cant user keybase passphrase

Hi
When I try following someone on the website it says: Error: Your private key appears corrupted (no valid primary key self-signature or key(s) have expired)
Unfortunatly I have uninstalled the keybase application on my laptop (probook) so I reinstalled it. But it does not appear to accept my keyphrase. The keyphrase works on the keybase website, if I paste the same password into the webbrowser it is accepted for the login but not when pasting into the app. I have also manually typed it many times.
What to do? Should I recover the passphrase using the paper key?
my log id: 53a634394fb5ee20ff2b981c

Can you update your PGP public key via the website?  it looks like your key is expired.

Hi
I started all over in the webinterface with a new PGP key, but it appears that I cant log in using the application. I have tried uninstalling the keybase application and reinstalling but when I try to login I get this error:

ERROR SecretSyncer: no device found for ID=dc1ce65a9601745596b80c896dab8018

(OS is windows 10 pro)
I have send log files here: f2fdc7b2747f33e68d1b031c

we'll put this bug in our bug tracker.  you can likely fix this issue with
keybase config set -c current_user
keybase config set -c users
keybase ctl restart
keybase login

Actually, @mshdk, scratch the above, can you try this?
keybase db nuke
keybase login

Thanks!

Well shucks. In the first case your key had expired.  But it seems like you deleted your account a bunch of times in a row, and that might have introduced additional bugs.

this bug was fixed in #6094

Thanks, nuke did not work but this did:
keybase config set -c current_user
keybase config set -c users
keybase ctl restart
keybase login

cool, thanks, it's fixed in the next release....


[dev-EntRando]: Entrance lines no longer appear between entrances

Stable(?) magpie still works fine: the dev site does not have lines drawn anymore, though. Not sure if it ever did, I hadn't noticed until now.

Oh, oops, I had some sloppy assumptions about the DOM. Should be fixed now, thanks!


POI 4.0: commons-compress jars version clash in Lucee 5

Apache commons-compress is required in POI 4.0: https://github.com/cfsimplicity/lucee-spreadsheet/issues/147
But Lucee 5 loads an older version which, despite OSGi, appears to be clashing with it.
The only way of avoid the clash is to use JavaLoader rather than dynamic loading. Hence Lucee 5 needs to default to using JavaLoader, instead of loading classes with createObject( "java" ).

It seems to have been a misunderstanding that Lucee 5 would load the jars in isolation using createObject( "java" ). JavaLoader is therefore required to avoid clashes.
Remove the engineSupportsDynamicClassLoading variable completely, since it is meaningless.


Change max number of account procedures back to 256

This PR changes the number of account procedures back to 255. After thinking a bit more about it, I think 255 is probably large enough and will simplify dealing with potential edge cases.

A question that I would have is if restricting an account to "only" 256 procedures could not be restrictive?

It is restrictive, but:

This applies only to publicly-exported procedures - so, if developers want to have more private procedures that should be possible.
We'd need to impose "max code size" anyway. Not sure what the right value would be, but for comparison on Ethereum max code size is 24KB, and on Polygon PoS there is a proposal to increase it to 32KB. And just listing 256 hashes will take 8KB. So, assuming each publicly-exposed procedure does some non-trivial work, we'd probably bump into code size limits before we bump into the number of procedures limit.

In general, I think for smart contract purposes, 256 procedures should be plenty - though, maybe this will change in the future (at which point, we can also increase the limit).


Manual should be more comprehensive

It's great that Andstatus covers many different systems. One cannot yet make new accounts but for sure, it will be many people's introduction to pump.io and gnu social. But having one interface for all these can obscure the differences. So I'd propose a larger manual. Following Android design guidelines, it should be accessible throughout the app, only covering material relevant to the current activity. It should be readily translatable too. I don't have a suggestion for how to achieve this; there's already a wiki, but it's not mobile-friendly and it has no translation interface. Perhaps there are already guides that can be pressed into action?

This is mostly done,  see #229


Chafa preview in lf not works

Hello! I am using Hyprland and original lf under Arch .Term is foot.I have followed the README.md and using ctpv in term is normal like this:

But in lf it is like this:

Anything i missed?

Have you installed lf-sixel?

I am running lf-sixel and I am running into the same issue.

I'm having the same problem on NixOS.
foot version: 1.14
Chafa version 1.12.5
lf-sixel version r30
ctpv version 1.1

That's weird.
@ausosawx @abstractheron Can you tell more about your setup? Have you tried updating lf-sixel to a more recent version? It looks like an issue on lf side, maybe it got fixed?

I have the same issue

I am on wayland,
i have installed chaffa the lf-sixel r30, and i provided config as described

I had the same issue on NixOS + Wayland + Hyprland + lf-sixel r30. After switching to a more recent lf-sixel commit it started working. This was not a ctpv issue.
    # lf sixel support
    lf = prev.lf.overrideAttrs (old: {
      src = prev.fetchFromGitHub {
        owner = "horriblename";
        repo = "lf";
        rev = "1bb0b43feafba0d5dbc40d4cf71a4f22b547be00";
        sha256 = "CoWF3virzel8TbW79xc6xXxh6K6r9mCeoaAUYcE7VHc=";
      };
    });

So i should just clone and build lf from source?


[WFCORE-6214] Fixed Flaky Test HelpSupportTestCase.testStandalone

What is the purpose of this PR

This PR fixes the error resulting from the flaky test org.jboss.as.cli.impl.aesh.HelpSupportTestCase
The mentioned test may fail or pass without changes made to the source code when it is run in different JVMs due to HashSet's non-deterministic iteration order.

Why the test fails

HelpSupportTestCase calls SynopsisGenerator, which uses a HashSet as its data structure for the conflicts object. As per Java 11 documentation, the ordering of HashSet is not constant, so assigning the same HashSet as an array to different objects can change the ordering. So, when comparing these two arrays with assertEquals the test may fail as the given order can be different from the expected order.

Reproduce the test failure

Run the test with NonDex maven plugin. The command to recreate the flaky test failure is
mvn -pl cli edu.illinois:nondex-maven-plugin:2.1.1:nondex -    Dtest=org.jboss.as.cli.impl.aesh.HelpSupportTestCase#testStandalone
Fixing the flaky test now may prevent flaky test failures in future Java versions.

Expected result

The tests should run successfully when run with NonDex.
Expected: <...server-groups] | [--[replace] | [--server-groups]] )>

Actual Result

We get the failure:
[ERROR] testStandalone(org.jboss.as.cli.impl.aesh.HelpSupportTestCase)  Time elapsed: 0.254 s  <<< FAILURE!
org.junit.ComparisonFailure: org.jboss.as.cli.impl.aesh.Commands$Standalone$Command10. EXPECTED [command1 [<argument>] ( [--all-server-groups] | [--replace] | [--server-groups] )]. FOUND [command1 [<argument>] ( [--all-server-groups] | [--server-groups] | [--replace] )] expected: <...server-groups] | [--[replace] | [--server-groups]] )> but was: <...server-groups] | [--[server-groups] | [--replace]] )>

Fix

Changed the conflicts and conflicts2 objects from HashSet to LinkedHashSet in method SynopsisGenerator.addSynopsisOption(SynopsisOption) and imported LinkedHashSet.

This PR is similar to some merged PRs in other wildfly projects:
https://github.com/wildfly/wildfly/pull/13728
https://github.com/wildfly/wildfly/pull/11833
https://github.com/wildfly/jboss-ejb-client/pull/534
Jira Issue:
https://issues.redhat.com/browse/WFCORE-6214

Hello, RishabhPrabhu5. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.


Claudio/stable check

WIP: Baby steps towards parsing and emitting stable sigs.
Notes so far:

the Memory types we compute have optioned, immutable fields (enough info to drive deserialization)
name generation for type constructors may get confused by stamping
Primitive type decs need to be discovered and elided.
reference to type constructors appears to be unfolded once. Not wrong, but odd.

Do we need to extend the Candid type grammar for mutability annotation on fields and vectors?

Nope, because we don't use Candid types and subtyping but an extension of Motoko types and subtyping for the check

reference to type constructors appears to be unfolded once. Not wrong, but odd.

For primitive types? Then probably because of the definitions here: https://github.com/dfinity/motoko/blob/master/src/prelude/prelude.mo


yii2.0.7 rewrite beforeAction, but redirect not exit

class BaseController extends Controller
{
    public function beforeAction($action)
    {
        if (Yii::$app->user->isGuest) {
            return $this->redirect(['/public/login']);
        }
        Yii::$app->rbac->checkAccess();
        return parent::beforeAction($action);
    }

    public function init()
    {
        parent::init();
        Yii::$app->view->params['setting'] = Setting::config();
    }

}

here is my code,i want redirect login when user is guest,but $this->redirect() are work,but code not exit, it continue execute,in 2.0.6 that is no problem,so what's worng?

redirect function return value is not false, so the code not exit, you can write
if (Yii::$app->user->isGuest) {
    $this->redirect(['/public/login']);
    return false;
}

@phelan why 2.0.6 not must use return false?

i tested in 2.0.6, it's the same with 2.0.7

@ok,thx,or may be my careless~


Child Router view replacing element in the parent

I wanted to know if it's possible using replaceable parts to have a child router view define content that will be replace in it's parent upon render. I couldn't find any example of how to do this and I've been trying different ideas but to no luck.
Basically in the parent view we have a couple of action buttons which change depending on the child view selected, we don't want to have to absolute position them and would rather they naturally fit into the flow.

It's not possible to accomplish it in that way, no. However, it's not difficult to do it using other techniques. One idea is to use the EventAggregator. Have your parent view model subscribe to an event and then have the child view-model publish that event with any necessary information. The parent view-model, can then recieve the event data and use that to build up a UI in the parent's view.

Ok i thought about that as well, thanks for the quick response!


[GSSOC'23] Responsiveness and password toggle in signup and signin page

Describe the bug
hey @MonalikaPatnaik , I saw the website. I found a bug about the responsiveness and and password toggle button in the signup and signin page. I am well versed with reactjs.pls assign me with this issue under GSSOC'23 conrtibution.
Screenshort

thank you for reading.

Hey can u check now...i think it's been resolved!

@MonalikaPatnaik

the passoword toggle button is not in its correct place. can you assign this to me

Okay then fix it in the signin page!

Yes working on it by the end of day you will get it

Hey..submit your PR!

Hi @MonalikaPatnaik

It seems you have merged the request
I once again send you the PR about this

hey yes your PR is merged but the eye button in sign in page is still not yet fixed...could you submit a PR again?


add metadata mvnVersion and javaVersion as top level metadata

add metadata mvnVersion and javaVersion documenting the stack used to generate

I also propose to add System.getProperty("os.name"); also

I also propose to add System.getProperty("os.name");

+1


Feature: payments

This PR implements the payment logic.
Close #1

How to use?

Start Redis server with redis-server
Start jobs with node ace jobs:listen
Migrate and seed the database with node ace migration:fresh && node ace db:seed
Go to /payment and insert your phone number.
Visit /payment/1 to see the current status of the payment
Decline the payment (or accept it if you want, it's your money xD)
After a couple of seconds, refresh the page and see that the payment status has updated to declined


Doesn't handle 304's well

Find out why, and fix it.

I think this is a Dartium issue, so closing.


Return a https link instead of http if -t is specified

This is on pomf's end, it returns an HTTP URL when you upload with HTTPS. Fixing this with the script would probably add unnecessary complexity.


[SPARK-27477][BUILD] Kafka token provider should have provided dependency on Spark

What changes were proposed in this pull request?
Change spark-token-provider-kafka-0-10 dependency on spark-core to be provided
How was this patch tested?
Ran existing unit tests

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/testing-k8s-prb-make-spark-distribution-unified/9952/
Test PASSed.

Test build #104630 has started for PR 24384 at commit 5e6cebd.

Test build #104630 has started for PR 24384 at commit 5e6cebd.

Test build #104630 has finished for PR 24384 at commit 5e6cebd.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #104630 has finished for PR 24384 at commit 5e6cebd.
* This patch **fails Spark unit tests**.

* This patch merges cleanly.

* This patch adds no public classes.

weird. the tests all pass on my local machine:
All tests passed.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Spark Project Parent POM 3.0.0-SNAPSHOT:
[INFO]
[INFO] Spark Project Parent POM ........................... SUCCESS [  5.319 s]
[INFO] Spark Project Tags ................................. SUCCESS [ 17.537 s]
[INFO] Spark Project Sketch ............................... SUCCESS [ 40.361 s]
[INFO] Spark Project Local DB ............................. SUCCESS [  7.356 s]
[INFO] Spark Project Networking ........................... SUCCESS [ 52.229 s]
[INFO] Spark Project Shuffle Streaming Service ............ SUCCESS [  8.658 s]
[INFO] Spark Project Unsafe ............................... SUCCESS [ 11.595 s]
[INFO] Spark Project Launcher ............................. SUCCESS [  8.481 s]
[INFO] Spark Project Core ................................. SUCCESS [31:17 min]
[INFO] Spark Project ML Local Library ..................... SUCCESS [ 11.890 s]
[INFO] Spark Project GraphX ............................... SUCCESS [01:36 min]
[INFO] Spark Project Streaming ............................ SUCCESS [06:06 min]
[INFO] Spark Project Catalyst ............................. SUCCESS [11:27 min]
[INFO] Spark Project SQL .................................. SUCCESS [  01:08 h]
[INFO] Spark Project ML Library ........................... SUCCESS [24:35 min]
[INFO] Spark Project Tools ................................ SUCCESS [  1.570 s]
[INFO] Spark Project Hive ................................. SUCCESS [55:36 min]
[INFO] Spark Project REPL ................................. SUCCESS [01:47 min]
[INFO] Spark Project Assembly ............................. SUCCESS [  3.580 s]
[INFO] Kafka 0.10+ Token Provider for Streaming ........... SUCCESS [  7.264 s]
[INFO] Spark Integration for Kafka 0.10 ................... SUCCESS [01:25 min]
[INFO] Kafka 0.10+ Source for Structured Streaming ........ SUCCESS [08:18 min]
[INFO] Spark Project Examples ............................. SUCCESS [ 16.488 s]
[INFO] Spark Integration for Kafka 0.10 Assembly .......... SUCCESS [  1.641 s]
[INFO] Spark Avro ......................................... SUCCESS [01:05 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:34 h
[INFO] Finished at: 2019-04-17T01:59:46-04:00
[INFO] ------------------------------------------------------------------------

Retest this please.

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/testing-k8s-prb-make-spark-distribution-unified/10200/
Test PASSed.

Test build #104892 has started for PR 24384 at commit 5e6cebd.

Test build #104892 has finished for PR 24384 at commit 5e6cebd.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Retest this please.

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/testing-k8s-prb-make-spark-distribution-unified/10204/
Test PASSed.

Test build #104896 has started for PR 24384 at commit 5e6cebd.

Test build #104896 has finished for PR 24384 at commit 5e6cebd.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this

retest this please

Test build #104901 has started for PR 24384 at commit 5e6cebd.

Test build #104901 has finished for PR 24384 at commit 5e6cebd.

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/104901/
Test PASSed.

@koertkuipers AppVeyor can be re-run by you.

Merging to master.


tensorflow.python.framework.errors_impl.NotFoundError: NewRandomAccessFile failed to Create/Open: inference_graph_50000_balance\frozen_inference_graph.pb: The system cannot find the path specified; No such process

Hi, I'm trying to run your project however I get the error mentioned above. Do you have the file or how can I create it?
Thanks!

@angelgaspar Hi,
The error you are facing is because the "frozen_inference_graph.pb" file is not there.
You need to replace it with you own trained model


Optimize images

We have new images in DNN 9.9.0 that didn't get optimized (see #4478 for a related fix to the workflow). This PR is just a rebase of the automatic commit from the release branch with those optimizations.

I doubt, compressing editor icons and smileys will have a big size benefit - will this really improve performance?


fix, check before remove on embedded rpc call

Codecov Report

Merging #9704 (e7c2bb9) into 3.0 (82c1b03) will decrease coverage by 0.32%.
The diff coverage is 73.33%.

@@             Coverage Diff              @@
##                3.0    #9704      +/-   ##
============================================
- Coverage     65.69%   65.36%   -0.33%
- Complexity      296      297       +1
============================================
  Files          1192     1192
  Lines         52185    52157      -28
  Branches       7926     7896      -30
============================================
- Hits          34282    34093     -189
- Misses        14211    14351     +140
- Partials       3692     3713      +21

Impacted Files
Coverage Δ

...src/main/java/org/apache/dubbo/rpc/RpcContext.java
39.66% <66.66%> (+0.48%)
:arrow_up:

...ava/org/apache/dubbo/rpc/filter/ContextFilter.java
92.45% <100.00%> (+0.29%)
:arrow_up:

...dubbo/remoting/zookeeper/ZookeeperTransporter.java
55.55% <0.00%> (-33.34%)
:arrow_down:

...pache/dubbo/common/function/ThrowableFunction.java
71.42% <0.00%> (-28.58%)
:arrow_down:

...ing/zookeeper/curator/Curator5ZookeeperClient.java
42.02% <0.00%> (-27.54%)
:arrow_down:

...nt/metadata/ServiceInstanceHostPortCustomizer.java
65.78% <0.00%> (-21.06%)
:arrow_down:

...ache/dubbo/rpc/proxy/InvokerInvocationHandler.java
68.00% <0.00%> (-16.00%)
:arrow_down:

...mmon/threadpool/support/AbortPolicyWithReport.java
70.17% <0.00%> (-14.04%)
:arrow_down:

...ache/dubbo/remoting/transport/AbstractChannel.java
75.00% <0.00%> (-12.50%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
50.00% <0.00%> (-11.54%)
:arrow_down:

... and 50 more

Continue to review full report at Codecov.

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


Don't have animation

Hi, i don't see animation like swift code, can u fix it? Thanks

Hi, yes this is normal, the port is not finished yet. As mentioned in the README title, it's still under development.


[WIP] add tcc xid remoting for grpc, add remoting parser api and implemented it for dubbo, local, grpc

this pr clone #148
this pr clone #149

咱们找时间一起过下思路

This PR is on hold and needs to be aligned with the seata-java implementation

temporary closure


On IPA page – Collection Events LOV is not letting new event addition be added

not moving to the Collection Event page

@LeannePyle  - Please provide more information, screen shots, etc. As far as I know there is no collection event attribute on the Chance Find Protocol pages.

Most (all?) other browsers are fine, so we'l leave this for the moment. Moving out of MVP


Define how to package and host taipy enterprise.

Let's schedule a dedicated meeting to discuss it.


Add Mikrotik sensors

Description:
Adding sensors to the Mikrotik Hub.
Example entry for configuration.yaml (if applicable):
mikrotik:
  - host: <IP_ADDRESS>
    username: homeassistant
    password: !secret router_pass
    ssl: true
    track_devices: false
    sensors:
      - cpu
      - memory
      - disk
      - upload_speed
      - download_speed

  - host: <IP_ADDRESS>
    username: homeassistant
    password: !secret capsman_pass
    ssl: true
    track_devices: true

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

I need to close this PR and open a new one to rebase my fork


Reducing whitespace in group_by

reducing whitespace in compiled SQL for legibility
select
foo.a
, foo.b
, foo.c
, sum(foo.d)
from
foo
{{group_by(n=3)}}
now results in
select
foo.a
, foo.b
, foo.c
, sum(foo.d)
from
foo
group by
1,2,3

Thanks @ltchikindas! This one was a long time coming :)
Just kicked off a build here - this will be good to merge when the tests pass :)


docs(design): change example component names to skip linting

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

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

What is the current behavior?
Example components used in design-land mistakenly had the daff prefix applied to them as a result of linting, preventing rendering by the code preview.
Fixes: N/A
What is the new behavior?
This removes the prefix and skips linting on the component selector.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

lgtm, but can you update the description of the PR to document why this is necessary?

@xelaint fixed the description.


Insert control at mouse rectangle

Insert the edge browser control at the rectangle the user has drawn on the form

A mouse hook is in place. The user can draw a rectangle on the form. The coordinates are used when the control is inserted.
Problem: The space for the non client area of the form and the size of any existing form header is not taken into account, when the coordinates are calculated.


Revert "Persist ghprbPullId parameter in seed job"

Reverts apache/beam#22579
This seems to have broken the seed job as Pablo suggested it might (since merging, only seed jobs for PRs have worked - https://ci-beam.apache.org/job/beam_SeedJob/ - I don't really understand why that is, but it seems likely this is the culprit)

R: @TheNeuralBit

Thanks, for posterity the error log is:
Started by timer
Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on [apache-beam-jenkins-2](https://ci-beam.apache.org/computer/apache-beam-jenkins-2) (beam) in workspace /home/jenkins/jenkins-slave/workspace/beam_SeedJob
The recommended git tool is: NONE
No credentials specified
FATAL: Invalid refspec refs/pull//*
java.lang.IllegalArgumentException: Invalid refspec refs/pull//*
	at org.eclipse.jgit.transport.RefSpec.checkValid(RefSpec.java:507)
	at org.eclipse.jgit.transport.RefSpec.<init>(RefSpec.java:159)
	at org.eclipse.jgit.transport.RefSpec.<init>(RefSpec.java:194)
	at hudson.plugins.git.GitSCM.getRefSpecs(GitSCM.java:614)
	at hudson.plugins.git.GitSCM.getParamExpandedRepo(GitSCM.java:528)
	at hudson.plugins.git.GitSCM.getParamExpandedRepos(GitSCM.java:515)
	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1207)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1307)
	at hudson.scm.SCM.checkout(SCM.java:540)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1215)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:645)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:85)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:517)
	at hudson.model.Run.execute(Run.java:1896)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
	at hudson.model.ResourceController.execute(ResourceController.java:101)
	at hudson.model.Executor.run(Executor.java:442)
Not sending mail to unregistered user<EMAIL_ADDRESS>Not sending mail to unregistered user<EMAIL_ADDRESS>Not sending mail to unregistered user<EMAIL_ADDRESS>Not sending mail to unregistered user<EMAIL_ADDRESS>Sending e-mails to<EMAIL_ADDRESS>Finished: FAILURE

I tried to manually trigger the seed job, now it's getting:
ERROR:root:Couldn't generate the list of committers
Traceback (most recent call last):
  File "main.py", line 70, in get_committers_github_usernames
    people = connection.search_s(
  File "/home/jenkins/jenkins-slave/workspace/beam_SeedJob/.test-infra/jenkins/committers_list_generator/ve3/lib/python3.8/site-packages/ldap/ldapobject.py", line 631, in search_s
    return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
  File "/home/jenkins/jenkins-slave/workspace/beam_SeedJob/.test-infra/jenkins/committers_list_generator/ve3/lib/python3.8/site-packages/ldap/ldapobject.py", line 624, in search_ext_s
    msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
  File "/home/jenkins/jenkins-slave/workspace/beam_SeedJob/.test-infra/jenkins/committers_list_generator/ve3/lib/python3.8/site-packages/ldap/ldapobject.py", line 614, in search_ext
    return self._ldap_call(
  File "/home/jenkins/jenkins-slave/workspace/beam_SeedJob/.test-infra/jenkins/committers_list_generator/ve3/lib/python3.8/site-packages/ldap/ldapobject.py", line 128, in _ldap_call
    result = func(*args,**kwargs)
ldap.SERVER_DOWN: {'result': -1, 'desc': "Can't contact LDAP server", 'errno': 107, 'ctrls': [], 'info': 'Transport endpoint is not connected'}

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 142, in <module>
    generate_groovy(args.output_dir, args.ldap_uris, args.cert_path)
  File "main.py", line 53, in generate_groovy
    github_usernames=get_committers_github_usernames(
  File "main.py", line 104, in get_committers_github_usernames
    raise CommittersGeneratorException("Could not fetch LDAP data") from e
CommittersGeneratorException: Could not fetch LDAP data

Asking in #asfinfra the-asf.slack.com. Looks like there was downtime on these LDAP servers recently

Apparently the URIs have changed, I'll send a PR

I filed https://github.com/apache/beam/issues/22676, unfortunately updating the URIs had no effect


Head for vector graphics

migrated from https://github.com/voxell-tech/bevy_motiongfx/pull/49

I feel like we could get away for this one without https://github.com/linebender/kurbo/pull/331 if we are only using BezPath here

yeah, we can do that for now.

I was thinking it could simply be a component of the entity.

Oh yeah much better, i hadn't thought of this.
Resolves #1

since 375a6e2277e53b52ca75ca7fd68a1bcfab336bf6 i cant compile?
error[E0433]: failed to resolve: use of undeclared crate or module `bevy_vello`
 --> /home/amy/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/kurbo-0.11.0/src/shape.rs:7:5
  |
7 | use bevy_vello::prelude::kurbo::{Rect, RoundedRect, Shape};
  |     ^^^^^^^^^^ use of undeclared crate or module `bevy_vello`

error[E0432]: unresolved imports `crate::Rect`, `crate::RoundedRect`
 --> /home/amy/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/kurbo-0.11.0/src/shape.rs:6:61
  |
6 | use crate::{segments, BezPath, Circle, Line, PathEl, Point, Rect, RoundedRect, Segments};
  |                                                             ^^^^  ^^^^^^^^^^^

Some errors have detailed explanations: E0432, E0433.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `kurbo` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error[E0308]: mismatched types
   --> /home/amy/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/schedule/schedule.rs:332:25
    |
332 |         self.initialize(world)
    |              ---------- ^^^^^ types differ in mutability
    |              |
    |              arguments to this method are incorrect
    |
    = note: expected mutable reference `&mut world::World`
                       found reference `&world::World`
note: method defined here
   --> /home/amy/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/schedule/schedule.rs:354:12
    |
354 |     pub fn initialize(&mut self, world: &mut World) -> Result<(), ScheduleBuildError> {
    |            ^^^^^^^^^^            -----------------

error[E0308]: mismatched types
   --> /home/amy/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/schedule/schedule.rs:346:44
    |
346 |                 .run(&mut self.executable, world, skip_systems.as_ref());
    |                  ---                       ^^^^^ types differ in mutability
    |                  |
    |                  arguments to this method are incorrect
    |
    = note: expected mutable reference `&mut world::World`
                       found reference `&world::World`
note: method defined here
   --> /home/amy/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/schedule/executor/mod.rs:21:8
    |
21  |     fn run(
    |        ^^^

For more information about this error, try `rustc --explain E0308`.
error: could not compile `bevy_ecs` (lib) due to 2 previous errors

That is weird, there's no issue on cargo build on my end. What version of rustc are you using? Maybe you can do a cargo clean and try again?

What version of rustc are you using?

rustc 1.78.0 (9b00956e5 2024-04-29)
i have done a cargo clean, still same issue unfortunately. i think this is an upstream issue with bevy/crates.io v0.13 since this works:
bevy = { git="https://github.com/bevyengine/bevy.git", tag="v0.13.2" }

but not this:
bevy = "0.13"

yet 0.12 works just fine both ways in a generic "Cargo.toml" file

Does setting bevy = "0.13.2" help at all?

Nope, same issue :( . This is really odd behavior.

yeah, it's weird, I updated Cargo.lock maybe it would help. I tried compiling on my pc, had no issue. (I am using Windows msvc rust compiler)

Still same issue :(. ill keep working on this pr starting in the the next few days but ill roll back to 375a6e2277e53b52ca75ca7fd68a1bcfab336bf6 while i do

Okay i have no idea whats going on here.
I rolled back before https://github.com/voxell-tech/bevy_vello_graphics/commit/375a6e2277e53b52ca75ca7fd68a1bcfab336bf6 and im getting the same issue.
I even tried returning to bevy_motiongfx including https://github.com/voxell-tech/bevy_motiongfx/pull/48 to test if at least that can compile in hopes to make the changes there then migrate over to here, but same compilation issue.
both of these commits were compiling just fine like a couple days ago. I have no idea what has happened but its preventing me to complete this pr.  Until these problems get fixed upstream then i cannot continue working on this :(

AHHH yes never mind, sorry for the spam. I fixed the issue. for some reason i had corrupted cargo crate caches so clearing them solved the problem. i guess the cache files were not cleared when i reinstalled rust?

ahh no worries hahaha, glad that it now works xD

@aymey There is also an alternative where we don't need to implement VelloVector for ArrowHead at all. We can resolve it in a bevy system when drawing the vello scene.

https://github.com/voxell-tech/bevy_motiongfx/pull/49#issuecomment-2137352570

When implementing custom build_* in the VelloVector trait for VelloArrow, im running into the same ish object safety issue:
e.g.
fn build_fill(&self, fill: &Fill, scene: &mut vello::Scene) {
    scene.fill(
        fill.style,
        default(),
        &fill.brush.value,
        Some(fill.brush.transform),
        &match self.head {
            ArrowHead::Triangle => kurbo::Triangle::new(...),
            ArrowHead::Square => kurbo::Rect::new(...),
            ArrowHead::Circle => kurbo::Circle::new(...),
        }
    );
}

the match expression should evaluate to a single type. So i feel like BezPath is a descent enough solution for now instead of static shape nonsense.

I was thinking it could simply be a component of the entity. Then when rendering we check for this component and perform the required computation to determine where to place the arrow head.

yeah this makes sense, however im unsure of a better way to do this other than updating every build_* implementation to account for the possible VelloArrow component via a query.

yeah this makes sense, however im unsure of a better way to do this other than updating every build_* implementation to account for the possible VelloArrow component via a query.

You could do it in a regular system, just like how shapes are being built into Scenes: https://github.com/voxell-tech/bevy_vello_graphics/blob/539b2b355b54fae8f64e05bd6c4fc94063543dc0/src/lib.rs#L93-L122
Possibly something like this:
 #[allow(clippy::type_complexity)]
 fn build_stroke_only_vector<Vector: VelloVector + Component>(
     mut q_vectors: Query<
-        (&Vector, &Stroke, &mut VelloScene),
+        (&Vector, &Stroke, Option<&ArrowHead>, &mut VelloScene),
-        (Without<Fill>, Or<(Changed<Vector>, Changed<Stroke>)>),
+        (Without<Fill>, Or<(Changed<Vector>, Changed<Stroke>, Changed<ArrowHead>)>),
     >,
 ) {

Alright ill do that, thank you. although im worried that in the future this might become cluttered if we keep just adding parameters.
anyways, It seems like VelloArrow is still necessary as ArrowHead by itself cannot take inherit state like position and rotation from the parent/attached object. Also, having a VelloArrow type allows for customisation of offset, size, etc.
e.g.
#[allow(clippy::type_complexity)]
fn build_stroke_only_vector<Vector: VelloVector + Component>(
    mut q_vectors: Query<
        (&Vector, &Stroke, Option<&ArrowHead>, &mut VelloScene),
        (
            Without<Fill>,
            Or<(Changed<Vector>, Changed<Stroke>)>,
            Changed<ArrowHead>,
        ),
    >,
) {
    for (vector, stroke, arrow, mut scene) in q_vectors.iter_mut() {
        *scene = VelloScene::default();

        // Build the vector to the VelloScene
        vector.build_stroke(stroke, &mut scene);

        // Attach the possible arrow
        if let Some(arrow) = arrow {
            arrow.build_stroke(stroke, &mut scene);
        }
    }
}

here, arrow.build_stroke(...) cannot supply the position of vector's shape to cling on to. so its necessary for some intermediary VelloArrow for something like:
        // Attach the possible arrow
        if let Some(arrow) = arrow {
            vello_arrow.attach(vector.shape());
            vello_arrow.build_stroke(stroke, &mut scene);
        }

see 0038a1149c7439b2d0f7aab72275cf1f5593c8cb

@aymey what do you think if we implement a new trait that specifies how arrows will be drawn for each trait:
pub trait VectorBorder {
    fn border_position(time: f32) -> Vec2;
    fn border_tangent(time: f32) -> Vec2;
    // etc.
}

Then we create a new system just for arrow:
fn build_stroke_only_arrow<Vector: VectorBorder + Component>(
    mut q_vectors: Query<
        (&ArrowHead, &Vector, &Stroke, &mut VelloScene),
        (Without<Fill>, Or<(Changed<ArrowHead>, Changed<Vector>, Changed<Stroke>)
    >,
)
// implement for fill only & fill + stroke

In these systems, utilize the VectorBorder trait to calculate how to create the required shape for the arrow and do NOT clear the scene (no to this ❌  *scene = VelloScene::default();)
And include all these into the build_vector function (not tested, some adjustment might be needed, but hope u get the idea):
pub(crate) fn build_vector<Vector: VelloVector + Component>() -> SystemConfigs {
    (
        (build_fill_only_vector::<Vector>, build_fill_only_arrow::<Vector>).chain(),
        (build_stroke_only_vector::<Vector>, build_stroke_only_arrow::<Vector>).chain(),
        (build_fill_and_stroke_vector::<Vector>, build_fill_and_stroke_arrow::<Vector>).chain(),
    )
        .into_configs()
 }

I think as a first pass, we can just implement for line shape only. The rest can be added with follow up PRs.

In these systems, utilize the VectorBorder trait to calculate how to create the required shape for the arrow

if you look at VelloArrow::attach() we can derive all the necessary properties from just a Shape. But maybe sometimes they could be a little off.
I would rather it be dynamic but i understand the annoyance with it (like possibly wrong data and less elegant code). I do really like your VectorBorder trait idea if we go the static route.

Optionally, I think if it's really hard to work with different shapes, we could split ArrowHead into TriArrowHead, CircArrowHead, and LineArrowHead.

im slightly against this because i want the possibility in the future to add any shape (even a custom one the user creates) to be dynamically appended to another as a arrow head. Now that im realising this we could scrap ArrowHead and just take a Shape as the head for VelloArrow.
Im still happy to continue with your idea as you've described above, what do you think?

im slightly against this because i want the possibility in the future to add any shape (even a custom one the user creates) to be dynamically appended to another as a arrow head. Now that im writing this i realise that we could scrap ArrowHead and just take a Shape as the head for VelloArrow.

Yes, this idea has been floating in my mind for a while now since I wrote my last post hahaha. If that's the case, the functionality of this component will be to render at the border of any shape given an offset and a rotation_offset.
My Idea
We still reuse the BorderVector trait that exposes 2 functions: border_translation & border_tangent. These 2 values are responsible of figuring out where to place the shape that we want.
We introduce a new Component called Head:
#[derive(Component, ...)]
pub struct Head {
    pub shape_id: ShapeId,
    pub size: f32,
    pub offset: f32,
    pub rotation_offset: f32,
}

Now, in order to know what to draw during the scene building phase, we introduce a new resource called Shapes that maps our ShapeId into a Vello Scene:
#[derive(Resource, ...)]
pub struct Shapes {
    pub scenes: HashMap<ShapeId, vello::Scene>,
}

pub struct ShapeId(Uuid);

Then, during the building phase, we can do something like this:
let translation = vector.border_translation(t);
let tangent = vector.border_tangent(t);
let rotation = // calculate rotation using tangent and rotation_offset

let transform = kurbo::Affine::default().with_translation(translation).then_rotate(rotation).then_scale(head.scale);

let head_scene = shapes.scenes.get(head.shape_id);
scene.append(head_scene, Some(transform));

Yes that's perfect! ill start implementing this tomorrow

Hey, sorry Ive been neglecting this pr for a while. Ive had a lot of school stuff to do but ill be fully back after my exams in like two weeks. For now, is the current changes what you had in mind? im a bit unsure especially with the "lib.rs" build_head changes.

btw you can also run cargo fmt or enable formatting on save on yr IDE to prevent CI/format failure XD.

btw you can also run cargo fmt or enable formatting on save on yr IDE to prevent CI/format failure XD.

ah yeah sorry i always forget.

Im a bit confused on how someone would add a head onto a shape. can you give an example syntax maybe?

Im a bit confused on how someone would add a head onto a shape. can you give an example syntax maybe?

It's just a normal component that you insert into an entity:
commands.spawn(VelloSceneBundle::default()).insert((VelloRect, Transform, Fill, Head));

not really working right now but is the new example what you had in mind? Am i using shapes correctly?

Notes stuff:

The transformation don't effect anything when we append the scenes? i must be doing something wrong.
Drawing the head to a scene manually should be abstracted and should inherit the body vector's fill/stroke/whatever type

hey @aymey I will look into it early next week, sorry been quite busy last few weeks.

@aymey Bevy game jam happened to be on going for this week. I think I am going to participate in it. (You are welcomed to join too if you are interested) That said, I might be delaying the review yet again 😢 sadly, so sorry!!

Its no problem ive also been pretty busy lately with school and stuff. i probably wont join cause im not that interested in game dev as a whole but i hope you enjoy it!

Hi @aymey , after much experimentations and considerations, I have decided not to continue the Shapes route. A head is now separated into:

Head which stores the information of the offsets and time.
HeadTransform which is meant to be a read-only kurbo::Affine that is calculated using Vector::border_translation, Vector::border_rotation, and Head.
HeadVector which stores the actual vector that makes up the shape of the head.
HeadScene which stores the final computed vello::Scene.

All bundled together using HeadBundle.
Right now the "drawing" stages of a Vector is as follow:

Draw the original Vector into VectorScene + Calculating the HeadTransform.
Draw the HeadVector into HeadScene.
Composite VectorScene and HeadScene into VelloScene (which is captured by bevy_vello for rendering).

This way, we get the full benefit of all the Vector shapes (line, rect, circle, bezpath, etc.) that we have created within this crate to be used as a HeadVector.

Hey @aymey, the final thing I think right now is to complete & test all the Vector trait's border_translation and border_rotation implementations. Would you want to continue working on that? (Use the hello_world example to test them.)

No problem, i can continue doing this however I have my exams coming up so i probably won't be able to do anything for about 2 weeks :( . If you would like to continue in the meantime thats fine or else I'll come back in 2 weeks to finish up!

It's alright, no rush at all, sounds like you are interested in doing it haha. I can leave it to you. We are very close to v0.1! xd I think this PR will be the one that pushes it to v0.1 and we can start looking at crate releases 😄

i believe that rect and circle border_translations should keep the default bezpath one, what do you think?
It does seem a bit slow however if we implement specifically for each shape than the logic to split up the segments will be repeated
(now thjat im thinking about it maybe we should abstract this as a function to find what sections should be in use but idk)

5f8b537 or on the other hand we could do completely different behavior for circle and rectangle and just keep bezpath as an option for the user to use. I think this would better actually but the problem is like what if the user wants the arrow to point on the side of the rectangle or to the left of the circle centre you know? It feels a bit stiff.
also the current hello_world example is just a test and can be reverted once youve seen it.

wow im dumb lol. i didnt even scroll down like 10 lines to see you already did this kinda

i believe that rect and circle border_translations should keep the default bezpath one, what do you think?
It does seem a bit slow however if we implement specifically for each shape than the logic to split up the segments will be repeated (now thjat im thinking about it maybe we should abstract this as a function to find what sections should be in use but idk)

It might be a bit slow yeah, cuz the border translations of Circle and Rect can be solved "analytically", which can prevent additional memory build up/iterative computation. Also, if we solve Circle and Rect "analytically", having the Head::time value overshooting 1.0 would be kind of neat as well because it will just loop back to where it starts (but of course, we can always perform the looping ourselves for any BezPath.

5f8b537 or on the other hand we could do completely different behavior for circle and rectangle and just keep bezpath as an option for the user to use. I think this would better actually but the problem is like what if the user wants the arrow to point on the side of the rectangle or to the left of the circle centre you know? It feels a bit stiff.
also the current hello_world example is just a test and can be reverted once youve seen it.

Can this be solved using the rotation_offset and translation_offset value from the Head component?

Can this be solved using the rotation_offset and translation_offset value from the Head component?

true hahha i completely forgot about those lol.
Right now changing translation_offset and rotation_offset just change the final translation
let translation = vector.border_translation(head.time) + head.translation_offset;

which isnt what we want anymore if we go down this route. instead the *offsets should effect the desired border_translation so we can just lerp it like in 0062a9c.
however now the problem is that theres no way to offset the entire transform independent of the time. adding more fields to HeadBundle like translation and rotation (without a prefix of "border") could be an option but it may get too chaotic
what do you think?

c1b6892 see this comment

I will test everything by the end of this week xd and hopefully get it merged by then!

not sure if you missed this but i think this is the last issue!:
https://github.com/voxell-tech/bevy_vello_graphics/pull/3#issuecomment-2266637069

should i revert 0062a9c?

83d9584 may be out of order but i think it should be fine. we can do better testing once we get a triangle shape or something

~83d9584~ 1a9ffc7 may be out of order but i think it should be fine. we can do better testing once we get a triangle shape or something

I can create one triangle shape for this demo.

i think it would also look better if we lerp rotating around the vertices of the rect and bezpath, should i do this?

i think it would also look better if we lerp rotating around the vertices of the rect and bezpath, should i do this?

for rect it's alright, I think for bezpath, might wanna just leave it as is, some people might not close the path, so it's up to them to handle it I think...

not sure if you missed this but i think this is the last issue!: #3 (comment)

yes we should simplify, this is more of a POC hahaha so I decided to go with the easier to read route xd.

yeah, i think the more readable is nicer but if we ever end up changing it then we also need to change the match in here: 861dd7f

Doesn't the translation_offset and rotation_offset just add an additional offset to the final transform we get from border_translation and border_rotation? I will have a look at testing that in hello world example.
I think we will need to change that to the more optimized version anyway as no one is going to be reading the code from the user stand point hahahaha. I can get on doing that as well.

Doesn't the translation_offset and rotation_offset just add an additional offset to the final transform we get from border_translation and border_rotation?

it did until 0062a9c which we needed to do because we had no border impls for the shapes. Now that we have them i will undo it

I think we will need to change that to the more optimized version anyway as no one is going to be reading the code from the user stand point hahahaha. I can get on doing that as well.

i would still need to benchmark but it looks like it wont make a difference, if we expand the lerp()s we need to convert the points to Vec2s before we multiply them + with rust optimizations: factorizing the terms for d and e points are equivalent to expanding them and working with polynomials of degree 3.
e.g. for bezpath border_roatation:
            PathEl::CurveTo(p1, p2, p3) => {
                let current = current.to_vec2();
                let p1 = p1.to_vec2();
                let p2 = p2.to_vec2();
                let p3 = p3.to_vec2();

                let d = (1.0 - t) * (1.0 - t) * current + 2.0 * t * (1.0 - t) * p1 + t * t * p2;
                let e = (1.0 - t) * (1.0 - t) * p1 + 2.0 * t * (1.0 - t) * p2 + t * t * p3;

                (e.y - d.y).atan2(e.x - d.x)
            }

however, the lerp() implementation for kurbo::point::Point converts to Vec2 anyways (and even goes back to a point so it would be slower):
    #[inline]
    pub fn lerp(self, other: Point, t: f64) -> Point {
        self.to_vec2().lerp(other.to_vec2(), t).to_point()
    }

and the kurbo::vec2::Vec2::lerp()` that it calls simply does the same equation as we would if we manually optimized:
   /// Linearly interpolate between two vectors.
   #[inline]
   pub fn lerp(self, other: Vec2, t: f64) -> Vec2 {
       self + t * (other - self)
   }

both of these are inline so it will get calls will be optimized away anyways.

so overall i dont think there would be any benefit, although i still need to benchmark cause maybe the intermediate point variables of a, b, c etc. trick the compiler or something idk

also for rect (and bezpath but thats gonna be alot more difficult https://github.com/voxell-tech/bevy_vello_graphics/pull/3#issuecomment-2267374191) we probably need to keep a consistent speed but im not sure how

also for rect (and bezpath but thats gonna be alot more difficult #3 (comment)) we probably need to keep a consistent speed but im not sure how

That's a pretty hard and "ugly" problem to solve, I don't think it's in the scope of this PR. The way most people do is to chop the curve up into pieces of straight lines and estimate (yes you did not read wrong, estimate).

I think we will need to change that to the more optimized version anyway as no one is going to be reading the code from the user stand point hahahaha. I can get on doing that as well.

i would still need to benchmark but it looks like it wont make a difference, if we expand the lerp()s we need to convert the points to Vec2s before we multiply them + with rust optimizations: factorizing the terms for d and e points are equivalent to expanding them and working with polynomials of degree 3.
e.g. for bezpath border_roatation:
            PathEl::CurveTo(p1, p2, p3) => {
                let current = current.to_vec2();
                let p1 = p1.to_vec2();
                let p2 = p2.to_vec2();
                let p3 = p3.to_vec2();

                let d = (1.0 - t) * (1.0 - t) * current + 2.0 * t * (1.0 - t) * p1 + t * t * p2;
                let e = (1.0 - t) * (1.0 - t) * p1 + 2.0 * t * (1.0 - t) * p2 + t * t * p3;

                (e.y - d.y).atan2(e.x - d.x)
            }

however, the lerp() implementation for kurbo::point::Point converts to Vec2 anyways (ig it goes back to a Point so it would be slower however we could just use the convert to Vec2 and use theVec2::lerp if we want to skip the useless Point creation):
    #[inline]
    pub fn lerp(self, other: Point, t: f64) -> Point {
        self.to_vec2().lerp(other.to_vec2(), t).to_point()
    }

and the kurbo::vec2::Vec2::lerp() that it calls simply does the same equation as we would if we manually optimized:
   /// Linearly interpolate between two vectors.
   #[inline]
   pub fn lerp(self, other: Vec2, t: f64) -> Vec2 {
       self + t * (other - self)
   }

and both of these are inlined so the calls will be optimized away anyways.
so overall i dont think there would be any benefit, although i still need to benchmark cause maybe the intermediate point variables of a, b, c etc. trick the compiler or something idk

I see thanks for the exploration! I think we can look into optimizations / speed up in a separate PR/issue 🤔 . Let's push for feature completeness first I think haha.

No problem it was fun and you did most of the work anyways lol.
but whats going on with the example time looping for line and bezpath? shouldn't they continue going backwards after time > 1?

No problem it was fun and you did most of the work anyways lol.
but whats going on with the example time looping for line and bezpath? shouldn't they continue going backwards after time > 1?

My reason was that line and bezpath are open ended shapes, so they should be allowed to go off shape?

yeah you are right it defiantly looks better and if the user wanted to loop around then they can manually adjust time for that.


add edge batch attribute to batch class

🚀 Feature

Motivation
One can do use batch.batch to get the batch index of each node, but what about the batch index of each edge?

I am dealing with a problem of predicting some propoerties of edge and have to get the edge batch index to implenment Set2Set model.
Have a nice day :）
Additional context

Just do
edge_batch = batch[edge_index[0]]

Whoa ok, that's cool. Thank a lot!


chore(main): release 3.72.0

:robot: I have created a release beep boop
3.72.0 (2024-10-29)
Features

icons: Update Lucide to https://github.com/lucide-icons/lucide/releases/tag/0.454.0 (03bec60)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v3.72.0
:sunflower: