[RBAC Plugin] Implement description for RBAC role object for REST API.

Provide a clear and concise description of the feature request
[RBAC Plugin] Implement description for RBAC role object for REST API.
Describe the problem that this feature resolves
Additional context or screenshots for the feature request
Acceptance Criteria

I think it is subtask for Audit logging


there was a dot missing when parsing items from config file

fix for https://github.com/mlperf/inference/issues/464

lgtm


[CARBONDATA-3997] Fix decimal value reading issue for negative decimal numbers from presto

Why is this PR needed?
Reading negative decimal numbers gives the wrong value from presto.
What changes were proposed in this PR?
When complex decimal column is stored with DIRECT_COMPRESS codec, DataTypeUtil#bigDecimalToByte is used to create a byte array. So, while decoding it, need to use DataTypeUtil#byteToBigDecimalto get back the original value.
Originally added a TODO to find what is happening at write step for decimal, handled as part of this issue.
Does this PR introduce any user interface change?

No

Is any new testcase added?

Yes

@kunal642 , @akashrn5 , @kumarvishal09 : please check and merge this

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/2395/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/4136/

LGTM

Lgtm

LGTM


Incorrect date/time format i18n da-dk

When importing the locale for da-dk, the format of date and time is incorrect. The current formatting is as follows:
24/06/2016 12.35
The expected output would be:
24-06-2016 12:35
Ie. dashes should be used for seperating the date, and colon for time.
http://plnkr.co/edit/3oeU3v6Rxjiqtkzw9GVm?p=preview
Can I submit a pull request, for the source files in this repository? Or are they generated by some other source?

This issue needs to be filed against http://cldr.unicode.org/ - see https://github.com/angular/angular.js/issues/12445#issuecomment-225821998 for details

@jeppech Did you manage to fix this in CLDR?

Oh sorry, I forgot to give any feedback. But no, I actually never got to, submit an issue against CLDR.


Better activation functions

Check if it is possible to construct activation functions that:

do not saturate and
have the magnitude of their gradient proportional to the magnitude of their value: L2(grad) > constant \times L2(func).

This way the gradients should be better propagated through layers.

What about 2x/(1+x^2)? Reasonable normalization that penalizes the outputs that saturate

a(x) = cos(x) -> see random kitchen sinks


Guide/CSS/CSS-Frameworks: Fix Markdown formatting for list, add relevant link

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[ x] My pull request targets the master branch of freeCodeCamp.
[ x] None of my changes are plagiarized from another source without proper attribution.
[ x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you @waffles517 for your contribution.


Support custom JsonPrefix in MappingJackson2HttpMessageConverter

We have a custom JsonPrefix set for JSON Vulnerability Protection. The Springfox Swagger UI silently fails to load when this is enabled. Disabling the custom jsonPrefix allows the UI to work correctly.
I think a patch would be needed to the javascript in the Springfox Swagger UI, but I'm not sure how that would work since the JS doesn't have access to the value of this jsonPrefix.
So perhaps another workaround is to serve the resources needed by the UI with the prefix disabled, but I haven't been able to get this to work yet. I couldn't seem to find a workaround so I'm opening this bug here for now.
    @Bean
    MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        converter.setObjectMapper(jaxonObjectMapper());

        //For JSON Vulnerability Protection
        //https://docs.angularjs.org/api/ng/service/$http
        //http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx/
        converter.setJsonPrefix(")]}',\n");

        return converter;
    }

Need to think about how to solve this issue.... ideas? Thanks for reporting! :+1:

if we could pass params into the UI code, via URL or properties, then the JS could be modified to strip the JSON prefix. This is essentially what the angular.js codebase does.
But since the springfox swagger UI is served via a webjar, I'm not sure how we could set any properties on it besides adding a URL param for a custom json prefix.
A more brittle approach would be just hardcoding a couple of json prefixes to detect in JS that might be used. Would work great for me :-) but it wouldn't be a long term solution

@jeffsheets How about reporting this issue on the  swagger-ui project. That way there is no maintenance on our end

Looks like a similar bug is open on their end already
https://github.com/swagger-api/swagger-ui/issues/1354

Closing this as it has a work around


Fix issue #2134: creating an anonymous user

It seems to me issue #2134 is a bug (Parse Documentation (https://parse.com/docs/rest/guide#users-linking). Parse server should return the generated username when an anonymous user signs up. This PR is an attempt to resolve the issue.

Thanks for the PR!
A few nits and we'll be able to merge that one.

@hmoqhim updated the pull request.


problems installing react-native-maps 0.21.0 and react-native

Is this a bug report?
Yes
Have you read the Installation Instructions?
Yes
Environment
{
    react-native: 0.57.2.
    react: 16.0.0,
    react-native-maps: 0.21.0
}

Targeting both platforms with Google Maps.
Steps to Reproduce
Install the package and run the application. All advised steps were followed at: https://github.com/react-community/react-native-maps
Expected Behavior
Application runs with no bugs.
Actual Behavior
Application becomes flaky and presents undefined behavior.

Reproducible Demo
n/a

Use the git version.

I have the exactly the same issue even importing from git.
This is my dependency line from react-native-maps:
"react-native-maps": "github:react-community/react-native-maps"


fix(evpn-bridge): fix system behaviour for pending objects

This is a fix related to the issue https://github.com/opiproject/opi-evpn-bridge/issues/388

I am wondering if we could create some unit tests which could prove that this approach work and free of race conditions. Go tests can be run with -race flag to catch any race conditions: https://go.dev/doc/articles/race_detector

I have tested this code locally in order to check if the different corner cases that are resolved by this code here are working properly. Everything was working as it should be.
The unit tests would be a very usefull tool to add in order not to test all the cases by hand every time but right now I do not have time to work on that so I will propose to open an issue so we can address into the future when I find some time if that is allright.

I am wondering if we could create some unit tests which could prove that this approach work and free of race conditions. Go tests can be run with -race flag to catch any race conditions: https://go.dev/doc/articles/race_detector

I have tested this code locally in order to check if the different corner cases that are resolved by this code here are working properly. Everything was working as it should be.
The unit tests would be a very usefull tool to add in order not to test all the cases by hand every time but right now I do not have time to work on that so I will propose to open an issue so we can address into the future when I find some time if that is allright.

if we leave it for an issue, it can stay there for a very long time, especially if no one have an incline for unit testing. Maybe someone could help you with that so we do not defer that?

ok let me see what I can do about this

I am wondering if we could create some unit tests which could prove that this approach work and free of race conditions. Go tests can be run with -race flag to catch any race conditions: https://go.dev/doc/articles/race_detector

I have tested this code locally in order to check if the different corner cases that are resolved by this code here are working properly. Everything was working as it should be.
The unit tests would be a very usefull tool to add in order not to test all the cases by hand every time but right now I do not have time to work on that so I will propose to open an issue so we can address into the future when I find some time if that is allright.

if we leave it for an issue, it can stay there for a very long time, especially if no one have an incline for unit testing. Maybe someone could help you with that so we do not defer that?

ok let me see what I can do about this

Hello @artek-koltun
I have one question regarding race detection. From what I understand from the link that you have provided I should not create any unit tests for catching race conditions but the only thing that I should do is to create some automatic github jobs that will build/run the programm with the --race parameter on (go build --race/ go run --race) is that correct or ? Can you please share your opinion on this ?

I am wondering if we could create some unit tests which could prove that this approach work and free of race conditions. Go tests can be run with -race flag to catch any race conditions: https://go.dev/doc/articles/race_detector

I have tested this code locally in order to check if the different corner cases that are resolved by this code here are working properly. Everything was working as it should be.
The unit tests would be a very usefull tool to add in order not to test all the cases by hand every time but right now I do not have time to work on that so I will propose to open an issue so we can address into the future when I find some time if that is allright.

if we leave it for an issue, it can stay there for a very long time, especially if no one have an incline for unit testing. Maybe someone could help you with that so we do not defer that?

ok let me see what I can do about this

Hello @artek-koltun
I have one question regarding race detection. From what I understand from the link that you have provided I should not create any unit tests for catching race conditions but the only thing that I should do is to create some automatic github jobs that will build/run the programm with the --race parameter on (go build --race/ go run --race) is that correct or ? Can you please share your opinion on this ?

We already run our uts with that flag
https://github.com/opiproject/actions/blob/ae6a52f2fcf782b0c29df17e3c61475096ebb5d2/.github/workflows/go.yml#L35-L37
However, take in mind that it is not a compile time tool. It is a runtime tool. We need to execute a chunk of code, which can have race issues. Thus, we need a dedicated unit test which covers the code with the issue.

I am wondering if we could create some unit tests which could prove that this approach work and free of race conditions. Go tests can be run with -race flag to catch any race conditions: https://go.dev/doc/articles/race_detector

I have tested this code locally in order to check if the different corner cases that are resolved by this code here are working properly. Everything was working as it should be.
The unit tests would be a very usefull tool to add in order not to test all the cases by hand every time but right now I do not have time to work on that so I will propose to open an issue so we can address into the future when I find some time if that is allright.

if we leave it for an issue, it can stay there for a very long time, especially if no one have an incline for unit testing. Maybe someone could help you with that so we do not defer that?

ok let me see what I can do about this

Hello @artek-koltun
I have one question regarding race detection. From what I understand from the link that you have provided I should not create any unit tests for catching race conditions but the only thing that I should do is to create some automatic github jobs that will build/run the programm with the --race parameter on (go build --race/ go run --race) is that correct or ? Can you please share your opinion on this ?

We already run our uts with that flag https://github.com/opiproject/actions/blob/ae6a52f2fcf782b0c29df17e3c61475096ebb5d2/.github/workflows/go.yml#L35-L37
However, take in mind that it is not a compile time tool. It is a runtime tool. We need to execute a chunk of code, which can have race issues. Thus, we need a dedicated unit test which covers the code with the issue.

Hello @artek-koltun,
ok so from what I understand the unit tests are independent of the --race condition. The --race condition checks for races in specific parts of the code which code the unit tests are checking. Right ?
Also we have an agreeement to create unit tests no worries. We will create unit tests for the units (functions) that we are touching in the PR if that is allright

Hello @artek-koltun,
ok so from what I understand the unit tests are independent of the --race condition. The --race condition checks for races in specific parts of the code which code the unit tests are checking. Right ?
Also we have an agreeement to create unit tests no worries. We will create unit tests for the units (functions) that we are touching in the PR if that is allright

Hej,
You can use the following algorithm to write your unit test:

Write a test which would fail with -race flag without a fix. (you might need to run multiple components/goroutines to create an env provoking the error)
Write a fix
Commit and push.

Hello @artek-koltun,
ok so from what I understand the unit tests are independent of the --race condition. The --race condition checks for races in specific parts of the code which code the unit tests are checking. Right ?
Also we have an agreeement to create unit tests no worries. We will create unit tests for the units (functions) that we are touching in the PR if that is allright

Hej, You can use the following algorithm to write your unit test:

Write a test which would fail with -race flag without a fix. (you might need to run multiple components/goroutines to create an env provoking the error)
Write a fix
Commit and push.

Hello @artek-koltun ,
What do you mean write a test that would fail with -race flag. I do not think that we have any race problems in the code today so we can catch them by unit test and fix them afterwards.
What we are planning to so is that we will write unit tests for the code changes in this commit, we will run the tests with -race flag on and if in the meanwhile find any race problem then we will push a fix.
I hope we are in the same page.

I might have lost the context. Pls create ut to the behavior you are fixing.


Removing grpc-all exclusions in pom.xml

Coverage remained the same at 80.851% when pulling ca13bf7237fa94df4cef3bf2e6e0ea6dcfbbcb68 on garrettjonesgoogle:nobranch into 67af4bfc9be500ef97969fe3a7367a1e5309346f on GoogleCloudPlatform:master.

Looks like this needs help to resolve merge conflicts

Rebased to fix merge conflicts, PTAL

Changes Unknown when pulling 85e2cbf02fb206abeabd8ce5a0b19aa9e4c36293 on garrettjonesgoogle:nobranch into ** on GoogleCloudPlatform:master**.

LGTM


Bangla Books List Markdown Format Error

there are different markdown format for C++ title (which seems a bit weird)

fixed the markdown with a appreciate format
Pull Request Is #6621


Requirement for target release

I could like to understand if there is any license requirement when we set target release for respective users.
Also how long is the feedback period open for target release , when does the first release go live for all users ?

@MeenakshiDeepika - Thank you for submitting feedback.
I think the best way forward is if you can open a service ticket in your tenant so this can get resolved ASAP. Based on outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:  https://docs.microsoft.com/office365/admin/contact-support-for-business-products
If you don't mind please keep us posted here on the resolution and I really want to get this information you are discovering back into the docs.

@officedocsbot close


Use Material for MkDocs to populate gh-pages

Ready to go!

if possible, lets preserve the artifacts in the /images directory on the gh-pages branch (even if that means just committing them into main as the primary source). Those are actively linked in posts on our social media accounts, so losing them would break a lot of tweets. Also the CNAME file is required for github to allow our custom domain name.  index.html and roadmap/index.html are good to be nuked, since the MkDocs will fully subsume their use case.

Gotcha! Thanks for the quick responses 💯

Working draft
Your CNAME and the images in gh-pages will be preserved using a workaround:

Copies of those images were made in branch main in directory docs/images
Those copies allow them to be pushed to the gh-pages branch in directory /images every time the documentation gets redeployed


Correctly support optional output COM parameters

IRestrictedErrorInfo.GetErrorDetails has several optional output parameters, currently projected to inout Projection.SwiftType in Swift. However, this does not allow representing "I'm not interested in this value". Possibly the only option is to use UnsafeMutablePointer<Projection.SwiftType>? as the representation.

Moot until this codebase implements COM projections. Besides, IRestrictedErrorInfo.GetErrorDetails seems to require its outparams, so the current shape is the right one.


fix: MD023/heading-start-left/header-start-left

Headings must start at the beginning of the line

@nschonni : Thanks for your contribution! The author(s) have been notified to review your proposed change.


How to get the Jacobian matrix with the honor grid?

Description of the desired feature

Are you willing to help implement and maintain this feature? Yes/No

Hi @yhu5945,
Let's consider the ray traced below (blue solid line). The blue dots are the outputs of the ray tracing using the option honor_grid=True.

For each segment along the ray, calculate the midpoint coordinates (red dots),
Use the midpoints coordinates to find the indices of the cell transected by the segments (e.g., using numpy.searchsorted),
Knowing the indices of the cells, set the values (of the Jacobian matrix) of the cells transected by this raypath to the length of the segments.

This is roughly how I would approach this problem. Obviously you should repeat these steps for each pair of source/receiver (i.e. row of your Jacobian matrix).

Hi @keurfonluu,
Thank you so much for your reply. I will work on this and see how to implement it efficiently. :)

Hi @yhu5945,
I had a bit of spare time this weekend to test the approach. Please find below a simple code that shows how you can calculate the Jacobian matrix using fteikpy (I only demonstrate the approach for a single pair of source/receiver, you need to repeat that process for each pair you have in your dataset).
import numpy

from fteikpy import Eikonal2D

# Velocity model
vel = numpy.ones((100, 100))
dz, dx = 0.1, 0.1

# Solve Eikonal at source
eik = Eikonal2D(vel, gridsize=(dz, dx))
src = numpy.random.rand(2)
tt = eik.solve(src, return_gradient=True)

# Raytracing
rcv = numpy.random.rand(2) * 10.0
ray = tt.raytrace(rcv, honor_grid=True)

# Find cell indices along raypath
midpoints = 0.5 * (ray[1:] + ray[:-1])
iz = numpy.searchsorted(tt.zaxis, midpoints[:, 0], side="right") - 1
ix = numpy.searchsorted(tt.xaxis, midpoints[:, 1], side="right") - 1

# Integrate along raypath
M = numpy.zeros_like(vel)
M[iz, ix] = numpy.linalg.norm(ray[1:] - ray[:-1], axis=1)

# Check results
print(f"Analytical: {numpy.linalg.norm(src - rcv)}")
print(f"Calculated (interpolation): {tt(rcv)}")
print(f"Calculated (raytracing): {M.ravel() @ (1.0 / vel.ravel())}")

In eik.solve, I enabled the option return_gradient=True as it provides a more accurate traveltime gradient grid (so more accurate ray tracing).
Comparing the results with the analytical solution, you can see that both traveltime values calculated using either the interpolation or raytracing are fairly accurate (and almost exact if source and receiver are placed on a grid point).
M.ravel() is one row of your Jacobian matrix that corresponds to this pair of source/receiver in the linear system Ls=t (where L is the Jacobian matrix, s the slowness vector and t the traveltime vector).
Note that I have fixed a couple of issues I encountered when implemented this code, so please update to fteikpy==2.2.0 before trying this code.

Hi @keurfonluu,
I really appreciate your help and detailed explanation! Thanks!

Hi @keurfonluu,
When I run the code below, a RuntimeError always appears (see below).  It seems not working  for any receivers. Would you please help me?

`import numpy as np
from fteikpy import Eikonal3D
import matplotlib.pyplot as plt
The size of Rock
l_z,l_x,l_y = 125,50,50
dims=(l_z,l_x,l_y)
Velocity model
vel = np.ones((125, 50,50))*2.5
vel[50:100,:,:]=3.0;
vel[100:-1,:,:]=3.5;
dz,dx, dy = 1, 1, 1
z=np.arange(0, 125.+dz,dz)-62.5
x=np.arange(0, 50.+dx,dx)-25
y=np.arange(0, 50.+dy,dy)-25
Probe position
Nrz,Nrc = 9,10
radius_mm=25
theta=np.linspace(0,2np.pi,Nrc+1)
theta=np.delete(theta,Nrc)
zr=np.linspace(6.5,118.5,Nrz)-l_z/2
xr=radius_mmnp.cos(theta)
yr=radius_mmnp.sin(theta)
probe_posxy=np.tile(np.vstack((xr,yr)).T,(Nrz,1))
probe_posz=np.tile(zr.T,(Nrc,1)).T.reshape((NrzNrc,1))
probe_pos=np.hstack((probe_posz,probe_posxy))
Source coordinates
src=probe_pos
Ns=len(src)
Receiver coodinates
rcv = list(range(0,Ns))
for i in np.arange(0,Nrc):
for j in np.arange(0,Nrz):
temp = np.delete(probe_pos,np.arange(0,Ns,Nrc)+i,axis=0)
rcv[Nrc*j+i] = temp
Solve Eikonal at source
eik = Eikonal3D(vel, gridsize=(dz, dx,dy),origin=(-62.5,-25,-25))
ns=0
tt = eik.solve(src[ns], return_gradient=True)
Raytracing
ray = tt.raytrace(rcv[ns], honor_grid=True)`

Hi @keurfonluu,
When I run the code below, a RuntimeError always appears (see below).  It seems not working  for any receivers. Would you please help me?

import numpy as np
from fteikpy import Eikonal3D
import matplotlib.pyplot as plt

# The size of Rock
l_z,l_x,l_y = 125,50,50
dims=(l_z,l_x,l_y)

# Velocity model
vel = np.ones((125, 50,50))*2.5
vel[50:100,:,:]=3.0;
vel[100:-1,:,:]=3.5;
dz,dx, dy = 1, 1, 1
z=np.arange(0, 125.+dz,dz)-62.5
x=np.arange(0, 50.+dx,dx)-25
y=np.arange(0, 50.+dy,dy)-25

# Probe position
Nrz,Nrc = 9,10
radius_mm=25
theta=np.linspace(0,2*np.pi,Nrc+1)
theta=np.delete(theta,Nrc)
zr=np.linspace(6.5,118.5,Nrz)-l_z/2
xr=radius_mm*np.cos(theta)
yr=radius_mm*np.sin(theta)
probe_posxy=np.tile(np.vstack((xr,yr)).T,(Nrz,1))
probe_posz=np.tile(zr.T,(Nrc,1)).T.reshape((Nrz*Nrc,1))
probe_pos=np.hstack((probe_posz,probe_posxy))

# Source coordinates
src=probe_pos
Ns=len(src)

# Receiver coodinates
rcv = list(range(0,Ns))
for i in np.arange(0,Nrc):
    for j in np.arange(0,Nrz):
        temp = np.delete(probe_pos,np.arange(0,Ns,Nrc)+i,axis=0)
        rcv[Nrc*j+i] = temp

# Solve Eikonal at source
eik = Eikonal3D(vel, gridsize=(dz, dx,dy),origin=(-62.5,-25,-25))
ns=0
tt = eik.solve(src[ns], return_gradient=True)

# Raytracing
ray = tt.raytrace(rcv[ns], honor_grid=True)

Hi @David-zw,
Sorry for the delay. The fix for your issue is now available in version 2.4.0. Please update to this version:
pip install fteikpy -U


Update wayland-protocols to 1.38

It looks like this also requires some manual actions to make new protocols appear. Closing since I'm not up for that at the moment.


Added new optional argument for an alternative living space for the lock files

Hi,
as suggested, there is now an additional optional Argument, that moves the lock files to another directory than the logging files.
My Python 2 is not very good, but I think it works. Having said that: I don't have a environment to test this under Python 2 conditions. Sorry.

Hi @aDramaQueen  - I'm working on another PR at the moment. I'll re-evaluate this PR as a modification on top of that when it's resolved. Thanks.
https://github.com/Preston-Landers/concurrent-log-handler/pull/48

This commit has been added to master in rebased form, with some minor changes:
https://github.com/Preston-Landers/concurrent-log-handler/commit/e55ff0cc2ad08499bab7c205e9e750ffd9289af1
https://github.com/Preston-Landers/concurrent-log-handler/commit/e9d939d34d226bc6152e2ab4f79b5c9e57878ba5
I'll publish a new 0.9.21 version incorporating this after reviewing a few other things. Thanks for the contribution!


keep performance up: performance regression testing

Is your enhancement request related to a problem? Please describe.
When Pulsar grew, it always becomes a little more complex with more lines of own code and code of used dependencies.
Many of these steps could influence the performance. Working with long term contributors and pulsar-experts, there is a good feeling for possible performance impact.
But it is nearly impossible to be sure, performance is getting better from release to release or at least doesn't go down.
Describe the solution you'd like
Would be awesome and important for production, to have some kind of continuous performance testing and monitoring by
putting some standard high loads to a defined setup of hardware and pulsar config
and log performance: CPU time, memory and storage
a good overview write-ups could easily be found: https://www.google.de/search?q=Performance+regression
(edit: changed link to not advertise)
doing it one day in an intense way not only in absolute but also time-depend manner, one may even catch some memory leaks like https://github.com/apache/pulsar/issues?q=is%3Aissue+memory+leak
Describe alternatives you've considered
wait until there are reports about worse performance
Additional context

You may be interested in this work I am doing about Performance regression testing for Pulsar
https://www.youtube.com/watch?v=NZnlLBT3BBY
https://github.com/datastax/pulsar-fallout
I would be happy to share how to use the tool

@eolivelli
many thanks for pointing to this!

The issue had no activity for 30 days, mark with Stale label.

Hi,
Just to revive this thread, do we have any performance regression tests in apache/puslar CI? Is the [pulsar-fallout] currently (https://github.com/datastax/pulsar-fallout) used in the CI tests?


Feature: Add carrot to search results

Type of feature
🍕 Feature
Current behavior
Currently, live on the beta branch there is a search functionality

y
Suggested solution
This should be straightforward and use font awesome icons.
https://fontawesome.com/icons/chevron-right?s=solid

Additional context
examples of font awesome usage https://github.com/open-sauced/hot/blob/570f10f7a26b19d950ed6bf9a5d89e1233fb5c33/src/components/LayoutToggle.tsx#L2
Code of Conduct

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

Contributing Docs

[X] I agree to follow this project's Contribution Docs

Hello, Can i work on this.
Adding carrot if you can give a brief about it. That would be great.

Please review the CONTIBUTING.md for info on how to assign yourself to the issue.

Hope this works!
.take

.take

Hi @htuerker  it looks like the "take action" thing is broken upstream. I'm assigning you on this one and filing a bug there.

Hi @htuerker it looks like the "take action" thing is broken upstream. I'm assigning you on this one and filing a bug there.

I was about to look for a solution on the discord channel. Thanks, I'm going to work on this!


upgraded to boostrap 3.3.7 and added server status icons

Worked on with @jimthoburn

Made at CodeLabOC 🎃 🍊

Hi, just following up. Please let me know if I need to adjust the code. Thanks

@machikoyasuda you got this PR?

This looks good to me. How about you @gr2m???

great work 👏


I'm being temporarily banned from Crunchyroll

I'm being banned from Crunchyroll by downloading only one subtitle per episode, only subtitles. The ban lasts a few hours.
This appears in the CMD:
Error: Couldn't find video config on webpage.
at new VilosVideoInfo (C:\snapshot\CR-dl\lib\api\MediaVilosPlayer.js:102:19)
at CrDl. (C:\snapshot\CR-dl\lib\api\CrDl.js:181:20)
at Generator.next ()
at fulfilled (C:\snapshot\CR-dl\lib\api\CrDl.js:5:58)
And it appears on Crunchyroll:
Error 1015 Ray ID: 5f60a6c96d6509f4 • 2020-11-22 06:39:07 UTC
You are being rate limited
What happened?
The owner of this website (www.crunchyroll.com) has banned you temporarily from accessing this website.

Does this still appears and how many subtitles did you download?
If you produce too much traffic, they can block you, thats not a problem with crdl i think.
but it happens only downloading 1 file i will inspect your problem.

It happens when I download only one subtitle for each episode of a show and only the subtitle, without the video. I think it is because of many requests in a short period of time, the subtitles download very quickly. If you have how to make a timer between downloads, should resolve.


feat: Get the toolInstance settings Temporarily

:tada: This PR is included in version 1.0.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Scroll contexts not deleted for searches with no resuts

The perl client doesn't delete scroll contexts when a scroll search is empty (no results returned).
However, if data is returned, then a call to finish() does delete the scroll context.
The lack of a DELETE issued for the scroll context at the end of the code below was verified using ngrep, and by checking the status of ES with a variant of the following:
curl -q -sS -X GET http://localhost:9200/_nodes/stats/indices/search?pretty | egrep '(name|scroll_current)'
I have the following modules installed:
Search::Elasticsearch (6.00)
Search::Elasticsearch::Client::6_0	(6.00)
Search::Elasticsearch::Client::5_0	(5.02)
Search::Elasticsearch::Client::Direct	(1.20)
Tested with the following code:
use strict;

use Search::Elasticsearch;

my $es = Search::Elasticsearch->new( nodes => 'mysearchnode:9200' ) || die;

my $scroll = $es->scroll_helper (
  'index' => 'logstash-2019.07.03',
  'body' => {
    'query' => {
      'query_string' => {
        'query' => 'IpAddress: SomethingThatNeverMatches',
        'analyze_wildcard' => 'false'
      }
    }
  }
);

my $doc = $scroll->next;
printf STDERR "Doc returned? %s\n", (defined $doc) ? 'yes' : 'no';
$scroll->finish();

@Daniel314 first of all, sorry for the delay. I'm the new maintainer of this project, thanks for reporting this I'll looking into it soon.

Hi, I observe this problem as well. Has anyone found out why this is happening?
ES version: 7.6
Search::Elasticsearch version 6.80

Hi @Daniel314 & @ezimuel ,
as stated in my comment above, I was having this problem as well. It does happen when no hits are found. However, I realised that this also happens after I loop through all the hits in a scrolled search that returns small number of hits (3 hits in my case). After looping through the hits via with while (my $hit = $scroll->next) {} and calling $scroll->finish, the scroll context would still not be deleted immediately, they were still open for a few minutes (default time).
I have looked at your perl libraries and made these changes, and it seems to have fixed both issues for me:
diff --git a/lib/Search/Elasticsearch/Client/6_0/Role/Scroll.pm b/lib/Search/Elasticsearch/Client/6_0/Role/Scroll.pm
index ce013e6..7425adf 100644
--- a/lib/Search/Elasticsearch/Client/6_0/Role/Scroll.pm
+++ b/lib/Search/Elasticsearch/Client/6_0/Role/Scroll.pm
@@ -19,6 +19,7 @@ has 'search_params' => ( is => 'ro' );
 has 'is_finished'   => ( is => 'rwp', default => '' );
 has '_pid'          => ( is => 'ro', default => sub {$$} );
 has '_scroll_id'    => ( is => 'rwp', clearer => 1, predicate => 1 );
+has '_prime_scroll_id' => ( is => 'ro' );

 #===================================
 sub scroll_request {
diff --git a/lib/Search/Elasticsearch/Client/6_0/Scroll.pm b/lib/Search/Elasticsearch/Client/6_0/Scroll.pm
index f35e71f..b1022b9 100644
--- a/lib/Search/Elasticsearch/Client/6_0/Scroll.pm
+++ b/lib/Search/Elasticsearch/Client/6_0/Scroll.pm
@@ -42,7 +42,11 @@ sub BUILDARGS {
         _buffer      => $results->{hits}{hits},
         $total
         ? ( _scroll_id => $results->{_scroll_id} )
-        : ( is_finished => 1 )
+        : ( is_finished => 1 ),
+
+        # Store the very first scroll id here so that even if $total == 0, we
+        # can still keep track of it:
+        _prime_scroll_id => $results->{_scroll_id},
     };
 }

@@ -51,6 +55,16 @@ sub next {
 #===================================
     my ( $self, $n ) = @_;
     $n ||= 1;
+
+    # Looks like this is the first call to 'next' (because '$self->total == 0'),
+    # We set the _scroll_id to the value of prime scroll id. This will help us
+    # delete the scroll context via the call to finish():
+    if ($self->total == 0) {
+        $self->_set__scroll_id($self->_prime_scroll_id);
+        $self->finish();
+        return;
+    }
+
     while ( $self->_has_scroll_id and $self->buffer_size < $n ) {
         $self->refill_buffer;
     }
@@ -86,10 +100,7 @@ sub refill_buffer {
     my $hits = $results->{hits}{hits};
     $self->_set_total_took( $self->total_took + $results->{took} );

-    if ( @$hits == 0 ) {
-        $self->_clear_scroll_id;
-    }
-    else {
+    if ( @$hits ) {
         $self->_set__scroll_id( $results->{_scroll_id} );
         push @$buffer, @$hits;
     }
@@ -101,7 +112,7 @@ sub refill_buffer {
 sub finish {
 #===================================
     my $self = shift;
-    return if $self->is_finished || $self->_pid != $$;
+    return if ($self->is_finished && !$self->_scroll_id) || ($self->_pid != $$);

     $self->_set_is_finished(1);
     @{ $self->_buffer } = ();

I hope this helps you or anyone else having this issue. If I am making a mistake in the proposed fix, please let me know as my initial, rudimentary checks do not show an obvious adverse effects.


Update s3-furyagent module to Terraform 0.12

Even if this repository is deprecated in favor of sighupio/fury-eks-installer we still need to support it. Therefore I am updating the code of s3-furyagent module to be used with Terraform 0.12.x.

Ok, I think we have a winner. 😅
Merging.

@angelbarrera92 do we need to make a new "maintenance" release? Does it make sense to continue with the <kubernetes-version>-X versioning?
Thank you.

@angelbarrera92 @lnovara what if we create a new "terraform-012" branch as a target for all terraform 012 version upgrades?
This way we can switch everything to master when all modules are OK


MacOS builds with FFMPEG shared libraries

I've just taken my first attempt to get the homebrew formula for FFMPEG to support compiling an LGPL version -> https://github.com/Homebrew/homebrew-core/pull/18909
If I've read your FAQ answer correctly... Assuming I can get those changes into HomeBrew, or I include an appropriately customised homebrew formula in this repo, it should be possible to build a version of FFMPEG suitable for use in a MacOS wheel. Is this correct?

Yes, that is correct as long as the FFmpeg version is LGPL and compiled with --enable-shared. I will not include any GPL'ed libraries to the wheels because then the whole package license would have to be GPL.
I have already experimented with FFmpeg LGPL builds on the Cent OS 5 containers and it seems that it should be possible to add FFmpeg support for Linux also.
Thanks for your work in advance :)

@skvark The default FFmpeg build on homebrew is built using --enabled-shared so the main issue is building without --enable-gpl which is/was part of the set options and not changeable with a build flag before my PR is merged. Speaking of the PR, it's now passing their CI checks so hopefully its merged soon.
I'm also glad to hear the Linux work appears possible since I was going to look at fixing that next. I'm fairly familiar with building things from source on linux but having not really used CentOS much I was concerned the build toolchain might be prohibitively difficult. Its one thing to compile some libraries from source code before compiling a program from sources, its another thing to need to build something like all of LLVM & clang using gcc because gcc is the only prebuilt compiler and the program won't compile with anything but clang.

@skvark I think I may have this working, but its a little hard to tell if it worked without the assets at the end and my travis-ci run didn't publish them anywhere useful. https://github.com/techdragon/opencv-python/commit/b487193df871f4313dde59be8b9b5e6912a301f8
https://travis-ci.org/techdragon/opencv-python/builds/286375673
@skvark do you want a PR regardless? or do you know a way I can get the wheel after travis is done in order to test these versions?

Sorry for the slow answer. As fas as I can see, the build does not have FFmpeg enabled:
--     FFMPEG:                      NO

--       avcodec:                   NO

--       avformat:                  NO

--       avutil:                    NO

--       swscale:                   NO

--       avresample:                NO

This is due to this error in brew recipe:
==> ./configure --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda

Last 15 lines from /Users/travis/Library/Logs/Homebrew/ffmpeg/01.configure:

--enable-libmp3lame

--enable-libx264

--enable-libxvid

--enable-opencl

--enable-videotoolbox

--disable-lzma

--enable-vda

libx264 is gpl and --enable-gpl is not specified.

If you think configure made a mistake, make sure you are using the latest

version from Git.  If the latest version fails, report the problem to the

<EMAIL_ADDRESS>mailing list or IRC #ffmpeg on irc.freenode.net.

Include the log file "config.log" produced by configure as this will help

solve the problem.

You have to remove --enable-libx264. It's a GPL plugin.
You can test if the video support is ok by enabling macOS test here: https://github.com/skvark/opencv-python/blob/master/tests/test.py

Thanks for dissecting the output there @skvark, due to some how homebrew flags work, it seems I did indeed misconfigure things. I'll dig back into this again and now I know I should see some useful information in the OpenCV log output hopefully I'll know if it worked this time. 😄

@skvark I've gotten this working in my fork, but the complete build time is too slow and causes Travis-CI to fail for all four of the Mac + OpenCV + OpenCV Contrib modules combinations. Are there any possible speedups in the MultiBuild repo you can think of?

You could contact Travis and ask for an increased time limit.

Like @ofek said, I'll have contact Travis and ask if they can increase the time limit. There's no way to speed it up because brew builds FFmpeg from scratch.
Luckily this problem concerns only macOS since we can precompile FFmpeg on the Docker containers.

@skvark let me know once Travis-CI have raised the build timeout limit and I'll submit the PR.

I sent an email about build time limit increase to Travis. Waiting for an answer.

@techdragon Travis has now increased the build time limits. Feel free to create pull request.

@techdragon any how I could help you on this PR? Let me know

@techdragon Same here. Anything I can do to help with for Mac OS or Linux builds with FFMPEG, let me know.

PR #56 opened. Hopefully the build doesn't time out.

Let's see, the build timeout limit should be at 90 minutes.


Forbidding references to undeclared privates

Continuing discussion from https://github.com/tc39/proposal-private-fields-in-in/commit/b798be485fc84e392b10903278d01da5a0bc33b4#r38277028:

I think what's actually necessary is to integrate with AllPrivateIdentifiersValid. That will prevent this case, and raise any unknown private name references during module evaluation (which currently only raises when the in expression evaluates).

This particular case mirrors the existing ones in the class fields proposal (one of which I included for context on line 41)

My point is that banning #constructor in {} seems unnecessary, due to the AllPrivateIdentifiersValid check already provided by Class Fields. But we haven't properly integrated with it. Eg, this is currently a valid program:
function foo() {
  if (false) {
    #undeclared in {};
  }
}

This program will parse just fine, and I can run foo without an error since we'll never evaluate the in expression. Once we add a AllPrivateIdentifiersValid static semantics, this program will fail to parse. And doing this will in turn forbid #constructor in {}, since #constructor can never be declared. It's then always invalid.

Ah, i see what you mean - you’re staying i can rely on the fact that constructor can never be declared, and early error on any undeclared field name.

I'm not sure how to modify the spec text to reference AllPrivateIdentifiersValid; a PR would be welcome.


Specify an example id for cost management export

When I tried this out I was confused and assumed that it was after the storage account name that I was pasting there.
Turns out it was after the full ID like you would expect but the docs were confusing.
I'd suggest you might want to put in a callout that you can't put a recurrence period in the past as well.
and possible just make the to a date in the future, the portal inserts 2050-02-01T00:00:00+00:00

@bandersmsft
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Edit Icon Persistent on Title Field

The Title field should have the same interaction as the description now does in production (11/11/16 @ 10:32am EDT). I.E. the icon appears on hover over the title, indicating that it is editable. The icon should not be persistent, as it takes up unnecessary space and is not consistent with the designs.

Pr #318 merged hence closing this issue.


FileNotFoundError: [Errno 2] No such file or directory: '/private/var/folders/5h/9tzfcvhs36d06wtlk00000gn/T/pip-install-pzjq8p3c/jupiter-python-sdk_30c0824dbb0e41cd9c3a956db90b7b5c/jupiter_python_sdk/README.md'

system :  macos latest
python: 3.11
pip : 23.1.2
when i run pip install jupiter-python-sdk
i got this error:
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting jupiter-python-sdk
  Downloading https://mirrors.aliyun.com/pypi/packages/32/be/053abcdb337db09bce91c64ed82def74eac8306ef75d853fb98c1342f9ea/jupiter-python-sdk-<IP_ADDRESS>.tar.gz (19 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/5h/9tzfcvhs36d06wtlk00000gn/T/pip-install-pzjq8p3c/jupiter-python-sdk_30c0824dbb0e41cd9c3a956db90b7b5c/setup.py", line 7, in <module>
          with codecs.open(os.path.join(here, "jupiter_python_sdk/README.md"), encoding="utf-8") as fh:
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "<frozen codecs>", line 906, in open
      FileNotFoundError: [Errno 2] No such file or directory: '/private/var/folders/5h/9tzfcvhs36d06wtlk00000gn/T/pip-install-pzjq8p3c/jupiter-python-sdk_30c0824dbb0e41cd9c3a956db90b7b5c/jupiter_python_sdk/README.md'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Hello, I fixed the issue, you can install it without any problems now, tell me if it's working for you

i  got a new error, when i install it
 Building wheel for pyaudio (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pyaudio (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [18 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-x86_64-cpython-311
      creating build/lib.macosx-10.9-x86_64-cpython-311/pyaudio
      copying src/pyaudio/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-311/pyaudio
      running build_ext
      building 'pyaudio._portaudio' extension
      creating build/temp.macosx-10.9-x86_64-cpython-311
      creating build/temp.macosx-10.9-x86_64-cpython-311/src
      creating build/temp.macosx-10.9-x86_64-cpython-311/src/pyaudio
      clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/a123/.conda/envs/py311_mms/include -fPIC -O2 -isystem /Users/a123/.conda/envs/py311_mms/include -DMACOS=1 -I/usr/local/include -I/usr/include -I/opt/homebrew/include -I/Users/a123/.conda/envs/py311_mms/include/python3.11 -c src/pyaudio/device_api.c -o build/temp.macosx-10.9-x86_64-cpython-311/src/pyaudio/device_api.o
      src/pyaudio/device_api.c:9:10: fatal error: 'portaudio.h' file not found
      #include "portaudio.h"
               ^~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyaudio
Successfully built jupiter-python-sdk
Failed to build pyaudio
ERROR: Could not build wheels for pyaudio, which is required to install pyproject.toml-based projects

It should be good now, tell me if it's working

thank you  @0xTaoDev
it's working now  for me


Query Builder Class - orderBy more possibilities

I want to execute a query using Query Builder Class:
SELECT * FROM paintings ORDER BY year IS NOT NULL, year ASC;
or
SELECT * FROM paintings ORDER BY year IS NULL, year ASC;
but Query Builder Class does not support this:
$builder->orderBy('year  IS NULL, year ASC');
Please add this feature in future releases.

Cases like this are already supported:
$builder->orderBy('year IS NULL', '', false)->orderBy('year ASC', '', false);

Cases like this are already supported:
$builder->orderBy('year IS NULL', '', false)->orderBy('year', 'asc');

Yes, but if $escape = true then an invalid request will be generated:
ORDER BY 'year IS' 'NULL', 'year' ASC
Behavior is ambiguous...

@michalsn Thank you. Exactly!
        $builder = new BaseBuilder('paintings', $this->db);
        $builder->orderBy('year IS NULL', '', false)->orderBy('year', 'asc');

SELECT * FROM "paintings" ORDER BY year IS NULL, "year" ASC

@amigoscs
See https://codeigniter4.github.io/CodeIgniter4/database/query_builder.html#CodeIgniter\Database\BaseBuilder::orderBy
Where is ambiguous?

@kenjis

it works
$builder->orderBy('year IS NULL', '', false)->orderBy('year', 'asc');

this does not work
$builder->orderBy('year IS NULL')->orderBy('year', 'asc');

this does not work
$builder->orderBy('year', 'IS NULL')->orderBy('year', 'asc');

this does not work
$builder->orderBy('year', 'IS NULL', false)->orderBy('year', 'asc');

'IS NULL' is expected to have the same behavior as 'ASC' or 'DESC', but is produced differently.
If fix this line in the system/Database/BaseBuilder.php file:
$qbOrderBy[] = ($direction === '' && preg_match('/\s+(ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE))
and
$direction = in_array($direction, ['ASC', 'DESC'], true) ? ' ' . $direction : '';
on those
$qbOrderBy[] = ($direction === '' && preg_match('/\s+(IS NULL|IS NOT NULL|ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE))
and
$direction = in_array($direction, ['IS NULL', 'IS NOT NULL', 'ASC', 'DESC'], true) ? ' ' . $direction : '';
then everything starts working.

@amigoscs
I don't think allowing the IS NULL and IS NOT NULL as valid parameters would be a good decision. Every DB engine supports the case you're dealing with differently.
If you change your DB engine to SQLSRV, your query will fail.

@michalsn
Well, maybe then add the modified orderBy() method to system\Database\MySQLi\Builder.php

This syntax is not supported by QueryBuilder, because all the supported DBMS do not support it.
IS NULL is not a direction for ORDER BY.
I think 2, 3 and 4 should not work.

@amigoscs
In general, we don't accept features that would have support in only one DB engine. And allowing different valid $direction values for each engine doesn't make sense either.
What would make sense is building some kind of abstraction like we did for the RANDOM value, but personally, I don't like this idea at all. Although if you sent a PR with a version that would support all DB engines, we would certainly consider such changes.
For cases like yours, we have a third parameter in orderBy(), and this is a proper way to handle this for now.

In 4.3 this might work with RawSql..

'IS NULL' is expected to have the same behavior as 'ASC' or 'DESC'

This is wrong. The way it works and is documented is:
ORDER BY [EXPRESSION] [DIRECTION]

I would do it like:
ORDER BY IF(year IS NULL, 0, 1) ASC

This should be closed.


New user oauth issue

When a new user tries to get access:
Internal Server Error: /wd_oauth
Traceback (most recent call last):
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
response = self._get_response(request)
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "./wiki/views.py", line 351, in wd_oauth
authentication.continue_oauth(oauth_callback_data=body['url'].encode("utf-8"))
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/wikidataintegrator/wdi_login.py", line 206, in continue_oauth
self.generate_edit_credentials()
File "/home/ubuntu/.virtualenvs/nginx-django/lib/python3.5/site-packages/wikidataintegrator/wdi_login.py", line 146, in generate_edit_credentials
self.edit_token = response.json()['query']['tokens']['csrftoken']
KeyError: 'query'

Found the issue! It is either an issue with wdi login or mediawiki.
When you create an account for the first time from CHLAMBASE (clicking authorize to edit -> join media wiki), it DOES NOT auto sign in to WIKIDATA. This is the bug: you should be autosigned in to wikidata after you sign in from media wiki. Thus, it gives the illusion you are signed into mediawiki even though you are not signed into wikidata!
Solutions:

From media wiki, sign out then sign in
OR From wikidata, sign in

When you create an account for the first time from MEDIAWIKI (selecting create account from homepage), it DOES auto sign in to WIKIDTA. This is correct functionality, and will allow you to immediately get authorization access from chlambase
Workaround:

Create account from mediawiki OR wikidata directly (so you are already signed in correctly)

@andrewsu
Created a post on the media wiki for developers forums.
https://discourse-mediawiki.wmflabs.org/t/creating-new-account-does-not-sign-in-to-other-wiki-websites/666

The bug was filed on phabricator.wikimedia.org: https://phabricator.wikimedia.org/T198940

@djow2019 @andrewsu One of my colleagues (Scott Hefty) wants to make some annotations, but he's getting errors when trying to authorize (log in) with his newly created wikidata account. Any known issues still? He showed me on Skype-screenshare, and he authorizes just like I normally do, but he ultimately gets an error pop up.

On the dev site I created a FAQ at the bottom that addresses this potential issue for new users.
There is currently a bug where new accounts don't get logged into wikidata. But every subsequent login does. Tell him to navigate to wikidata.org and manually log in, or log out and back in. Then, try reauthorizing on chlambase again. In the future, it shouldn't happen.

It looks like I'm authorized but I still am not. What do I do now?
Clear your cache (optional). Then, navigate to WikiData and in the upper right corner, click "log in". Then go back to ChlamBase. If you are authorized, deauthorize. Then, reauthorize on ChlamBase and try to add your annotation again.


Discussion: TypeScript compile errors with mutation switching

See #1514 .
In a mutation switching world, we will create (typescript/flow) type errors. This is by design; it would be almost impossible to prevent it (we would need a team and community at least as large as https://github.com/Microsoft/TypeScript).
I don't think flow will be an issue because flow code is transpiled without type checking (using a babel plugin). However, TypeScript is a different beast all together..
There are a couple of approaches I've tried:
Attempt 1: Transpile only
Running the typescript transpiler with configuration similar to ts-node's --transpile-only.
However, after a little investigation, I learned that transpileOnly only works with --isolatedModules. This means that only a subset of typescript will be supported (although a best practice IMHO). We can't rely on this for all our users.
The same goes for skipping type checking by using babel; it won't support all use cases.
Attempt 2: Skip Typechecking
With a little fudging in the TypeScript compiler api you can get a long way. It would allow us to basically transpile all typescript projects while skipping type checks. See https://github.com/microsoft/TypeScript/issues/29651#issuecomment-616113744 for an example.
However, this approach falls short when you consider more typescript use cases. Calling the TypeScript compiler directly is just one of the ways typescript compilation might take place. A non-extensive list of ways to compile typescript:

ts-node
angular-cli
vue-cli
react-scripts
karma-typescript
webpack with ts-loader
webpack with awseome-ts-loader
jest-ts
rollup with typescript plugin
Probably 100s more of tools/plugins

Solution: // @ts-nocheck
The solution I ended up with is to use the // @ts-nocheck directive on top of each file (js or ts, since js files can also result in type errors). It works from TypeScript 3.7 onward and will work with all use cases (as long as you're using a fairly recent TypeScript version).
Note that errors can also be produced by test files, even though they're not mutated. Mutating production code can change the return type, for example function foo() { return 'bar'; } is mutated to function foo() { activeMutant === 1? {} : return 'bar'; }, which changes it's return type from string to string | undefined, which probably results in a type error somewhere in your test files
Problem 1: Still type checking...
However, this presented me with another issue. Even with @ts-nocheck, a file can still provide type errors, this is because other directives can result in errors, for example @ts-expect-error, but @ts-check has the same result.
That's why I decided to remove all comments from JS and TS files. We're using the strip-comments package for that, which uses regular expressions to identify the comments.
You can configure this with 2 settings:
  "sandbox": {
    "stripComments": "**/*+(.js|.ts|.cjs|.mjs)?(x)",
    "fileHeaders": {
      "**/*+(.js|.ts|.cjs|.mjs)?(x)": "/* eslint-disable */\n// @ts-nocheck\n"
    }
  }

(see readme for specifics)
Problem 2: significant comments
I assumed stripping comments wouldn't cause a problem, because comments should be comments. However, this is JavaScript we're talking about. This is a list of comments that are significant and we should actually keep if possible:

@jest-environment
@flow
... probably more?

Personally, I feel like removing all comments from all files is a shotgun approach. Simply removing only @ts-xxx comments would be better, but how would we do that? I don't want to be parsing all input files (seriously, it is already a pain to parse only the files to be mutated) and strip-comments doesn't support comment filtering.
Problem 3: strip-comments has known issues
We've recently found an issue with the strip-comments package where it leaves a file in an invalid state. If this would happen to someone than the only thing he/she can do is to disable the removal of comments altogether (with "sandbox.stripComments": false) or only for that file specifically.
Problem 4: incompatible scenario with jest.
Even though users can customize to fit their use case with stripComments and fileHeaders, we still don't support all scenarios. For example, running @stryker-mutator/jest-runner together with the jest-ts jest plugin might result in a situation where you don't want to strip comments (because of @jest-environment), but need to strip comments because you're using @ts-expect-error somewhere in your tests.
Any input would be very helpful 😇
@hugo-vrijswijk @brodybits @Lakitna

What if we would just consider it a killed mutation if it fails with a TypeScript compile error?

Or could we inject @ts-ignore when applying each mutation?

Thanks for the response 🤗

What if we would just consider it a killed mutation if it fails with a TypeScript compile error?

That's basically how it used to work (a Compile error to be precise). However, this cannot be done anymore with mutation switching, since all mutants are placed in the code at once. That would mark all mutants as a compile error 🤷♂.
Note, the @stryker-mutator/typescript-checker can be enabled to validate each mutant for compile errors, but that's after mutation switching takes place

Or could we inject @ts-ignore when applying each mutation?

That would not solve "Problem 1", tests can still fail to compile...

At this point, I'm contemplating implementing a simple parser that can distinguish between code and comments and use that to strip out only the @ts-xxx comments.
I don't see any other way.

Why not just use Babel, TypeScript, or @typescript-eslint/typescript-estree to parse the code and look for the comments to strip out?

Ok, I've spent a couple of hours trying to write a custom parser to remove the @ts-xxx directives in comments, but I eventually gave up. There is no easy way of detecting code vs comments without actually parsing (most) nodes in the AST.

A couple of examples to illustrate why:

// @ts-check <-- this is a comment that needs to be removed
foo.bar();

foo.bar("foo \"/* @ts-expect-error */"); // <--No remove

const regex = / \/*@ts-check */; // <-- No remove, regex literal

const a = b / c; /*@ts-check */ // < -- yes remove, first `/` didn't start a regex literal

const b = <HelloJsx>
  // @ts-check {/* <-- no remove, jsx element */}
</HelloJsx>

I think we can still try this approach, but we should just rely on the typescript parser itself.
The idea I now have is that it would be disabled by default, and needed to be enabled using the sandbox.removeTSDirectives glob expression.

Parser code using the TypeScript compiler api
function removeTSDirectives2(file: File): string {
  const directives: TSDirective[] = [];

  const sourceFile = ts.createSourceFile(file.name, file.textContent, ts.ScriptTarget.Latest);

  const leadingCommentRanges = new Set<number>();
  const trailingCommentRanges = new Set<number>();

  function collectDirectives(node: ts.Node) {
    if (!leadingCommentRanges.has(node.pos)) {
      leadingCommentRanges.add(node.pos);
      ts.getLeadingCommentRanges(file.textContent, node.pos)?.forEach(({ pos, end }) => tryParseTSDirective(pos, end));
    }
    if (!trailingCommentRanges.has(node.end)) {
      trailingCommentRanges.add(node.end);
      ts.getTrailingCommentRanges(file.textContent, node.end)?.forEach(({ pos, end }) => tryParseTSDirective(pos, end));
    }
    ts.forEachChild(node, collectDirectives);
  }

  sourceFile.forEachChild(collectDirectives);

  let currentIndex = 0;
  let textWithoutTSDirectives = '';
  for (const directive of directives) {
    textWithoutTSDirectives += file.textContent.substring(currentIndex, directive.range[0]);
    currentIndex = directive.range[1];
  }
  textWithoutTSDirectives += file.textContent.substr(currentIndex);
  return textWithoutTSDirectives;

  function tryParseTSDirective(commentStartPos: number, commentEndPos: number): void {
    const commentDirectiveRegEx = /^(..\s*)@(ts-[a-z-]+).*$/;
    const commentText = file.textContent.substring(commentStartPos, commentEndPos);
    const match = commentDirectiveRegEx.exec(commentText);
    if (match) {
      const directiveStartPos = commentStartPos + match[1].length;
      directives.push({
        range: [directiveStartPos, directiveStartPos + match[2].length + 1],
      });
    }
    return undefined;
  }
}

Custom parser starter code (for reference)

enum CommentKind {
  SingleLine,
  MultiLine,
}

export function removeTSDirectives(text: string): string {
  const directives = findTSComments(text);
  let currentIndex = 0;
  let textWithoutTSDirectives = '';
  for (const directive of directives) {
    textWithoutTSDirectives += text.substring(currentIndex, directive.range[0]);
    currentIndex = directive.range[1];
  }
  textWithoutTSDirectives += text.substr(currentIndex);
  return textWithoutTSDirectives;
}

interface TSDirective {
  range: Range;
}

function findTSComments(text: string): TSDirective[] {
  let pos = 0;
  const directives: TSDirective[] = [];
  while (pos < text.length) {
    switch (currentCharCode()) {
      case CharacterCodes.slash:
        const nextChar = text.charCodeAt(pos + 1);
        if (nextChar === CharacterCodes.slash || nextChar === CharacterCodes.asterisk) {
          scanComment();
        } else {
          scanRegex();
        }
        break;
      case CharacterCodes.doubleQuote:
      case CharacterCodes.singleQuote:
        scanString();
        break;
      case CharacterCodes.backtick:
        scanTemplate();
        break;
      default:
        pos++;
    }
  }
  return directives;

  function currentCharCode() {
    return text.charCodeAt(pos);
  }

  function scanTemplate(): number {
    pos++;
    while (pos < text.length) {
      if (currentCharCode() === CharacterCodes.backtick) {
        pos++;
        break;
      }

      // '${'
      if (currentCharCode() === CharacterCodes.$ && pos + 1 < text.length && text.charCodeAt(pos + 1) === CharacterCodes.openBrace) {
        scanTemplateSpan();
        break;
      }

      pos++;
    }
    return pos;
  }

  function scanTemplateSpan(): void {
    pos += 2;
    while (pos < text.length) {
      const ch = currentCharCode();
      if (ch === CharacterCodes.closeBracket) {
        pos++;
        break;
      }
      if (ch === CharacterCodes.doubleQuote || ch === CharacterCodes.singleQuote) {
        scanString();
      } else if (ch === CharacterCodes.backtick) {
        scanTemplate();
      } else if (ch === CharacterCodes.slash) {
        scanRegex();
      } else {
        pos++;
      }
    }
  }

  function scanRegex(): void {
    pos++; // skip `/`
    let inCharacterClass = false;
    while (pos < text.length) {
      const ch = currentCharCode();
      if (isLineBreak(ch)) {
        // Premature ending, syntax error.
        pos++;
        break;
      } else if (ch === CharacterCodes.slash && !inCharacterClass) {
        // A slash within a character class is permissible,
        // but in general it signals the end of the regexp literal.
        pos++;
        break;
      } else if (ch === CharacterCodes.backslash) {
        // Escape next character
        pos++;
      } else if (ch === CharacterCodes.openBracket) {
        // Start a character class, for example `[a-Z]`
        inCharacterClass = true;
      } else if (ch === CharacterCodes.closeBracket) {
        // Close character class
        inCharacterClass = false;
      }
      pos++;
    }
  }

  function scanString(): void {
    const quote = currentCharCode();
    pos++;
    while (pos < text.length) {
      const ch = currentCharCode();
      if (ch === quote) {
        pos++;
        break;
      }
      if (ch === CharacterCodes.backslash) {
        pos = pos + 2;
      }
      if (isLineBreak(ch)) {
        pos++;
        break;
      }
      pos++;
    }
  }

  function scanComment(): void {
    const startPos = pos;
    const kind = text.charCodeAt(pos + 1) === CharacterCodes.slash ? CommentKind.SingleLine : CommentKind.MultiLine;
    pos += 2;
    switch (kind) {
      case CommentKind.MultiLine:
        while (pos < text.length) {
          if (currentCharCode() === CharacterCodes.asterisk && text.charCodeAt(pos + 1) === CharacterCodes.slash) {
            pos += 2;
            break;
          }
          pos++;
        }
        return;
      case CommentKind.SingleLine:
        while (pos < text.length) {
          if (isLineBreak(currentCharCode())) {
            break;
          }
          pos++;
        }
    }
    // Eureka, we've got a comment. Now find that @ts-xxx directive
    tryParseTSDirective(startPos, pos);
  }

  function tryParseTSDirective(commentStartPos: number, commentEndPos: number): void {
    const commentDirectiveRegEx = /^(..\s*)@(ts-[a-z-]+).*$/;
    const commentText = text.substring(commentStartPos, commentEndPos);
    const match = commentDirectiveRegEx.exec(commentText);
    if (match) {
      const directiveStartPos = commentStartPos + match[1].length;
      directives.push({
        range: [directiveStartPos, directiveStartPos + match[2].length + 1],
      });
    }
    return undefined;
  }
}

Why not just use Babel, TypeScript, or @typescript-eslint/typescript-estree to parse the code and look for the comments to strip out?

Yeah, I guess there is no other way. Will implement something this week. It should replace the sandbox.stripComments option.

I am thinking there should be a pretty simple way to remove the unwanted comments using Babel. Babel supports a comments: false option, and it should be very easy to use @babel/traverse to remove the comments (all comments) like this (not tested):

using @babel/traverse to remove all comments
import { traverse } from '@babel/traverse'
import types from '@babel/types'

traverse(ast, {
  enter(path) {
    types.removeComments(path.node)
  }
})

ref:

https://babeljs.io/docs/en/babel-traverse
https://github.com/jamiebuilds/babel-plugin-remove-comments/blob/master/src/index.js
https://stackoverflow.com/questions/54869998/remove-single-comment-by-babel

While this may not be as refined as using tsc to only strip comments matching the pattern, I would favor using Babel over using multiple parsers in the Stryker Mutator.
I can think of a couple possible approaches:

Babel approach 1: use Babel twice: first for preprocessing and second in instrumentor for mutating
Babel approach 2: do the parsing on each of the files, in a separate step in packages/core/src/process, save the parsed ASTs in the context, and use the parsed AST to both remove the comments and apply the mutators

I think Babel approach 2 would be more elegant but would have a couple of major caveats:

The AST type, which would be HtmlAst | JSAst | TSAst, would affect the Stryker context;
More memory would be needed to store the AST for each source file. It should be possible to drop the AST context for each source from memory upon computation of the mutations, but this may not be so trivial.

I hope to give this a try sometime, no promise when due to some other priorities.

@brodybits great minds think alike 😎. I reached the same conclusion.
I'm opting for approach 1 for now. I'm adding the functionality to the instrumenter package. That way, we can keep any direct dependency on a specific parser out of Stryker core. It is called directly from the preprocessor.
I think the total performance impact might not be too bad because I'm thinking only to parse the file if a @ts-xxx is found somewhere in the code. Most files won't contain TS code, so those files are never parsed 🚅.
I also think of naming the option sandbox.disableTypeChecking. It will combine the removal of // @ts-xxx directives with the inserting of the // @ts-nocheck comment. I think this will allow for much better user experience.
An additional advantage is that this approach will also work for vue files that contain type checking (using the vue cli and some webpack magic) because the instrumenter can also parse HTML and vue files.
I think '**/*+(.js|.ts|.html|.vue)?(x)' is a valid default for most use cases.
I hope this solution is a good compromise. It is unfortunate, we have to implement it, but this will allow for the seamless use of Stryker in most projects.

@nicojs I think that makes the most sense in general.
I would also favor that the CLI adds the sandbox option when generating the config, and tells the user what is going on.

'**/*+(.js|.ts|.html|.vue)?(x)'

How about this: **/*.{js,ts,html,vue}?(x)
It should have the same meaning, but simplified a little bit.

Follow the work in progress here: #2446
I've tested it on stryker core and, even without the regex I proposed, I don't see a negative performance impact. And more importantly, it works like a charm! I'm really happy with this result. 😀

I think that makes the most sense in general

Glad you agree. 🙏 And thanks for the help figuring it out.

How about this: **/*.{js,ts,html,vue}?(x)

Sure. Maybe it's even better to use **/*.{js,jsx,ts,tsx,html,vue}, since htmlx and vuex don't make sense and listing them all might be even more clear.

I think the total performance impact might not be too bad because I'm thinking only to parse the file if a @ts-xxx is found somewhere in the code. Most files won't contain TS code, so those files are never parsed 🚅.

I am not sure if I understand that comment. It looks to me like the changes in PR #2446 would happen in all files that match the pattern. Am I missing something here?

Yeah, that's why it's a draft PR 🙈
Hang on. Will ask you to review when it is done.

Just to get my head around the details:
Currently, you are first instrumenting for Stryker, and then instrumenting for Typescript. This is why you need to work with the @ts-xxx stuff.
The solution you have been discussing, while I was having a quiet weekend :), will: 1. Instrument for Stryker; 2. Preprocess for Typescript (@ts-xxx comment wrangling); 3. Instrument for Typescript
I was thinking about instrumenting the other way around. First, you instrument for Typescript and then for Stryker. This would remove the need for comment fiddling altogether. I guess you don't do this because of mutations inserted by the TS instrumentation? Source maps might be able to help you a bit here, but I'm not sure.

Almost correct @Lakitna :)
This is the process:
https://github.com/stryker-mutator/stryker/blob/9c846bf618af487815074e3b49d674cf1786cdcd/packages/core/src/process/2-MutantInstrumenterExecutor.ts#L30-L38

Instrument the code (works for JS, TS files as well as HTML/Vue files (script tags are instrumented)).
"Preprocess" the files. Disable type checking is one of the preprocessors

We might open up the "preprocess" API in the future, but for now, we're keeping it private. Public API's are a hassle to maintain.
To disable type checking, we will need to parse the file, but performance impact is kept to a minimum because it will only parse when "@ts-" can be found anywhere in the file 😎

THIS ISSUE IS FINALLY CLOSED AND I'M VERY HAPPY WITH THAT!!!!
😎

@nicojs right now:


To enhance the UI of Properties of Matrices and Determinant

Is your feature request related to a problem? Please describe.
I would like to use Latex to enhance the UI of Properties of Matrices and Determinant

Hi, I want to work on this issue I will start working on it as soon as I get assigned!! I am a part of GSSoC'21.
Kindly assign this issue to me!


Add Breaking Ground mini mods

https://forum.kerbalspaceprogram.com/index.php?/topic/186546-breaking-ground-mini-mods/
https://github.com/Angel-125/ServoController
https://github.com/Angel-125/SLOTH
https://github.com/Angel-125/MoreServos

For fun, I tried running the ModAnalyzer from KSP-CKAN/NetKAN-Infra#233. It was pretty helpful; we might want to find ways to use it for non-SpaceDock mods:


Cannot import

I cannot import SnappingStepper into my project. It is installed via cocoapods just like the other libs. However when I
 import SnappingStepper

It says "cannot load underlaying module for SnappingStepper". I am on swift 2.

Nevermind, cleaning my project solved the problem!


Automatically detect this problem

I would like you to add the following message as an an automatically detected problem because it appears when the server crashes due that error, so adding it to the analysis would be helpful for users to identify what's the crash reason of the server.

Error message from the log: "mod_name (mod_id) encountered an error during the event_name event phase"
Example message for the analysis: "The mod 'mod_name' has encountered an error."
Server log for reference: https://mclo.gs/hhwZ2Y9#L175

WIP: https://github.com/aternosorg/codex-minecraft/pull/54


DHCPv6 leases status: Fix interface name search

Issues in status_dhcpv6_leases.php for which this PR suggests a solution:

Incorrect use of $staticent['ipaddr'] instead of $staticent['ipaddrv6'] to match IPv6 of static mappings.

Other:
This PR is a part of changes proposed by #4514.

Sorry, I forgot about this. The code fixed here doesn't exist anymore after working on #4642

@fichtner Nice to see you have completely reworked the code of the page. However, on 21.1.4 the interface field is completely empty. Seems like a bug around guess_interface_from_ip(). I will investigate the issue and update this post.

I don’t think this is on 21.1.4 yet.

I don’t think this is on 21.1.4 yet.

Ok, then I will wait untill you release the changes. Hope they will fix the issue with empty interface fields.


How to Make a Free Mint for the First 1000 NFTs ?

Good afternoon, thank you very much for the opportunity to use your dapp, I am very grateful, I am trying to make the first 1000 nft to be free, I put it in the contract, but it does not change anything as the config.json file does not change. I'm trying to change it , I'm not good at nodejs. But i wonder if this is part of your dapp ? maybe i missed something please help me out, at least give me an idea how to do this and i will figure it out.
Translated with www.DeepL.com/Translator (free version)

There are many different ways to get free nft and this is not the only one. If you are interested in this post, this post is really great.


--require-hashes mode problem

Creating a lock file with pytest==7.3.1 generates an invalid lock file
Environment Versions

OS Type: OSX
Python version: 3.9.16
pip version: 22.0.4
pip-tools version: 6.13.0

Steps to replicate
Create a lockfile with pytest==7.3.1
pytest==7.3.1

Compile it with:
pip-compile --quiet --resolver=backtracking --upgrade --generate-hashes

Now install it:
pip install -r requirements/development.lock
Looking in indexes<EMAIL_ADDRESS>Collecting iniconfig==2.0.0
  Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Collecting packaging==23.1
  Using cached packaging-23.1-py3-none-any.whl (48 kB)
Collecting pluggy==1.0.0
  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
Collecting pytest==7.3.1
  Using cached pytest-7.3.1-py3-none-any.whl (320 kB)
Collecting tomli>=1.0.0
ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    tomli>=1.0.0 from https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl#sha256=939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc (from pytest==7.3.1->-r requirements/development.lock (line 21))
WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
You should consider upgrading via the '/Users/cesarcanassa/code/src/gitlab.com/new10/services/payment-service/.venv/bin/python -m pip install --upgrade pip' command.

Expected result
It should install correctly
Actual result
It fails while installing it

Looks like a pip issue, unless you have input and output files to show with a full reproducer...

You say you're using Python 3.9.16, and you may be for installing, but as your lockfile indicates, you've compiled with Python 3.11.
Pytest requires tomli only when using Python <3.11, so tomli does not make it into the lockfile (and so no hash for it either).
If you use the same environment (or at least the same Python version) for compiling as installing, it should work.

If you use the same environment (or at least the same Python version) for compiling as installing, it should work.

Only under pre-resolvelib pip or with -r and not -c — with the new dependency resolver, there's a bug with -c+hashes that hasn't yet been solved..

I have the same Problem:
I add 'tomli;python_version<"3.11"' to dependencies and pip-compile add this:
...
tomli==2.0.1 ; python_version < "3.11" \
    --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
    --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
...

This looks absolutely correct, isn't it?
pip failed installing with Python 3.11:
 ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    tomli>=1.1.0 from https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl (from flynt==0.77->-r /tmp/tmpicdwstbt (line 309))

With Python 3.10 and 3.9 installing works.
Full outputs are here: https://github.com/jedie/energymeter2mqtt/actions/runs/5235346165/jobs/9452127265?pr=5#step:4:233
So it's a pip bug, isn't it?

It seems like the bug here is that pip-compile should resolve all dependencies for all python versions, so that the requirements.txt that it generates with --generate-hashes will work on multiple systems (& python versions).  Locking down your dependencies seems less useful if you can't then get back to that state on another machine.
We ran into a build failure today because ipython specifies a conditional dependency like @jedie mentions above.  As a result, pip install -r requirements.txt works on one build environment, and not on another.
Without this we'll just have to stop using --generate-hashes.


Blackstone and Basalt pebbles should drop from crushed netherrack, not dirt.

A simple balance fix. I know in vanilla these are cosmetic blocks and it doesn't matter, but some mods use them to gate stuff behind going to the nether. And dirt already drops too many things, while crushed netherrack drops too few, IMO.

Oh, whoops! This was supposed to be on Sequentia. My bad.


Considering switch to KATEX for faster rendering

https://github.com/KaTeX/KaTeX

finished, will be available on v0.3.0


fixcolumn name should be case insensitive when selecting mv

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


Browser Tab shows request #

As any user
I want to be able to see the Request # in the tab at the top of my browser
so that I can have multiple tabs/requests open at a time and easily jump back and forth between them

Assumptions & Scope
If you're in the system but not in a specific queue, tab will say "user home"
What is IN scope?
What is NOT in scope?

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

Duplicate


removed unused StatefulProcessSession and its dependencies (#448)

(cherry picked from commit a0d03862909490c6b69e3e01ba6cc3ce29d533ab)
required to cleanup the session interface impl that is no longer used
https://github.com/droolsjbpm/jbpm/commit/9052ba25fe610eb8089a772d83e56f0f96c2732b

+1 (assuming it will not break any tests)
But I need to ask: Where was this used before and why is it no longer needed?

it's been added long time ago to allow alternative (without drools) ksession if I remember but I have never seen it to be used to be honest


Enhance in the structure and translation of index.md

"Arrow functions" translates to "Funciones Flecha".
Better structure in the syntax of some sentences.
Translated code snippets comments

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Height of Budget Rows not working as expected

Height of Budget Rows not working as expected
System Settings (Required)
ToolKit Version: 2.1.0
Operating System (Mac/Windows/Etc): Mac
Browser (Chrome/Firefox/Safari): Chrome
Browser Version: 64.0.3282.186
Other Extensions:
Export of Toolkit Settings (Bottom Left of Settings Page)

Settings Export

{"key":"RowHeight","value":"0"},{"key":"RowsHeight","value":"3"},

Steps to Reproduce the Behavior

changed Height of Budget Rows to Slim with Smaller Font, Slim, or Compact [all 3 have issue]
refreshed YNAB

Expected Behavior

I expected all rows, including main category headers to go smaller. Only the sub-cats went smaller. Previously, all category rows went smaller.
Actual Behavior

Only the sub-categories went smaller.

Default/off screenshot

@budgetbaby this is another side effect of the recent change to the credit card category and how the category headers are displayed.

Hey @budgetbaby the fix for this should be in our current release. If you notice the issue still exists and you're definitely running the newest version of the toolkit, please reopen! Thanks!


fix feather.min.js path in header.html

Fixes issue #84

closing this pull request to re-submit one that is clean


add license-plugin configuration for file headers

related to #354
Description
This change adds configuration for the license-maven-plugin to generate the following file header:
/*-
 * ---license-start
 * Corona-Warn-App
 * ---
 * Copyright (C) 2020 SAP SE and all other contributors
 * ---
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ---license-end
 */

Usage
Run mvn license:remove-file-header to remove old license headers and mvn license:update-file-header to generate headers everywhere (**/*.java) it is missing (currently ~130 as old header is not recognized).

@tkowark the wording of this generated license is a bit different than our existing one. Can you confirm this one would be fine as well?

@stevesap the header looks very good to us. @CCFenner thanks a lot!


More complete OOG encode example

This polyfill has been extremely helpful but I'm looking to use OOG-Opus for encoding. Do you have a more detailed working example of using oog for encoding?

Sorry, I didn’t use it and can help here

I recently have used like this:
import AudioRecorder from 'audio-recorder-polyfill'
import mpegEncoder from 'audio-recorder-polyfill/mpeg-encoder'

AudioRecorder.encoder = mpegEncoder
AudioRecorder.prototype.mimeType = 'audio/mpeg'

window.MediaRecorder = AudioRecorder

var record = false;
let mediaRecorder;

const onStart =({sendMessageStomp,setMessages,messages, topic})=>{
    navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
      var chunks = []
      mediaRecorder = new MediaRecorder(stream)

      //Get data
      mediaRecorder.addEventListener('dataavailable', e => {
        console.log("Record audio!!")

        chunks.push(e.data)

      })

      mediaRecorder.addEventListener('stop',e => {
        console.log("Stop recoding!!")

        //const blob = new Blob(chunks, {type:"audio/ogg; code=opus"})
        const blobMP3 = new Blob(chunks, {type:"audio/mpeg; code=opus"})

        const reader = new window.FileReader()
        reader.readAsDataURL(blobMP3);

        reader.onloadend = () => {
          console.log('audio tipo: ', reader.result)

          const msgSender = {sender:'user',type:'audio',msg:reader.result}
          //const msgSenderMP3 = {sender:'user',type:'audio',msg:e.data }
          setMessages(messages => [ ...messages,  msgSender])
          sendMessageStomp(msgSender, "/app/msgCPF/" + topic,"audio")
        }

      })

      mediaRecorder.start()
      record= true;
    })
}

//Function to STOP
const onStop = () => {
    mediaRecorder.stop();
    mediaRecorder.stream.getTracks().forEach((i) => i.stop());
    mediaRecorder = false;
    record = false;
};

//Action capture audio, Start and Stop;
const getSendAudio = (e,isState, setIsSate, sendMessageStomp,setMessages,messages, topic) =>{
  e.preventDefault()
  setIsSate(!isState)

  if(record === true){
    console.log('Call to STOP')
    onStop();
  }else{
    console.log('Call to START')
    onStart({sendMessageStomp,setMessages,messages, topic})
  }
}

export default getSendAudio;
export {
  onStart,
  onStop,
  record,
  mediaRecorder,
}

Hi @Lucasnobrepro,
That's really similar to what I ended up using. Initially I was trying to use the OOG encoder, but the mp3 encoder worked out fine for what I was doing.
`import AudioRecorder from 'audio-recorder-polyfill';
import mpegEncoder from 'audio-recorder-polyfill/mpeg-encoder'
AudioRecorder.encoder = mpegEncoder;
AudioRecorder.prototype.mimeType = 'audio/mpeg';
// Speech To Text
export const recordResponse = async () =>{
console.log('Recording for a response!');
navigator.mediaDevices.getUserMedia({ audio: { sampleSize: 16, channelCount: 1, sampleRate: 16000} }).then(stream => {
    var options = {
        audioBitsPerSecond : 16000,
    }
    state.mediaRecorder = new AudioRecorder(stream, options)

    const audioChunks = [];
    state.mediaRecorder.addEventListener("dataavailable", event => {
        audioChunks.push(event.data);
    });

    // Start recording
    state.mediaRecorder.start();

    state.mediaRecorder.addEventListener("stop", () => {
        state.mediaRecorder.stream.getTracks().forEach(i => i.stop());
        const audioBlob = new Blob(audioChunks, {type: 'audio/mpeg'});
        let audioUrl;
        try {
            audioUrl = webkitURL.createObjectURL(audioBlob);
        }
        catch(err) {
            audioUrl = URL.createObjectURL(audioBlob);
        }

        //
        let track = state.mediaRecorder.stream.getAudioTracks();

        var reader = new FileReader();
        reader.readAsDataURL(audioBlob);
        reader.onloadend = function() {
            //Trim the Base64 extra text
            var base64data = reader.result;
            var ret = base64data.replace('data:audio/mpeg;base64,','');
            postAudio(ret, track[0].getSettings());
        };
    });
  });

};
`
The Base64 is for Google Speech to Text encoding.

@designkl I'm also recording to send to Google Speech to Text. Are you using the beta version of the API, as I thought MP3 was not GA yet?
How is the quality with MP3?

@ai great library thank you for building it. I noticed in the docs there is an Ogg example. Are there any plans to support it in the future?

Next Safari do not need this polyfil, so I do not have any plans for the project development

@designkl I'm also recording to send to Google Speech to Text. Are you using the beta version of the API, as I thought MP3 was not GA yet?
How is the quality with MP3?

I did use the beta version of the STT API. I really didn't do any side by side comparisons with regards to compressed (mp3) vs. uncompressed (PCM WAV), but from the feedback I've gotten from people who have used other STT APIs, even with the compressed mp3, it's considerably more accurate than the others. And that's without even touching the config file to start adding in custom verbiage. So as much as I wanted to try the Ogg, I just gave up as the mp3 encoding seemed good enough.


Feature/iso8601 date conversion

This pull request introduces a new utility function that converts date strings into ISO-8601 format. The function supports multiple input formats, including YYYY-MM-DD and MM/DD/YYYY, making it versatile for various use cases.
Key Features:

Function Name: convert_to_iso8601
Input Formats Supported:

YYYY-MM-DD
MM/DD/YYYY

Output Format: Returns the date in ISO-8601 format (YYYY-MM-DDTHH:MM:SS).

Implementation Details:
The function is implemented in a new file named date_utils.py within the date_utils folder.
An init.py file has been added to the date_utils folder to treat it as a package.
Unit tests have been included to verify the functionality of the date conversion logic.
Usage Example:
from date_utils.date_utils import convert_to_iso8601
Example usage
print(convert_to_iso8601("2024-10-06"))  # Outputs: 2024-10-06T00:00:00
print(convert_to_iso8601("10/06/2024"))  # Outputs: 2024-10-06T00:00:00
Testing:
Unit tests are provided to ensure that the function behaves as expected and handles invalid inputs gracefully.
Impact:
This feature enhances the utility of the PySnippets repository by providing a straightforward method for date conversion, which is essential for applications that require standardized date formats.
This PR is to #26. Thank you and pls don't forget the appropriate labels to this PR

@softcreations01 please link the issue number

@softcreations01 please link the issue number

#26 This.