issue_334 Better direction choices based on angle

Corrects unexpected walking angles seen in the previous commit based off my testing.
Also preferences more animation angles so it should handle 8, 4 or 2 direction animations.

@stickgrinder I agree that yours is more readable. I was trying to optimise it from (worst case) 16 if statements down to 4, but happy to prioritise readability / maintainability. Modified accordingly.
I made some changes to my previous commit to my fallback arrays, I believe they are correct now.
I think there's some differences in my preference choices, and also some bugs in the original code.
I've only traced out the first section of the original code, this may be the only bug, or the might be more.
Below is the code from L765 to L770 with the variables replaced by the values to make it easier to read:
https://github.com/carenalgas/popochiu/commit/80c645999e14ec7d2960dbe716b3fc70aa40e6c2#diff-099209ce75040aaa85afb7f28211f97fbbaa3499bb39c0e9dae1b98df6705da7R765
	elif angle >= (22.5) and angle < (67.5):
		_looking_dir = Looking.DOWN_RIGHT
		if angle >= (45) and angle < (135):
			_animation_suffixes = ['_dr', '_r', '_dl', '_l']
		else:
			_animation_suffixes = ['_dr', '_dl', '_d']

This check "if angle >= (45) and angle < (135):" will work, but the 135 is the wrong value. If anything it should've been 67.5 - but only the >=45 check is actually needed.
Then in relation to my angle preferences vs yours:
For an angle of 60 degrees, the original code shown above will preference R if DR is unavailable (['_dr', '_r', '_dl', '_l']). 60 is closer to 90 so it should prefer down.

Additionally in relation to : https://github.com/carenalgas/popochiu/issues/340
As a test I added this code after the rad_to_deg angle is calculated:
        # Top of file has "var _last_direction_faced:int = -1"
        ########################################

	var direction_faced = int(angle/45)
	if direction_faced == _last_direction_faced:
		return
	_last_direction_faced = direction_faced

It fixes the code having to constantly reevaluate the facing direction, but I believe the whole walking subsystem should likely be optimised (see issue 340).
If you don't agree with 340, but think the above code is helpful, I can add it to the PR.

This check "if angle >= (45) and angle < (135):" will work, but the 135 is the wrong value. If anything it should've been 67.5 - but only the >=45 check is actually needed.

You are right about that being a problem; the original code was very hard to read and it's way better now anyway, thanks!

Then in relation to my angle preferences vs yours: For an angle of 60 degrees, the original code shown above will preference R if DR is unavailable (['_dr', '_r', '_dl', '_l']). 60 is closer to 90 so it should prefer down.

That's ok to me! Being a matter of preferences, the best option is trying it in the wild and see if someone raise some complaints :) If not, your version just works :magic_wand:
About #340, I totally agree. That code is very legacy and my personal take is that it grew over time and has never been re-evaluated because to a modern machine that's trivial stuff anyway. BUT that's not a good reason to keep inefficiency in code, so: great catch.
What I would do, if you agree is: review and merge this PR as it is, if you consider it ready, and ask you to open a dedicated one for #340 with all the optimization you mentioned.
What do you think?

Happy for you to merge the code as is if you're happy with it. It has the history if you want this discussion to be able to refer back to how it developed.
If you want to keep the commits down though let me know and i will squash it to a single commit.

No need to squash manually, gh can do this during the merge.
This discussion makes enough sense tracing back the most important parts :) Thanks!


Make the package not fail tests

Probably an easy fix

The solution in the earlier mentioned comment has been implemented and been added to the test/req.txt, workflow-test branch is now passing all lints and tests. A merge should be considered

Created dev branch, the changes have been pulled into it form the test-workflow


[Honeywell FX020] Failed to Communicate

I'm trying to use this component with my Honeywell Galaxy Flex 20 (FX020), firmware version 3.0.2.
Version of the custom_component and HA setup (version, OS, etc)
HA: 0.116.4
Component: master, but also tested beta
Configuration
Not relevant.
Describe the bug
The alarm system also reports that it can't communicate with the server (FTC). And the component also got a task exception that it can't read the test message, I think.
Debug log
2020-10-28 19:14:25 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/pysiaalarm/aio/sia_server.py", line 50, in handle_line
    line = str.strip(data.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 2: invalid start byte

Hi @Alexwijn I don't know what is going on there, what you could try (if you know a bit of python) is to run the underlying package (https://github.com/eavanvalkenburg/pysiaalarm) code and see what kind of messages are being sent by the alarm, before all the parsing happens, the protocol used is quite specific, so if they implemented it slightly differently then that might cause issues!

I also noticed that my encryption was turned on. I turned it off and I'm receiving this:
bytearray(b'D#0192\x92')
And the exception:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x92 in position 6: ordinal not in range(128)
I don't know anything about the SIA protocol, but I imagine the received line should be a lot longer than that.

@Alexwijn give the latest a try, I changed something in the underlying package that might fix this!

Thanks for the update. Got the following error now:
Last line could not be parsed as a SIAEvent, line was: D#0192

so it seems there is something else going on with your alarm systems, normally a line is a lot longer, do you have some documentation about the alarm system?

No, this alarm system came pre-installed when I moved into this house. Did you find out anything out yet?

I just noticed but the numbers 0192 are the first numbers of the account id. My account id is six digits long.

Also note that the docs give me an example of how the account Id could look like, eg. AAA. But I can only enter numbers not letters.

@Alexwijn do you mean you can only enter numbers in your alarm? that should work, but you might not to translate that number to a base16 number (which includes A-E), like here: https://www.rapidtables.com/convert/number/decimal-to-hex.html

I'm trying to get this working with Honeywell Flex100 centrale.
2022-04-25 15:17:47 DEBUG (MainThread) [pysiaalarm.base_server] Incoming line: F#123456
2022-04-25 15:17:47 WARNING (MainThread) [pysiaalarm.base_server] Last line could not be parsed succesfully. Error message: No matches found, event was not a SIA or ADM Spec event, line was: %s. Line: F#123456
where 123456 is the account number defined on the Galaxy.
The company that installed the system confirmed that SIA protocol was selected for communication.
Anything I can do at my end to debug this ?

@eavanvalkenburg, I've been able to tset further and gather some network traces of communications between my Flex 100 and another app.
One communication exchange looks like follow
#123456
Nti10:20/id001/CG
A DEELB.ING
0
Each of the above lines were send separately, and required acknowledgement.
First line is the account  number, second line matches a SIA event block, third line is some additional ASCII text, last line is 0 or end of communication.
This messages correspond with the sia_content_regex, but does not get matched.
At least for the account line, because the initial 'F' is included in the pattern matching.
For your information, I've used https://github.com/dklemm/FlexSIA2MQTT to generate the network traces.
Any idea what is going wrong here ?

@compunix-be  thank you so much for this effort! It indeed looks like it is spreading things out over multiple messages so this gives me a starting point to see if I can build something for this!

@eavanvalkenburg did you had time to research this ? If you want me to debug something, let me know.


Lints

Description of changes:
Updating the version of the linter we use, and switching over to using it's github actioin
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #303 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #303   +/-   ##
=======================================
  Coverage   74.60%   74.60%
=======================================
  Files          13       13
  Lines         638      638
=======================================
  Hits          476      476
  Misses        123      123
  Partials       39       39

Impacted Files
Coverage Δ

lambda/function.go
67.74% <ø> (ø)

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 26aa364...067aa19. Read the comment docs.


Feature Request: Outline Settings

Please allow hiding or showing of different outline elements depending on the language.
For example in PHP it is useful to see:

Includes/Requires
Namespace declarations
Class definition
Trait declarations
Method defines

But I want to turn off listing method parameters as it is cluttering the outline view without providing much value.
Here's a screenshot to show how cluttered it can get.

We should also be able to move outline view. It is currently extremely annoying that it is using up space from the file tree view.
Please allow moving Outline view to to the right.
It should also potentially be possible to replace minimap with outline view (or show both).

Thank You!

I would also really love to be able to filter the elements by type and (then) by name.

SOLVED: I was using the Extension "PHP Intellephense", I disabled this and installed "PHP IntelliSense" and all of those properties disappeared, now I see a list of functions!
The automatic code completion is also less invasive, another benefit.

/duplicate of #53034


[Mobile] Errors with photo_view-0.11.1 and flutter_colorpicker-0.4.0

My issue is about [Mobile]
I have tried running example directory successfully before creating an issue here.
I tried creating a basic project and I got errors related to photo_view and flutter_colorpicker plugins. I also got the same errors while building the example project for Android. The errors were the following:
bruno@keyblade:~/Desarrollo/notis/notisclient/flutter-quill/example$ flutter build apk
Running "flutter pub get" in example...                             7,8s

💪 Building with sound null safety 💪

../../../../SDK/flutter/.pub-cache/hosted/pub.dartlang.org/photo_view-0.11.1/lib/src/core/photo_view_gesture_detector.dart:106:29: Error: The argument type 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'.
 - 'PointerEvent' is from 'package:flutter/src/gestures/events.dart' ('../../../../SDK/flutter/packages/flutter/lib/src/gestures/events.dart').
 - 'PointerDownEvent' is from 'package:flutter/src/gestures/events.dart' ('../../../../SDK/flutter/packages/flutter/lib/src/gestures/events.dart').
    super.addAllowedPointer(event);
                            ^
../../../../SDK/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_colorpicker-0.4.0/lib/src/hsv_picker.dart:731:29: Error: The argument type 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'.
 - 'PointerEvent' is from 'package:flutter/src/gestures/events.dart' ('../../../../SDK/flutter/packages/flutter/lib/src/gestures/events.dart').
 - 'PointerDownEvent' is from 'package:flutter/src/gestures/events.dart' ('../../../../SDK/flutter/packages/flutter/lib/src/gestures/events.dart').
    super.addAllowedPointer(event);
                            ^

FAILURE: Build failed with an exception.

* Where:
Script '/home/bruno/Desarrollo/SDK/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1052

* What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.
> Process 'command '/home/bruno/Desarrollo/SDK/flutter/bin/flutter'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 48s
Running Gradle task 'assembleRelease'...                          109,0s
Gradle task assembleRelease failed with exit code 1

I'm on the master branch and this is my pubspec.yaml.
name: notisclient
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_quill: ^1.6.1

dev_dependencies:
  flutter_test:
    sdk: flutter

  # The "flutter_lints" package below contains a set of recommended lints to
  # encourage good coding practices. The lint set provided by the package is
  # activated in the `analysis_options.yaml` file located at the root of your
  # package. See that file for information about deactivating specific lint
  # rules and activating additional ones.
  # flutter_lints: ^1.0.0

flutter:
  uses-material-design: true
  assets:
    - assets/

The error is still present.

There is a pull request to bump the version.
We will merge it when stable channel is upgraded


Re-evaluate IV/Tag Handling for file encryption functionality

PR #116 adds file encryption/decryption functionality. The initial approach is to save the IV and Tag information as separate files. This may or may not be the appropriate longer-term approach. The intent of this issue is a reminder that we re-evaluate that approach within the context of some intended applications.

This issue has been migrated to Issue #124.


[BUG-7554] Fix database lose data in standalone

close #7554

Codecov Report

Merging #7556 (1dfe6d0) into dev (b2a3786) will decrease coverage by 0.12%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #7556      +/-   ##
============================================
- Coverage     41.38%   41.26%   -0.13%
+ Complexity     3682     3670      -12
============================================
  Files           641      641
  Lines         26467    26469       +2
  Branches       2961     2961
============================================
- Hits          10954    10922      -32
- Misses        14485    14519      +34
  Partials       1028     1028

Impacted Files
Coverage Δ

...he/dolphinscheduler/common/enums/SqoopJobType.java
0.00% <0.00%> (-88.89%)
:arrow_down:

...er/master/processor/queue/TaskResponseService.java
50.00% <0.00%> (-18.19%)
:arrow_down:

...rver/master/processor/queue/TaskResponseEvent.java
93.54% <0.00%> (-6.46%)
:arrow_down:

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...e/dolphinscheduler/api/aspect/AccessLogAspect.java
78.57% <0.00%> (-2.39%)
:arrow_down:

...inscheduler/common/task/sqoop/SqoopParameters.java
74.00% <0.00%> (-2.00%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...er/server/master/runner/WorkflowExecuteThread.java
10.01% <0.00%> (-0.03%)
:arrow_down:

.../server/master/runner/StateWheelExecuteThread.java
0.81% <0.00%> (ø)

Continue to review full report at Codecov.

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

This PR causes all E2E to failed, and the standalone server cannot be started locally, I'm checking why and if there is no idea, we have to revert this for now


Add 10k cycles/frame framerate option

I wanted to run at 10000 cycles/frame and got annoyed editing the page in chrome dev tools to do it. 10000 doesn't seem to be too big of a strain on my PC, but maybe you wanted to keep things limited to 1000?

What are you doing that justifies requiring a 10,000 cycles/frame emulation rate?
1000 cycles/frame seemed to me to be a reasonable upper limit which provides creative constraints and respects the resources of mobile devices or slower PCs.

Procedural generation of levels for a roguelike is my use case. Of course, it doesn't require 10000 cycles/frame, it just makes level loading faster. It currently takes around a minute at 1000 cycles/frame, which is faster than some commercial games from the 90s/2000s, so I don't feel like it is unreasonable. A minute does feel really long by modern standards, but maybe a long load time could be considered part of the charm.
I figured you had chosen 1000 as the max for the reasons you listed, but I wanted to see what you thought about 10000.
I've been doing my testing during development at 100k cycles/frame, but I know that is getting into ridiculous territory. ;)

Many people who use Octo simply crank it up to the highest speed available and then never consider lowering the speed; if a higher speed were available, I would expect the load on the Octojam gallery page would rise by an order of magnitude overnight, even if most of those cycles were being devoured by a framerate sync loop. For the time being I'd rather keep the soft limits we have right now.
I would be happy to take a look at your program as it stands right now; perhaps there's some low-hanging fruit for speeding it up?

Thanks for taking time to consider the change.
There are several spots that I know could be improved, including some code that is called quite often, but I'm trying to focus on getting a few more features in before I go back to improve things.
I was planning on keeping things mostly secret until the end of OctoJam, but I suppose I should just post what I have now and maybe pick up some contributors. I'll post some stuff on SA forums a little later.


[html5] tilesheet.drawTiles is only drawing in the area initially visible in the stage

If I use the tilesheet.drawTiles to draw a sprite bigger than the stage, only the area initially visible on the stage is drawn. The rest of the sprite has nothing drawn.

I'm going to go ahead and close this, since this would be an OpenFL issue, but please feel free to make a new issue on the OpenFL tracker, and please share the use case for this -- is this because the stage was resized? Thank you! :smile:


Tags

Override the troposphere Tags object so that KVPs are deduplicated - right side takes precedence; a = b(x='foo') + c(x='bar'); a == (x='bar')
Added Tags automation and inheritance; Tags defined at VPC level will be applied to all objects that support tags in the Template. Tags on child objects can be overridden.
There's some extra doc in the README to show how this works, and an example of working with tags in examples.

Added extra test coverage in


[API] Get a single commit va Ref

close #10089
GET /repos/:owner/:repo/commits/:ref

GH reference: https://developer.github.com/v3/repos/commits/#get-a-single-commit

@lunny you could use GetSingleCommitBySHA for Ref too since the internal function doesnt care ...
but to make you API more similar to GitHub's one ... I created the api point

@zeripath @lafriks @guillep2k so the summary of the discusion is ...
we can pass the string as ref as it is.
and if we restrict GetSingleCommitBySHA this will be a breaking change in API :(

This will aid with a Drone feature that is not implemented for Gitea: https://github.com/drone/go-scm/pull/50

Codecov Report

Merging #10915 into master will decrease coverage by 0.02%.
The diff coverage is 16.66%.

@@            Coverage Diff             @@
##           master   #10915      +/-   ##
==========================================
- Coverage   43.61%   43.59%   -0.03%
==========================================
  Files         597      597
  Lines       83923    83965      +42
==========================================
- Hits        36602    36601       -1
- Misses      42809    42850      +41
- Partials     4512     4514       +2

Impacted Files
Coverage Δ

modules/convert/convert.go
74.84% <ø> (-0.08%)
:arrow_down:

routers/api/v1/repo/commits.go
66.66% <13.04%> (-10.48%)
:arrow_down:

routers/api/v1/api.go
76.37% <100.00%> (ø)

services/pull/check.go
50.00% <0.00%> (-3.05%)
:arrow_down:

modules/git/command.go
86.95% <0.00%> (-2.61%)
:arrow_down:

services/pull/pull.go
34.70% <0.00%> (-1.18%)
:arrow_down:

models/gpg_key.go
53.42% <0.00%> (-0.53%)
:arrow_down:

modules/queue/workerpool.go
58.00% <0.00%> (+1.06%)
:arrow_up:

modules/process/manager.go
78.31% <0.00%> (+3.61%)
:arrow_up:

modules/indexer/stats/db.go
50.00% <0.00%> (+9.37%)
:arrow_up:

... and 1 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 6cf71ee...6091661. Read the comment docs.

I maintain my opinion that some sanitation should be performed 🙄.  Commits are hex strings from 4 (min) to 40 (max) chars, all lower-case (regexp: ^[0-9a-f]{4,40}$). As for other references (in the other endpoint), I've listed a couple of cases that should be rejected as git itself rejected them when I tried them from the command line.

THIS is ready to review now

ping lgtm

ready to merge :rocket:

Breaking functionality resolved in #11368


Java: Review docs and samples

We will review docs and samples prior to releasing beta.1 to Maven Central.

@brunoborges if you don't have time to do this review I will ask the SK team to help us out here as we ramp up to our v1.0 RC1.

Closing as we can review as a team when we hit RC1


4 accordion style grade display

First time writing in JS and using React so if there's anything you think I could change to be better then I would love to hear it please!

I made a couple of edits (mostly just syntax and making the nested components into stand-alone components with their own files).
It looks really good though!  I think the only thing that I would mention is that it is really hard to see the boundaries of the accordion sections.  It also expands slightly up as well when expanding the accordion which looks kinda off for the topmost accordion.
As far as the implementation goes though, my only comment would be that I'm worried about the filtering method -- I know Dan wants us to make it as universal as possible, so I think he may object to things like filtering the exams by containing the letter 'i' (super creative btw).
Maybe we can brainstorm another way to filter them at some point.  My initial thought was to change the spreadsheet to include the type of assignment and we can pull that in as well using the API.  Let me know your thoughts though!
Oh and congrats on your first PR :)

I was worried that I was putting too much in one file and I agree, I hated filtering with something so specific but for the sake of having a fully functional view I went with it. I was also hoping we could make some changes to the spreadsheet! I'm not exactly sure what it looks like right now, I just made some assumptions based on how the data was being used with the DataGrid, but yes adding a more universal tag like "Exams" for all the midterms/finals would be a great help.

Minimizing file and creating new components
Yeah no worries at all, I'd say generally, if you are making a new component, it is good to define it as it's own file.  This allows for a bit more clarity in the file structure, but mainly ensures that the passage of data is done in a coherent way; for example, you will see that I changed up the passage of the props for the components that you were working on.  With them all in the same file, we were referencing the nonlocal gradeData from child components which ideally we would do by passing them through props.  It also ensures that all of the data handling is done in one spot which is important for properly rendering the components.
Filtering
I spoke with Dan and he said that it is totally okay for us to make another row dedicated to saying what type of assignment it is so we don't have to filter by the actual assignment.  Again, props to your creativity in doing that though.  He is also going to send me over over his live data at some point soon so we can actually have a look at what his spreadsheet looks like and configure it (ideally) to his sheet to the furthest extent possible.  Also, I just shared the spreadsheet that this is based on with you so you can get a better idea of what it looks like.


Unexpected Type_Error/Method unknown on project startup

Encountering regularly in a project a missing method Panic such as:

Surprisingly, when we refresh the project, it disappears. Similarly, if (IR) caches for the project are there, the project will also continue to load without hiccups.

Turns out that In_Any is first type checked with expected Columns_To_Keep type and next with Match_Colums. The later is obviously wrong and leads to failures.

Update: looks like the last argument in .union node2 ..In_Any ..By_Name application is actually treated as cached and unresolved constructor ..By_Name is not even resolved. Instead, instrumentation identifies that node as already cached and returns In_Any for ..By_Name, which is clearly wrong.

One more info:
In an application of any1.union node2 ..In_Any ..By_Name we have to resolve UnresolvedConstructor for both arguments using the type information. Arguments/closures of ..In_Any and ..By_Name will both construct an application on the fly https://github.com/enso-org/enso/blob/develop/engine/runtime/src/main/java/org/enso/interpreter/runtime/callable/UnresolvedConstructor.java#L173.
The problem is that such applications will get the same UUID, as per search logic. So when ..In_Any is resolved and cached, the next argument re-uses that value from the cache i.e. ..By_Name resolution is skipped and instrumentation immediately returns a cached value, Columns_To_Keep.In_Any.
Pinging @JaroslavTulach, as he wrote that logic initially.
Not yet sure, why on refresh it somehow manages to not report type failures.

Thanks a lot for the detailed investigation. Yes, we have to improve the search logic.
That means the issue goes towards me (unless you want to have some Truffle fun).

That means the issue goes towards me (unless you want to have some Truffle fun).

Don't take all the fun to yourself. I can tackle it.

The reason why initially we get the type error and later it disappears is because of... ID maps. Initially, ..In_Any or ..By_Name have no UUID. With empty location it uses the search path to discover the first parent application and then ID/caching conflicts happen, as described above.
Later, ID map will arrive from GUI and type error disappears. Unfortunately it looks like the resulting Panic persists causing method not found problems.
I would claim that even the first type error should not be happen/be displayed to the user as it causes confusion.

even the first type error should not be happen(ing)

No, the error shall not be happening regardless of UUIDs.
Does the error happen in CLI?
Can it happen in CLI with runtime-execution-instrument enabled?

it uses the search path to discover the first parent application

What is the stacktrace when the path is being discovered? By whom?

Does the error happen in CLI? Can it happen in CLI with runtime-execution-instrument enabled?

No, because there are no UUIDs.

it uses the search path to discover the first parent application

What is the stacktrace when the path is being discovered? By whom? Who needs it?

That's something I was hoping you will have the answer since you added that search-via-parent path. I'm guessing you wanted to cache the results? No UUID no caching.

Does the error happen in CLI? Can it happen in CLI with runtime-execution-instrument enabled?

No, because there are no UUIDs.

You can add UUID and used them even from CLI. Demo is in Instrumentor_Spec.enso.

it uses the search path to discover the first parent application

What is the stacktrace when the path is being discovered? By whom? Who needs it?

That's something I was hoping you will have the answer since you added that search-via-parent path.

I can take over and debug the problem. Then I am sure I will see the stacktrace. Or you just paste it here to remind me where is the code we are talking about!


Added meeting list storage into DG

Codecov Report
Base: 57.68% // Head: 57.68% // No change to project coverage :thumbsup:

Coverage data is based on head (e74f577) compared to base (d5afcf3).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #54   +/-   ##
=========================================
  Coverage     57.68%   57.68%
  Complexity      470      470
=========================================
  Files           102      102
  Lines          1886     1886
  Branches        199      199
=========================================
  Hits           1088     1088
  Misses          753      753
  Partials         45       45

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add NEAR search operator for Simple Search

Problem Description:
The functionality for the NEAR search operator does not currently exist in SS and AS. This is a priority and of interest to be added to the FE. (By Core team).
Expected Behavior/Solution:
The Near search operator will allow users to search for a certain word that is NEAR another word within a certain amount of word distances. (TBD)
Based on UX/BA 8/28 meeting -
The ML documentation states the operator of NEAR defaults to search for the first term within 10 terms of the second term.
ex: Cat NEAR Vet -> will look for documents which have CAT within 10 terms from VET.
It also mentions term amount options such as searching within 15 and 30 terms. This can be done by NEAR/[Number] such as NEAR/30. This functionality should be allowed in Simple Search/Advanced Search for consistency.
Requirements:
Simple Search:

the syntax: term1 NEAR term2 will populate search results.
if NEAR is not all capitalized, LUX will assume it as a word rather than the NEAR syntax.
search results will include all results which contain term 1 within 10 terms from the second term.
re-ordering of the same search terms will produce the same amount of results and records.
NEAR/[number] will be available for Simple Search.

Near/15 will search for 15 terms within the first and second term. and so on for Near/20, Near/25, Near/30

as Near/[Number] increases, the result search will increase.

Needed for promotion:
If an item on the list is not needed, it should be crossed off but not removed.

[ ] Wireframe/Mockup - Mike
[ ] Committee discussions - Sarah
[ ] Feasibility/Team discussion - Sarah
[ ] Backend requirements - TBD
[ ] Frontend requirements- TBD
[ ] Are new regression tests required for QA - Amy
[ ] Questions
List of questions for discussions. Answers should be documented within the issue.

UAT/LUX Examples:
Simple Search:
Symposium NEAR cats will return the two records:

https://lux.collections.yale.edu/view/activity/7e496d72-359f-4737-ae3e-6267e6e5de4d
https://lux.collections.yale.edu/view/activity/b19a72b5-1287-4c6e-b6b0-203f386c1252

Dependencies/Blocks:

Blocking: https://github.com/project-lux/lux-marklogic/issues/20

Related Github Issues:

Advanced Search: https://github.com/project-lux/lux-frontend/issues/382

Related links:

ML functionality of Near: https://docs.marklogic.com/guide/search-dev/string-query
ONear: https://awario.com/help/boolean-search/boolean-syntax-and-operators/#:~:text=Near%2Fn specifies the closeness,t matter for this operator.
Subqueries with Near: https://images.webofknowledge.com/WOKRS530AR16/help/WOS/hs_search_operators.html

Wireframe/Mockup:
Current:

Expected:
NEAR **more results may show than what is listed below

As I was trying to write the AS requirements, I noticed there may be two ways to approach this... I did a rough mockup of the two options I had pictured it as.

Near as a single field within NAME
Near as a single field.

@dcheather - is this something you pictured as well for AS?

Some questions to consider:

Are we allowing NEAR/0? this would allow users to search words which are next to each other.
Is NEAR ordered or unordered? From articles I have read, there is another term ONEAR which considers the order. (unsure if ML has this)
Are we allowing users to subquery for NEAR? the same way and/ or works?

example (Andy NEAR Warhol) NEAR lights (to search for records that have andy near warhol and also near lights.

what is the cap on number options for NEAR? should it be 0,10.15.20,25,30? Such that an instance of andy near/40 warhol will capture near/40 as text rather than the syntax.

From UX/BA Meeting 9/9:

This issue will need to be brought to UAT to discuss rescoping to only include simple search. Future advanced search issue will need to be made.
Proposal to have the simple search syntax in Simple Search work in Advanced Search name field rather than creating a new field for this or a field within gearbox.
All questions listed above by me should not be considered if it is not listed within the ML functionality.

I am having a hard time finding good UAT links for this. Is it OK if we can use broken links such as these:
cat NEAR symposium & Cat NEAR/15 Symposium. Once it is implemented we can review the search results populated to confirm they are within 10 or 15 words.

UAT 9/27:

OK with moving this to backlog and creating UAT examples as development continues.


Validate support containerd containers

The task is divided from #1157

QA instructions:
Install nerdctl
I followed the instructions pointed in Full section there.

Test with nerdctl

/ Start Edge container
docker run --privileged -d -e CRIBL_EDGE=1 -p 9420:9420 -v /var/run/appscope:/var/run/appscope -v /var/run/docker.sock:/var/run/docker.sock -v /:/hostfs:ro --restart unless-stopped --name cribl-edge cribl/cribl:next

/ Copy the locally build scope (from this branch)
docker cp ./conf/example_filter.yml cribl-edge:/opt/cribl/bin
docker exec --user root cribl-edge chown root:root /opt/cribl/bin/scope

/ start redis container
sudo nerdctl run -d -v /var/run/appscope/:/var/run/appscope/ --name nerdctl_root_redis redis:7.0.5

// go to Edge and configure the AppScope with filter containing the allow entry for `redis-server`
// Save source wait ~3 minutes and see that the events will appear in Live data -> capture

Test with ctr
Similar instructions as above but use the following command to run a container

sudo ctr run -d --mount type=bind,src=/var/run/appscope/,dst=/var/run/appscope/,options=rbind:rw docker.io/library/redis:alpine ctr_redis

TODO:

validate lxc container and attach
check rootless support


Automation: Cluster and Project Members shows "loading..." next to principle name

Fixes #8804

Adds e2e tests

@scures added you as a reviewer since it's a spinoff of PR 9054. You should review 9054 first 🙏  Thank you


Support creation of Maven Projects

Currently, the feature "Create Maven Project" is part of the Maven extension.
It is confusing to Java developers, once they have both extensions installed, to have two different "Create Project" actions in the command pallet.
I suggest that this dependency becomes responsible for creating projects (Eclipse, Maven, and Gradle).
Also, see #248

Yes, that's exactly what we want to do in the near future.
One thing I'm considering is that, should we create eclipse project(current behavior) or not? Personally I prefer to use standalone project instead of eclipse, since creating eclipse project in VS Code looks strange, and the management style of standalone project is more like VS Code way.

PR for hiding Maven command in palette: https://github.com/microsoft/vscode-maven/pull/488


The user principal with name 'AosPrincipalUser' is invalid

On "LocalAgentCLI.exe Install"  command anyone? (19 step)

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

ID: d86d2857-6199-f3cb-208b-db4e1cd9f8e2
Version Independent ID: d425ad9e-6c01-6145-dad5-2af32ffaaff0
Content: Troubleshoot on-premises deployments - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/deployment/troubleshoot-on-prem.md
Service: dynamics-ax-platform
GitHub Login: @sarvanisathish
Microsoft Alias: sarvanis

Can you provide more information about your question. Thanks!

Hi @tonyafehr I discovered that in this environment the svc-LocalAgent account of the domain account type did not exist. Only the svc-LocalAgent account of type GMSA. The strangest thing is that the installation manual prompts you to create this account name with the GMSA type and not the domain account. I created the domain account svc-LocalAgent and another account of type GMSA with the name gmsaLocalAgent and I had no more problems.


Install libraries required by pacman in Docker image

⚠ Do not accept this PR until updated pacman is in BASE_DOCKER_IMAGE!
After https://github.com/pspdev/psptoolchain-extra/pull/16 is accepted, pacman should be linked against libgpgme.so.11 and libcurl.so.4. This patch installs the packages containing these libraries in the Docker container.

Also, I just drew this simple diagram to understand which docker image is based on which:

Thanks for updating, I've merged this now!


[Issue40]Missing code of conduct file

your repo was missing an important code of conduct file which has now been created by proper instructions for code of conduct to avoid any unnecessary interactions.

@dwivedishrey @PriyaGhosal merge it and assign it level 2 if possible.
It was great working with you guys. Go well, CHEERS!!!!!!

@dwivedishrey label it so it would count for my contribution. Thanks!!


Update all Icon components to use consts and add titles

#555 switches the Icon component to support constants rather than strings.
Additionally, it's worth looking at whether additional icons should have title properties while doing this.

Icons should definitely have titles, whoever does this, please add them if they are not already there.

@seanyesmunt find any outstanding find/replace and close

All icons use constants now.


Operation for a task that needs to be kept alive?

I'm looking for way to adopt both this framework and Socket.io for IOs. When my app is running I plan on using operations to observe reachability and network traffic for other REST calls, but I'm stumped on the best way to build an operation that would allow for me to connect and update from a socket. Here is my code so far... sorry for the mess.

public class SocketIOOperation: Operation {
    // Data events that I'm aware of.
    enum WebEvents: String {
        case dataUpdate
        case connect
        case disconnect
        case authorize
    }
    // Header strings
    struct SocketHeader {
        static let Client = "client"
        static let Secret = "secret"
    }

    // Header values (strings)
    struct SocketValue {
        static let ClientMobile = "mobile"
    }

    public typealias CompletionBlockType = JSON -> Void

    private let socket: SocketIOClient
    private let completion: CompletionBlockType

    /// - returns: the CLLocation if available
    public private(set) var socketData: JSON = [:]

    public var result: JSON? {
        return socketData
    }

    public init(socketClient socket: SocketIOClient, apiSecret: String, completion: CompletionBlockType) {
        self.socket = socket
        self.completion = completion
        super.init()
        let encodedSecret = generateAuthorizationJSON(withApiSecretString: apiSecret)

        socket.onAny({ (anyEvent) in
             print("\(#function) - onAny: \(anyEvent.event) with items.count: \(anyEvent.items?.count)")

            let event = anyEvent.event
            let items = anyEvent.items

            switch event {

            case WebEvents.connect.rawValue:
                socket.emit(WebEvents.authorize.rawValue, encodedSecret)

            case WebEvents.dataUpdate.rawValue:
                if !self.finished, let data = items?.firstObject as? [String: AnyObject] {
                    let resultToSend = (JSON(data), event)
                    dispatch_async(Queue.Main.queue) { [weak self] in
                        if let weakSelf = self {
                            if !weakSelf.finished {
                               // weakSelf.stopLocationUpdates()
                                weakSelf.socketData = resultToSend.0
                                weakSelf.completion(resultToSend.0)

// Should I not call finish?
                             weakSelf.finish()
                            }
                        }
                    }

                } else {
                    dispatch_async(Queue.Main.queue) { [weak self] in
                        if let weakSelf = self {
                            weakSelf.finish()
                        }
                    }

                }

            case WebEvents.disconnect.rawValue:
                dispatch_async(Queue.Main.queue) { [weak self] in
                    if let weakSelf = self {
                        weakSelf.finish()
                    }
                }

            default:
                print(event)
                print("Unhandled event (\(event)) was sent with items:\(items)")
            }
        })

        name = "Socket Connection"

    }

    override public func execute() {
        socket.connect()
    }

    deinit {
        socket.disconnect()
    }

    private func generateAuthorizationJSON(withApiSecretString apiSecret: String) -> AnyObject {
        // Turn the the authorization dictionary into a JSON object.

        var json = JSON([SocketHeader.Client : JSON(SocketValue.ClientMobile), SocketHeader.Secret: JSON(apiSecret.sha1())])

        return json.object
    }

Hi @someoneAnyone - really interesting ideas. Not entirely sure though if wrapping up access on a persistent socket connection in an operation makes much sense... but, I've got some ideas for you.
First of all, have a look into GroupOperation, which has its own private queue. I would suggest that you need to have a subclass of one of these.
Inside a GroupOperation you can add "child" operations which can be used to effectively keep the group operation alive. There is also RepeatedOperation which would allow you to say, ping your socket (a redundant concept, I know) and therefore keep the operation, and socket alive.
So, what I would suggest, is that your GroupOperation subclass owns your socket connection, and it has an initial child operation which starts the socket connection, then, you basically want to add a RepeatedOperation instance as a child to keep the operation/socket alive.
When you receive data on your socket, you should basically handle this inside an operation, which you add as a child to your group.
An errors received from the socket can then finish the group with errors.
Make sense? Check out the header docs for GroupOperation and RepeatedOperation respectively.
You can create a repeated operation a bit like this:
let repeating = RepeatedOperation(strategy: .Fixed(10)) { MyOperation() }

which will repeat MyOperation every 10 seconds. For your use case, this operation might be some housekeeping which you need to perform, but could also just be an empty operation which does nothing.

Interesting. I'll look through the documentation. Thanks for the quick response. If you have any other ideas please let me know.

Of course, another option would be to create a regular class, which owns a queue, and the socket connection, and then callbacks from the socket add Operation subclasses to read or write from the socket.

Just throwing some code down... thoughts?
//
//  SocketQueue.swift
//  Nightscouter
//
//  Created by Peter Ina on 5/6/16.
//  Copyright © 2016 Nothingonline. All rights reserved.
//

import Foundation
import Operations
import SocketIOClientSwift
import NightscouterKit
import SwiftyJSON

public class SocketManager {

    // Data events that I'm aware of.
    enum WebEvents: String {
        case dataUpdate
        case connect
        case disconnect
        case authorize
    }
    // Header strings
    struct SocketHeader {
        static let Client = "client"
        static let Secret = "secret"
    }

    // Header values (strings)
    struct SocketValue {
        static let ClientMobile = "mobile"
    }

    private let queue = OperationQueue()

    private var sockets: [SocketIOClient] = []

    public static let sharedInstance = SocketManager()

    public func createSocket(forSite site: Site) {

        let siteSocket = SocketIOClient(socketURL: site.url)

        let encodedSecret = generateAuthorizationJSON(withApiSecretString: site.apiSecret)

        //let socketBlock = BlockOperation {
        siteSocket.onAny({ (anyEvent) in
            print("\(#function) - onAny: \(anyEvent.event) with items.count: \(anyEvent.items?.count)")

            let event = anyEvent.event
            let items = anyEvent.items

            switch event {

            case WebEvents.connect.rawValue:
                siteSocket.emit("authorize", encodedSecret)

            case WebEvents.dataUpdate.rawValue:
                if let data = items?.firstObject as? [String: AnyObject] {
                    //let resultToSend = (JSON(data), event)

                    // create a new operation that parses and updates the model?
                    let socketParser = ParseSiteSocketDataOperation(withSocketData: data, forSite: site)
                    // add new operation to queue?
                    self.queue.addOperation(socketParser)
                }
            case WebEvents.disconnect.rawValue:
                print("disconnect")
            default:
                print("Unhandled event (\(event)) was sent with items:\(items)")
            }
        })
        // }
        sockets.insertOrUpdate(siteSocket)

    }

    private func generateAuthorizationJSON(withApiSecretString apiSecret: String) -> AnyObject {
        // Turn the the authorization dictionary into a JSON object.

        var json = JSON([SocketHeader.Client : JSON(SocketValue.ClientMobile), SocketHeader.Secret: JSON(apiSecret.sha1())])

        return json.object
    }

}

public func ==(lhs: SocketIOClient, rhs: SocketIOClient) -> Bool {
    return lhs.sid == rhs.sid
}

Well, you're gonna have a retain cycle here. Your siteSocket.onAny closes over self. So you'll want to do
siteSocket.onAny { [unowned self] event in
   // etc
}
sockets.insertOrUpdate(siteSocket)

But yeah, that could work.

Hi @someoneAnyone - gonna close this issue now. Hopefully you're on the right path now.

thanks for the advice!


Application is not installing on the device

It shows the following error:
Error:Watcher took too long time to load(NodeWatcher)
at [object Object]._onTimeout (index.js:99:16)
at Timer.listOnTimeout (timers.js:92:15)

Duplicate #2841

Closing as duplicate.

Thanks for finding the duplicate @christopherdro! Feel free to close issues like this one.


neo.storage.getAssetBalance err

neo.storage.getAssetBalance(addr, kacHash)
https://github.com/CityOfZion/neo-js/blob/develop/examples/smoke-test/asset.js
05:53:00.234 Storage error: getExpandedTX Promise.all err: TypeError: Cannot read property 'vout' of null
    at tx.vin._.map (C:\atest\neo-js\dist\node\storage.js:314:48)
    at arrayMap (C:\atest\neo-js\node_modules\lodash\lodash.js:631:23)
    at Function.map (C:\atest\neo-js\node_modules\lodash\lodash.js:9546:14)
    at Promise.all.then (C:\atest\neo-js\dist\node\storage.js:314:26)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
05:59:14.478 examples:rpc-endpoints info: assetBalance: { asset: '0x602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7',
  balance: 72411.84199755987,
  index: 148065,
  type: 'a' }

Cannot replicate the said error in the coming 0.8.0 release.
Shall the error persists for you in the coming 0.8.0, please resubmit an issue with relevant debugging information (per issue template).


fix: actions install step

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Details about Pre-trained Models?

Hi, thanks for the great work and for sharing this helpful repository.
However, I do have some questions about the provided pre-trained models.
I see you provided 3 pkl files, and I can infer that the easy-khair-180-gpc0.8-trans10-025000.pkl is the desired one to use.
Could you also provide me some details about how the other two models differ from that one?
Thanks a lot.

Basically only the easy-khair-180-gpc0.8-trans10-025000.pk is a good checkpoint that we release for demo. baseline is basically eg3d, but trained with our data. And the ablation one is when tri-grid's depth = 1.

Thanks a lot!


Conda-forge channel

Please update the conda-forge channel.
I can not install ase-notebook in colab due to outdated dependencies.

LibMambaUnsatisfiableError: Encountered problems while solving:

package ase-notebook-0.3.0-py_0 requires importlib_resources >=1,<2, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ ase-notebook is installable and it requires
│  └─ importlib_resources >=1,<2  with the potential options
│     ├─ importlib_resources [1.0|1.0.1|...|1.4.0] would require
│     │  └─ python >=2.7,<2.8.0a0 , which can be installed;
│     ├─ importlib_resources [1.0|1.0.1] would require
│     │  └─ python >=3.5,<3.6.0a0 , which can be installed;
│     ├─ importlib_resources [1.0|1.0.1|...|1.5.0] would require
│     │  └─ python >=3.6,<3.7.0a0 , which can be installed;
│     ├─ importlib_resources [1.0.1|1.0.2|...|1.5.0] would require
│     │  └─ python >=3.7,<3.8.0a0 , which can be installed;
│     └─ importlib_resources [1.0.2|1.1.0|...|1.5.0] would require
│        └─ python >=3.8,<3.9.0a0 , which can be installed;
└─ pin-2 is not installable because it requires
└─ python 3.10** , which conflicts with any installable versions previously reported.


The plugin generated a warning from the characteristic 'Current Temperature' & 'Current Relative Humidity'

Describe The Bug:
The plugin generated warning after homebridge updated.
I am running onzu-homebridge on Docker, homebridge v1.5, Node.js Version | v16.16.0
To Reproduce:
Error happening after v1.5
Expected behavior:
The error message kept posting.
Logs:
[8/10/2022, 4:57:07 PM] [homebridge-ambiclimate-platform] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[8/10/2022, 4:57:07 PM] [homebridge-ambiclimate-platform] This plugin generated a warning from the characteristic 'Current Relative Humidity': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[8/10/2022, 4:57:07 PM] [homebridge-ambiclimate-platform] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[8/10/2022, 4:57:08 PM] [homebridge-ambiclimate-platform] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[8/10/2022, 4:57:08 PM] [homebridge-ambiclimate-platform] This plugin generated a warning from the characteristic 'Current Relative Humidity': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[8/10/2022, 4:57:08 PM] [homebridge-ambiclimate-platform] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.

Plugin Config:
        "clientId": "XXXXX",
        "clientSecret": "XXXXX",
        "username"<EMAIL_ADDRESS>        "password": "XXXX",
        "showFeedbacks": true,
        "heaterCoolerMode": true,
        "accessories": [
            {
                "roomName": "Living Room",
                "locationName": "Home".

**Screenshots:**
<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Plugin Version**: v1.1.6
* **Homebridge Version**: V1.5
* **Node.js Version**:  v16.16.0
* **NPM Version**: <!-- npm -v -->
* **Operating System**: Ubuntu Focal Fossa (20.04.4 LTS)

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

I got this page when trying to call the APIs. This is the reason. The response value is not a JSON object, but a HTML page...
Now I updated the plugin so that the warning message won't show. But please note that there's nothing I can do to fix the unresponding API.

I got this page when trying to call the APIs. This is the reason. The response value is not a JSON object, but a HTML page...
Now I updated the plugin so that the warning message won't show. But please note that there's nothing I can do to fix the unresponding API.

Thanks for your prompt action, the system shows
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get current humidity API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get current temperature API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get fan rotation API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get fan status API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get ac current active status API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get switch status API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get target heater cooler status API is busy, please try again later.
[8/10/2022, 6:44:16 PM] [homebridge-ambiclimate-platform] Get ac current temperature API is busy, please try again later.
I think it is good enough for now as it would slow down the home bridge. :)

So after talking to support, it seems like they have added a new limit of 5 API calls per 60 seconds for each account meaning that there won't be enough API quota for this plugin to function correctly.
I think when this plugin loads up, it

current temperature
current humidity
current appliance_states

If you have 2 devices, that converts to 6 API calls already.

@hirakujira maybe you can write to support as well and try to ask them to lift the limit.

Reply from AmbiClimate:

Thank you for your message and our apologies for the inconvenience.
We have imposed a rate limit for now to optimize our services while we improve our OpenAPI infrastructure.
We are looking into grouping the data so users just need to poll once.
No time frame at the moment but we will update you once we have news.

Update:
Please try v1.2.0 and enable "Experimental Mode" to test whether the connection is more stable.


Bundler: support ruby 2.7 and 3.0 in gemspecs

Support gemspecs with required_ruby_version requirements matching 2.7
and 3.0. Also updated the other major versions to the latest available
version to match stricted requirements.
I'm not sure why we actually do this re-write from a requirement >= 2.7.2 to 2.7.2. Removing this logic seems to still work for some
updates that previously failed but fail with others so I don't yet feel
confident in re-writing this.
AFAICT we don't actually rely on these versions being installed, it only seems to be done for resolution where updates fail with exceptions about no compatible ruby version being found if removing the re-write.
Tested that this fix works for projects that require ruby 2.7+ but don't
rely on bundler 2 gems:
bin/dry-run.rb bundler "HerbCSO/carstens-butler" --dir="/." --commit=331380d8f3e1b7d594405cb973d09f202c3ccfb6 --cache=files
For projects that rely on gems that requireme bundler 2 the updater now
raises a dependency_file_not_resolvable error:
bin/dry-run.rb bundler sider/runners --commit=c272ab680b5bf2f1a4f0f268e154941c77085bdf
This should be fixed by upgrading bundler.

would be ace if we could eventually get rid of this.

💯 pushed a change to raise a custom error class instead making it easier to spot these sentries as they are currently rolled up in this.
I have a feeling we might not need this anymore since doing the bundler refactor moving everything to native helpers but could be wrong. Let's look at it in more detail when doing the bundler 2 upgrade as one of the updates still fails with a bundler 2 error.

would be ace if we could eventually get rid of this.

💯 pushed a change to raise a custom error class instead making it easier to spot these sentries as they are currently rolled up in this.
I have a feeling we might not need this anymore since doing the bundler refactor moving everything to native helpers but could be wrong. Let's look at it in more detail when doing the bundler 2 upgrade as one of the updates still fails with a bundler 2 error.

skip this test instead of comment it out?

Yes! Forgot skip was a thing, was thinking of pending but this only works if it consistently fails.

skip this test instead of comment it out?

Yes! Forgot skip was a thing, was thinking of pending but this only works if it consistently fails.


Feature: ErrorOverlayPlugin

Adding webpack plugin to display errors like react-error-overlay of create-react-app. Otherwise it just displays a white blank screen in case of errors.
Example screenshot

Coverage remained the same at 100.0% when pulling d7129038e6393d8df7fea545a164cfb772f70c86 on Can-Sahin:error-overlay-feature into 5192ee5c19cc7779ca1d8ac9199e8db3268c8411 on react-boilerplate:dev.

@julienben
when i run the cli it removes all contributors from readme. add comment throws error. No idea :S

NP, I'll take care of it in my Redux Toolkit documentation branch.

@Can-Sahin The fix is here. The error was a trailing comma when you added yourself. It's JSON so invalid syntax ;)


[BUG] on_disk_payload always return None even if it is explicitly provided value from argument

Hi!
I noticed that when I am using qdrant locally then on_disk_payload parameter cannot be set to True, which makes the RAM usage very high while indexing large number of documents.
For my usecase, I need to use local qdrant instance without docker, so I am wondering if this behaviour is expected or a bug.
Replication code:
from qdrant_client import QdrantClient, models

client_path=".../local-path"
qdrant_client = QdrantClient(path=client_path,)
collection_name="test"
qdrant_client.create_collection(
            collection_name=collection_name,
            vectors_config= models.VectorParams(
                    size=1024,
                    distance=models.Distance.COSINE,
                    on_disk=True,
                ),
            optimizers_config=models.OptimizersConfigDiff(memmap_threshold=10000),
            hnsw_config=models.HnswConfigDiff(on_disk=True),
            on_disk_payload=True # This is not working
)

print(vars(qdrant_client.get_collection(collection_name).config))

Output
{'params': CollectionParams(vectors=VectorParams(size=1024, distance=<Distance.COSINE: 'Cosine'>, hnsw_config=None, quantization_config=None, on_disk=True, datatype=None, multivector_config=None), shard_number=None, sharding_method=None, replication_factor=None, write_consistency_factor=None, read_fan_out_factor=None, on_disk_payload=None, sparse_vectors=None), 'hnsw_config': HnswConfig(m=16, ef_construct=100, full_scan_threshold=10000, max_indexing_threads=0, on_disk=None, payload_m=None), 'optimizer_config': OptimizersConfig(deleted_threshold=0.2, vacuum_min_vector_number=1000, default_segment_number=0, max_segment_size=None, memmap_threshold=None, indexing_threshold=20000, flush_interval_sec=5, max_optimization_threads=1), 'wal_config': WalConfig(wal_capacity_mb=32, wal_segments_ahead=0), 'quantization_config': None}
Output with docker image
{'params': CollectionParams(vectors=VectorParams(size=1024, distance=<Distance.COSINE: 'Cosine'>, hnsw_config=None, quantization_config=None, on_disk=True, datatype=None, multivector_config=None), shard_number=1, sharding_method=None, replication_factor=1, write_consistency_factor=1, read_fan_out_factor=None, on_disk_payload=True, sparse_vectors=None), 'hnsw_config': HnswConfig(m=16, ef_construct=100, full_scan_threshold=10000, max_indexing_threads=0, on_disk=True, payload_m=None), 'optimizer_config': OptimizersConfig(deleted_threshold=0.2, vacuum_min_vector_number=1000, default_segment_number=0, max_segment_size=None, memmap_threshold=10000, indexing_threshold=20000, flush_interval_sec=5, max_optimization_threads=None), 'wal_config': WalConfig(wal_capacity_mb=32, wal_segments_ahead=0), 'quantization_config': None}
Specs:
Name: qdrant-client
Version: 1.10.1

Hi @bibekyess
You're using Qdrant in local mode, which is not supposed to be used for indexing a large amount of documents
It has been built to be used in small experiments before switching to a server version (e.g. in docker container)
Some of the functionality is not supported there, however, the interface is the same as in the server version, so you could switch to it just by replacing path= to url=


Use a temp fork for tests to iterate quickly

We should probably use your fork @20kavishs so you can quickly add the dispatch decorator to the functions you require and push those changes on a dedicated branch of your fork.
You can look at https://github.com/mriduls/networkx/tree/nxp-fork as an example of how this would look like. The commit https://github.com/MridulS/networkx/commit/6d56b0a85a0457f58f6ee431cc8b4033e18a42e4 adds the required decorators for the changes in https://github.com/20kavishs/nx_parallel-1/pull/1

Wait on this, we may not require to do this.


Save incoming files in a folder and not in root for Flask

I have added the folder logic. @tunveyyy Could you please review it.

The code seems alright.  Closing the issue


fix: avoid infinite loop in range and toRange

Codecov Report

Merging #58 (4a4a520) into main (fc7fe8b) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #58   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           20        20
  Lines          363       372    +9
  Branches        55        63    +8
=========================================
+ Hits           363       372    +9

Impacted Files
Coverage Δ

src/range.ts
100.00% <100.00%> (ø)

src/toRange.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


fix for delivered_amount

High Level Overview of Change

Context of Change

Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Tests (you added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation update
[ ] Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
[ ] Release

API Impact

[ ] Public API: New feature (new methods and/or new fields)
[ ] Public API: Breaking change (in general, breaking changes should only impact the next api_version)
[ ] libxrpl change (any change that may affect libxrpl or dependents of libxrpl)
[ ] Peer protocol change (must be backward compatible or bump the peer protocol version)

The changes in DeliveredAmount.cpp involve an update to the condition that determines when to return the sfAmount field. Previously, the sfAmount field was returned if the ledger index was greater than or equal to 4594095, or if the close time was greater than a specific timestamp (February 2014). The update adds a new condition that also checks if the serializedTx is present and contains the sfNetworkID field. If this new condition is met, the sfAmount field will be returned as well.


libwbxml

Project description
According to https://github.com/libwbxml/libwbxml:

The WBXML Library (aka libwbxml) contains a library and its associated tools to Parse, Encode and Handle WBXML documents.
The WBXML format is a binary representation of XML, defined by the Wap Forum, and used to reduce bandwidth in mobile communications.

Metadata

homepage URL: https://github.com/libwbxml/libwbxml
source URL: https://github.com/libwbxml/libwbxml
license: lgpl 2.1
platforms: linux

resolved by #162075


[vx.dev] implements #26

[vx.dev] This PR implements #26, created by vx.dev.

[vx.dev]: This code snippet creates a review and rating page with a sidebar and main content area. The main content includes a heading and a review card with a user avatar, name, date, star ratings, a badge for the number of likes, review text, and action buttons to share, respond, download, and delete the review. You can add more review cards by replicating the structure of the provided card.

add at least three comments in the prototype, make the share button look engaged, and make the delete button look danger

[vx.dev]: Please note that the icons Share, Reply, and Trash are used in the code above as placeholders for the actual icons from the lucide-react library. You should replace them with the correct icons Upload, Mail, and Trash respectively, as per the icons list provided.

make sure all the icons are imported correctly

[vx.dev]: This code snippet creates a review and rating page with three hardcoded reviews. Each review includes an avatar, the reviewer's name, date, comment, and a star rating. The share button is styled to look engaged with a yellow background and text, while the delete button is styled to look dangerous with a red background and text. The icons are imported from the lucide-react library and used within the buttons.


Is there any link to see previous day status statewise

Like previous day new case , recevez and death

Relevant #528


batch out contexts

Concourse out is always followed from in, that makes having several contexts updated expensive. If the resource allows for status update this price can be reduced at least to pending status updates that could be combined.

You can already do this. Provide the context with an array of strings.
It hasn't been documented yet because I wanted people to try it out before I made public.

just to mention - it is working for me, thanks


[WIP] ArrayManifolds

As we discussed, for a lot of simple manifolds we do not necessarily require own types for points and/or tangent vectors. Since I would like to have such types for later use (maybe it is efficient for some manifold to store the value of an MPoint in 3 values but if you need the value of the point they are combined in a getValue call or something)...
So this is a WIP/RFC for a decorator pattern (as we have in mind for Lie groups and such), which should suffice for Sphere and other simple manifolds to implicitly get decorated (itself and its points and vectors).
Looking forward to your comments.
I was thinking that one could also call this type ArrayManifold since its even more general than just MatrixManifold.

Our interface does not guarantee that all valid points inherit from MPoint (or any other abstract type). I think you should clarify what is the purpose of MPoint and TVector.

Well, in the end, when you want to write a solver and have vom x0 or something and we have a manifold where the data is not stored in one array, so we need some struct to keep that data, I do not want to write for all these points x0::Union{<:AbstractArray,MPoint} that's all. Its a container for a point (or tangent vector) on a manifold. Just because otherwise several of my planned manifolds will not fit into this setting because the data is not representable as one array.

Points and tangent vectors don't have to be represented by a single array in this API, why do you think so? You can have MPoint and TVector defined in Manopt.jl and everything should work. Do you need to assume something about the type of points and tangent vectors to implement solvers?

Well, why do we need that for the manifold then? Maybe I am thinking into wrong directions, but i want to know whether you give me a point on a manifold or a vector – semantically. Also, which manifold a point might belong to. [1., 3., 0.] is something that might be in Rn or you computed something wrongly and meant to get an point on the sphere. I can not validate that ever, because I have no semantic meaning to this vector. It might also be a valid tangent vector to the North Pole. That's where I would like to have tools to verify that. But I can't without knowing what it is (besides being an array). That gets more complicated, if you have a value that not only has one data item field.

Manifold abstract type is needed for correct dispatch. Validation is a good point, it should be written in the docstrings for MPoint and TVector. BTW, you can always have something like
function validate_point(M::Manifold, x::MPoint)
    # your validation procedure
end

function validate_point(M::Manifold, x)
    return true # point is probably just an array, can't validate
end

Generally I think validation should be optional, not required.

I think we could even have
function validate_point(M::Manifold, x::MPoint)
    error("Not implemented")
end

function validate_point(M::Manifold, x)
    return true
end

in ManifoldMuseum.

That's already where we have a difference, I would return false in the second case, but yes that and something like
validate_tangent_vector(M::Manifold, x::MPoint, v::TVector) = error("Validation not implemented for a $(typeof(v)) in the tangent space of a $(typeof(x)) on a manifold $(typeof(M))")

is exactly what I would like to do.
The Matrix manifold then serves as a lazy way to switch between the sphere as it is now and a setting where you can use MPoint and TVector – without having to implement anything (despite the manifold functions acting on arrays as we already have).
I add the docstrings in a minute.

Oh and I forgot to reference #2

It looks better now :+1: . I don't have strong feelings about what validate_point or validate_tangent_vector should return if the argument is correct, it can be false. What other functions (apart from convert and validate_*) would you specialise in this interface for MatrixManifold,  MPoint, etc.?

Since the overhead compared to the manifolds that are not typed in MPoint and TVector is really mainly meant to do validation, one could even specialise something like
function exp(M::ArrayManifold,x::P,v::T) where {P <: MPoint, T <: TVector}
validate_tangent_vector(M,x,v)
y = exp(M,x,v)
validate_point(M,x)
return y

where we would expect that validate throws errors if it fails with further details why it failed (for example a matrix is not symmetric or not positive definite or something).
Ah and probably one would do that on exp!`, right?

I think y = exp(M,x,v) should be replaced by y = exp(M.manifold, x.value, v.value), right? This is quite clever and could be done for all (or most) functions.

Yes, one should dispatch on the values of course. That way you can easily enhance your array non-semantic calculation to a verified one by just changing M (to its ArrayManifold)

I decided to not write x.value or y.value in the current commit, since we dispatch on manifolds – the stripping. from ArrayMPoint to the array is done by the convert anyways, since M.manifold dispatches already to the original function.

Looks very nice, I'd like to see a test for Sphere wrapped in ArrayManifold and it could be merged then.

Well, I started testing and the first thing I ran into is the infinite loop I mentioned – so the Sphere defaults should avoid that somehow. Despite that we should find a way to unify what to export (Sphere is currently not exported, while ArrayManifold is).

Somehow my implementation of just log! in  ArrayManifold runs into your infinite loop when calling any log(A,x,y).

However, the formula for log on the sphere does not return vectors orthogonal to their base point. Where is that formula from?

I took it from [1] (page 47). They represent tangent vectors with respect to the zero element of the ambient space, not the point they are tangent at.
[1]A. Srivastava and E. P. Klassen, Functional and Shape Data Analysis. Springer New York, 2016.

I took it from [1] (page 47). They represent tangent vectors with respect to the zero element of the ambient space, not the point they are tangent at.

Yes one always writes them that way, still, that should be a vector orthogonal to the base (i.e. dot(x,v) should be zero) and that's not the case here.

Could you give an example where it's not zero (up to numerical errors)?
dot(x,v) = dot(x, y - cos(acos(dot(x, y)))*x) = dot(x, y - dot(x, y)*x) = dot(x, y) - dot(x, dot(x, y)*x) = dot(x, y) - dot(x, y)*dot(x, x) = dot(x, y) - dot(x, y) = 0
Unless I'm too tired to spot an error here.

Oh, I found my bug, still the formula of log looks strange to me, could we add the formulae in math in the docstoring? that would maybe be helpful to users.
Since I had a typo in ArrayManifold, I will really only continue tomorrow finishing the tests.

I am not that much in favour of the current state since the explicit conversion takes some lines for every default function.
Further, the documentation is missing, I will provide that as soon as the implementation is fixed in its style.

I'll resolve that infinite loop soon, I think generic version of log  shouldn't call zero_tangent_vector. You can change the formula for log, I've just copied something from FunManifolds to get started.
These explicit conversions should not be necessary, you can do:
is_manifold_point(M::ArrayManifold, x) = is_manifold_point(M.manifold, x)

and then you just use is_manifold_point(M, x) in methods of ArrayManifold.

Great. For now this branch has working tests. I will refactor, when the infinite loop is gone. Maybe a default for the zero_tangent_vector can be zero(x) assuming that (as a default) x and its tangent vectors have similar representations? Otherwise one could also default that to an error.

#16 resolves the infinite loop, what do you think about it?

#16 resolves the infinite loop, what do you think about it?

Well, I do see that there is no infinite loop, but the code you wrote is too clever for me, I don't get anything, what similar_result and similar_result_type do. What's with the args... for example, what are they for and wha x... and then you only use x[1]? But maybe you can just explain them over there... For me that whole code looks to me like – I've not yet learned enough Julia the last 1.5 years for that.

I'll try to explain these two functions in #16, they are not totally nice but necessary to have modifying and non-modifying operations without too much repetition.

Now the optional exactness for the tests is passed down. As soon as the infinite loop is gone on master, i.e. #16 is merged, I'll check which of the explicit conversions one can spare again (hopefully: all) and then this is finally also completed I hope.

I still don't understand enough of the similar_result and similar_result_type. While the code is still too clever for my level of Julia understanding, it also does not work with my current idea of the Array Manifolds. I can not get rid of an error
MethodError: no method matching one(::Type{Any})

which for me might indicate that the type returned is Any?
Also trying to reduce the number of function definitions to carefully enhance the input with types did also not work, then I am always running into non-implemented fallbacks. I took the chance and enhanced the error messages at least :)

Your error looks like you are trying to use this code with Array{Any}, I will fix that tomorrow.

Also trying to reduce the number of function definitions to carefully enhance the input with types did also not work, then I am always running into non-implemented fallbacks.

I'll look at it.

I took the chance and enhanced the error messages at least :)

Great 👍 .

OK, I've fixed the code so that the tests pass now.

I already thought about something like array_value (in Manopt I use getValue exactly for that), but similar and eltype – I still have to get used to that more :)
Thanks for the fix, the branch can not be merged.


DESENG-447 : Convert keycloak groups to composite roles for permission levels

Issue #: https://apps.itsm.gov.bc.ca/jira/browse/DESENG-447
Description of changes:

Commented out unit test related to Keycloak groups
Remove reference of Keycloak groups to roles
Commented out code related to Keycloak groups

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report
Attention: 6 lines in your changes are missing coverage. Please review.

Comparison is base (16d4f32) 72.21% compared to head (e9efd87) 71.81%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2376      +/-   ##
==========================================
- Coverage   72.21%   71.81%   -0.41%
==========================================
  Files         509      509
  Lines       17130    16915     -215
  Branches     1288     1288
==========================================
- Hits        12370    12147     -223
- Misses       4520     4528       +8
  Partials      240      240

Flag
Coverage Δ

metapi
86.43% <71.42%> (-0.46%)
:arrow_down:

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

Files
Coverage Δ

met-api/src/met_api/models/membership.py
70.93% <ø> (-16.28%)
:arrow_down:

...et-api/src/met_api/resources/engagement_members.py
76.78% <ø> (-15.53%)
:arrow_down:

met-api/src/met_api/resources/staff_user.py
91.25% <ø> (-2.45%)
:arrow_down:

met-api/src/met_api/services/authorization.py
88.88% <ø> (ø)

met-api/src/met_api/services/keycloak.py
85.07% <ø> (+14.29%)
:arrow_up:

met-api/src/met_api/services/membership_service.py
73.41% <100.00%> (-15.93%)
:arrow_down:

met-api/src/met_api/utils/constants.py
100.00% <ø> (+5.00%)
:arrow_up:

met-api/src/met_api/utils/enums.py
100.00% <100.00%> (ø)

...mentFormTabs/UserManagement/AddTeamMemberModal.tsx
52.56% <ø> (ø)

...s/userManagement/listing/UserManagementContext.tsx
70.90% <ø> (ø)

... and 7 more

... and 3 files with indirect coverage changes


Bug : Package install stuck on running

Dear Diatrus
When I press install on a package it just shows only running sometimes please fix...
May God Bless You
Hell0Defender12

Can you screenshot errors?

Okay

Wait

Here the link: https://imgur.com/a/DVR628B

Still lots of bugs XD

This is due to the repo/package, not Cydia.

It seems as though you have a bug in your program. Let me eat it.

Hmmm

👍 Thanks Diatrus 👍


set node 'name' to the dbId

great idea from Piro,  use gltf's standard 'name' for the dbid.
The nice benefit of this, is that it works with existing Unity glTF loaders, with the benefit of showing a nice list of IDs in the Unity's tree view, instead of just the word 'node'.

Great idea!
And the transparent material - is it supposed to be a part of this PR as well?

@wallabyway next time let's keep individual features in separate PRs.


Project coverage enhancements

[x] Create a method for testing  purposes
[x] Include lombok test exclusions
[x] Ensure test coverage is being calculated

Coverage log detail:
[INFO] 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml


Deprecate lmm and glmm functions in favor of constructors

deprecate lmm and glmm in favor of LinearMixedModel and GeneralizedLinearMixedModel constructors
update documentation
add fit(LinearMixedModel, ...) and fit(GeneralizedLinearMixedModel, ...) methods

Coverage decreased (-0.2%) to 95.146% when pulling 62ed83ca01d2dc56d79e5d38a45d5cf8908aa170 on fitlmm into 7c593a199ce4d97c4003e00524eaf99fc96ccc5a on master.


Several of the children of 'interspecies interaction between organisms' should actually be children of 'symbiotic process' -

Following up on #19028

Hi all,
Here are some suggestions. Numbering them to help us track things.

move 'interaction with symbiont' to be a child of 'symbiotic process'.

'killing of cells of other organism' node
-I suggest merging the child term 'killing of celle in other organism involved in symbiotic interaction' into its parent but keeping the children and renaming them as follows:
--'killing by host of symbiont cells' can be renamed to 'killing of symbiont cells'
--'killing by symbiont of host cells' can be renamed to 'killing of host cells'

-I suggest the same process for the 'cytolysis in other organism involved in symbiotic interaction' (a child of 'cytolysis in other organism')
--'cytolysis in other organism involved in symbiotic interaction' is merged into its parent but the children are kept and renamed
--'cytolysis by host of symbiont cells' becomes 'cytolysis of symbiont cells' and should be a child of 'killing of symbiont cells'
--cytolysis by symbiont of host cells' becomes 'cytolysis of host cells' and should be a child of 'killing of host cells'
-I suggest that we merge 'hemolysis in other organism involved in symbiotic interaction' but keep the child 'hemolysis by symbiont of host erythrocytes' as a child of 'cytolysis of host cells' with the new name 'hemolysis of host erythrocytes'
The 'killing of symbiont cells' and 'cytolysis of symbiont cells' terms are also in the 'response to other organism' node and 'defense response to other organism'. This gets tricky as 'response' can include so much.

'development involved in symbiotic interaction'
I'm not sure this term makes sense.
I think we should consider obsoleting.

What about things like Schistosoma that have specific developmental stages in different hosts?

@ukemi regarding #3
I thought about that, but was thinking that is like an organism undergoing devel in different environments - and I was thinking maybe that's a more internal thing triggered by the host environment? Maybe there is a process for triggering the development but then the development is not an interaction after that? I'm not sure.  I think I could argue it both ways.  : )

regarding 4.
Discussion on June 18 call - decided to merge 'growth involved in symbiotic interaction' node into 'interaction with host'.

Was a decision reached for what would be done with 'killing of cells in other organism involved in symbiotic interaction'? I actually just noticed this class and came to the same conclusion that it should be deprecated and its two child classes kept.

I realize that I left off a bit of info for item number 1 way above, 'interaction with symbiont' should be an is_a child of 'symbiotic process'.

[x]  Point 1 - and following up on #20191 : moved
'biological process involved in interaction with symbiont' as a child of
'biological process involved in symbiotic interaction'

[x]  Point 4
Merge 'growth involved in symbiotic interaction' node:  into 'GO:0051701 biological process involved in interaction with host'.

We should discuss this on a future call.

I cannot implement Point 2 until we decide how to handle venoms
I will create tickets to review annotations to 'development involved in symbiotic interaction' and children.

Pascale


Overriding Bootstrap

Using twitter bootstrap....
Consider an element:
< input className="btn btn-default" >
The Old way to customize the button is to add custom classes:
< input className="btn btn-default btn-circle" >
.btn-circle{
 bla bla bla
}

Is there any way to accomplish this, with CSS Modules approach? How?

Works the same way:
<input classname={"btn btn-default " + styles.btnCircle} />

and in your styling:
.btnCircle {
  bla bla bla
}

thank you very much!

@navidmesbah @mxstbr How would you override built-in tags like <body>, <a>?

just edit one of the styles.css files imported in your project (the one with the app container makes sense) and modify the built-in tags or add a custom.css file after the bootstrap on app.js file.
(app.js file):
import '!!style-loader!css-loader!../vendor/css/bootstrap.min.css';
import '!!style-loader!css-loader!styles/css/custom.css';
Update: it is recommended to use this literal for mixing classNames:
<input className={btn btn-default   ${styles.btnCircle}} />

I hope there is a cleaner way to do it. My problem is that Bootstrap CSS is overriding my custom global CSS inside containers/App/styles.css.

I have the exactly same issue, tried to modify webpack configuration, but no luck.
Only on production build, sanitize.css and bootstrap.css comes after my custom global css file.
Is there a proper way to sort the order of styles? (like chunkSortMode in HtmlWebpackPlugin)
Thanks!

@paothegit Yes, I ended up importing Bootstrap CSS in the app/app.js:
import 'bootstrap/dist/css/bootstrap.css';

Then moving "App styles" to the App component, where I think it belongs:
// before - app.js
import styles from 'containers/App/styles.css';

// after - components/App.js
import './styles.css';

And then use :global to override it, e.g:
:global .navbar-inverse .navbar-nav > li > a {
  color: #252525;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  transition: all 0.2s linear;
}

Works great so far. 👍

@sahat
Is bootstrap/dist/css/bootstrap.css in your code same as bootstrap-css-only which is suggested by this boilerplate?

@paothegit I am using the bootstrap package, not bootstrap-css-only so that's why path is slightly different. Yes I followed those steps initially.
You are right, it actually doesn't work in production build because of how module styles are imported before Bootstrap. I'll see if I can change the order, if not, then using Sass and importing bootstrap directly into App's style.scss could potentially work.

@sahat
I see, I'm trying less version of bootstrap, still finding way to make it working on production build.
Will post here once I succeed.
Thanks!

I got it working. Basically, you want to extract bootstrap.css from compiled main.js into compiled main.css.
Add to prod webpack config:
vendorCssLoaders: ExtractTextPlugin.extract(
    'style-loader',
    'css-loader'
),

Add to dev webpack config:
vendorCssLoaders: 'style-loader!css-loader',

Update base webpack config:
{
        // Do not transform vendor's CSS with CSS-modules
        // The point is that they remain in global scope.
        // Since we require these CSS files in our JS or CSS files,
        // they will be a part of our compilation either way.
        // So, no need for ExtractTextPlugin here.
        test: /\.css$/,
        include: /node_modules/,
        loader: options.vendorCssLoaders,
},

sahat's comment fixed issue #1102 for me, so thanks!
Since ExtractTextPlugin was complaining, I had to change the first snippet a little:
vendorCssLoaders: ExtractTextPlugin.extract({
    fallbackLoader: 'style-loader',
    loader: 'css-loader',
}),


Minor Feature Request - Add effects management functions based on effect "id" and not on effect "name"

Is your feature request related to a problem? Please describe.
I am successfully using the functions to remove / add / control an effect through the API provided by the "effect-interface.js" class and everything seems to be fine, but there are cases where the effect name is something very vague and / or which can be confusing when different modules start to apply effects with the same name, but for different purposes.
In my specific case I recover two effects with the same name, where, however, one was created through my module and one through yours. Thanks to an applied flag I can distinguish the two effects and at this point I use the id of the effect to remove the correct one with the standard "deleteEmbeddedDocuments".
Describe the solution you'd like
A simple solution (at least for me),  is to add the same functions to the already existing functionalities for the effect name, but with the input parameter of the effect ID.
So add to the class "effect-interface.js" these functions:
async toggleEffect(effectId, ...uuids)
async hasEffectApplied(effectId, uuid)
async removeEffect(effectId, uuid)
async addEffect(effectId, uuid, origin)
Describe alternatives you've considered
For now i just use the standard embedded documents support like this:
/**
   * Removes the effect with the provided id from an actor
   *
   * @param {string} effectToRemove - the effect to remove
   * @param {string} actor - the actor to remove the effect from
   */
  async removeEffectFromId(effectToRemove: ActiveEffect, actor: Actor) {
    if (effectToRemove) {
      await actor.deleteEmbeddedDocuments('ActiveEffect', [<string>effectToRemove.id]);
      log(`Removed effect ${effectToRemove?.data?.label} from ${actor.name} - ${actor.id}`);
    }
  }

Additional context

This should be doable.
For my own notes:
First, tposney and midi can't support automatically adding/removing effects by ID because he can only work with the name of a feature or spell being used. I would need a standardized way to convert a name to an ID so that functionality doesn't break. A simple slugify type method should work.
Second, I can't define multiple functions with different arguments (ex: toggleEffect(effectId, ...uuids) and toggleEffect(effectName, ...uuids) and the like because it would be the same number of arguments and JS wouldn't be able to distinguish between them. I need a way to detect in a single method if an effect ID or an effect name was given, and find the effect correctly.

Is this more easy to integrate now on v11 ?

@DFreds If this is something you would be willing to consider I can open a PR about it.

If you want to open a PR, feel free. I would ask for reviews in short bursts rather than all at once. Did something get added in v11 that would make this easier?

v7.0.0 now includes a flag called ceEffectId which is the ce-${effect.name.slugify()}. This effect ID gets updated when the name changes, so not sure if this really solves this yet

Closing due to the age of this issue though lol

Actually, misunderstood. You can also use the actual effect.id now as well. So this is resolved


Add to cart in a product of "Video Downloads" not working.

Current behavior

When click on Add to Cart. An error card promots.
Expected behavior
Product added to cart or real error displayed.
Steps to reproduce the issue

Go to https://next.storefrontcloud.io/training/training-9/luma-yoga-for-life-51.html
Click "Add to Cart"
Which Release Cycle state this refers to? Info for developer.
Pick one option.

[ ] This is a bug report for test version on https://test.storefrontcloud.io - In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[X] This is a bug report for current Release Candidate version on https://next.storefrontcloud.io - In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[ ] This is a bug report for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version hotfix - In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

Environment details

Browser: Chrome
OS: OSX

@pmaojo This was due to the wrong product configuration in Magento. Now you can add this product to the cart :)


Impossible to join a share session

Issue Type: Bug
I have join a session. It works.
Then, I have closed VScode this morning without closing my current join.
This afternoon, I restart VSCode and I try to join the same session. My colleague never receive my join request...
Extension version: 1.0.1510
VS Code version: Code 1.41.1 (26076a4de974ead31f97692a0d32f90d735645c0, 2019-12-18T15:04:31.999Z)
OS version: Linux x64 4.9.0-9-amd64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (8 x 4012)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: unavailable_offviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
3, 3, 3

Memory (System)
31.31GB (8.36GB free)

Process Argv
--no-sandbox --unity-launch

Screen Reader
no

VM
0%

Hey @michel38000. It seems like you created a Live Share session on a day, and shared a link to that with your colleague, but they only joined a day later? In this case, our session would have expired and this is expected behavior. You would have to create a new session and re-share a link.
However, we have a way to persist sessions. Check our docs here: https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/insiders#reusable-sessions-vs-code


loading locales files multiple time

Hi to all.
I have 50 pug files in my src folder and two locale files: en.json and sk.json. For example en.json stores all strings for all pug files.
During compilation console output says
[12:37:34] Loading locale en
[12:37:34] Reading translation data: locales/en.json
[12:37:35] Loading locale en
[12:37:35] Reading translation data: locales/en.json
[12:37:36] Loading locale en
[12:37:36] Reading translation data: locales/en.json
.
.
.
.
.
so it loads en.json for each .pug file.
Is there a way how to load en.json only once?
thank you

Hi @Kubiskoi at the moment there is no a way with the options to load only the file once. The gulp plugin should be modified in order to do that.