Only one of my friends appears on this

All of my friends all have me added as well of course, but only one shows up.

Thanks for the issue report!
Can you give me your osrs username so I can check the server logs. I'll be able to check for bad data format and other things that may be causing issues.
Thanks!

Absolutely!
It’s imMainey
Love this plugin by the way but yeah only works on my one friend
‘xfurthest’!
Thanks
On Tue, 22 Aug 2023 at 19:52, Benjamin Z @.***> wrote:

Thanks for the issue report!
Can you give me your osrs username so I can check the server logs. I'll be
able to check for bad data format and other things that may be causing
issues.
Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/sololegends/runelite-friend-finder/issues/1#issuecomment-1689067666,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBJQLET4QFNQZAATLR5PUADXWVA3TANCNFSM6AAAAAA32UCR7E
.
You are receiving this because you authored the thread.Message ID:
@.***>

Oh so this only works of both parties have the plugin installed?
On Tue, 22 Aug 2023 at 19:59, Benjamin Z @.***> wrote:

Looks like the server is only getting location reports from xfurthest, the
other friends you have authorized to view your location, and therefore are
trying retrieve their location don't have any location report coming in
presently.
I would have them check and make sure their plugin in installed, and
enabled the the friend API property set to the default value (
https://runelite.sololegends.com/friends) so you are all talking to the
same API.
—
Reply to this email directly, view it on GitHub
https://github.com/sololegends/runelite-friend-finder/issues/1#issuecomment-1689072046,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBJQLEUBTZ3K3JYVGJOSMBLXWVBXNANCNFSM6AAAAAA32UCR7E
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yep! The way it works is those who have the plugin send their username, location, and the friend they have to the location server which will then deliver their location to those on their friends list so their client can display that location.
Because I don't have access to Jagex's data on location (I wish lol) I have to gather and deliver the locations for the plugin myself.

Yep! The way it works is those who have the plugin send their username, location, and the friend they have to the location server which will then deliver their location to those on their friends list so their client can display that location.
Because I don't have access to Jagex's data on location (I wish lol) I have to gather and deliver the locations for the plugin myself.

NOTE: ONLY those on your friends list can pull down your player location, and nothing is stored on the server permanently.

Oh I see!!!!!
Man, that makes so much sense.
Great plugin Benjamin and thank you for your help! :)
On Tue, 22 Aug 2023 at 20:03, Benjamin Z @.***> wrote:

Yep! The way it works is those who have the plugin send their username,
location, and the friend they have to the location server which will then
deliver their location to those on their friends list so their client can
display that location.
Because I don't have access to Jagex's data on location (I wish lol) I
have to gather and deliver the locations for the plugin myself.
—
Reply to this email directly, view it on GitHub
https://github.com/sololegends/runelite-friend-finder/issues/1#issuecomment-1689074506,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBJQLEWD6IQQHBCWR5KJPSDXWVCEZANCNFSM6AAAAAA32UCR7E
.
You are receiving this because you authored the thread.Message ID:
@.***>

My pleasure! I'm glad you're enjoying it ^.^
If ever you have any features you'd like to see, I'm in the middle of the next update development now so this is the time!

I am. It really helped out a lot.
Umm, one thing that comes to mind, if you were to click on the friends name
on the side bar menu then an arrow that points in the direction the friend
is comes up on the minimap / the screen.
The fact Jagex doesn’t allow you to click on the the full map anymore (I’m
sure they did back in the day) is very frustrating when trying to meet up
with your friends. So having arrows without having to use the big map would
be great!
What do you think?
On Tue, 22 Aug 2023 at 20:05, Benjamin Z @.***> wrote:

My pleasure! I'm glad you're enjoying it ^.^
If ever you have any features you'd like to see, I'm in the middle of the
next update development now so this is the time!
—
Reply to this email directly, view it on GitHub
https://github.com/sololegends/runelite-friend-finder/issues/1#issuecomment-1689076158,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBJQLEWQ3JE6GGQQ2UTRDVDXWVCN5ANCNFSM6AAAAAA32UCR7E
.
You are receiving this because you authored the thread.Message ID:
@.***>

That is on my list of things to do in fact! Should make it a LOT easier to meet up with friends!

Ahhh amazing!
When will we be blessed with this update?
I’ll have a more conscious think of whatever I could suggest also now that
you have offered :)
On Tue, 22 Aug 2023 at 20:16, Benjamin Z @.***> wrote:

That is on my list of things to do in fact! Should make it a LOT easier to
meet up with friends!
—
Reply to this email directly, view it on GitHub
https://github.com/sololegends/runelite-friend-finder/issues/1#issuecomment-1689082764,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBJQLEWXL2BW4SK2JAVHNRTXWVDUVANCNFSM6AAAAAA32UCR7E
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm not sure when, I work on it when I have free time or are more AFK training ;)
I'm hoping within the next couple weeks or so

ok sounds good! any other plugins you have made that i should be aware of?

Nope, not yet, this is my first go at a plugin for Runelite :)

Oh ok! Wel great job so far as i mentioned!
Question, any idea why this happens?

3 instances of my friend.

Yep, that has already been fixed in the newest upcoming version.


No hardware device detected

I install Zclassic Electrum, with Ledger Nano S.
Message when installing: No hardware device detected.
Can the wallet work with Ledger Nano S?
WINDOWS 10pro, 64bit

https://github.com/LedgerHQ/ledger-wallet-chrome/pull/82


EF Core bulk update

This quote below is no longer valid in EF Core 7

Unfortunately, EF doesn't currently provide APIs for performing bulk updates. Until these are introduced, you can use raw SQL to perform the operation where performance is sensitive:
context.Database.ExecuteSqlRaw("UPDATE [Employees] SET [Salary] = [Salary] + 1000");

See more: https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/whatsnew#executeupdate-and-executedelete-bulk-updates

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

ID: f37e820a-137f-92c9-6662-06fafeac097a
Version Independent ID: 0df73aed-692f-0e53-7562-ed3d8b89c6df
Content: Efficient Updating - EF Core
Content Source: entity-framework/core/performance/efficient-updating.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @roji
Microsoft Alias: avickers

We're indeed behind on updating docs - I'll be working on this soon.


Rework CI steps

Eliminate non-stable toolchains from code quality/coverage steps and allow nightly steps to fail. Also add MSRV and nightly toolchains to the test step. Addresses #144.

Codecov Report

Merging #145 (4c71f81) into master (4e58d8d) will increase coverage by 0.13%.
The diff coverage is n/a.

:exclamation: Current head 4c71f81 differs from pull request most recent head b9514b9. Consider uploading reports for the commit b9514b9 to get more accurate results

@@            Coverage Diff             @@
##           master     #145      +/-   ##
==========================================
+ Coverage   59.84%   59.98%   +0.13%
==========================================
  Files          80       80
  Lines        7369     7369
==========================================
+ Hits         4410     4420      +10
+ Misses       2959     2949      -10

Impacted Files
Coverage Δ

algorithms/linfa-linear/src/float.rs
11.11% <0.00%> (-5.56%)
:arrow_down:

src/composing/multi_target_model.rs
69.56% <0.00%> (-4.35%)
:arrow_down:

...ms/linfa-clustering/src/k_means/hyperparameters.rs
38.77% <0.00%> (-3.23%)
:arrow_down:

algorithms/linfa-pls/src/utils.rs
85.36% <0.00%> (-2.44%)
:arrow_down:

algorithms/linfa-preprocessing/src/norm_scaling.rs
72.54% <0.00%> (-1.97%)
:arrow_down:

algorithms/linfa-linear/src/glm/distribution.rs
70.08% <0.00%> (-1.35%)
:arrow_down:

...ms/linfa-preprocessing/src/tf_idf_vectorization.rs
51.88% <0.00%> (-0.95%)
:arrow_down:

algorithms/linfa-pls/src/pls_generic.rs
68.09% <0.00%> (-0.93%)
:arrow_down:

algorithms/linfa-svm/src/classification.rs
79.20% <0.00%> (-0.80%)
:arrow_down:

algorithms/linfa-bayes/src/gaussian_nb.rs
55.11% <0.00%> (-0.79%)
:arrow_down:

... and 25 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 4e58d8d...b9514b9. Read the comment docs.

There are some CI steps that aren't being run and they're blocking the PR from being merged. Do I just merge it via command line?

There are some CI steps that aren't being run and they're blocking the PR from being merged. Do I just merge it via command line?

will just force merge and update the settings for the bouncer


Update packages on get (fixes #3258)

No. It didn't help.

Running "go get -u all" should do the trick, but it's not something we should ever put in our Makefile since it will update all packages, even the ones that weren't downloaded because of LXD, possibly breaking other Go projects on your machine (especially those doing dependency pinning).

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Right, so let's close this. :)


New Command: Delete a Purview retention event type

Usage
m365 purview retentioneventtype remove [options]
Description
Delete a retention event type
Options

Option
Description

-i, --id <id>
The Id of the retention event type.

--confirm
Don't prompt for confirmation to remove the retention event type

Examples
Delete a retention event type by id
m365 purview retentioneventtype remove --id c37d695e-d581-4ae9-82a0-9364eba4291e

Additional Info
The following Graph endpoint can be used:
https://graph.microsoft.com/beta/security/triggerTypes/retentionEventTypes/{id}
More information
Because the $filter option is not available on this endpoint yet, we cannot get at the event type by title
Beta notice
The Graph endpoint that's used is in beta, so we should add a beta notice to the docs.
More information
This section should be included in the documentation
This command is part of a series of commands that have to do with event-based retention. Event-based retention is about starting a retention period when a specific event occurs, instead of the moment a document was labeled or created.
Read more on event-based retention here

Since this is a remove command, we should add the --confirm option

Pick me!

Here you go @MathijsVerbeeck, enjoy! 😃


Unsubscribe from db.on('changes')

Hi,
I have been using dexie-observable in my project where I need to run a set of operations once an object in the db has been modified. All this is part of a 'live-update' feature in my app. When the session is started, I need this live-update function to be operational but once the session is ended, I want to unsubscribe to the db changes. I generate one object that handles the db changes part and delete it once the session is closed. All these observers are alive and they pile up after a few open-close session operations. Simply put, is there something like window.detachEventListener() for dexie-observable so that I can unsubscribe from db.on('changes') operation ?
Thanks a lot in advance ! :smile:

Yes, db.on('changes').unsubscribe(fn)

@dfahlander Thank you for the quick response !


Add admin day to day operations documentation

This looks very good and detailed, I think it helps a lot! And I think I will use it frequently. Thank you @sanjaysrikakulam


feat: Nutritional values: ensure only one decimal separator is displayed

A video is better than words!
https://user-images.githubusercontent.com/246838/171676989-ac686ed6-acef-4cf7-a357-2cb7d831a6c5.mp4

Only one separator allowed
Separator depends on the user's language
If the separator is entered for a second time, it will move to the new place

Will fix #2138

Codecov Report

Merging #2143 (acb055b) into develop (2ea0da3) will decrease coverage by 0.56%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           develop   #2143      +/-   ##
==========================================
- Coverage     8.86%   8.30%   -0.57%
==========================================
  Files          161     179      +18
  Lines         6623    8708    +2085
==========================================
+ Hits           587     723     +136
- Misses        6036    7985    +1949

Impacted Files
Coverage Δ

...kages/smooth_app/lib/widgets/attribute_button.dart
0.00% <0.00%> (-92.00%)
:arrow_down:

...s/smooth_app/lib/data_models/user_preferences.dart
12.64% <0.00%> (-19.67%)
:arrow_down:

packages/smooth_app/lib/themes/smooth_theme.dart
64.10% <0.00%> (-18.88%)
:arrow_down:

...p/lib/generic_lib/dialogs/smooth_alert_dialog.dart
19.60% <0.00%> (-14.61%)
:arrow_down:

...mooth_app/lib/data_models/product_preferences.dart
26.47% <0.00%> (-4.96%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/welcome_page.dart
0.00% <0.00%> (-3.13%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/scan_example.dart
0.00% <0.00%> (-2.28%)
:arrow_down:

packages/smooth_app/lib/main.dart
15.74% <0.00%> (-2.16%)
:arrow_down:

...s/smooth_app/lib/pages/onboarding/next_button.dart
2.22% <0.00%> (-1.78%)
:arrow_down:

...p/lib/pages/onboarding/consent_analytics_page.dart
0.00% <0.00%> (-1.57%)
:arrow_down:

... and 158 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 98c6fa1...acb055b. Read the comment docs.

I have changed the code to be fully testable.
The replace character feature (from . to , for example) is limited to languages where the group separator is a space (eg: French).
However, moving the decimal character is available on all languages

little conflict + test stuck

@g123k @monsieurtanuki thank you 👍
I'm merging this fix


⚠ Bofrost.at has degraded performance

In cae14ea, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1355 ms

Resolved: Bofrost.at performance has improved in 3a6ad8c.


Complete implementation of operations on standard types

Java has a specific set of allowed operator and operations. Python has a set of operators and operations as well. However, the two don't match exactly. For example, Java will allow any object to be added to a java.lang.String; Python does not. On the other hand, Python allows multiplication of str by int (producing a duplicated string); Java does not.
In order to replicate Python behavior in Java, Python's logic for all the basic operations needs to be implemented in the VOC Java support library.
The test suite contains around 2800 tests in the that are currently marked as "expected failures". These reflect an attempt to do "every operation between every base data type". The task: pick a data type, and write the implementation of one of the dunder operation (e.g., __add__ or __xor__) or comparison (__lt__ or __eq__) methods.
The tests will pass (and become unexpected successes) when the output of Python code doing that operation is the same when run through CPython and VOC - and I mean byte-identical, down to the text and punctuation of the error message if appropriate.
If you want to see an example of what is involved, check out the implementation of add for integers. If you have an int, Python will allows you to add an int or a float to it; all other types raise a TypeError. The list of operations on int that still need to be implemented can be found here; if you add a new operation, delete the line that corresponds to that test, and the test will report as a pass, rather than an expected fail.

When you submit a PR for this, prefix the PR message with "Refs #34", so it will be associated with this ticket.

Folks, I'm picking up the test_unary_positive test in tests/test_str.py. Please don't work on it so that we can avoid collisions! :smile:

I forgot to mention, I'll be doing all the unary operator tests for String. Please stay away -- they're mine! :stuck_out_tongue_closed_eyes:

Hello, people. I'll be picking up the following tests for string types:
'test_eq_bytearray',
'test_eq_bytes',
'test_eq_class',
'test_eq_complex',
'test_eq_frozenset',

I'm working through the Int class' unary and binary operations.

Hi! I'm working on the data type Boolean, starting with comparison methods.

I'm working through the List class

I'm working through the Tuple class

Hello, I'll be picking up the byte class.

Hello I am working on Int class (power and xor)

I'm working on next builtin.

I'm going to work on multiplying some data structures (test_multiply_*), starting with str, float, and list

I'm attempting InplaceStrOperationTests 'test_add_int'

I'm now attempting BinaryStrOperationTests 'test_subscr_class'

Please reserve float for me until Sunday, June 5th.

All my background in integer binary calculations is stale. It seems like the int / shift functions might be a good place to start, but are there handy docs online with the specs for binary math done by java?
ty!
Anne
via PyGotham curiosity about PyBee coins and great lecture on Python for Android/iOS.

@AnneTheAgile Most of the operations for int have been implemented, except for those related to types that aren't fully defined (complex, bytearray, etc). There's a couple missing (or buggy) for floor divide, true divide and inline multiplication.
You can see the operations that are "missing" by looking at a test file (like ( https://github.com/pybee/voc/blob/master/tests/datatypes/test_int.py)[this one]) - any entry in the "not_implemented" section indicates an operator that isn't implemented (or isn't correctly implemented) for a given data type pair.
If you find me at the conference, I'm happy to give you some in-person pointers. I might even give you a coin in advance, if you promise you'll keep going until you get a commit :-)

Going to try the str  inline right shift operator

nevermind.  Already done in vox.
Trying float_eq_list

Trying float_ne_list

Working on test_list.InplaceListOperationTests.test_add_tuple.

Working on test_list.test_subtract_slice.

Looking at BinaryStrOperationTests.test_modulo_bool

Looking at test_bytes

Looking at test_bytes

I'll be working on set's behaviour.

I'm now looking at InplaceListOperationTests.test_multiply_list

Looking at iadd for bytes on a List

Bytes is pretty much done.  I can also do ByteArray since that's a clone of Bytes.

Bytes is done.  I can also do ByteArray since that's a clone of Bytes.

I'll handle the missing multiply operations:
[
'test_multiply_bytearray',
'test_multiply_bytes',
'test_multiply_class',
'test_multiply_complex',
'test_multiply_frozenset'
]

i'm working on Bool multiply bytes...
test_multiply_bytes

I'm working on this case for Bool class
'test_and_int'

I'm working on the 'and' operator of the Complex class

IMplementend endswith test

working on test_int inline true devision

#342

@freakboy3742 Hi. I'd like to work on this. First timer here. I was thinking of the str data type.
Could you give me some suggestions as to what to pick and how to go about it.

@PranavAsty Our getting started docs walk you through the process of your first contribution. If you need more specific details, let us know!

Hi I'd like to contribute , can any one suggest any method or datatype to work on?

Hi @captaincrunch21 !
My suggestion for you would be to implement the Python builtin function enumerate().
Basically, it would consist of adding an implementation for this function: https://github.com/pybee/voc/blob/master/python/common/org/Python.java#L599-L610
You should add some tests for enumerate() here: https://github.com/pybee/voc/blob/master/tests/builtins/test_enumerate.py#L4-L5
For examples of tests for a builtin function, see here the tests for sum().
Essentially, you need to write some python code in the test, which will be executed by the test suite both with CPython and with Java+VOC and it will check if the output is the same.
If you need more details, just ask!

Hi, I'm new here and I'd like to contribute, could you suggest any method/data type I can pick and work on?

@avikantz Hi and welcome!
So, there are some builtin functions like max, min, zip, enumerate that are missing, you can try implementing one of those. :)
You can also grep for NotImplementedError inside the python/common/org directory.
Ask help in Gitter if you get stuck.

I've started working on enumerate function.

Ok, @gEt-rIgHt-jR I shall look into max, min and zip then.

Refs #36 Hi I can work on test_modulo_float

I can try working on filter

Hi! First timer here. I'd like to work on frozenset.

I picked up the add function in float to support addition with complex numbers.

Working on the frozenset. Sent a PR regarding len() fixes

Hello. I'm new to open source and this is my first time trying to contribute to a project, but I have experience in both Java and Python. I've already set up the environment as described in the Getting Started docs. Could you point me to something that I can work on?

@TheGamer007 Hi - our guide for how to get started can be found here - that gives you a starting place for your first contribution. If you've got any questions, just ask!

working on sets
isdisjoint() issubset() and issuperset()

Working on list.__rmul__

Working on dict.iter

Working on test_modulo_float for str

Working on str methods rfind(), rindex(), rjust(), rpartition(), and rsplit()

there is a nasty error in sum() function implementation
print(sum([1,2,3,4])) # output : 10
print(sum([1,2,3,4], 2)) # output : 12

Hi! I would like to contribute to this project, so my first attempt will be working on floor_divide on Str.

Hi! I would like to try str.splitlines()

Hi, I'm new to open source, I was just wondering, I just created a PR, but it seems I cannot request a review. I'm not sure what should I do now? #465

@sngguojie Welcome! There's no need to specifically request a review, all the maintainers get notifications for every new PR (and all other activity on the repo) so we will get to it when we can! :)

Hey, everyone, I would like to inform that I am working on the replace() function for the Str datatype.

Hello! I would like to working on module_complex on Str, and maybe it can serve to others data types, if it is I will also do that.

Hello, I am starting work on list reversed

Hello! I'm working on FrozenSet Set Operations as well as Set Update Operations

For equals comparison of int with frozenset, python itself gives not implemented...Then VOC giving not implemented should be treated as a success, right?

@shivampkumar VOC should behave the same way as CPython, yes.

@cflee still, even though not implemented is given, it is treated as an unexpected failure... Is that okay?

@shivampkumar The tests should pass. If they are failing, the test suite will report what's the difference between the expected and observed output, which should explain why the test is unexpectedly failing.
I think it's better if we continue this discussion in a Pull Request, if you have a work-in-progress branch, or otherwise on the pybee Gitter room. Thanks!

Hi everyone, I am working on isnumeric() in Str. I have written the test case for it and even implemented this method. I want to know that do I need to create a different branch for it or can push the code the master branch?

@atmishra create a different branch, please :)

I'm working on tests.datatypes.test_tuple.py and trying to identify why things are not failing

I am implementing Bytes.count.

I am implementing enumerate();

I'm working on rmul for str and adding a test for that

Working on arithmetic operation for (bool ^ int); #588

Working on BinaryStrOperationTests.test_modulo_bool.

Hello! First-timer here. I'd like to take a stab at InPlaceIntOperationTests.test_add_complex and InPlaceIntOperationTests.test_subtract_complex.

I'll try working on test_floor_divide_float.

Trying InplaceIntOperationTests.test_multiply_str

Trying to do test_set.InplaceSetOperationTests.test_xor_frozenset

Will be doing test_set.BinarySetOperationTests.test_xor_frozenset first :)

Trying test_int.InplaceIntOperationTests.test_multiply_list

Trying test_int.InplaceIntOperationTests.test_multiply_tuple

I'm having a go at test_modulo_int

Attempting test_moldulo_range (tests.datatypes.test_str.BinaryStrOperationTests.test_modulo_range)

Taking a couple of InplaceBoolOperationTests: test_subtract_bool, test_subtract_float, test_subtract_int.

Working on InplaceIntOperationTests

[x] test_modulo_complex
[x] test_modulo_float
[x] test_multiply_bytearray
[x] test_multiply_bytes
[x] test_multiply_complex
[x] test_multiply_float
[x] test_multiply_list
[x] test_multiply_tuple
[x] test_power_complex
[x] test_true_divide_complex

Working on BinaryBoolOperationTests for type bool

Working on the test_modulo_* tests in BinaryStrOperationTests. The corresponding InplaceStrOperationTests would be solved by this as a corollary. Also see #638 for details.

Done.

In addition to the functions listed above, also addressed in https://github.com/pybee/voc/pull/658:

[x] 'test_direct_eq_slice'
[x] 'test_direct_ge_slice'
[x] 'test_direct_gt_slice'
[x] 'test_direct_le_slice'
[x] 'test_direct_lt_slice'
[x] 'test_direct_ne_slice'
[x] 'test_ne_slice'

Working on bytes.isalnum
[ ] test_isalnum

Working on the following from BinaryBytesOperationTests:
'test_direct_eq_bytearray'
'test_direct_eq_none'
'test_direct_ge_bytearray'
'test_direct_ge_none'
'test_direct_gt_bytearray'
'test_direct_gt_none'
'test_direct_le_bytearray'
'test_direct_le_none'
'test_direct_lt_bytearray'
'test_direct_lt_none'

Working on InplaceBoolOperationTests 'test_modulo_bool', 'test_modulo_float', 'test_modulo_int'.

Working on ByteArray.capitalize

First time contributor here, will work on test_subscr_bool in BinaryStrOperationTests

First time contributor. I will work on test_subscr_slice in BinaryStrOperationTests

I am working on test_subscr_slice. I made the changes and starting running the test.
I execute below command python setup.py test -s tests.datatypes.test_str.BinaryStrOperationTests.test_subscr_slice and the test were successful with no FAILED.
now when I run full tests using the command python setup.py test
The test run to the completion and at the end it ends by outputting FAILED (expected failure : XX, unexpected success : 1).
How can to see which tests failed. All i see are expected failure. Can anyone help.

@siddharthkawar91 In this case, you're not looking for a failure. "Unexpected success" is actually a bad thing - it's indicating that something has passed when it shouldn't have (according to the test suite, anyway). So, you're not looking for a failure - you're looking for a success that shouldn't exist.
When you're working on operators, it's easy to inadvertently fix two bugs when you were only trying to fix one (which is a good thing!). For example, the fix for that makes the "x + y" test pass will quite often inadvertently fix "x += y" as well. So, work out which other test has passed, remove that line from the not_implemented list, and you should be good to go!

thanks for replying so promptly.
Okay I understand from your above comment that the test ended with FAILED rather than Ok because I accidentally fixed other tests and that is why it is showing failed. So my next step should be to find the test which I accidentally fixed remove that from the not_implemented list and then rerun again and if it behaves as expected than it will end with OK rather than FAILED. Thank you

I tried to fix the test_subscr_slice funtion in tests.datatypes.test_str.BinaryStrOperationTests after I run the result I found unexpected success in test_tuple (tests.builtins.test_set.BuiltinSetFunctionTests). I tried to debug this but no luck so far. Please guide me to solve this problem.

I ran the below command without my changes  python setup.py test -s tests.builtins.test_set.BuiltinSetFunctionTests.test_tuple.. This command resulted in unexpected success. Also, I want to bring to your notice if you ran the below command python setup.py test -s tests.builtins.test_set.BuiltinSetFunctionTests.test_str this resulted in expected failure. I printed out the output from python and java in both the output, contents of set are same only their position differs and this is failing the test.

@siddharthkawar91 maybe it will be easier to discuss the problem if you send a PR saying it's a work-in-progress and then we can look at it?

Hey there, first time contributor. Are there any data types left that I could work on ?

Welcome @Rushane! There's certainly plenty of unimplemented operations on the various data types left. For example, I see a lot of tests listed in not_implemented in test_complex.py and test_float.py, and a few others listed in various places like test_dict.py.

Okay, thank you. Will check them out

Going to start working on str.istitle()

Hii there, first time contributor. I looked into test_float.py and found test_mul_frozenset as not implemented. So I added these two lines to Float.java:
........
else if (other instanceof org.python.types.FrozenSet) {
            throw new org.python.exceptions.TypeError("unsupported operand type(s) for *: 'float' and '" + other.typeName() + "'");
        }
........

and got the same error as python 3 interpreter:
TypeError: unsupported operand type(s) for *: 'float' and 'frozenset'

which previously gave a not implemented error. Am I in the right direction? Any advise is highly sought after since this is my first time contributing. Thank you.

@Deepayan-Ghosh hello, glad to see you want to contribute!
It's hard to give feedback without seeing the full context -- it's better if you send a pull request with your changes, then we can see it in context and add comments to point you in the right direction if necessary.

Hi guys,
I've modified and submitted PR for Str.isprintable() such that this function return false if a character falls under the category Other or Separator in Unicode category (except space character)

Hi, I am Sarfaraz. I am working on ByteArray comparison dunder methods (eq, gt, etc)

Working on isalnum, isdigit and join methods of ByteArray

Hi guys,first time contributor.
Am implementing Dict.keys() and Dict.values()

I will try to implement test_zfill_arg_handling

Greetings. Working on test_isprintable_surrogate_cases

PR open for test_is_printable_surrogate_cases: https://github.com/pybee/voc/pull/811

Seems like the test_case_changes is failing just because it has 'átomo' this word in the in the list through which it is iterating after removing this word the test works perfectly.
So either we need to remove this string from the list or need to update the implementation of capitalize(),  lower(),  swapcase(),  title() and  upper()  so that they support unicode characters, but that would be difficult because according to my knowledge java supports only ASCII.
So how do I work on this issue?

@prateek3255 You're incorrect in saying Java only supports ASCII. Java requires support for Unicode, and all strings are unicode.
However, the case normalisation code may vary between Java and Python (or there may be variations usage) - I suspect that is what you may be coming up against.

So can I work on this issue? Or is there any other one that I can work on as a beginner.

The test_title is also failing for the same reasons because it is failing in converting "\u00c4" this character which corresponds to 'Ä', when I ran these tests separately ]in java and python then, amazingly I got the same results.
This is the code I used in java ( I used the _title() method used in Str.java for impelmenting the title() method ) -
public class testCase {

	public static String _title(String input) {
        if (input.isEmpty()) {
            return input;
        }

        java.lang.StringBuffer title = new java.lang.StringBuffer();
        title.append(Character.toUpperCase(input.charAt(0)));
        for (int c = 1; c < input.length(); c++) {
            if (!(Character.isLetter(title.charAt(c - 1)))) {
                title.append(Character.toUpperCase(input.charAt(c)));
            } else if (Character.isUpperCase(input.charAt(c))) {
                title.append(Character.toLowerCase(input.charAt(c)));
            } else {
                title.append(input.charAt(c));
            }
        }

        return title.toString();
    }

	public static void main(String[] args) {
		System.out.println(testCase._title("\u00c4"));
	}
}

and in python
"\u00c4".title()
and they both produced the same output as Ä
Then why are the tests failing?

And is there anyway I can fix them?

@prateek3255 are you running Windows, by any chance?
I have the feeling you might be running into the issue mentioned here: https://github.com/pybee/voc/pull/703
Maybe you could try if the change in that PR would fix the issue for you?

Yes, I am running on WIndows 10. And I will try the changes used in that PR.

After making the changes mentioned in the PR the tests are passing. I have added an approval review for the PR.

All the tests mentioned in the StrTests in test_str.py are running successfully on my windows machine.

IMHO you should remove those tests from that file because they are creating a confusion amongst newcomers like me who read your contributing docs. And someone needs to update those docs.

@prateek3255 What changes need to be made to the docs? And can those suggestions be made in the form of a pull request? ;)

The docs need to be changed under the "Your First contribution" section of the contributing docs. Currently, it tells all the first timers to go and add implementation to the methods mentioned in the test_str.py file but all of the methods are already implemented and the tests are running successfully. In my opinion, it should tell the newcomers about some other issues or some labels they can search for.
And I think that those suggestions can be made in form of a pull request and I would love to do it as my first contribution.

And you should also close this issue, delete all the tests from test_str.py and merge #703 it so that tests don't fail on a windows machine.

Hi I'm new here and I'd like to contribute, can someone suggest any method to work on ?

Welcome @RohitMazumder. It looks like there are a few unimplemented methods for complex: https://github.com/pybee/voc/blob/master/tests/datatypes/test_complex.py
An easier one to start with there might be __eq__ perhaps.
Feel free to ask any questions you might have!

Hi! Is there something I can work on as a  beginner ? :)

Hello! I would like to participate to some methods (for beginners) ;) do you have some suggestions as most of the test are already marked ok?

Hi, I would like to start working on SetTests.test_equal_value_different_datatypes, which would involve changing the hashCode functions in some classes and make them conform to the equals contract. Hope that is okay.

@freakboy3742 Hey! I was checking this out today want to contribute. I went over the first_time contributing file and tried running the python test script, all of them. The ones in test folder, the ones inside datatypes directory or any other ones. I am getting an import error like this:
:~/Desktop/voc$ python3 tests/datatypes/test_str.py  Traceback (most recent call last):   File "tests/datatypes/test_str.py", line 4, in <module>     from .. utils import TranspileTestCase, UnaryOperationTestCase, BinaryOperationTestCase, InplaceOperationTestCase ValueError: attempted relative import beyond top-level package
It seems like it's not treating voc as a package. Any idea what to do/how to solve it and go ahead?

I'm a little confused regarding what is done and what isn't, but I've settled for trying the implementation for the test_base_correct test case. Let me know if this is already taken.

Hello there , is there anything a beginner can do??

At this time, i'd advise against contributing to VOC. We're now using a different approach to managing our Android projects, and as a result, VOC isn't getting as much attention as it once did.
If you're looking for ways to get involved with the BeeWare project, take a look out our guide for contributors


[Bug] Starting the app creates a log saying error in CheckForUpdates

Describe the bug
After starting the app, it creates a log file saying there is an error in ScreenToGif.Util.LocalizationHelper.CheckForUpdates
To Reproduce
Steps to reproduce the behavior:

Download portable exe
start exe
see ScreenToGif\Logs showing

Expected behavior
No error logs
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 10
Version 2.35.3

Additional context
The error log says below.
► Title -
	Check for an updated localization recource
▬ Message -
	The path is empty. (Parameter 'path')
○ Type -
	System.ArgumentException
♦ [Version] Date/Hour -
	[2.35.3] 01/09/2022 01:00:23
▲ Source -
	System.Private.CoreLib
▼ TargetSite -
	System.String GetFullPath(System.String)
♠ StackTrace -
   at System.IO.Path.GetFullPath(String path)
   at System.IO.File.GetLastWriteTime(String path)
   at ScreenToGif.Util.LocalizationHelper.CheckForUpdates(String culture) in C:\Users\nicke\source\repos\ScreenToGif\ScreenToGif.Util\LocalizationHelper.cs:line 146

Maybe this was cause by the behavior change in Assembly.Location after .NET 5?
https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.location?view=net-6.0#remarks

Maybe this was cause by the behavior change in Assembly.Location after .NET 5?

Yes, that was it. I was able to fix it.
Thanks.


/api/v1/query doesn't support matrix type anymore

Try:
http://localhost:9090/api/v1/query?query=up[1m]&time=1435229840.642
Response:
{"status":"error","errorType":"bad_data","error":"invalid expression type \"matrix\" for range query, must be scalar or vector"}

Expected: valid matrix response.

@fabxc

Fixed in #848


Computer names longer than 15 are blocked, but the limit is 63

Details of the scenario you tried and the problem that is occurring
Renaming a PC with a name that is more than 15 characters will fail. However if you rename the same PC through right-click Start, System, "Rename this PC" you can use up to 63 characters (I understand the 15 character limit comes from NetBIOS).
Verbose logs showing the problem
PowerShell DSC resource DSC_Computer  failed to execute Test-TargetResource functionality with error message: Cannot validate argument on parameter 'Name'. The character length of the 16 argument is too long. Shorten the character length of the argument so it is fewer
than or equal to "15" characters, and then try the command again.
+ CategoryInfo          : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : ProviderOperationExecutionFailure
+ PSComputerName        : localhost
Suggested solution to the issue
To avoid breaking existing behaviour, add a new property that supports the 63 character limit.
The DSC configuration that is used to reproduce the issue (as detailed as possible)

Computer RenamePC
{
	Name = "1234567890123456"
}

The operating system the target node is running
OsName               : Microsoft Windows Server 2019 Datacenter
OsOperatingSystemSKU : DatacenterServerEdition
OsArchitecture       : 64-bit
WindowsVersion       : 1809
WindowsBuildLabEx    : 17763.1.amd64fre.rs5_release.180914-1434
OsLanguage           : en-US
OsMuiLanguages       : {en-US}
Version and build of PowerShell the target node is running
Name                           Value

PSVersion                      5.1.17763.2183
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.2183
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
Version of the DSC module that was used ('dev' if using current dev branch)
Latest as installed by PS (8.5.0)

Hi @markleavesley - this is a interesting issue (which is why I've labelled it with discussion). At first glance this seemed simple enough, but it actually a little more complex:
The challenge here is that the Name parameter does just test and set the NetBios name of the machine. What I believe you're wanting to do is set the hostname. Using a single parameter to represent two differing values (Hostname and NetBios name) will result in config flapping, so we can't just use the Name parameter to represent the Hostname - or if we did, we'd need to replicate the logic that Rename-Computer uses to truncate the hostname to the netbios name.
One solution to this would be to add completely new parameters for setting the hostname. This does get more complex because Rename-Computer (which this resource uses) cmdlet sets both the hostname and the NetBios name.
I think all this is possible, but it would need a bit of discussion to select the right approach.

@PlagueHO Thanks for the prompt reply. I was using Rename-Computer before as it happens.
For context, I am deploying VM scale sets using a specialized image and whilst renaming them to their portal names using PS works, it needs a reboot and the recommended solution I keep seeing is to rename using DSC and let it handle the reboot, hence I am here.


Server Crashing

[13:54:45] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NullPointerException: Cannot invoke "String.indexOf(int)" because "$$0" is null
at net.minecraft.class_2960.method_60935(class_2960.java:94) ~[server-intermediary.jar:?]
at net.minecraft.class_2960.method_12829(class_2960.java:65) ~[server-intermediary.jar:?]
at com.gmail.sneakdevs.diamondeconomy.CurrencyType.(CurrencyType.java:30) ~[diamondeconomy-1.6.0+1.21.jar:?]
at com.gmail.sneakdevs.diamondeconomy.sql.SQLiteDatabaseManager.getCurrency(SQLiteDatabaseManager.java:457) ~[diamondeconomy-1.6.0+1.21.jar:?]
at com.gmail.sneakdevs.diamondeconomy.DiamondUtils.createCurrencyList(DiamondUtils.java:106) ~[diamondeconomy-1.6.0+1.21.jar:?]
at com.gmail.sneakdevs.diamondeconomy.DiamondEconomy.initServer(DiamondEconomy.java:31) ~[diamondeconomy-1.6.0+1.21.jar:?]
at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$0(ServerLifecycleEvents.java:38) ~[fabric-lifecycle-events-v1-2.3.1+6c1df36019-f08a967dd320d5f1.jar:?]
at net.minecraft.server.MinecraftServer.handler$zkg000$fabric-lifecycle-events-v1$beforeSetupServer(MinecraftServer.java:4138) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:664) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
2024-09-12-2.log
crash-2024-09-12_13.51.41-server.txt

could you post the config you're using

I am having the same issue on my server.
With the default config, I tested the mods @BITS-US had installed. I found that the BanHammer mod causes the server to crash. (There may be more, I didn't test all of them).
On my server, I use the Husk Homes mod, and this also causes the server to crash.
I am on 1.21.1

BanHammer Log
[13:31:50] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=file:/C:/Users/ticataco/Downloads/libraries/net/fabricmc/sponge-mixin/0.15.3+mixin.0.8.7/sponge-mixin-0.15.3+mixin.0.8.7.jar Service=Knot/Fabric Env=SERVER
[13:31:50] [main/INFO]: Compatibility level set to JAVA_17
[13:31:51] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1).
[13:31:58] [main/INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[13:31:59] [main/INFO]: Loaded 1290 recipes
[13:31:59] [main/INFO]: Loaded 1399 advancements
[13:32:00] [main/INFO]: Applied 0 biome modifications to 0 of 64 new biomes in 1.636 ms
[13:32:00] [Server thread/INFO]: BanHammer connected successfully to SQLite database!
[13:32:00] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NullPointerException: Cannot invoke "String.indexOf(int)" because "$$0" is null
at knot/net.minecraft.class_2960.method_60935(class_2960.java:94) ~[server-intermediary.jar:?]
at knot/net.minecraft.class_2960.method_12829(class_2960.java:65) ~[server-intermediary.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.CurrencyType.(CurrencyType.java:30) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.sql.SQLiteDatabaseManager.getCurrency(SQLiteDatabaseManager.java:457) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.DiamondUtils.createCurrencyList(DiamondUtils.java:106) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.DiamondEconomy.initServer(DiamondEconomy.java:31) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$0(ServerLifecycleEvents.java:38) ~[fabric-lifecycle-events-v1-2.3.1+6c1df36019-a0320f6814921fbf.jar:?]
at knot/net.minecraft.server.MinecraftServer.handler$zej000$fabric-lifecycle-events-v1$beforeSetupServer(MinecraftServer.java:2638) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:664) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1570) [?:?]
[13:32:00] [Server thread/ERROR]: This crash report has been saved to: C:\Users\ticataco\Downloads\crash-reports\crash-2024-10-12_13.32.00-server.txt
[13:32:00] [Server thread/INFO]: Stopping server
[13:32:00] [Server thread/INFO]: Saving worlds
[13:32:00] [Server thread/ERROR]: Exception stopping the server
java.lang.NullPointerException: Cannot invoke "net.minecraft.class_3218.method_8621()" because "$$5" is null
at knot/net.minecraft.server.MinecraftServer.method_3723(MinecraftServer.java:561) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_3782(MinecraftServer.java:620) ~[server-intermediary.jar:?]
at knot/net.minecraft.class_3176.method_3782(class_3176.java:561) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:735) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1570) [?:?]

Husk Homes Log
[13:47:01] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=file:/C:/Users/ticataco/Downloads/libraries/net/fabricmc/sponge-mixin/0.15.3+mixin.0.8.7/sponge-mixin-0.15.3+mixin.0.8.7.jar Service=Knot/Fabric Env=SERVER
[13:47:01] [main/INFO]: Compatibility level set to JAVA_17
[13:47:02] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1).
[13:47:08] [main/INFO]: Initializing plugin config & locale files...
[13:47:09] [main/INFO]: Successfully initialized plugin config & locale files
[13:47:09] [main/INFO]: Initializing commands...
[13:47:09] [main/INFO]: Successfully initialized commands
[13:47:09] [main/INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[13:47:10] [main/INFO]: Loaded 1290 recipes
[13:47:11] [main/INFO]: Loaded 1399 advancements
[13:47:11] [main/INFO]: Applied 0 biome modifications to 0 of 64 new biomes in 1.749 ms
[13:47:12] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NullPointerException: Cannot invoke "String.indexOf(int)" because "$$0" is null
at knot/net.minecraft.class_2960.method_60935(class_2960.java:94) ~[server-intermediary.jar:?]
at knot/net.minecraft.class_2960.method_12829(class_2960.java:65) ~[server-intermediary.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.CurrencyType.(CurrencyType.java:30) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.sql.SQLiteDatabaseManager.getCurrency(SQLiteDatabaseManager.java:457) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.DiamondUtils.createCurrencyList(DiamondUtils.java:106) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/com.gmail.sneakdevs.diamondeconomy.DiamondEconomy.initServer(DiamondEconomy.java:31) ~[diamondeconomy-1.6.0+1.21.jar:?]
at knot/net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$0(ServerLifecycleEvents.java:38) ~[fabric-lifecycle-events-v1-2.3.1+6c1df36019-a0320f6814921fbf.jar:?]
at knot/net.minecraft.server.MinecraftServer.handler$zfa000$fabric-lifecycle-events-v1$beforeSetupServer(MinecraftServer.java:3138) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:664) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1570) [?:?]
[13:47:12] [Server thread/ERROR]: This crash report has been saved to: C:\Users\ticataco\Downloads\crash-reports\crash-2024-10-12_13.47.12-server.txt
[13:47:12] [Server thread/INFO]: Stopping server
[13:47:12] [Server thread/INFO]: Saving worlds
[13:47:12] [Server thread/ERROR]: Exception stopping the server
java.lang.NullPointerException: Cannot invoke "net.minecraft.class_3218.method_8621()" because "$$5" is null
at knot/net.minecraft.server.MinecraftServer.method_3723(MinecraftServer.java:561) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_3782(MinecraftServer.java:620) ~[server-intermediary.jar:?]
at knot/net.minecraft.class_3176.method_3782(class_3176.java:561) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:735) ~[server-intermediary.jar:?]
at knot/net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1570) [?:?]

@IAmSneak I may have found a solution.
I've never used Java or SQLite before so there may be a better way to patch this bug. If so, this may be a good temporary patch before you can get time to hunt that down.
What I found was in the getCurrency function in SQLiteDatabaseManager.java. For some reason, this bug only occurs when using other mods that utilize an SQLite database. When this happens, the SQLite database outputs a seconds row with a null "item" value. This causes the CurrencyType function to raise an error. I propose that a simple if statement is added to the getCurrency functions like shown below.

if (item == null) {
return null;
}
return new CurrencyType(item, sellValue, buyValue, inCurrencyList, canBuy, canSell);

This will prevent these invalid values from being passed to the CurrencyType function, and fixes the server crashing.

that would most likely fix the crash but it wouldnt fix the actual issue. I imagine I'm using a weird version of SQL and I'll prolly take a look at how other mods use it

I hope I'm not being too annoying with these messages, but could the issue be that the value of rs.next() is not being checked? If rs.next() returns false, then there are no more rows, so the function could be returned right there.
In the getCurrency() function, this if statement inside the for loop could be added to check if the row is valid before it is operated on.
for (int j = -1; j < i; j++) {
    if (!rs.next()) {
        return null;
    }
}


Fixed link for changelog (#528)

This fixes issue #528

Hi. To make it clickable, it should start with https://.


/mergePut with { objects } does not work

/mergePut using the { objects } form does not work.  I would expect it to update an object if the id exists, or create it if the id does not exist (the id is reserved with reserveIds).  Documentation claims that mergePut will accept either an { objects } array, or a { query, props } combination.
When giving just the { objects } form, database responds with:
{ errorCode: -986, errorText: "required prop not found: 'query'", returnValue: false }

will re-test with latest version of db8 and re-open if still a problem


"|" removes highlighting when typed as part of "very magic" patterns in the commands connected with 'incsearch' (":search", ":global", etc)

To Reproduce

Run gvim.exe --clean
Type abc|def in the buffer
Type :%s/\vabc\| in the command line
The abc| part doesn't get highlighted

Expected behavior
abc| should get highlighted
Environment

Vim: 8.2.1145
OS: Windows 10 Home 1803
Terminal: GUI

FWIW, the issue doesn't affect the / and ? commands, e.g. typing /\vabc\| in the command line does highlight abc|.

Also, if you continue :%s/\vabc\| at step 3 to :%s/\vabc\|d, the highlighting (of abc|d) shows again.

Still the same in 8.1.1377:
/\vabc\| highlights abc|
:%s/\vabc\| doesn't highlight abc|
Could anybody please confirm/refute reproducibility?

can reproduce, will have a look shortly

Well, Vim is guessing, that the pattern matches everywhere. The fault lies in empty_pattern(). It sees the \| at the end of the pattern and so vim thinks this pattern matches everywhere and stops highlighting (in order to prevent a blinking christmas like terminal).
We could probably be a bit smarter by using something like the following patch, which does detect a leading \v and keeps on highlighting a trailing \|. But it still is guessing more or less (try moving the \v to a different position and it will start to fail again). So not sure this is worth the trouble or just live with it that this guesswork will never be completely correct.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 7afed52c9..d27a18914 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -94,7 +94,13 @@ empty_pattern(char_u *p)
     while (n >= 2 && p[n - 2] == '\\'
                          && vim_strchr((char_u *)"mMvVcCZ", p[n - 1]) != NULL)
        n -= 2;
-    return n == 0 || (n >= 2 && p[n - 2] == '\\' && p[n - 1] == '|');
+    // true, if the pattern is empty, or the pattern ends with \|
+    // (but only, if it does not start with \v
+    // (or if it does, it ends with '|' but not with '\|')
+    return n == 0 ||
+       (n >= 2 && p[n - 2] == '\\' && p[n - 1] == '|' &&
+       !(p[0] == '\\' && p[1] == 'v')) ||
+       (n >= 2 && p[0] == '\\' && p[1] == 'v' && p[n -2 ] != '\\' && p[n - 1] == '|');
 }

 // Struct to store the viewstate during 'incsearch' highlighting.

@brammool if you think this is actually worth to be included, let me know and I'll change it to a proper patch (including a screen test).

Christian wrote:

Well, Vim is guessing, that the pattern matches everywhere. The fault
lies in empty_pattern(). It sees the \| at the end of the pattern
and so vim thinks this pattern matches everywhere and stops
highlighting (in order to prevent a blinking christmas like terminal).
We could probably be a bit smarter by using something like the
following patch, which does detect a leading \v and keeps on
highlighting a trailing \|. But it still is guessing more or less
(try moving the \v to a different position and it will start to fail
again). So not sure this is worth the trouble or just live with it
that this guesswork will never be completely correct.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 7afed52c9..d27a18914 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -94,7 +94,13 @@ empty_pattern(char_u *p)
     while (n >= 2 && p[n - 2] == '\\'
                          && vim_strchr((char_u *)"mMvVcCZ", p[n - 1]) != NULL)
        n -= 2;
-    return n == 0 || (n >= 2 && p[n - 2] == '\\' && p[n - 1] == '|');
+    // true, if the pattern is empty, or the pattern ends with \|
+    // (but only, if it does not start with \v
+    // (or if it does, it ends with '|' but not with '\|')
+    return n == 0 ||
+       (n >= 2 && p[n - 2] == '\\' && p[n - 1] == '|' &&
+       !(p[0] == '\\' && p[1] == 'v')) ||
+       (n >= 2 && p[0] == '\\' && p[1] == 'v' && p[n -2 ] != '\\' && p[n - 1] == '|');
 }

 // Struct to store the viewstate during 'incsearch' highlighting.

It could be made a bit more accurate by using skip_regexp_ex(), it
detects the magicness.  Need to add a way to return "mymagic".
--
Nothing is impossible for the man who doesn't have to do it.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


JoErNanO: Watch future.travel

JoErNanO requests the watch of the watch_keyword future.travel. See the Metasmoke search here

You meant to use the user blacklist, not the username blacklist.


Reduce log level of ClusterConnection creation

Hi! Thanks for setting up all the logging, it's been very helpful.
Would you be up for reducing the log level here? We've found that it's spewing a ton of logs for us. For the time being we've just reduced our output via logging.getLogger("rediscluster.connection").setLevel(logging.WARN) but we'd like to keep some of the other info-level logs around.

Nice cath @TylerLubeck. It will come long with 2.1.1 once the other open PR:s is merged so i can make a new release.


Add a fix to change the boilerplate code if the language selection ch…

Fixes #9

Thank you!
I have recently removed support for Go. Kindly also do that from your side then make a PR. Again, thanks!

Awesome!


Changing regexMatch to block form

Fixes #3, also fixes manual selection of the primary definition. But, I did not fix the jpmn-min-freq handlebar because it's supposedly deprecated.
The problem is that regexMatch no longer works in the form {{regexMatch regex [flags] [text-to-modify]...}}. Instead, it only works in the form {{#regexMatch regex [flags]}}text-to-modify{{/regexMatch}}. Maybe an issue should be raised in Yomitan?

Thanks for this! The only change I made was updating the frequency sort version to match Marv's.
I'm not super familiar with handlebars, so I've asked the Yomitan devs to take a quick look at your regexMatch change. When they say it looks sensible, I'll merge it in.

Also decided to use this opportunity to update the ignored dictionaries for frequency sorting

It looks like this is being fixed here: https://github.com/themoeway/yomitan/pull/535
I'll merge it in for now, since it might take a while for the changes to get into the stable version of Yomitan, though we may need to revert the regexMatch change later


Added How To Documentation

Added items in the how to portion of the documentation from existing documentation.  Please let me know if you have any questions edits or concerns.

Will create a new request after proper linting.


Update "building a new adapter" guide for 0.16.0

Guide: https://docs.getdbt.com/docs/contributing/building-a-new-adapter

The contents of this document should be updated to reflect any changes since the guide was first written
The underlying script that generates a stub plugin should either be updated, or removed, from dbt Core

@beckjake to check if he has an open PR that updates the create_adapter.py script, and if so, open the PR

Oops, it turns out I already did that in #2294!


Import wizard ignores existing data types while DDL is generated

System information:

Operating system (distribution) and version Win10
DBeaver version 22.0.1

Connection specification:

Database name and version PostgreSQL

Describe the problem you're observing:
Import wizard automaps table to be created even if another relation (e.g. data type) with that name already exists
Steps to reproduce, if exist:

Create a CSV file with a name of one of custom data types in your schema
In the context menu of your schema start data import
Leave all settings by default

Expected: Data is imported
Actual: Table can't be created

We need to add concept of namespaces which contain objects of different types (tables, views ,sequences, etc).
By default all schemas are namespaces which contain tables and views.

Fixed.
PR contains many improvements, please check data transfer for import and export in different combinations.


feat: state.GuildIDs() to get ids of guilds the bot is present in

To be able to get guildID at runtime thus, saving a hustle for end user of getting manually after enabling developer mod. Useful for self-hosted single guild bots.

We already have Session.State.Ready.Guilds for that purpose.


Adopt typed throws in String.swift

@swift-ci please test

@swift-ci please test

Pretty sure that'll crash the compiler like it did locally, but hey, may as well double check


Update linux.yaml artifact file

Added secure log to LinuxAuthLogs section.
Added CentOS and SuSE OS release files to LinuxDistributionRelease section.
Added a section for sudo replay log files, called LinuxSudoReplayLogs.

@cshanahan thx for the changes


[Bug]: When I use page.evaluate ,ReferenceError: common_1 is not defined

Bug expectation

for nestjs.
Is it the configuration problem of typescript? or comonjs module ... emm,  how to solve it.Think you
Bug behavior

[ ] Flaky
[ ] PDF

Minimal, reproducible example
setTimeout(async () => {
        await page.evaluate(() => {
          Logger.log('startRecord evaluate');

        });
      }, 3e3);

Error string
ReferenceError: common_1 is not defined
Puppeteer configuration
No response
Puppeteer version
20.4.0
Node version
16.15.0
Package manager
yarn
Package manager version
1.22.19
Operating system
macOS

Please read the Evaluate JavaScript. In short there is no class Logger on the page you are trying to evaluate. You can use the native console.log in combination with
page.on('console', log => {Logger.log(`Page logs: ${log.message()}`)})
await page.evaluate(...)

( see the ConsoleMessage) to get the log in NestJS context.


DWM1000 breakout board

Hi guys,
This is not a real issue, but I hope you will like it.
So I designed a breakout board for DWM1000 with voltage regulator and logical level converter. Its now under testing so you can follow the project here.
Please fill to free commenting or forking the project, its completely open source.

Hi,
I saw your project and its good. Can you let us know that did it worked perfectly fine?
Can you share us your results?


Compilation fails in Xcode 12.5

New Issue Checklist

[x] I have read and understood the CONTRIBUTING guide
[x] I have read the Documentation or CocoaDocs
[x] I have searched for a similar issue in the project and found none

Issue Info

Info
Value

Platform Name
iOS

Platform Version
11.0 - 14.5

CocoaLumberjack Version
3.7.0

Integration Method
SPM

Xcode Version
Xcode 12.5 beta 1

Repro rate
all the time (100%)

Demo project link
CocoaLumberJackRepro.zip

Issue Description and Steps
(Xcode 12.5 beta 1, so the issue might change)
I've tried compiling my project that depends on CocoaLumberjack with the new Xcode 12.5 beta:
When compiling, there's an error in CLIColor.m's line 16:
#if TARGET_OS_OSX
//  ^ 'TARGET_OS_OSX' is not defined, evaluates to 0

I find that adding the import
#import <TargetConditionals.h>

solves the issue for me.
Would you be interested in a pull request that adds this?

It's kinda curious that it ever worked, since a few of the files aren't importing Foundation at all before checking the TARGET_* conditional. So even if Foundation is importing it, it's not clear that it should apply to the code as currently written.

Don't we have a Foundation import in the module header? This would make it work because Foundation is then imported before all other headers.

You mean in https://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/Sources/CocoaLumberjack/Supporting Files/CocoaLumberjack.h? I don't think that file is automatically imported in all other files; if it were, you would never have write most other imports from within the framework.

For non-SPM builds, we import Foundation in [this file](Sources/CocoaLumberjack/Supporting Files/CocoaLumberjack.h).
SPM generated its own module header. Not sure, though, if it generates a Foundation import or not.

Ah you're right. Ignore my last comment. This only applies to (external) module includes, not internally. And we no longer have a PCH.
Like I said, the PR is definitively a good idea. Still curious as to why this suddenly fails, but that's just personal curiosity. 🙃

Is there a timeline on cutting a release that includes this fix? I've confirmed it fixes things for me locally, thanks for tracking it down!

I've prepared a release 3.7.1 (#1217). I'm unsure as to when Apple will release 12.5. We might be able to include the scheme update dance for 12.5 in 3.7.1 as well. However, currently 12.5 is still in beta (not even an RC yet).

I'm closing this issue, since the fix for it is already in master.


Composer error after installation

I have created an account on the website and followed the installation steps. Everything was easy and no errors occured. However, something goes wrong when the route /ensemble is called.
The following error is 4 times in my log files with 5 minutes between them. The Laravel 5.6 application is running on an ordinary VPS with Ubuntu 16.04. If you need more information or if I can contribute in some way, please let me know.

Exit Code: 1(General error)

Working directory: /var/www/potje

Output:
================

Error Output:
================

  [RuntimeException]
  The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly

 {"exception":"[object] (Symfony\\Component\\Process\\Exception\\ProcessFailedException(code: 0): The command \"'/usr/local/bin/composer' 'outdated' '--format=json' '--all'\" failed.

Exit Code: 1(General error)

Working directory: /var/www/potje

Output:
================

Error Output:
================

  [RuntimeException]
  The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly

 at /var/www/potje/vendor/simonhamp/ensemble-plugin/src/PackageChecker.php:28)
[stacktrace]
#0 /var/www/potje/vendor/simonhamp/ensemble-plugin/src/EnsembleServiceProvider.php(44): SimonHamp\\Ensemble\\PackageChecker::getJson(Array)
#1 /var/www/potje/vendor/simonhamp/ensemble-plugin/src/EnsembleServiceProvider.php(83): SimonHamp\\Ensemble\\EnsembleServiceProvider->SimonHamp\\Ensemble\\{closure}()
#2 /var/www/potje/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(327): SimonHamp\\Ensemble\\EnsembleServiceProvider->SimonHamp\\Ensemble\\{closure}()
#3 /var/www/potje/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(304): Illuminate\\Cache\\Repository->remember('ensemble_all', 60, Object(Closure))
#4 /var/www/potje/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\\Cache\\CacheManager->__call('remember', Array)
#5 /var/www/potje/vendor/simonhamp/ensemble-plugin/src/EnsembleServiceProvider.php(84): Illuminate\\Support\\Facades\\Facade::__callStatic('remember', Array)
#6 /var/www/potje/vendor/simonhamp/ensemble-plugin/src/EnsembleServiceProvider.php(45): SimonHamp\\Ensemble\\EnsembleServiceProvider->payload('ensemble_all', Object(Closure))
#7 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Route.php(198): SimonHamp\\Ensemble\\EnsembleServiceProvider->SimonHamp\\Ensemble\\{closure}(Object(Illuminate\\Http\\Request))
#8 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Route.php(172): Illuminate\\Routing\\Route->runCallable()
#9 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Router.php(665): Illuminate\\Routing\\Route->run()
#10 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#12 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Router.php(667): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#13 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Router.php(642): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#14 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Router.php(608): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#15 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Router.php(597): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#16 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#17 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#18 /var/www/potje/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#19 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#22 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#25 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#28 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(51): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#31 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /var/www/potje/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /var/www/potje/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#34 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /var/www/potje/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#36 /var/www/potje/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#37 {main}
"}

@r-hoffmann apologies for the late reply, I didn't get an alert about your issue from GitHub for some reason :/
How is Composer installed on your production server? Do you know its location?
This looks like a misconfiguration in Composer. Can you run any Composer commands directly on your server successfully?
What platform is your server running: Windows/Linux (which flavour)/Unix (which flavour)?

@simonhamp Sorry for not replying to your messages. I saw that you were working on it and waited for the merge. I just did what you said, let's see what happens!


pipeline-service update prod

Important updates:

Switch to OSP nightly builds

Included PRs:

https://github.com/openshift-pipelines/pipeline-service/pull/956
https://github.com/openshift-pipelines/pipeline-service/pull/972
https://github.com/openshift-pipelines/pipeline-service/pull/962

/test appstudio-e2e-tests


🚧Create unit tests for extension methods

Complete The Item Below

[X] I have updated the title without removing the 🚧 emoji.

Description
Create unit tests for all of the extension methods in the KeyCodeExtensions file.
Use existing code for a guide on the style, layout, and practices used for unit tests.
If you have any questions, please reach out!!  😀
Acceptance Criteria

[ ] Extension methods created for methods in the KeyCodeExtensions class.

ToDo Items

[X] Change type labels added to this issue.  Refer to the Change Type Labels section below.
[X] Priority label added to this issue.  Refer to the Priority Type Labels section below.
[X] Issue linked to the correct project (if applicable).
[X] Issue linked to the correct milestone (if applicable).
[ ] Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies
No response
Related Work
No response
Additional Information:
Change Type Labels

Change Type
Label

Bug Fixes
🐛bug

Breaking Changes
🧨breaking changes

New Feature
✨new feature

CICD Changes
♻cicd

Code Doc Changes
🗒documentation/code

Product Doc Changes
📝documentation/product

Priority Type Labels

Priority Type
Label

Low Priority
low priority

Medium Priority
medium priority

High Priority
high priority

Code of Conduct

[X] I agree to follow this project's Code of Conduct.

@CalvinWilkinson is this issue available? I would like to contribute

@CalvinWilkinson is this issue available? I would like to contribute

Absoluteley!! If you have any questions, please don't hesitate to ask.  I have a discord server as well that you can join and ask questions.
KinsonDigital Community


statistics tab: does the tab count measurements or unique cells/SSIDs?

Description
the Statistics tab doesn't tell the user whether it counts unique Wi-Fi APs/Cells/Bluetooth Beacons or each measurement it did (including duplicates of the same Wi-Fi over and over again)
Suggested implementation
This could be adjusted with an overhaul of the Statistics tab at some point.
It doesn't have to be fixed now, I just wanted to let you know that this is unclear to me as a user :)
Additional information
No response
New request

[X] I have checked that a similar feature hasn't been requested yet

It shows the number of unique APs/cell towers/beacons detected over time
This could be clarified at least in the user guide which I'm planning on creating

great, in that case: closed


Applications: wrong dimmed colors

When app is dimmed by modals background colors are wrong (gradient at the top is switched off):

checked

checked


[dv/pwrmgr] Allow transitions to invalid fsm state

Some tests inject transitions to an invalid state at random, so SVAs that expect specific transitions need to allow for transitions to invalid states.

The one CI failure is at build time due to missing bazel? Cannot have any relation to the change in this PR. Merging.


delete a duplicated sentence.

delete a duplicated sentence that wasn't translated.

Thanks for the PR, already covered by #2014


Setting up Functional Browser Testing

Defines a testing framework focused on testing how django/wagtail interact with our backend python code

Additions

Cypress
docker-compose file focused on end to end testing.

How to test this PR

docker-compose -f docker-compose.e2e.yml run e2e
yarn & yarn run cypress open and select a test fixture to run

Screenshots

Notes and todos

These tests will run against all pull requests on jenkins.

Checklist
[Feel free to delete any checkboxes that are not applicable to this PR.]

[ ] PR has an informative and human-readable title

PR titles are used to generate the change log in releases; good ones make that easier to scan.
Consider prefixing with the feature/section you're addressing, e.g., "Mega Menu: fix layout bug" or "Paying for College: Update content on Repay tool"

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code follows the standards laid out in the CFPB development guidelines
[ ] Future todos are captured in comments and/or tickets
[ ] Project documentation has been updated, potentialy one or more of:

This repo’s docs (edit the files in the /docs folder) – for basic, close-to-the-code documentation on working with this repo
CFGOV/platform wiki on GHE – for internal CFPB developer guidance
CFPB/hubcap wiki on GHE – for internal CFPB design and content guidance

Should it be tests/integration/consumer_tools.js instead of cypress/integration/consumer_tools.js?

Should it be test/integration/consumer_tools.js instead of cypress/integration/consumer_tools.js?

I think maybe what we want is to mv cypress/ test/integration/? This would leave us with the redundant looking test/integration/integration/, but maybe there's another name we could use for that deeper folder, or maybe we don't mind the redundancy?

I think maybe what we want is to mv cypress/ test/integration/? This would leave us with the redundant looking test/integration/integration/, but maybe there's another name we could use for that deeper folder, or maybe we don't mind the redundancy?

Why do you need the extra integration folder?

I think maybe what we want is to mv cypress/ test/integration/? This would leave us with the redundant looking test/integration/integration/, but maybe there's another name we could use for that deeper folder, or maybe we don't mind the redundancy?

Why do you need the extra integration folder?

I don't know for sure if it's needed, I'm just considering the file structure as presented in this PR. Presumably there is a reason to logically separate files like the one he put in the integration folder from, say, the files in the pages folder.

I think maybe what we want is to mv cypress/ test/integration/? This would leave us with the redundant looking test/integration/integration/, but maybe there's another name we could use for that deeper folder, or maybe we don't mind the redundancy?

Why do you need the extra integration folder?

I don't know for sure if it's needed, I'm just considering the file structure as presented in this PR. Presumably there is a reason to logically separate files like the one he put in the integration folder from, say, the files in the pages folder.

Oh I see what you mean. It may be test/integration/cypress/pages then? Those refer to a cy variable and look like they wouldn't be a generic implementation.

@Scotchester @anselmbradford I didn't put any thought into this folder structure (besides creating the pages directory), its just the default structure that cypress provides when you install it on a project. If we want to deviate from their standards I'm open for any ideas - I typically just stick with what the tool recommends.

I typically just stick with what the tool recommends.

I like this line of thinking (and wish it had been in place when, like, the Django project was made to live one-level down in cfgov/. But I'll defer to any strong opinions that @anselmbradford @Scotchester might have. I can see the appeal of not having yet another directory with tests in, but does it cause confusion later?

I like this line of thinking (and wish it had been in place when, like, the Django project was made to live one-level down in cfgov/. But I'll defer to any strong opinions that @anselmbradford @Scotchester might have. I can see the appeal of not having yet another directory with tests in, but does it cause confusion later?

I'd just throw it in /test/, if that means it's /test/cypress/ that seems okay, but if it has files that could be run by any test runner then it really should be more generic so we don't have to restructure the file system if we switch test runners in the future.

@anselmbradford So - Cypress can only be run by cypress, their test files aren't generic. One of its key advantages is that it doesn't leverage selenium to interact with browsers and instead leverages their own tooling. I'm not sure if that alters your opinion at all in terms of file location.

@anselmbradford So - Cypress can only be run by cypress, their test files aren't generic. One of its key advantages is that it doesn't leverage selenium to interact with browsers and instead leverages their own tooling. I'm not sure if that alters your opinion at all in terms of file location.

Gotcha. I'd still put it in /test/ unless there's some big maintenance burden to doing that.

@anselmbradford Moved into the test directory and updated confiuration. Docker and Yarn based environments should work now

@anselmbradford So - Cypress can only be run by cypress, their test files aren't generic. One of its key advantages is that it doesn't leverage selenium to interact with browsers and instead leverages their own tooling. I'm not sure if that alters your opinion at all in terms of file location.

Gotcha. I'd still put it in /test/ unless there's some big maintenance burden to doing that.

I see you've already done this, but for the record I agree with Ans – I like the test/cypress/ structure.

Not sure why the checks aren't running yet, but I also pushed a commit to run the front-end linting in CI mode, which should now properly fail on lint errors.

New Test Structure:

OK, last pedantic comment before I approve this: We prefer dashes to underscores in our JS filenames.


(BKR-1423) Pick up Vagrant config for rsync

Ensure that rsync connections use the on-disk Vagrant SSH configuraiton
if an alternate physical SSH configuration has not been specified.
Correlates directly with puppetlabs/beaker-vagrant#28

I'm looking into the beaker failure now.

Okay, I have a PR up to fix the issue with Beaker so we can get a good test run on this. Hopefully that will be merged soon.

@highb Does it make sense, and did you get a chance to look at puppetlabs/beaker-vagrant#28?

It looks like @sbeaulie is already reviewing the other PR so I'll let him give more feedback there. Given the assumption that self[:vagrant_ssh_config] gets set by beaker-vagrant, this PR makes sense to me. 👍
As an aside, this all seems like a bit of an over-use of hashes where perhaps real objects should have been used instead but that's a path we've already walked down with Beaker so I'm not going to fret about it. 😆

@highb Heh, couldn't agree more about the Objects but just keeping things going for now.

retest this please


On map annotation UI, delete requires save.

Currently on leaflet app, delete functionality requires saving, otherwise the operation does not persist. Perhaps there is a way to hardcode the saving.

Nevermind, I realized, save allows batch delete.


Navigation issues

~Make coordinate nav start below filter section and "stick" to the top~
[x] Headers that are links to themselves shouldn't be links
[x] Give screen reader users a link to skip to the bottom nav, because otherwise they have to cycle through the filters or cards entirely to get there (BWH)
[x] Pill button links on reference or intervention cards give no indication of their function, need title or aria attributes (or likely both) to cover screen reader use cases (BWH)

As far as I can tell, there's unfortunately no built-in utilities for implementing a "sticky" nav in Material Design Lite. that's usually a process that requires some javascript - not a ton, but our case might be special.
I played around with shifting the nav elements down on pages with a header, and it started to create problems with the positioning of the top search box. The way we structured the HTML isn't well-suited to implementing it as sticky, I think.
Going to push some code but leave the sticky header alone for now because I think it'd take some significant effort to get right (and probably break other things in the process).

@thatbudakguy I agree with your assessment of the nav: current set up makes it difficult to adjust.  I'm not thrilled with the way it's currently set up, I think the corner nav container should be fixed and the links positioned absolutely within the fixed div.  I think that would make it much easier to optionally position below the banner then shift to fixed (with js to toggle a class with the different styles).  But that's not a simple conversion.
It did occur to me that there's a simpler approach to adding more than 4 margin navs: 5th and 6th get placed in the middle on left and right respectively, so we don't have to worry about flowing the first 4 conditionally or check how many primary nav items we have.

All the other changes look good to me.


fix: React 18 updates for hydration warnings

Overview

Suppress hydration warnings on the markdown component (we'll work on a permanent fix)
Supply a default id to react-select to avoid SSR id mismatches based on their internal id generation

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: [ABC-123]
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] This PR includes testing instructions tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Don't make me tap the sign.
PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

🚀 Styleguide deploy preview ready!https://63e55f460c25e509e6e5ed31--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.281-alpha.680086.0@codecademy/gamut-labs@35.5.7-alpha.680086.0@codecademy/gamut@52.0.5-alpha.680086.0@codecademy/monaco@0.7.5-alpha.680086.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://63e578451d03f40c03a077f4--gamut-preview.netlify.appDeploy Logs


Detecting end of game

While running my self-play benchmark (greedy_player_benchmark.py), I realized that we are currently not detecting whether a move represents end of game. I'm proposing that we can detect this event as two pass moves in a row. In my branch (player), I have defined a pass as action=None, and created a new function, do_pass_move in GameState, which appends the None move to self.history, switches player, and adds 1 to number of turns played. In AlphaGo.ai.GreedyPolicyPlayer.get_move I check to see if there are any legal moves available, and if there are none, I return None, which will be interpreted as a pass move in Play.play_match. In Play.play_match, I also keep track of whether each player has passed, and if there are two passes in a row, I return end_of_game=True from the play function. Would any of this present a problem in any way (e.g. having None's in the game state history)?
However, just passing when there are no legal moves available doesn't seem to be sufficient for end of game, because the game may still go on ad nauseam. We need another criterion (according to https://www.gokgs.com/tutorial/gameEnd.jsp) that looks at whether a move increases your score. If it doesn't, we should pass. I suppose in order to do this, we need to pretend that the move we are currently considering is the end of the game, and call a function to sum up the score. Do I have this right? If so, I can work on implementation.

Passes (i.e. action is None) should be handled just fine by GameState (there is a PASS_MOVE constant set to None).
If there are two passes in a row, GameState itself should probably flag that the game is over. (Two or three passes, really - it must end on white passing). There is also the subtle rule that the captured stone count should be incremented on a pass.
I interpret the given gokgs link as guidelines for human players.. My impression was that greedy playouts would just continue until there were no legal moves left and that this wouldn't have any problems

Whoops, I missed the PASS_MOVE constant. I've removed the do_pass_move function I made. I added in code for incrementing capture stone count on a pass, and also added a return statement for the end of game condition in do_move.

My impression was that greedy playouts would just continue until there were no legal moves left and that this wouldn't have any problems

This isn't true. I specifically ran into the problem of games continuing forever.  Game play was running for thousands of moves before I halted it.

Also, I think something funny happens when the entire board is filled with one player. I think it switches all the spaces to empty. Something like that.

Clarification: play out to the end but not filling eyes should work. Looks like most other computer go programs ignore seki and just call the final score approximate..
I found looking at Fuego's scoring functions (GoBoardUtil.h and GoBoardUtil.cpp) and how they're called useful

I think this issue may be resolved in general by making sure a policy player only returns sensible moves (i.e. don't play in own eye). See ai.GreedyPolicyPlayer for example of how this works. Games still take a while to roll out in this way, however. May want to consider more sophisticated end-of-game detection in the future.


Relax test message assertion in "sync query causes engine crash"

Why are the changes needed?

The exception for such network issue changes in JDK 17, but the error message looks reasonable, here we simply relax the test message assertion to make UT happy.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Codecov Report

Merging #4858 (c53b5fe) into master (86e5b7a) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #4858      +/-   ##
============================================
- Coverage     58.13%   58.11%   -0.03%
  Complexity       13       13
============================================
  Files           584      584
  Lines         32593    32593
  Branches       4321     4321
============================================
- Hits          18949    18941       -8
- Misses        11828    11833       +5
- Partials       1816     1819       +3

see 7 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks, merged to master/1.7


Make the link relative.

This PR aims to make it more compatible with potential forks, as the link now points to the fork, not this repository.

Hope this makes it through!

Did not want to close that :(


Mast: Watch dumbshit(?:s)?

Mast requests the watch of the watch_keyword dumbshit(?:s)?. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Watched manually to avoid conflicts


Test PR; #trivial; Ignore this.

          1 Error

:no_entry_sign:
Please provide a summary in the Pull Request description

  Generated by :no_entry_sign: danger


Create suborganization doesn't work

See screenshots:

https://github.com/itsyouonline/identityserver/commit/147cfdd0206e9d207bc0720fb30292884c5e9959


Simplify CMake

CMake don't check for bindings dependencies installatino
These bindings are not useful for the build
This is more the role of a package manager to do that
Remove condition in endif and endforeach statements

Hi ! This project doesn't usually accept pull requests on the main branch.
If this wasn't intentionnal, you can change the base branch of this PR to devel
(No need to close it for that). Best, a bot.

no changelog would be right @jorisv right ?


[bug] Home Assistant Auto Discover - Danalock V3 Status and Control Not Working

Version: 1.0.0-alpha.2
Build/Run method

[x] Docker
[ ] PKG
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.0.0-alpha2 (cannot get Docker to pull anything later).
Raspberry PI.
Describe the bug
Connecting a Danalock V3 BTZE. Connects fine and pulls in lots of information. However after running the Home Assistant Autodiscovery, the status node and command node seem to be wrong.
Trying to lock/unlock the door from HA returns this error:
Driver: Door Lock: "targetMode" must be of type "number", received "string"
For Status, it is looking at "Current Lock Mode" which doesn't appear to have anything connected to the state of the lock.
Target Lock Mode list doesn't appear to have anything connected to lock.

Unsecured
UnsecuredWithTimeout
InsideUnsecured
InsideUnsecuredWithTimeout
OutsideUnscured
OutsideUnsecuredWithTimeout

To Reproduce
Connect Danalock V3 BTZE to application.
Configure Autodiscover for the node - using the prefix homeassistant.
Configure Home Assistant to auto discover.
Attempt to lock/unlock the door.
Lock/Unlock the door manually and monitor the lock status.
Expected behavior
Experimenting with MQTT Explorer, it seems that the status node is actually "boltStatus". I haven't established which node is the control node.
Additional context
I have attached the node.json file.
node_2.json.txt

You are speaking about this right?
{
      "type": "lock",
      "object_id": "lock",
      "discovery_payload": {
        "command_topic": "zwave2mqtt/Garage/Side-Door/98/0/targetMode/set",
        "state_locked": "true",
        "state_unlocked": "false",
        "value_template": "{% if value_json.value == false %} false {% elif value_json.value == true %} true {% else %} unknown {% endif %}",
        "state_topic": "zwave2mqtt/Garage/Side-Door/98/0/currentMode",
        "json_attributes_topic": "zwave2mqtt/Garage/Side-Door/98/0/currentMode",
        "device": {
          "identifiers": ["zwavejs2mqtt_0xdcfeb435_node2"],
          "manufacturer": "Poly-control",
          "model": "Z-Wave controlled door lock with Bluetooth Smart (Danalock V3-BTZE)",
          "name": "Garage-Side-Door",
          "sw_version": "1.0.0-alpha.2"
        },
        "name": "Garage-Side-Door_lock",
        "unique_id": "zwavejs2mqtt_0xdcfeb435_2-98-0-currentMode"
      },
      "discoveryTopic": "lock/Garage-Side-Door/lock/config",
      "values": ["98-0-currentMode", "98-0-targetMode"],
      "persistent": true,
      "ignoreDiscovery": false
    },

If so, I suggest you to try to manually edit the template and try to make it working, you can do this in control panel, when you edit it press on rediscover and see if it fix, once you find a working template send it there so I can fix it. Unfortunally I don't own a lock to test this

You are speaking about this right?
{
      "type": "lock",
      "object_id": "lock",
      "discovery_payload": {
        "command_topic": "zwave2mqtt/Garage/Side-Door/98/0/targetMode/set",
        "state_locked": "true",
        "state_unlocked": "false",
        "value_template": "{% if value_json.value == false %} false {% elif value_json.value == true %} true {% else %} unknown {% endif %}",
        "state_topic": "zwave2mqtt/Garage/Side-Door/98/0/currentMode",
        "json_attributes_topic": "zwave2mqtt/Garage/Side-Door/98/0/currentMode",
        "device": {
          "identifiers": ["zwavejs2mqtt_0xdcfeb435_node2"],
          "manufacturer": "Poly-control",
          "model": "Z-Wave controlled door lock with Bluetooth Smart (Danalock V3-BTZE)",
          "name": "Garage-Side-Door",
          "sw_version": "1.0.0-alpha.2"
        },
        "name": "Garage-Side-Door_lock",
        "unique_id": "zwavejs2mqtt_0xdcfeb435_2-98-0-currentMode"
      },
      "discoveryTopic": "lock/Garage-Side-Door/lock/config",
      "values": ["98-0-currentMode", "98-0-targetMode"],
      "persistent": true,
      "ignoreDiscovery": false
    },

If so, I suggest you to try to manually edit the template and try to make it working, you can do this in control panel, when you edit it press on rediscover and see if it fix, once you find a working template send it there so I can fix it. Unfortunally I don't own a lock to test this

I just ran into the same issue with a Schlage lock and it looks like it was resolved with a really recent commit since switching to the dev docker image fixed it for me. There is some additional discussion in #178.

I just ran into the same issue with a Schlage lock and it looks like it was resolved with a really recent commit since switching to the dev docker image fixed it for me. There is some additional discussion in #178.

So closing this for now. Try to update the docker image @sembeeuk . Thanks @joeyb  for the feedback

So closing this for now. Try to update the docker image @sembeeuk . Thanks @joeyb  for the feedback