fix: Converting before parameter of list_public_archived_threads() to ISO8601

What type of pull request is this?

[x] Non-breaking code change
[ ] Breaking code change
[ ] Documentation change/addition
[ ] Tests change

Description

This PR fixes following error caused by forum.archived_posts() iterator
Traceback (most recent call last):
  File "naff/client/client.py", line 1832, in _dispatch_prefixed_commands
    await self._run_prefixed_command(command, context)
  File "naff/client/client.py", line 1655, in _run_prefixed_command
    return await command(ctx)
  File "naff/models/naff/command.py", line 120, in __call__
    await self.call_callback(self.callback, context)
  File "naff/models/naff/prefixed_commands.py", line 624, in call_callback
    return await self.call_with_binding(callback, ctx)
  File "naff/models/naff/callback.py", line 43, in call_with_binding
    return await callback(*args, **kwargs)
  File "bot/main.py", line 35, in test
    async for post in ch.archived_posts():
  File "naff/models/misc/iterator.py", line 75, in __anext__
    await self._get_items()
  File "naff/models/misc/iterator.py", line 67, in _get_items
    data = await self.fetch()
  File "naff/models/discord/channel.py", line 144, in fetch
    rcv = await self.channel._client.http.list_public_archived_threads(
  File "naff/api/http/http_requests/threads.py", line 96, in list_public_archived_threads
    payload["before"] = timestamp_converter(before)
  File "naff/client/utils/attr_converters.py", line 29, in timestamp_converter
    raise TypeError("Timestamp must be one of: datetime, int, float, ISO8601 str")
TypeError: Timestamp must be one of: datetime, int, float, ISO8601 str

Changes

Fixed fetching data in forums with more than 100 archived posts.

Checklist

[x] I've formatted my code with Black
[x] I've ensured my code works on Python 3.10.x
[x] I've tested my code

/ok-to-test


Crash when killing a mob with a projectile.

Issue Description:
Issue only seems to happen when using a projectile to kill a mob.
Melee doesn't trigger the crash.
Vanilla bow doesn't seem to trigger the issue though but most other projectiles do.
What happens:
Game crashes when killing a mob with most projectile types.
What you expected to happen:
The mob to die without it crashing the game
Steps to reproduce:

Shoot a mob with a bow or something like a magic mod projectile

Affected Versions (Do not use "latest"):

EnderIO: 1.12.2-5.0.43
EnderCore: 1.12.2-0.5.57
Minecraft: 1.12.2
Forge: <IP_ADDRESS>23
SpongeForge? no
Optifine? yes
Single Player

Your most recent log file where the issue was present:
https://pastebin.com/4GFViS4M

Have you disabled half of Tinkers?

Removing Tinkers fixes the issue, disabling the modules of tinkers however did not.
Next thing i could try is installing the separate ender io modules except for the tinker integration one?

I think I see what's the issue. Do you have "TinkerModifiers" pulse disabled? If yes, I know what to do.

I'm afraid i don't know how to even disable "TinkerModifiers". How do i check?

Not sure. But let's make this easier for both of us: Just install the next dev build of Ender IO ( https://ci.tterrag.com/job/EnderIO-Modules/job/EnderIO-Hourly/ Build 948) when it's ready. If that helps, then I diagnosed the issue correctly.

Will do, will keep you posted when i test it.

Issue seems to be fixed. Tested with multiple types of projectiles and no crash.


Sub dependency installation

Hi,
this is more doubt and a curiosity: are those sub-dependency libraries really needed to be updated to their last version to correct usage of HueApi? I was wondering if libraries embedded by default in .NET framework were so unreliable to force the switch to the version provided by NuGet.
In particular, I refer to these libraries:

I always try to keep the main dependencies up to date to the latest version.
Updating the sub-dependencies shouldn't be necessary, but if there are updates, it's no problem to update. They might include bugfixes or security updates.

Thank for answering!
But my priority was to keep clean as much as possible the list of NuGet dependencies.
I would prefer to use System.IO, System.Runtime, System.Net.Http and so on provided directly by my .NET version.
Do you think it is possible?

If you want to keep it as clean as possible, you should use a netstandard2.0 or .Net Core project. Then it doesn't need the System.Net.Http from NuGet.
But it looks lik you're using .Net4.7.2, it needs System.Net.Http which has additional dependencies by itself:
https://www.nuget.org/packages/System.Net.Http/
But it looks like you can also use the System.Net.http provided by .Net, but it would need changes in the Q42.HueApi.csproj and can create other problems.
I found a similar issue that discusses this problem here:
https://github.com/IdentityModel/IdentityModel/issues/76


Fixed GraphBuilderMatcher and omitReachablePaths implementation

Fixed error in GraphBuilderMatcher which incorrectly matched if either nodes or edges were equal, instead requiring both to match.
Changed omitReachablePaths implementation in GraphBuilderVisitor so that it remove edges after the graph is created, previously it would only detect duplicate paths if nodes were added in a specific order.

Regarding the test failures:
Four of them were integration tests. These failed due to the changes I have made to the omitReachablePaths implementation. The actual value after these changes seems to be correct IMO, therefore i have updated the expected values.
Ten of them were integration test. These failed now due to the fix made to the GraphBuilderMatcher. I have fixed most of them, because nothing was really wrong and only the expected value needed to be updated. Except for one.
AggregatingGraphFactoryTest.excludeParentProjects: for this test case I am not certain what the expected behavior should be. Any guidance on this would be appreciated.
My impression is that it should create a graph based on child1, and with includeParentProjects=false, the final graph should only consist of child1. But with includeParentProjects=true, the final graph should also contain parent.
This is not the case however so either my understanding of this functionality is incorrect or there is a bug in the code.

Hi @squishtronics
Thank you for your work. But I don't yet understand what problem you are trying to fix. Did you find a bug where the graph was not created correctly? If so, it would be nice to have an example to reproduce the problem.
I didn't have the time to look at the details of your changes yet but I looked at your changes in the expectations of the integration tests. Both are not correct. In aggregate_transitive-excludes.txt module-1 and its dependencies get resolved during the resolution of module-3, not of module-2. In aggregate_graph.dot module-a is not an optional dependency and module-test clearly has a dependency to module-a.
Generally, the traversal order of the dependencies is essential when creating the graph.

The main bug I am fixing is related to the reduceEdges property of the aggregate goal:
https://ferstl.github.io/depgraph-maven-plugin/aggregate-mojo.html#reduceEdges
"Omit all edges that are already reachable via a different path in the dependency graph. "
Taking aggregate_transitive-excludes.txt as an example, i interpret this to mean that there should not be an edge between module-3 and module-1, because module-1 is reachable through module-2.
You can also see this in GraphBuildingVisitorTest.omitReachablePaths. You will need the fix to the GraphBuilderMatcher for the assertions to fail as well as change the order in which the nodes are visited.
Just to be clear, the expected result is that there is no edge between A and D, because D can be reach from A through both B and C.
On master, the children of A are visited in the following order: B, C ,D. This order is ideal for the implementation on master, yet this order is not guaranteed in practice. A valid order is also D, B, C. If you change the test to reflect this, you will see it fail with the edge between A and D existing in the graph.

Taking aggregate_transitive-excludes.txt as an example, i interpret this to mean that there should not be an edge between module-3 and module-1, because module-1 is reachable through module-2.

module-1 should indeed not show up twice in the graph and it should appear under module-2 since this module is built before module-3. I'll take a look at that.
However, some of the adjustments in the test expectations/assertions are not correct, e.g. aggregate_graph.dot.

I guess what I am getting at is that traversal order should not affect the final graph for the same maven project.

Aggregated graphs are a union of all modules' individual graphs (Maven does not have an overall dependency resolution of a multi-module project). The traversal order of an individual graph is not important but the reactor build order of the individual modules is.

Alright, i guess my changes had more impact than intended.
Could you also look at the AggregatingGraphFactoryTest.excludeParentProjects which i mentioned?

I took a deeper look at the problem. The current solution where edges are omitted during graph traversal does indeed not work in some cases, e.g. in GraphIntegrationTest#transitiveExcludes. In such cases, we need to know the full graph in order to correctly remove redundant edges.
When removing edges we do also need to consider their "age". When there is more than one path from A to B in the graph, the path with the oldest edge to B should remain. This would accurately reflect how Maven resolves dependencies in a multi-module project. And I think that is also the reason why the solution in your PR produces not the correct results in some cases.
I documented the Problem in Issue #82 and started with a solution that looks quite promising so far. I hope I get it finished within the next couple of days.

I released version 3.2.1 which fixes this problem. It should be on Maven Central within the next few hours.
Thank you for pointing out this problem and for your work!


Adding emailjs feature in contact us page

[REQUEST] - Responsive Contact Us page
Closes: #271
Description of Changes
I have added EmailJs to the Contact Us page through my email id till now and it is running completely perfectly. You just have to replace your email in place of mine.
Just follow these simple  steps:

Sign up on the official website of EmailJs: https://www.emailjs.com/
Just Create a service from the email service.
Replace (YOUR_SERVICE_ID, YOUR_TEMPLATE_ID, YOUR_PUBLIC_KEY) in the contact.js page from the official website of emailjs.

Screenshots
In this Screenshot, you can see I received this message directly from the Blogweet website.

For adding Email Service just click add new service please refer to this image,

For adding Template Service just click add new service please refer to this image,

Resolve Conflicts, tag on discord with pr link.


HSEARCH-4604 Add port while building an AWS request

https://hibernate.atlassian.net/browse/HSEARCH-4604

It'll probably be cleaner to have a new PR for this issue, and I suppose we can close the other one - https://github.com/hibernate/hibernate-search/pull/3086

Tests passed on AWS ES 7.10, AWS OpenSearch 1 & 2. Merging, thanks!


test cleanup

Noticed some tests writing out a lot by hand instead of using the infra. Fixed that.

API change check
API changes are not detected in this pull request.


A State Testing Platform for Critical Scientific Data Development

Idea
Harness was initially developed as a state testing platform for the PHA (Pairwise Homogeneity Algorithm), a complex and rigorous climatological algorithm that performs automated quality control on the temperature station readings of the official climate record of the United States.
The idea is to provide a pseudo workflow system to parse entire projects gathered from version control systems as components, identify parts of the projects as functions, and join the functions together in workflows to produce structured output (which the user defines) that can be compared as the code producing these structures changes over time.
Harness performs state testing by allowing projects to be locked in place for a given revision or saving output state and easily comparing outputs. This allows complex, quickly changing, scientifically critical data to be analyzed visually, through a web based, single page Angular application. Harness aims to be easy to use for developers - it is largely configurable entirely through the UI.
Funding for Harness evaporated when the PHA project was complete in 2016, but the project was proven to work well and is ripe for development and new ideas. It has potential to serve as a powerful tool for many other scientifically critical projects.
Students would be working on improving Harness, with the following goals in mind:

Build out the spatial and mapping analysis portions of the front end (D3.js)
Improve the configurable typing system Harness uses (MARS - Mostly Abstract REST Structures)
Add multi-language support (it currently supports Python, with the potential to support C, Fortran, and JVM languages such as Java, Clojure, and Scala) through the jep project

Skills Needed

Skill in any of the following languages: Python, JVM (Clojure, Java, etc.), Javascript, C, Fortran
Spatial skills (if developing front end)
Knowledge of or interest in generic typing systems
Talent or passion for UX

Mentors
Ryan Berkheimer, Senior Software Engineer, GST, NOAA Affilliate

For interested students, I'm sharing some correspondence I sent to an interested student as a reply I received through email:
According to GSoC rules, student applications open on March 12th. But I can help you get started planning your application. I'm glad you already read the white paper - did you watch the ESIP presentation as well? It provides some more context for the project and its architecture.
The project has been officially unfunded since 2016, but since then I have updated it to run on Python 3, along with the MARS structures system that it uses for parameterization. I will provide both updated repositories, with an updated README and developers guide, by the end of February on my GitHub account and post links to them in the project. When that becomes available, you will be able to see how the project is set up and how it works and get it running with the end to end tests that are set up with example data.
The project itself has many avenues for development - I see an immediate need for user accessibility, deployment automation, additional VCS support, UI development, additional language interoperability through the JVM, and performance improvements in the dynamic class-loader.
Which of these project pieces do you find most interesting and would you like to make the focus of your development? That would be an important question to determine a path forward. We can make the focus one of these or several, depending on your interests. I would also suggest gaining at least a basic understanding of the concept of universal data models and distributed workflow systems (if you haven't already studied these topics), as those concepts are essentially wedded in this project.
In my personal view, the greatest needs are automated generation of closure wrapping around component functions (automatic code generation), additional language interop with the JVM, a fully fleshed out UI, and threading support improvements (possibly with some distributed solution) for the dynamic class loading, in that order.
To give yourself an idea of the end goal of this as a summer project, I envision that its success would manifest as a successful test against a randomly selected project that has technologies which fit inside our capabilities - i.e., if we end up with the ability to support Java, Fortran, and Python projects housed in un-versioned filesystems and git repositories, we should be able to select a random project that has these bounds, quickly set up stateful tests against this project, make modifications, and identify state changes (basic diff analysis) in these iterations. Additional analyses and/or capabilities would be icing on the cake.
The project was very exciting and fun to work on when funded and has the potential to be a tool of great utility to the community. I do see it as an evolution and/or complement to the testing tools currently available.

The python 3 version of the repos related to this project are now posted under the MIT license and live on github -
https://github.com/RBerkheimer/pythoncommons
https://github.com/RBerkheimer/mars
https://github.com/RBerkheimer/harness
I've been working with a student on preparing an application for this project and we have the summer fairly well mapped out at this point, but always welcome other interested parties.

Hello! Can I also work on this project? I know some Python, C and JavaScript and I'm new to Open Source.

Hello Sandy! Yes, we are looking for more contributors. You can definitely work on the project - are you looking to submit an application to GSoC as well? Please let me know.

Yes, I would like to submit an application to GSOC

Great! The first step would be to get the repos and begin to get that code working - once you have the repositories set up, try and follow the DEVELOPMENT_README to get the system to install, prepare the test environment, and run through a series of test evaluations.
I'm working on getting this set up with automated builds on push, but until then, you'll have to follow the readme. If you have issues, let me know. Feel free to email me at<EMAIL_ADDRESS>so we can talk in more detail about where we're at, what the needs are, what our focus is, and what you'd like to contribute.
I'm having a telecon with another student this morning to go over her application proposal - we are currently planning on focusing on fleshing out the UI at the first half of the summer term, and then moving toward implementing more code drivers and improving the performance of the native python drivers. This is a project with a large scope so there are plenty of projects to choose from!

Hi, my name is javed ali, student of IIT KHARAGPUR. I want to contribute in this project.
Could someone guide me?

@danijak First follow the installation procedure in the above comment and currently installation is only possible in Linux environment


From/To Times not showing up in Target Rate Configuration Wizard

Describe the bug
Since 8.2.0, it has not been possible to use the default from/to with an Agile tarriff.
My existing target rate sensors therefore have errors.
When I click "configure" to try and modify the to/from to the suggested 11:00/11:00, there is not an input box to do so.
When I create a new target rate, similarly the to/from fields do not appear in the wizard popup.
Reproduction steps

Load 8.2.0
Create new target rate sensor
No to/from

Expected behaviour
To/From field able to be modified/entered
Tariff Code
G-1R-SILVER-FLEX-22-11-25-B
Integration Version
8.2.0
Home Assistant Version
Home Assistant 2023.8.4 Supervisor 2023.08.1 Operating System 10.5 Frontend 20230802.1 - latest
Fresh Install?
After upgrading
Home Assistant Logs
The target rate "discharge_time" has become invalid. Click on 'Learn More' with instructions on what to do next.

Hello. Sorry for the late repsonse but I've been away from my computer for a few days.
You can update the times currently, but the docs could do with some tweaking. You'll need to set the fields of The minimum time to start the device (from time) and The maximum time to stop the device (to time)

Ah, ok
I thought they referred to some sort of ramp up/ ramp down time
makes sense

No problem. I've updated the docs to hopefully be clearer on the matter.


[serverless-1.30] Update quarkus version 2.13.8.SP2-redhat-00001

/approve
/lgtm

@dsimansk PTAL, I needed to push a fix.

/approve
/lgtm

Codecov Report
All modified lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (serverless-1.30@d29f307). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@                Coverage Diff                 @@
##             serverless-1.30     #703   +/-   ##
==================================================
  Coverage                   ?   60.39%
==================================================
  Files                      ?       95
  Lines                      ?    12865
  Branches                   ?        0
==================================================
  Hits                       ?     7770
  Misses                     ?     4453
  Partials                   ?      642

Flag
Coverage Δ

e2e-test-runtime-go
27.01% <0.00%> (?)

e2e-test-runtime-node
29.15% <0.00%> (?)

e2e-test-runtime-python
28.10% <0.00%> (?)

e2e-test-runtime-springboot
28.19% <0.00%> (?)

integration-tests
52.97% <0.00%> (?)

unit-tests-macos-latest
51.38% <0.00%> (?)

unit-tests-ubuntu-latest
52.19% <0.00%> (?)

unit-tests-windows-latest
48.40% <0.00%> (?)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@matejvasek OK to merge manually?


Fixtures: Add XStatic X-240 LED Bar

Hi Nathan, thanks but I've got a few comments:
1- this PR includes also a RGB script. Next time, please create separate pull requests for each file
2- when submitting a new fixture it is good practice to post also a link to the product page or the manual.
There are 2 "240" bars:
http://proxdirect.com/products/view/240BAR-RGB-LEDs-Bar-Wash-Fixture-X-240BAR-RGB-IRC
http://proxdirect.com/products/view/240BAR-RGBA-LEDs-Bar-Wash-Fixture-X-240BAR-RGBA-IRC
I suppose it's the RGB version, but it's better to specify it in the product model name
3- modes 2,3,4,7 should not have a head (cause they implicitely have a single head)

Thanks Massimo.  I'll make the changes to the fixture this evening when I'm home from work.
I'm still getting used to the Git workflow.  I hadn't intended the RGB Script to get included in this pull request.  Based on what happened this time, I'm assuming I should create new branches in my fork for things I want to create separate pull requests for.  Is that the correct way to handle it?

No problem.
I don't know which GIT client you use, but you should be able to commit only the files you want to be included in the PR.
Then you come here on GitHub and create the PR.
(I'm not a GIT expert either...)

Thanks Nathan :+1:
The RGB script looked good to me (great job !). If you have no more changes to do on it, please feel free to send another PR


Use new shared config to utilize chrome 2

New config to use chrome 2
Platform created new feature called chrome 2, this feature allows applications to switch without the need of full page reload and bunch of other goodies. This PR adds the new config which enables such feature.
Merge after

[ ] https://github.com/RedHatInsights/cloud-services-config/pull/460

Codecov Report

Merging #23 (6e71d1b) into main (dc6b67a) will decrease coverage by 0.20%.
The diff coverage is 0.00%.

@@           Coverage Diff            @@
##            main     #23      +/-   ##
========================================
- Coverage   7.63%   7.43%   -0.21%
========================================
  Files         20      23       +3
  Lines        144     148       +4
  Branches      12      12
========================================
  Hits          11      11
- Misses       123     127       +4
  Partials      10      10

Impacted Files
Coverage Δ

src/App.js
0.00% <0.00%> (ø)

src/AppEntry.js
0.00% <0.00%> (ø)

src/Components/RosTable/RosTable.js
0.00% <ø> (ø)

...c/Components/RosTable/redux/systemsTableReducer.js
0.00% <ø> (ø)

src/Routes/NoPermissionsPage/NoPermissionsPage.js
0.00% <ø> (ø)

src/Routes/OopsPage/OopsPage.js
0.00% <ø> (ø)

src/Routes/RosPage/RosPage.js
0.00% <ø> (ø)

src/Utilities/asyncComponent.js
0.00% <ø> (ø)

src/bootstrap-dev.js
0.00% <0.00%> (ø)

src/bootstrap.js
0.00% <0.00%> (ø)

... and 6 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 dc6b67a...6e71d1b. Read the comment docs.

Thank you @karelhala!


Provide method for listing scanner's static properties

Hi, I have found that it can be useful to be able to quickly obtain a list of scanners and their basic properties from the WIA device manager. Instead of needing to connect to each scanner and enumerate the full properties, this simply provides the static properties of each device.
I would be grateful if you would be able to add this to the library so I can use it via your NuGet package!
Thanks for all your work on this, there are very few decent WIA libraries available

Thank you.

Thanks for adding my changes and for your quick response


Show hover cards for user profiles

Not directly related to #317 user profiles but could be a lightweight solution/addition.

Kind of also fits well with things if we decide to go the context menu route.

I would think this is something for a long press / 3d touch on an avatar.
Sent with GitHawk

I'm gonna close out, just tapping on it should open profile. 3D touch into profile could supplement this.


[fix] [doc] fix the class name of transaction exception.

Motivation

The full qulified path of the exception in transaction module is wrong, need to fix it.
Modifications
Correct the full qulified path of the exception.
Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[x] doc
[ ] doc-required
[ ] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/thetumbled/pulsar/pull/50

PTAL, thanks. @dao-jun @lhotari @Technoboy-

/pulsarbot rerun-failure-checks

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 73.17%. Comparing base (bbc6224) to head (724746c).
Report is 254 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #22687      +/-   ##
============================================
- Coverage     73.57%   73.17%   -0.41%
+ Complexity    32624     2508   -30116
============================================
  Files          1877     1888      +11
  Lines        139502   141233    +1731
  Branches      15299    15503     +204
============================================
+ Hits         102638   103344     +706
- Misses        28908    29905     +997
- Partials       7956     7984      +28

Flag
Coverage Δ

inttests
27.32% <ø> (+2.73%)
:arrow_up:

systests
24.72% <ø> (+0.40%)
:arrow_up:

unittests
72.17% <ø> (-0.68%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 346 files with indirect coverage changes


Added explode method

Having trouble getting the function to split a mesh into submeshes to work, but for the time being, this works

I should probably incorporate materials into this? Something like multiMultiMaterials from MergeMeshes

Yep and can you provide a quick demo to evaluate the end result? With a slider to change the distance?
That could then be the PG used for the doc
Once again thanks a lot btw!

https://brave-gates-959b79.netlify.com/
This is a lot more difficult than I thought it was going to be. I have left out the distance modifier, it's hard to get the correct result when passing a variable to change the distance of explosion. The current way is just doubling the distance from the mesh to center, or halving it for implode. That retains the ability to put the meshes back in their original positions. There's probably some algorithm or callback that can solve this, but I can't get the slider to work properly unless it's moved one notch at a time and not quickly/erratically. I tried a for loop to call the function a number of times, but that didn't really work either.

Yes I get the problem. What about changing the way it is done to something along these lines:

We create an ExplodedMesh class which use several source meshes and keep track of them
This ExplodedMesh has a explosionDistance property which is used to generate the vertexbuffers out of the sourceMeshes

Does it make sense

Also why do we want to work at vertices level? Why not just moving the meshes?

Also why do we want to work at vertices level? Why not just moving the meshes?

Are you referring to mesh.translate(vectorFromCenter, distanceToCenter, Space.WORLD); ?
I guess it's just the first way I came up with moving a mesh in a specific direction after searching around for it. I suppose doing something like mesh.position = mesh.position.add(vectorFromCenter); would be the same result?
I will work on an ExplodedMesh class.

I think so.. I would love to get more insights from @eamon-obrien
I'm wondering if we consider working with several meshes and then exploding means moving meshes or if we have only one mesh and then we need to explode it by working at vertices level

It will only go into the vertex level if the option separateMeshes is true. I imagine it can be a useful option, even if someone doesn't want the explosion effect, like reversing a Mesh.MergeMeshes.

Great work danjpar! This is really cool to see. The scenario where this feature would be useful is for folks who have created assets in some CAD software (say a laptop with multiple parts) and want to visualize that on any device with BabylonJS. These assets often have lots of components (think an elevator, for example, that would have lots of parts) and so its the meshes that make up the overall model that would need to be exploded.

I will brainstorm tonight and hopefully have some fresh ideas for tomorrow. I should probably change it from a centerMesh / calculate center of all meshes, to a constructor parameter of Vector3 that defaults Zero(). That would get rid of the other vertex level operations.

Should I combine explode, implode, and reset?
Like:
    /**
     * Explodes mesh a given number of times.
     * @param explodeSize The number of times to move meshes away from center in increments equal to origin distance to centerMesh. Negative numbers implode. Zero resets to origin.
     */
    public explode(explodeSize: number = 1): void {
        for (var index = 0; index < this._meshes.length; index++) {
            if (this._meshes[index] && this._originsVectors[index]) {
                if (explodeSize == 0) {
                    this._meshes[index].position = this._meshesOrigins[index].clone();
                } else {
                    for (var step = 0; step < Math.abs(explodeSize); step++) {
                        if (explodeSize > 0) {
                            this._meshes[index].position.addInPlace(this._originsVectors[index]);
                        } else {
                            this._meshes[index].position.subtractInPlace(this._originsVectors[index]);
                        }
                    }
                }
            }
        }
    }

yes!
and I would prefer to have a float value for the direction with something like
let scaledDirection = this._originsVectors[index].scale(direction);
 this._meshes[index].position.subtractInPlace(scaledDirection )

During my commute I had thought of doing something similar to get rid of the step for loop. I wasn't sure how to easily multiply a Vector3 by a single number. I'll make these changes in the morning.

Can you create a tiny repro on netlify for @eaobrien to validate the feature?
Looking good to merge for me!
thanks a lot

https://brave-gates-959b79.netlify.com/

Now with the new system we can even get rid of the step on the slider

Step was missing, so I added step="0.1"

I've been messing around with the viewer. I'm getting strange results when using the exploder.
https://vigilant-noether-ce2b24.netlify.com/
open console and run:
let element = document.querySelector('babylon');
let viewer2 = BabylonViewer.viewerManager.getViewerByHTMLElement(element);
let newExplode = new BABYLON.MeshExploder(viewer2.sceneManager.models[0].meshes);
newExplode.explode(0);

It should do nothing.. but it moves two of the meshes. I built the object in blender, tried apply rotation/scale/location, which made a little difference, but I can't get things to act proper.

Sounds good!

Same problem when loading object in a regular scene.
https://brave-gates-959b79.netlify.com/
I don't understand what is causing this. Meshes on blender's X axis go opposite directions.

can you make sure that meshes.position remains unchanged when explode(0) ?
This is what we expect right?

Yes, positions return to normal with 0

So, my workaround is by setting each mesh's parent to null. Since loaded objects have a "root" mesh as parent to all meshes. Even with passing this root mesh into the constructor as the centerMesh, the other meshes would move incorrectly.

We should not break hierarchy. Instead you should be able to call mesh.setAbsolutePosition (which takes hierarchy in account)

https://brave-gates-959b79.netlify.com/
https://vigilant-noether-ce2b24.netlify.com/
let element = document.querySelector('babylon');
let viewer = BabylonViewer.viewerManager.getViewerByHTMLElement(element);
viewer.sceneManager.models[0].meshes.forEach((o) => { o.setParent(null); } );
let newExplode = new BABYLON.MeshExploder(viewer.sceneManager.models[0].meshes, viewer.sceneManager.models[0].meshes[0]);
newExplode.explode(2);

Everything works after removing parent from meshes of imported objects. I will update documentation, this should be okay to merge

in constructor:
this._meshesOrigins.push(mesh.getAbsolutePosition().clone());
this._toCenterVectors.push(mesh._boundingInfo.boundingBox.centerWorld.subtract(this._centerMesh._boundingInfo.boundingBox.centerWorld));

and in explode:
this._toCenterVectors[index].scaleToRef(direction, this._scaledDirection);
this._meshes[index].setAbsolutePosition(this._meshesOrigins[index].add(this._scaledDirection));

Thanks!
This works. Should I add another vector3 placeholder like the scaledDirection and use addToRef instead?

kinda messy..
if (centerMesh) {
            if (!centerMesh.parent) {
                this._centerMesh = centerMesh;
            } else {
                this._parentPresent = true;
            }
        } else {
            for (var index = 0; index < this._meshes.length; index++) {
                if (this._meshes[index].parent) {
                    this._parentPresent = true;
                    break;
                }
            }
        }
        if (!this._centerMesh && !this._parentPresent) {
            this._setCenterMesh();
        } else {
            for (var index = 0; index < this._meshes.length; index++) {
                if (!this._meshes[index].parent) {
                    this._centerMesh = this._meshes[index];
                    break;
                }
            }
        }

I would think that everything will be flat out in the meshes list. You dump there all the meshes (including children and children of children..)

this._meshes[index].setAbsolutePosition(this._meshesOrigins[index].add(this._scaledDirection))
This should become addToRef with a property stored like the scaledDirection

I have written that in for my new testing. I am probably over thinking the
root-not-centerMesh issue too much. I should probably just add to
documentation that imported objects should have the root mesh entered as
second parameter or spliced out of the meshes array.
On Thu, Feb 14, 2019, 7:03 PM David Catuhe<EMAIL_ADDRESS>wrote:

I would think that everything will be flat out in the meshes list. You
dump there all the meshes (including children and children of children..)
this._meshes[index].setAbsolutePosition(this._meshesOrigins[index].add(this._scaledDirection))
This should become addToRef with a property stored like the scaledDirection
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/BabylonJS/Babylon.js/pull/5875#issuecomment-463888680,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aiw58bcZebPgWJDO1Iaelfya2q4TTMmVks5vNiOQgaJpZM4amJz0
.

for the rootMesh, can you elaborate? Not sure to get the issue :D
An object imported from a .obj, .babylon, .gltf, or .glb has an extra AbstractMesh that accompanies it. So far This mesh is parent to all meshes from the loaded file. When passing all loaded meshes array into the meshExploder, unless that root mesh (loaded.meshes[0].name == __root__) is set as centermesh or spliced out of the meshes array, any movement to its position is reflected to all other meshes or children.

Ok gotcha! But actually that should not be a problem with setAbsolutePosition as this takes the hierarchy in account
Can you make sure to call mesh.computeWorldMatrix(true) after updating a mesh position?

https://brave-gates-959b79.netlify.com/

https://vigilant-noether-ce2b24.netlify.com/
acting strange :/
https://brave-gates-959b79.netlify.com/
this works as expected

are they both based on the same initial file? or is there one based of gltf and not the other?

They are same .gltf I made in Blender and babylon.max.js I generated with gulp

No more changes necessary.
MeshExploder works as expected, should be safe to merge.
https://vigilant-noether-ce2b24.netlify.com/

Congrats!!


[CARBONDATA-2294] Partition preaggregate support

Allow creation of aggregate table on partition and non-partition columns
Support to load data into aggregate table after insertion into parent table is complete.
Support to compact aggregate tables if parent table is compacted.
If parent table partition is dropped then drop the same partition in child tables also.

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4127/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3398/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4623/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4648/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3422/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4649/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3423/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4158/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4160/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3429/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4656/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4658/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3431/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4168/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3439/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4665/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4169/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4177/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4685/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3458/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4193/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4686/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3459/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4194/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4688/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3461/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4196/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4689/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3462/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4197/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4690/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3463/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4692/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3465/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4199/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4200/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4736/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3509/

retest this please

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3512/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4739/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4243/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4244/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3528/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4756/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4760/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3532/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3533/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4761/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4762/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4259/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3534/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3535/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4763/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3536/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4764/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4261/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4264/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4265/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4266/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4267/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4268/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4269/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3565/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4789/


Support z.lua (faster?)

https://github.com/skywind3000/z.lua

Also https://github.com/ajeetdsouza/zoxide


Get it working in Firefox, too!  😃

That was easy…
Tested in Firefox nightly.

Downloadable from here.

Wooo, thanks so much! Unfortunately just adding it like this to the manifest will break the Chrome extension (and complain that applications makes no sense).
I will create separate directories for this over the weekend (once the initial flow of bug reports stops), and then create a separate extension for FF :)

Ah right this will throw a

in Chrome. The Firefox extension requires the XPI build step anyway, you might be able to just add the key on the fly. This way you won't have to maintain multiple files.

I'ld be more than happy to also write a build step, if you let me know which build tool you prefer.  :smiley:

@bwinton a build step would be AMAZING! I honestly don't have any preferences for build tools -- perhaps one of the least esoteric ones? 😄

Would also be interested in helping with a build step. Let me know if there's anything that needs to be done!

Gulp seems like one of the more common build tools these days (and I happened to have some sample code for it lying around 😉), so that's what I used.
You don't have a "DEVELOPERS.md", but if you did, I would add a sentence along the lines of:

To build the Firefox extension, run npm install and then gulp.

Thanks for the offer of help, bnb!  I think this covers it, but if you had any suggestions on how I could make it better or more understandable, I'ld love to hear them!  🙂

Just a friendly heads-up on this, once Firefox 46 hits (44 currently), users will no longer be able to uninstall unsigned extensions locally, unless they're using Firefox Developer edition.
At that point, I believe the options for future FF support are:

Document that the extension is restricted to FF Developer Edition users only
@notwaldorf can sign-up for a Mozilla Developer account (believe it's free) and sign/publish in the FF extension gallery (this process can be scripted for the most part using JPM
@notwaldorf can sign-up for a Mozilla Developer account, obtain an API key for signing, and just upload the signed xpi to Github for users to download (faster since it doesn't require going through the long approval process)

@DrewML I read that too! I'm definitely trying to get it onto the Firefox add-on store, so this should be okay. I haven't done this before, so I'm not super sure how long it will take. :/

Okay, I think this covers all the suggestions.  Let me know if there's anything else you'ld like me to change before you merge it!
Also, @notwaldorf, the review process for the Firefox add-on store should be pretty quick these days.  If you think it's taking too long, please throw me the url, and I'll see what I can do to expedite things.  :wink:  (I don't have any super-powers or anything, I just know a couple of reviewers who would love an add-on like this to be in the store, and would probably push it to the front of their queue… :smiley:)

@bwinton Thank you SO much for this PR! I'll give it a go and let you know how publishing to the store is going :)


Beacons.startMonitoring is crashing the app

When I try to use the method  Beacons.startMonitoring withouth starting a .monitor listener or stream (but set the backgroundMonitoringEvents method), the app crashes with the following error.
I/flutter (30714): beacons: invoke beacons->startMonitoring {"region":{"identifier":"test","ids":["b65de587b6494010af5bb6a733fc8ddd"],"bluetoothAddress":null},"permission":"coarse","inBackground":true}
D/beacons client(30714): start Monitoring (inBackground:true) for region: test
I/zygote64(30714): Do partial code cache collection, code=118KB, data=70KB
I/zygote64(30714): After code cache collection, code=118KB, data=70KB
I/zygote64(30714): Increasing code cache capacity to 512KB
E/AndroidRuntime(30714): FATAL EXCEPTION: main
E/AndroidRuntime(30714): Process: com.anxaneta.motobeacon, PID: 30714
E/AndroidRuntime(30714): kotlin.KotlinNullPointerException
E/AndroidRuntime(30714): 	at io.intheloup.beacons.data.RegionModel.getFrameworkValue(RegionModel.kt:17)
E/AndroidRuntime(30714): 	at io.intheloup.beacons.logic.SharedMonitor.start(SharedMonitor.kt:58)
E/AndroidRuntime(30714): 	at io.intheloup.beacons.logic.BeaconsClient.startRequest(BeaconsClient.kt:188)
E/AndroidRuntime(30714): 	at io.intheloup.beacons.logic.BeaconsClient.startMonitoring(BeaconsClient.kt:146)
E/AndroidRuntime(30714): 	at io.intheloup.beacons.channel.Channels$startMonitoring$1.doResume(Channels.kt:65)
E/AndroidRuntime(30714): 	at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:42)
E/AndroidRuntime(30714): 	at kotlinx.coroutines.experimental.DispatchedTask$DefaultImpls.run(Dispatched.kt:161)
E/AndroidRuntime(30714): 	at kotlinx.coroutines.experimental.DispatchedContinuation.run(Dispatched.kt:25)
E/AndroidRuntime(30714): 	at android.os.Handler.handleCallback(Handler.java:790)
E/AndroidRuntime(30714): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(30714): 	at android.os.Looper.loop(Looper.java:164)
E/AndroidRuntime(30714): 	at android.app.ActivityThread.main(ActivityThread.java:6499)
E/AndroidRuntime(30714): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(30714): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
E/AndroidRuntime(30714): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
I/Process (30714): Sending signal. PID: 30714 SIG: 9
Lost connection to device.

Well, finally i made it work x).
Firstly, this error is generated because region.initFrameworkValue() is not called anywhere through the startMonitoring() methods. After this, i was getting some errors due to the results expected, so i changed the logic a bit.
At Channels.kt, change the startMonitoring() method that containts
launch(UI) {result.successs(beaconsClient.startMonitoring(request)) }`
to
`        var operation: BeaconsClient.Operation? = null
operation = BeaconsClient.Operation(BeaconsClient.Operation.Kind.Monitoring, request.region, request.inBackground) { result ->
    }
    beaconsClient.addRequest(operation!!, request.permission)
    result.success(null)

`
At channels.dart, change  startMonitoring() method return statement to: (returns nothing)
return;// _Codec.decodeResult(response);
After doing this, the new beacon is being monitoring withouth any errors. But this doesn't here. This plugin separates the control of monitoring between the listener of Beacons.monitoring() event and Beacons.backgroundMonitoringEvents(). I think this is just usefull when u want to have different beacon monitoring depending on the inBackground attribute. But if u want to manage all beacons in the same listener (that listens the events when the app is in foreground and active) you must do one thing.
In SharedMonitor.kt you must set in attachForegroundNotifier() method:
this.foregroundNotifier = null
and then, in the detachForegroundNotifier() method, comment the line:
//        check(this.foregroundNotifier == notifier)
Hope Helped SomeOne!

I'll make this a pull request because everytime I want to update my packages especially in other 3rd party packages, the beacon package gets updated.
Steps:

Fork the official repository
put this in your code with your fixed one
submit a pull request.

U can't exactly know the distance of the beacon. There is field that seems to give this value but i have tested it and sometimes this value is not good. Trust in the rssi.
Thank you for contributing into this.

The hardware I am using supports distance, but it's not really accurate as it fluctuates every second.
FlutterBlue does have RSSI. but it doesn't have distance. so I'll be depending on this package.
Just do PR if you fixed something. There are tutorials on how to do PR(depends on what project you are to.) some are strict with CI enabled.


phosphorus bug (pixelate effect doesn't work)

The pixelate effect doesn't work, and apparently it also makes the sprite go black.
http://scratch.mit.edu/projects/129529898/
http://phosphorus.github.io/#129529898
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393

#173


Increasig number of workers slows down inference!

Hi,
First, I would like to express my sincere appreciation to the creators of this amazing segmentation/classification pipeline.
I just have one issue. It looks like when I run inference on WSIs, increasing the number of workers has the opposite affect on the processing time. For example, when I use 96 workers, it takes ">100" seconds to process one chunk, but when I use a single worker, it takes only ~4 seconds. Could anyone explain the reason for this?
Thank you :)

This is the limitation of python and the system you have. Typically, you should assign the number of workers <= number of virtual cores in your CPUs, even then, you should not assign everything because the system still needs to attend to stuffs that are not just your python code. Another thing is python workers are not as usual workers in C++ and thus it exaggerates some underlining communication problem between processes. This is a very naive and likely wrong summary though, you can read more on this
https://stackoverflow.com/questions/1970345/what-is-thread-contention


Dagster jobs constantly hitting OOM and getting killed

Which area(s) are affected? (leave empty if unsure)
No response
To Reproduce
Look at the kubernetes console (I'm using k9s)
Describe the Bug
Seeing a lot of OOMKilled pods
Expected Behavior
We likely need to bump some memory requirements

I may have fixed this. I still don't know why just that something kept happening to cause an endless loop of containers to be spun up.

Closed by #2428 (for now)


Add license

Would be nice if there is a proper license statement. Thanks.

@fabaff why and which license would be appropriate?

Because if there is no license the tool can be ship or included in distributions. I would suggest to go with MIT or ASL 2.0.

added MIT license, thankyou!


Twitter Federated Login

Is there any plan on adding support for other Federated Identities for example Twitter?

This library stitches together existing services in AWS. Specific to your question, Amazon Cognito backs the federated login. So the answer to your question is probably, "Yes - fast-following Cognito support for other federated identities". So this question is really one for Cognito.

if they support this feature soon, it will be awesome!  ⭐


Service Accounts, RS256 JWT encryption, where is that?

Hi all,
I just don't get it. Almost giving up! I want my Mac Application to load assets from Google Cloud Storage, no user content involved. And I want the users of my app upload content to Google Cloud Storage, but just with my application. I don't want them to be able to connect outside the app.
As far as I understand this whole topic, I created a service account and assigned the READ and WRITE right using the service accounts email address to the bucket ACLs.
After hours of getting this framework compiled (come on, Google, this should be easier, Parse.com ist a matter of minutes!!) I needed another few hours to notice this code is very incomplete, isn't it?
Reading through these docs (https://developers.google.com/identity/protocols/OAuth2ServiceAccount) I have create a signed JWT which I send to google to receive an access token.
But there is no code to create a JWT and sign it. I tried https://github.com/yourkarma/JWT and modified it. But this library only features HS256 and not RS256. Searching the web for RS256 signing in Objective-C or Swift I did not find anything. Even the jwt.io does not list any Mac/iOS API that works.
I just cannot understand that? This must be easier? Login to the service is the base of everything else, and this is soooooo complicated, no code, old code.
Please help.
Thanks,
Phillip

JWT us usually for server to server, which is what it isn't something normally covered here.
@gmrobbins hasn't this come up on the gtm-oauth2 list/project before?  Is there something to point to there?

Service accounts are intended for use on a server.
We cannot put account auth credentials securely on a device, so we do not support service accounts on clients. Developers can use a server-based service account, and have the client talk to their server.


[Scalability Test] Part 3: Latest Platform E2E Performance Report

Set up full-blown management plane + control plane.
Setup as follows:

Full set of management plane + control plane + simulated agents
1M simulated nodes
large VPC up to 100K ports

Linked to Issue #439

Based on discussion in the 12/02 open-source meeting, we would need to get more information for the latest platform (e.g., whether we have done similar perf testing before). @chenpiaoping


Delta Log entities with absolute path not supported

Environment
Delta-rs version:
Binding:  Python (however, I think it's true for all versions
Environment:

Cloud provider: Azure, however the same with local filesystems
OS: Windows or Linux

Bug
What happened:
I'm trying to read Delta table where absolute path is used for add and remove actions. If path looks like<EMAIL_ADDRESS>or any other absolute file (including local filesystem) file_uris method concats it with table uri.
What you expected to happen:
Just use provided absolute uri. https://github.com/delta-io/delta/blob/master/PROTOCOL.md#add-file-and-remove-file says

A relative path to a file from the root of the table or an absolute path to a file that should be added to the table.

How to reproduce it:
Delta Log entry looks like:
{"commitInfo":{"timestamp":1587968586154,"operation":"WRITE","operationParameters":{"mode":"ErrorIfExists","partitionBy":"[]"},"isBlindAppend":true}}
{"protocol":{"minReaderVersion":1,"minWriterVersion":2}}
{"metaData":{"id":"5fba94ed-9794-4965-ba6e-6ee3c0d22af9","format":{"provider":"parquet","options":{}},"schemaString":"{\"type\":\"struct\",\"fields\":[{\"name\":\"id\",\"type\":\"long\",\"nullable\":true,\"metadata\":{}}]}","partitionColumns":[],"configuration":{},"createdTime":1587968585495}}
{"add":{"path":"abfss://<container>@<account_name>.blob.core.windows.net/full/part-00000-a72b1fb3-f2df-41fe-a8f0-e65b746382dd-c000.snappy.parquet","partitionValues":{},"size":262,"modificationTime":1587968586000,"dataChange":true}}

Python code:
import os
from deltalake import DeltaTable

storage_options={'AZURE_STORAGE_ACCOUNT_KEY': <access key>}
table_path =<EMAIL_ADDRESS>dt = DeltaTable(table_path,  storage_options=storage_options)
print(dt.file_uris())
print(dt.to_pyarrow_dataset().to_table().to_pydict())

I'm getting following output:
# results from file_uris() notice that it was just concat ['abfss://<container><EMAIL_ADDRESS>
# exception due to just concat of file uris
Traceback (most recent call last):
  File "test.py", line 21, in <module>
    print(dt.to_pyarrow_dataset().to_table().to_pydict())
  File "pyarrow\_dataset.pyx", line 331, in pyarrow._dataset.Dataset.to_table
  File "pyarrow\_dataset.pyx", line 2577, in pyarrow._dataset.Scanner.to_table
  File "pyarrow\error.pxi", line 144, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow\_fs.pyx", line 1544, in pyarrow._fs._cb_open_input_file
  File "\deltalake\fs.py", line 156, in open_input_file
    raw = self._storage.get_obj(path)
deltalake.PyDeltaTableError: Object at location<EMAIL_ADDRESS>not found: response error "<?xml version="1.0" encoding="utf-8"?><Error>BlobNotFound<Message>The specified blob does not exist.

Time:2022-10-05T23:32:33.5408464Z</Message></Error>", after 0 retries: HTTP status client error (404 Not Found) for url<EMAIL_ADDRESS>
More details:
I guess following code just concatenates  uris:
    /// Returns a URIs for all active files present in the current table version.
    pub fn get_file_uris(&self) -> impl Iterator<Item = String> + '_ {
        self.state
            .files()
            .iter()
            .map(|add| self.storage.to_uri(&Path::from(add.path.as_ref())))
    }

Thanks for the report @kosinsky.
Indeed this is not supported right now. I'd be curious to know which writer created the Delta table with absolute paths? As you say, it is stated in the protocol that this is valid, I just have never encountered a writer with that before.

It isn't particular writer. I'm experimenting with case when data and _delta_log are in different folders, because we can't move data or add _delta_log to it.

That's an interesting use case. I've added an issue to the Data Acceptance Tests, which will house test cases that all Delta Lake readers and writers will be checked against. https://github.com/delta-incubator/dat/issues/10

I believe tables created using SHALLOW CLONE will result in full paths appearing in the log, as they refer to data objects outside their folder structure.


apple-appattest

had you some doc / exemple or test for apple-appatest ?
i can't find any help in this doc : https://webauthn4j.github.io/webauthn4j-spring-security/en/

WebAuthn4J Spring Security doesn't provide support for Apple App Attest.
Apple App Attest is an API to attest an request from an App is valid, but WebAuthn4J Spring Security is designed for authentication.
If you would like to use Apple App Attest in your Spring based application, use webauthn4j-device-check directly in your application.
https://webauthn4j.github.io/webauthn4j/en/#apple-app-attest-verification

I'm looking to use the appattest format to do a webauthn attestation and I thought this library could do that.

If you are interested in 'apple' anonymous attestation, which is for WebAuth, webauthn4j-spring-security can be used.


Reconciler needs to provide a filter function for leader election

Expected Behavior
Tekton has created a new custom resource called Run for running custom tasks.  Each custom task implementer will provide a reconciler that watches for and processes Run objects that refer to its kind of custom task, through the use of the filter function given to the run informer.
Actual Behavior
We've found a case where a reconciler is given all Run objects, not just the ones it has requested through the filter function given to the run informer.  This happens during leader election in this code:
https://github.com/tektoncd/pipeline/blob/master/pkg/client/injection/reconciler/pipeline/v1alpha1/run/controller.go#L72
A custom task implementer will not want to be given Run objects that it isn't written to handle.  It needs to be able to pass a filter function to filter the objects on this path.
Steps to Reproduce the Problem
Any controller using leader election goes through this path.  Run objects may be the first case though where there may be multiple independent controllers that are only interested in distinct subsets of the objects.
Additional Info

@n3wscott fyi

Thanks for the bug report, I think we can fix this quick, but it will need to be in a few days because of the current release.

/remove-lifecycle-stale
Hitting this issue while developing a secrets reconciler

My controller loops indefinitely trying to reconcile every secret in the cluster, although I've set the following filters: https://github.com/slinkydeveloper/control-data-plane-communication/pull/11/files#diff-758961aac53d57d417fc85fa07093ab347dbd01929ebfc54ffe0cf2af64675b6R77

/remove-lifecycle stale

/reopen
/lifecycle frozen


Support getLog for Jobs

Hi -
How can I get log from Jobs with this library?

First you have to get your job (using Jobs.get), then find the pod name in the job description and get the pod's logs like in https://github.com/coralogix/zio-k8s/blob/master/examples/logs-example/src/main/scala/com/coralogix/zio/k8s/examples/logs/LogsExample.scala

Thank you so much. This issue is resolved


support -b for base32 input

The title says it all...
(cool project!)
(unrelated, it might be better to replace echo -n with printf %s, because echo -n is non portable, or just remove the -n bcause newlines are typically ignored anyway by base32 -d).

Made base32_decode  static.

Simplified the code a bit, and added casts to avoid (strict) compiler warning on sign-ness and value truncation.
None of the casts were required as the sign was ensured prior in all cases, and the truncation was as intended (assign to uint8_t intentionally truncated the value, now it's explicit).
There's one warning remaining, which also existed previously, and I didn't touch:
totp.c:145:20: error: implicit conversion changes signedness: 'ssize_t' (aka 'int') to 'unsigned int'
      [-Werror,-Wsign-conversion]
    memcpy(ko, ki, len);
    ~~~~~~         ^~~

Made base32_decode a lot smaller (I enjoiy this...).
It behaves identically, probably slightly slower (this context is not performance critical) but now it's also easier to change alphabet (which we don't need), and it works with any charset and not only ASCII (e.g. even if B is not immediately after A, though it's unlikely to fix any real world usecase).
But most importantly, it's more cute!

ping?


exporter-collector send beacon has limits and do not send all span traces

Please answer these questions before submitting a bug report.
What version of OpenTelemetry are you using?
"@opentelemetry/core": "^0.8.2"
"@opentelemetry/exporter-collector": "^0.8.2",

What version of Node are you using?
v14.11.0
Please provide the code you used to setup the OpenTelemetry SDK
    const exporter = new CollectorExporter({
        serviceName: this.serviceName,
        url: this.serverURL
    });

    const batchConfig = {
        bufferSize: 10,
        bufferTimeout: 20000
    };

    const providerWithZone = new WebTracerProvider({
        plugins: [
            new DocumentLoad()
        ]
    });
    providerWithZone.addSpanProcessor(new BatchSpanProcessor(exporter, batchConfig));

    // Use ZoneContextManager to support asynchronous operations.
    providerWithZone.register({
        contextManager: new ZoneContextManager().enable()
    });

What did you do?
Tried to send all spans traces to server.
If possible, provide a recipe for reproducing the error.
What did you expect to see?
All span traces send to server
What did you see instead?
Some spans are sent to server and some are not.
Following error error in safari
Beacon API cannot load. Reached maximum amount of queued data of 64Kb for keepalive requests
Additional context
CollectorExporter sends spans/traces to the server and uses the following to determine how it needs to send the data
sendSpans(spans, onSuccess, onError) {
    const exportTraceServiceRequest = transform_1.toCollectorExportTraceServiceRequest(spans, this);
    const body = JSON.stringify(exportTraceServiceRequest);
    if (typeof navigator.sendBeacon === 'function') {
        this._sendSpansWithBeacon(body, onSuccess, onError);
    }
    else {
        this._sendSpansWithXhr(body, onSuccess, onError);
    }
}

The issue is exporter sends the data as a Beacon (as navigator.sendBeacon is a function in chrome) using _sendSpansWithBeacon function, but beacon has total byte size limits on sendBeacon() request queues as well as payload size of a single sendBeacon() request i.e 64KB. My payload combined is more than 64KB.
If I send the request using XHR, all spans are sent successfully. Is their a way to say that I want to send the requests using XHR.
Add any other context about the problem here.
https://stackoverflow.com/questions/28989640/navigator-sendbeacon-data-size-limits

Updating versions to 0.11.0 gave option to add header which made sure it is sent as XHR and resolved the data limit issue


8.3 Error when running 'flask db migrate'

I got the following error when running 'flask db migrate -m "followers"'
NameError: name 'followers' is not defined
I removed the changes to the User class then ran the migration and it works fine so just seems to be an error in the order of operations.
BTW, thanks for the great update to the tutorial!

The error message alone does not give me enough context. Do you have the complete stack trace?

Traceback (most recent call last):   File "/Users/Shea/Sites/microblog/venv/bin/flask", line 11, in <module>     sys.exit(main())   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/flask/cli.py", line 513, in main     cli.main(args=args, prog_name=name)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/flask/cli.py", line 380, in main     return AppGroup.main(self, *args, **kwargs)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/click/core.py", line 697, in main     rv = self.invoke(ctx)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/click/core.py", line 1066, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/click/core.py", line 1066, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/click/core.py", line 895, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/click/core.py", line 535, in invoke     return callback(*args, **kwargs)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func     return f(get_current_context(), *args, **kwargs)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/flask/cli.py", line 256, in decorator     with __ctx.ensure_object(ScriptInfo).load_app().app_context():   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/flask/cli.py", line 237, in load_app     rv = locate_app(self.app_import_path)   File "/Users/Shea/Sites/microblog/venv/lib/python3.6/site-packages/flask/cli.py", line 90, in locate_app     __import__(module)   File "/Users/Shea/Sites/microblog/microblog.py", line 1, in <module>     from app import app, db   File "/Users/Shea/Sites/microblog/app/__init__.py", line 18, in <module>     from app import routes, models, errors   File "/Users/Shea/Sites/microblog/app/routes.py", line 3, in <module>     from app.forms import LoginForm, RegistrationForm, EditProfileForm   File "/Users/Shea/Sites/microblog/app/forms.py", line 4, in <module>     from app.models import User   File "/Users/Shea/Sites/microblog/app/models.py", line 11, in <module>     class User(UserMixin, db.Model):   File "/Users/Shea/Sites/microblog/app/models.py", line 20, in User     'User', secondary=followers, NameError: name 'followers' is not defined

You are probably missing this: https://github.com/miguelgrinberg/microblog/blob/c4da2aab712bc397c3c437df948505f54fa4329f/app/models.py#L8-L12.
Or maybe you have it, but you put it below line 20, where it is referenced.

Yes, I had that code below line 20. Thanks!

NameError: name 'followers' is not defined, pls help me!
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 2328, in call
return self.wsgi_app(environ, start_response)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 2314, in wsgi_app
response = self.handle_exception(e)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 1760, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/_compat.py", line 36, in reraise
raise value
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 2311, in wsgi_app
response = self.full_dispatch_request()
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 1834, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 1737, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/_compat.py", line 36, in reraise
raise value
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 1832, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/app.py", line 1818, in dispatch_request
return self.view_functionsrule.endpoint
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask_login/utils.py", line 261, in decorated_view
return func(*args, **kwargs)
File "/Users/b7ng/microblog/app/routes.py", line 82, in user
return render_template('user.html', user=user, posts=posts)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/templating.py", line 135, in render_template
context, ctx.app)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/flask/templating.py", line 117, in _render
rv = template.render(context)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 76, in render
return original_render(self, *args, **kwargs)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 1008, in render
Open an interactive python shell in this framereturn self.environment.handle_exception(exc_info, True)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/b7ng/microblog/venv/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/Users/b7ng/microblog/app/templates/user.html", line 1, in top-level template code
{% extends "base.html" %}
File "/Users/b7ng/microblog/app/templates/base.html", line 30, in top-level template code
{% block content %}{% endblock %}
File "/Users/b7ng/microblog/app/templates/user.html", line 14, in block "content"
{% elif not current_user.is_following(user) %}
File "/Users/b7ng/microblog/app/models.py", line 55, in is_following
followers.c.followed_id == user.id).count() > 0

@bang98ptit did you add followers above line 55 in models.py, or below? Since it is referenced in line 55, it needs to be added above that line.


HOMEBREW PS3 4K Pro "Compression not supported"

Describe the bug
There is an error window poping up on my screen when I try to download that HOMEBREW.
Other things I've downloaded does not had that problem.
Reproduce
Steps to reproduce the behavior:

Go to 'HOMEBREW'
Click on 'PS3 4K Pro'
Scroll down to 'download'
See error

Expected Behavior
Download the thing correctly.
Screenshots

System Information (please complete the following information):

OS: Windows
Version 10.0.19043.1415

latest.log

@Illegal-Services
I made some changes and it works fine for me. Can you see if it works now for you too?

Closing because I don't have any issues. Re-open if you are still have this problem.

It still doesn't work for me.
Even after the new update.

@Illegal-Services Are you still receiving an error message? For me, it just takes a while to download because it's quite a large file. It took a couple of minutes on my computer. I'll get some other people to test too.

yeah, let me record you the whole situation so you get more data to analyse.
I'll be back soon with the video.

Wait, I've just noticed that the CFW one just work fine.
But it's the HEN one that doesn't work and be an issue.
Did you tried the HEN one too?

No I didn't check HEN, I'll look now.

I got a "file corrupted" error so I updated the archive and now works fine. How about for you?

working fine now, fixed.


No mathml spec in reffy?

Apologies if I'm missing something really obvious, but it came up in https://chromium-review.googlesource.com/c/chromium/src/+/2317813 that the mathml spec (https://mathml-refresh.github.io/mathml-core/, specifically https://mathml-refresh.github.io/mathml-core/#dom-mathmlelement in this case) was missing from reffy's reports (or at least hasn't been imported into WPT).
Based on https://github.com/w3c/browser-specs/search?q=mathml&type=Code, it appears to be in w3c/browser-specs, but I can't find any mention of mathml here other than https://github.com/tidoust/reffy/pull/312, which seems to imply it will be added but maybe wasn't?

I see a PR on MathML in WPT with a "do not merge yet" label that I believe you added ;)
The IDL extracts produced by Reffy contain a mathml-core.idl file in particular.
(Shame-close)


How to override message in SendResetLinkEmail in ForgotPasswordController?

I am running a Dual Auth:Guard application.
in the frontend routes i use the standard auth() scaffold and install.
// routes/web.php
// using default middleware and guard
Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index');

The backend route has the following;
//  middleware 'web, auth:admin'

// Authentication Routes...
Route::group(['namespace' => 'Admin\Auth'], function (\Illuminate\Routing\Router $router) {

    // Login...
    $router->get('login', ['as'=>'admin.login', 'uses'=>'LoginController@showLoginForm']);
    $router->post('login', 'LoginController@login')->name('admin.login');
    $router->get('logout', ['as'=>'admin.logout', 'uses'=>'LoginController@logout']);

    // Registration Routes...
    if (config('cms.app.allow_admin_user_registration')) {
        $router->get('register', 'RegisterController@showRegistrationForm')->name('admin.register');
        $router->post('register', 'RegisterController@register');
    }

    // Password Reset Routes...
    $router->get('password/reset', 'ForgotPasswordController@showLinkRequestForm')->name('admin.password.reset');
    $router->post('password/email', 'ForgotPasswordController@sendResetLinkEmail');
    $router->get('password/reset/{token}', 'ResetPasswordController@showResetForm')->name('admin.password.token');
    $router->post('password/reset', 'ResetPasswordController@reset');
});

I copied all App\Http\Controllers\Auth* into App\Http\Controllers\Admin\Auth\ and customized guards and brokers as per the documentation. Additionally i created all customized views inside its own backend\auth path.... and... made all of the other configurations to support multiple auth guards.
Everything works! ..... Almost!
The password reset email link that is sent by the system only directs the user to the '/password/reset' path. which uses the default guard and default redirects. In order for admins to succefully reset their password the path needs to change to '/admin/password/reset' so that the link can use the correct auth guard and redirects as customized on those controllers.
There is a resetNotifier() method in the SendsPasswordResetEmails trait but there is no documentation as to how to use it. I understand that it can be overwritten in ForgotPasswordController.php but exactly what you do inside of resetNotifier() escapes me. Or, perhaps its not even related..
The actual email message is embedded in the following Notifications class which i think is pretty darn cool...
namespace Illuminate\Auth\Notifications;

use Illuminate\Notifications\Notification;

class ResetPassword extends Notification
{
    /**
     * The password reset token.
     *
     * @var string
     */
    public $token;

    /**
     * Create a notification instance.
     *
     * @param  string  $token
     * @return void
     */
    public function __construct($token)
    {
        $this->token = $token;
    }

    /**
     * Get the notification's channels.
     *
     * @param  mixed  $notifiable
     * @return array|string
     */
    public function via($notifiable)
    {
        return ['mail'];
    }

    /**
     * Get the notification message.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\MessageBuilder
     */
    public function message($notifiable)
    {
        return $this->line('You are receiving this email because we received a password reset request for your account. Click the button below to reset your password:')
                    ->action('Reset Password', url('password/reset', $this->token).'?email='.urlencode($notifiable->email))
                    ->line('If you did not request a password reset, no further action is required.');
    }
}

I am looking for some guidance on this issue.
Thanks
Victor

Thanks for getting in touch. Feel free to discuss application specific questions on the forums, and I'm sure someone can help you there.

Hi!
We have created a CRM package that implements password reset, the problem is that the notification of the project changes depending on where it is installed, and being a package, you can not overwrite the method:
public function sendPasswordResetNotification($token)
{
    $this->notify(new ResetPasswordNotification($token));
}

It would not be much more versatile, if we had the possibility of sobrescrivir notification from ForgotPasswordController?
for example:
public function sendResetLinkEmail(Request $request)
{
    $this->validate($request, ['email' => 'required|email']);

    // We will send the password reset link to this user. Once we have attempted
    // to send the link, we will examine the response then see the message we
    // need to show to the user. Finally, we'll send out a proper response.
    $response = $this->broker()->sendResetLink(
        $request->only('email'), $this->resetNotifier()
    );

    switch ($response) {
        case Password::RESET_LINK_SENT:
            return response()->json([
                'success' => true
            ]);

        case Password::INVALID_USER:
        default:
            return response()->json([
                'success' => false,
                'message' => 'Invalid user'
            ]);
    }
}

// overwritte function resetNotifier() on trait SendsPasswordResetEmails
protected function resetNotifier()
{
    return function($token)
    {
    	return new ResetPasswordNotification($token)
    }
}

Regards!


added sign up page and changed footer color

🛠 Fixes Issue #61 -->
#61
👨💻 Changes proposed:
I have added a sign up page and modified silly things like changed the color of the text of footer section as it was invisible earlier.
Hope this  helps.

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.
[ ] I am a participant of Hacktoberfest 2023.

📷 Screenshots
Not applicable
Thankyou.

Please make it responsive.


Support deployment from other CI/CD services, such as GitLab, BitBucket, Jenkins, CircleCI

zip up the artifacts
make artifact available at a URL, storage account?
zip deploy

Chatted with @softchris offline. Deployment from CLI is tracked at #7. But the original request about deployment from other CI/CD providers such as GitLab, Jenkins, BitBucket, etc. Updating this issue's title to reflect this.
Options to support this include:

Support deployment from CLI #7
Create a general purpose docker container that can be run anywhere to deploy a Static Web App (and build too?)

Can we also add a flag in the git action and Azure Dev task to only do the upload?  This will allow someone to separate the build and deploy process of their application.

That has been added for the app build. We still need to document it but you can add skip_app_build: true to your GH action config and then it will just do upload.

Hello, is support for other ways of deploying the app planned? Are there any workarounds for the time being, such as uploading the files manually?

We are also waiting on a solution that allows us to deploy to SWA from Bit Bucket.  Right now the only option we have is to use mcr.microsoft.com/appsvc/staticappsclient:stable which is not supported or recommended.

@danielmackay If we were to document and support the use of that docker image, would it work for you?

@anthonychu - yes that would work for us.  We are already using it, but I see you've said this is not recommended and not supported.  Would be great to get a bit more documentation and official support for this docker image.
Thanks for the response!

Not currently supported but we are looking into getting the image to a state where we can document and support its use outside of the GitHub action.

@danielmackay can you share a few bits maybe?

Hey all,
A couple of updates here. We have recently published official documentation on how to deploy using Bitbucket and Gitlab as the CI/CD agents.
On supporting deployment via other non-CI/CD modes, we are currently working towards a solution for the same and should be seeing updates on this in another couple of months :)
Hope this helps!!

I am using the gitlab image for deployments from my local machine as temporary solution.
podman run --volume "$(pwd)":/root/app
--volume "$(pwd)"/api:/root/api
--env API_TOKEN=$DEPLOYMENT_TOKEN
--env APP_PATH=/root/app
--env API_PATH=/root/api
--env OUTPUT_PATH=/root/app/dist
registry.gitlab.com/static-web-apps/azure-static-web-apps-deploy

I would actually like to vote for a non-oryx-based build/deploy support. While it sounds cool to have universal build system, oryx 1) is a huge image, 2) runs on x64 only, 3) requires a container and 4) is pretty slow compared to other methods, making it expensive to run on cloud agents and tricky to work with on self-hosted agents. Just my $.02.

Hi @ofcoursedude ,
Thank you for your views! Like mentioned earlier, we are currently working on a non-CI/CD support to be able to deploy directly from your local environment.
Stay tuned! :)

Would it be possible to add an option to deploy using local git and use FTP, etc. just like in Azure App Service?

Would it be possible to add an option to deploy using local git and use FTP, etc. just like in Azure App Service?

The current available option works with any repository but requires docker runtime and it's slow. Looking forward to the release of the deployment tool, that is currently part of the image.

@ofcoursedude Regarding your comment about x64, what OS/arch are you looking for?

This version is faster as workaround, it uses a different image and loads dependencies only once:
spin up container for deployment once
podman run -t -i
--volume "$(pwd)":/root/app
--volume "$(pwd)"/api:/root/api
--env API_TOKEN=$DEPLOYMENT_TOKEN
mcr.microsoft.com/appsvc/staticappsclient:stable
/bin/bash
run for every deployment with Oryx build
/bin/staticsites/StaticSitesClient update --deploymentaction upload --app /root/app --api /root/api --appArtifactLocation /root/app/dist --apiToken $API_TOKEN

Hi all,
We have now officially announced the GA of Static Web Apps CLI🎉🎉
This is a power-packed tool which now enables features such as login, deploy from local, automatic framework detection and much more - all from your local development system!
Do have a look and let us know how you like it :) (P.S. It is Open Source, so feel free to contribute to the next set of features you'd like to see!) 🌟

@ofcoursedude Regarding your comment about x64, what OS/arch are you looking for?

linux/arm64 such as Raspberry Pi or AWS Ami arm-based VMs

Closing this issue, feel free to re-open!

Also looking for "linux/arm64 such as Raspberry Pi or AWS Ami arm-based VMs" in order to run GitHub actions on local RasPi runner.

Hi @anthonychu
Do you have any update about using frp?
I understood that we can not use ftp and kudu deploy.


Enable Warnings as Errors

We can potentially enable warnings as errors. This could make sense for the CI builds, as it would report warnings as build failures, and force us to look at the logs.

Technical:
For MSVC there are two relevant settings to enable to treat warnings as errors. There is the /WX compiler flag, and the /WX linker flag.
For Clang and g++, the "-Werror" flag will promote warnings to errors.

As for the ramifications, when warnings are promoted to errors, it can prevent output of object files (.o), and halt the build process. Or rather, it can halt later build processes that depend on the current output. The CI servers should continue trying to compile non-dependent items, resulting in maximum possible error message generation. For Windows, I believe this is the default behaviour. For Linux, we run make -k to not immediately abort the build before reporting failure.
Failing to produce object files means library and executable files also won't be produced by the later stages. This means the test executable will not be built, and so unit tests will not run.

It would still be possible to merge branches, even with failing CI tests. They would just complain loudly as we did it.
It might be possible to modify the build scripts such that reporting of warnings as errors is delayed until after unit tests run. That would still allow for maximum reporting, and we could see if the warnings have any impact on later build stages. This would require a bit more investigation though.

Would what you are proposing be implemented in the actual MSVC project file that I develop with (OP2Utility.vcxproj)? If it doesn't affect this copy it would be more palatable as I could still work locally without stopping compilations whenever a warning is encountered.

There is most likely a way to do this only on the CI build servers. For MSVC, I think there was a way to write changes to the project file before compiling. I haven't read up on the details. Failing that, there might be a way to pass a custom build parameter which could enable warnings as errors.
For the Linux makefile, I could probably get something working with the knowledge I already have, using an environment variable.


Fixes tursodatabase/turso-driver-laravel#7

added inTransaction method for compatibility with PDO

Sorry, I am bit confused here. About issues #7, #9, #10, and #11.
I've Laravel example also here And it's work.
Please provide a clear context for your case in each issue made. Since this is confusing me once again, I am working and trying to integrate Tenancy for Laravel and before that, I also used commands like:
php artisan migrate
php artisan migrate:fresh
php artisan migrate:rollback

It's working fine in Local, Remote, and Embedded Replica connection. Btw, still you have put a lot of time into this, thank you. However, I still need clear context. And once again, the libSQL Extension I created is not built with the PDO engine, it's a pure libSQL driver that wraps the libSQL binary from Turso written in Rust.

Hi, those issues are things which are not working in driver, since I'm building an app I thought it would be good to make issues and PR's where i can make them, like in this case.
This PR fixes transaction rollback, which is not working in current version.
I've tried to describe problems in issues, also https://github.com/ineersa/turso-driver-laravel/tree/dev-branch dev branch because I need a lot of fixes, if you have questions regarding issues I'm free to discuss them.
It's working fine in Local, Remote, and Embedded Replica connection

For me sadly it's not like that, I'm having issues using it, some of which are really hard to fix and need intervention into extension (like there is no SQL errors), so maybe it would be better to fix this package issues and test things out before integrating it into some other packages?

I will update the main branch, because I made changes while trying to integrate Tenancy for Laravel. About broken things happen, it's true.
After I push some changes in the main branch, maybe you can adjust your connection. I've been working on it for almost 2 weeks.

I will update the main branch, because I made changes while trying to integrate Tenancy for Laravel. About broken things happen, it's true.
After I push some changes in the main branch, maybe you can adjust your connection. I've been working on it for almost 2 weeks.

For this it won't be a problem this changes are quite small, but for https://github.com/tursodatabase/turso-driver-laravel/pull/5 it might be, let's see what conflicts will be.

Yes, we'll see it...


v3 changes discussion

this is to list all the possible things in v3:

Node.js

Drop Node 16 support (end-of-life 2023-09-11)

migrate to the new eslint config(eslint.config.js): https://eslint.org/docs/latest/use/configure/configuration-files-new
Convert to esm?
...

please feel free to leave a comment if you have any awesome ideas! 😄
related:

https://github.com/weiran-zsd/dts-cli/issues/121

This https://github.com/rollup/rollup/pull/5031 looks helpful.


CRN-1139 Working Group Header integration

This PR removes some fields in the query related to members and leaders that weren't being used in the frontend and fetches the point of contact of the working group.
Check the header in here: https://2359.hub.asap.science/network/working-groups/0182aef4-0d46-4ec7-aae0-584d0b0e3bad

Scrolling to the members list


Figure 1

The label "time" seems to have a bright, yellow background instead of white or transparent. Please fix.

Wow you have impressive eyesight, or my display is terrible, but I wouldn't have noticed that!


Feature Request: Add confetti support

Can you add confetti  component, such as：
https://magicui.design/docs/components/confetti

Hi @rahul-vashishtha I'm intrested to work on this new component. Can you assign me if possible.
If not I'm intrested to contribute even new enhancements.

Hi @rahul-vashishtha I'm intrested to work on this new component. Can you assign me if possible.
If not I'm intrested to contribute even new enhancements.

Thanks @sivareddyuppathi . I'll assign this to you.

@rahul-vashishtha @sivareddyuppathi feel free to assign me as an additional reviewer for the PR if you like 🙈

@rahul-vashishtha @sivareddyuppathi feel free to assign me as an additional reviewer for the PR if you like 🙈

Sure. Once PR is ready, I'll assign you as the reviewer

Added component in commit
https://github.com/unovue/inspira-ui/commit/a53df71a187cf822775a59a87870e7e1489d34b4

@rahul-vashishtha so this is merged and released already?

@rahul-vashishtha so this is merged and released already?

Yes, this component was being requested by multiple users, so I developed it and released it.

But I choosen the diffrent path of implimentation and completed of all kinds of confetti buttons and curently implimenting Confetti container, insted of doing the same way how it is in MagicUI adapted to more Vue3 Composables pattern andd added the wraper to confetti library insted of using in directly in components.
Thank you for assigned to me @rahul-vashishtha. and If I implimented any I'll assign to you @WaldemarEnns.
If still you wan to see my way of implimemtation I will rise the PR.
As i'm not aware of urgency I planed to rise the PR by this Sunday.
I'll try next time to complete qucikley if any.

But I choosen the diffrent path of implimentation and completed of all kinds of confetti buttons and curently implimenting Confetti container, insted of doing the same way how it is in MagicUI adapted to more Vue3 Composables pattern andd added the wraper to confetti library insted of using in directly in components.
Thank you for assigned to me @rahul-vashishtha. and If I implimented any I'll assign to you @WaldemarEnns.
If still you wan to see my way of implimemtation I will rise the PR.
As i'm not aware of urgency I planed to rise the PR by this Sunday.
I'll try next time to complete qucikley if any.

You can add this component also as Confetti alternative. If that seems good, I'll merge it


How "bleeding edge" is this project?

Robert
I love the new syntax you show in this project but I'm curious how "bleeding edge" / "breaking" this is today. I'm asking as someone who is looking to pull this in / use it / not have a team of devs blow up on me when it stops working in 30 days :)
In all seriousness - I'll be following this personally regardless but I'm asking the question above to understand if I should pull it in at work (or wait a bit to see it mature).
Thanks for such a great project @rwjblue  !!!

I'm wondering the same thing. I'd love to start using the new syntax unless this is still highly experimental.

Decorators are here to stay. They're a native es7 feature. Aurelia is already using them.

It is pretty bleeding edge. Decorators are here to stay, but we may have slight adjustments in this project as we use it more. Only way we can learn what those are though are to get it into the wild.

Agreed and agreed :)
Just glad to see you guys pushing ahead - love this stuff myself :D