Issue with AMD Radeon RX 5700 XT

Hello there,
I find myself with a problem regarding the setup of DXVK on Archlinux. I am unable to run any game with DXVK enabled, while the games run flawlessly under wined3d (either in wine or proton). Now I assume I must have missed some important and obvious step, but so far I was unable to find which one.
Here is the list of the things I've done:

check that the device is supported: cf https://en.wikipedia.org/wiki/Radeon_RX_5000_series
check that I run the latest version of the driver: 2020.Q2.6-1 for amdvlk and 20.1.2-1 for mesa/radv
check that others have been able to run the games I'm trying to run using DXVK: verified for Starcraft 2 (via a friend using DXVK on an AMD GPU) and for Mirror's Edge (https://www.reddit.com/r/linux_gaming/comments/bbt67l/d9vk_can_now_run_mirrors_edge/)
enable DXVK in Lutris for the games in question

I don't know if this is a relevant detail, but I am running games from Lutris.
Software information
Starcraft 2 (wine), Supreme Commander (proton), Star Wars: The Force Unleashed Ultimate Sith Edition (proton), Mirror's Edge (wine)
Basically any game that is not running natively on Linux has the same issue. As mentioned earlier, deactivating DXVK solves the issues.
System information

GPU: AMD Radeon RX 5700 XT
Driver: amdvlk (2020.Q2.6-1), vulkan-radeon (radv, 20.1.2-1, same version for mesa) both 64-bit and 32-bit versions
Wine version: lutris-5.7.3-x86_64 and proton 5.0-9
DXVK version: 1.7L-84bb768

Apitrace file(s)

Didn't use it yet. Will try to use the Windows release of apitrace in one of the wine prefixes from lutris later on.

Log files for Starcraft 2

d3d9.log: SC2_x64_d3d9.log
d3d11.log: it was empty
dxgi.log: SC2_x64_dxgi.log

Log files for Supreme Commander

screenshot with DXVK_HUD=full. The screen stays black until I kill the application.

proton log with WINEDEBUG: steam-9350.log

I apologize if this a gross misconfiguration from my side or if it has already been solved elsewhere, but I couldn't seem to find the necessary information to make DXVK work in my setup.
Thank you for your time

Can't do much without an apitrace.

Get rid of amdvlk, which you are using according to your screenshot, and try again.

or explicitly use vulkan-radeon and leave amdvlk untouched:
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json %command%

Thanks for the quick answer! As @Oschowa mentioned, getting rid of amdvlk solved the issue and everything works smoothly with DXVK. And as @frostworx suggested there is an option in Lutris to select the Vulkan ICD on a per-game basis.
What would be the next step? Reporting the issue upstream to the amdvlk folks?

If you can get us an apitrace then we can take a look at the shader that's causing problems and check if we're generating valid code, but we need something to work with.

Took me a while longer than expected to break my setup again and to use apitrace in wine but here is the trace for StarCraft2
SC2.trace
It also contains the Battle.net launcher part, which is working. The game itself crashed at launch, so hopefully you'll get what you need.
Tell me if there's anything more I can do!

@doitsujin JFYI, since I happened to come across this issue randomly, we found a DXVK-generated pipeline that uses push constants outside of the range defined in the VkPipelineLayout in a different game. That's out-of-spec behavior, but it seems like validation may not catch it.

Yes, that's a known long-standing issue with D3D9 shaders. Still waiting for @Joshua-Ashton to fix that.

@VGuenat Was this issue solved with newer dxvk and or drivers?
I see the issue doitsujin links to got solved if it's the same problem.

Closing this because it's stale.

If you still have the same issue feel free to comment here again.


Calico profile doesn't work when networkpolicy exist

calico version: 3.0
kubernetes: 1.10.4
I want to define networkpolicy using calico api rather than k8s networkpolicy api, therefore I define the env ENABLED_CONTROLLERS=profile,workloadendpoint,node on calico-policy-controller.
Cailco create a default profile which allows all ingress and egress traffic for every k8s namespace.
After define a network policy, I find that the rule defined by profile doesn't work. The traffic which is not match the defined network policy will be denied. When I deleted the network policy, the rule of the profile works again, the traffic which is not match the defined network policy is allowed.
Expected Behavior

calico profile works when network policy exist
Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

create a network policy (any one is ok as long as some traffic will not match the policy)
test by using the traffic will not match the network policy
find the traffic that match the profile (all ingress/egress traffic allowed) will be deny.
delete the network policy
same traffic of 2 will be allowed

Context

policy
    "spec": {
        "order": 9999,
        "ingress": [
            {
                "action": "Deny",
                "source": {
                    "selector": "servicenamespace != 'system'",
                    "namespaceSelector": "all()"
                },
                "destination": {
                    "selector": "all()"
                }
            }
        ],
        "selector": "",
        "types": [
            "Ingress"
        ]
    }

profile
    "spec": {
        "ingress": [
            {
                "action": "Allow",
                "source": {},
                "destination": {}
            }
        ],
        "egress": [
            {
                "action": "Allow",
                "source": {},
                "destination": {}
            }
        ]
    }

Your Environment

Calico version  3.0
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes: 1.10.4
Operating System and version: ubuntu 16.04
Calico-policy-controller: ENABLED_CONTROLLERS=profile,workloadendpoint,node

This is working as intended - if you use network policy, profiles won't be applied unless you explicitly pass the traffic to them using a rule with action: Pass.
I recommend using another, lower order NetworkPolicy to implement what you want, since the interactions between NetworkPolicy and Profiles are... awkward.

@caseydavenport thanks for your reply.  I just solved it just as you recommended.


How to configure interiors?

Okay so when i installed the script, There is no things in the room? In the weed farm there is only a empty room. What should i do? :)

Sorry for the late reply, for some reason I was not receiving notifications for this repo 🤦♂
TL;DR: What you want is configured in bob74_ipl, not this module.
This module only enables blips and teleportation. As stated in the README, you need an IPL loader like bob74_ipl which will load the necessary files from the game.
This is also where you can change what is loaded.
For the weed farm, you need to change the LoadDefault function of bob74_ipl/dlc_bikers/weed.lua to load the stuff you want for each component.
For example to enable the security upgrades, you can change line 383 from
BikerWeedFarm.Security.Set(BikerWeedFarm.Security.basic)

to
BikerWeedFarm.Security.Set(BikerWeedFarm.Security.upgrade)

To see what options are available scroll up a bit, the security suff for example is defined at line 27.
I hope this helps.

I dont know if you are still tracking this, but i need assistance. I would like to fill my methlab with everything, im curious if this is correct.

-- Meth lab: 1009.5, -3196.6, -38.99682
exports('GetBikerMethLabObject', function()
return BikerMethLab
end)
BikerMethLab = {
interiorId = 247041,
Ipl = {
    Interior = {
        ipl = "bkr_biker_interior_placement_interior_2_biker_dlc_int_ware01_milo",

        Load = function()
            EnableIpl(BikerMethLab.Ipl.Interior.ipl, true)
        end,
        Remove = function()
            EnableIpl(BikerMethLab.Ipl.Interior.ipl, false)
        end
    }
},
Style = {
    none = "",
    empty = "meth_lab_empty",
    basic = {
        "meth_lab_basic",
        "meth_lab_setup"
    },
    upgrade = {
        "meth_lab_upgrade",
        "meth_lab_setup"
    },

    Set = function(style, refresh)
        BikerMethLab.Style.Clear(false)

        if style ~= "" then
            SetIplPropState(BikerMethLab.interiorId, style, true, refresh)
        else
            if refresh then
                RefreshInterior(BikerMethLab.interiorId)
            end
        end
    end,
    Clear = function(refresh)
        SetIplPropState(BikerMethLab.interiorId, {
            BikerMethLab.Style.empty,
            BikerMethLab.Style.basic,
            BikerMethLab.Style.upgrade
        }, false, refresh)
    end
},
Security = {
    none = "",
    upgrade = "meth_lab_security_high",

    Set = function(security, refresh)
        BikerMethLab.Security.Clear(false)

        if security ~= "" then
            SetIplPropState(BikerMethLab.interiorId, security, true, refresh)
        else
            if refresh then
                RefreshInterior(BikerMethLab.interiorId)
            end
        end
    end,
    Clear = function(refresh)
        SetIplPropState(BikerMethLab.interiorId, BikerMethLab.Security.upgrade, false, refresh)
    end
},
Details = {
    production = "meth_lab_production", -- Products

    Enable = function(details, state, refresh)
        SetIplPropState(BikerMethLab.interiorId, details, state, refresh)
    end
},

LoadDefault = function()
    BikerMethLab.Ipl.Interior.Load()
    BikerMethLab.Style.Set(BikerMethLab.Style.upgrade)
    BikerMethLab.Security.Set(BikerMethLab.Security.none)
    BikerMethLab.Details.Enable(BikerMethLab.Details.production, false)

    RefreshInterior(BikerMethLab.interiorId)
end

}


pipeline_version: Clarify what is a pipeline implementation

pipeline_version says simply:

This field records the version of the pipeline implementation.

Anonymous (I think it was me) questioned:

what is a pipeline implementation? Does this mean the version of the script above, the pipeline in abstract, or the implementation of the workflow system the pipeline is executed on?

At the BioCompute Spec Hack-a-thon is was decided this field has no value here and should be removed. See #50 as well.


Snowflake Support

Please consider adding support for snowflake.

Remember, this repo is open source and we welcome PR submissions. Having said that, if we were to take this on as a backlog enhancement, we would wait to see momentum - starting with upvotes on this issue.


BUG: if first z-coordinate is NaN, has_z incorrectly reports False

It seems that pygeos incorrectly reports that 'has_z' is false in case the first z-coordinate is NaN. This leads to the z-dimension getting culled in shapely/geopandas.
Traced this bug after getting funky results in geopandas.
https://github.com/geopandas/geopandas/issues/1888
import numpy as np
import pygeos
import shapely.wkb

coords1 = [
    (1, 2, 3),
    (1, 1, np.NaN),
]

coords2 = [
    (1, 1, np.NaN),
    (1, 2, 3),
]

for coords in [coords1, coords2]:
    geom1 = pygeos.creation.linestrings(coords)
    print(pygeos.geometry.get_coordinate_dimension(geom1))
    print(pygeos.predicates.has_z(geom1))
    print(pygeos.coordinates.get_coordinates(geom1, include_z=True))
    geom2 = shapely.wkb.loads(pygeos.to_wkb(geom1))
    print(np.array(geom2.coords))
    print('\n')

Output
3
True
[[ 1.  2.  3.]
 [ 1.  1. nan]]
[[ 1.  2.  3.]
 [ 1.  1. nan]]

3
False
[[ 1.  1. nan]
 [ 1.  2.  3.]]
[[1. 1.]
 [1. 2.]]

Thanks @woest for your report. I looked into this and pygeos uses the GEOS function GEOSHasZ_r to determine the return value of has_z. So we can't really solve this here in pygeos.
There is a remarks by @pramsey in https://github.com/pygeos/pygeos/issues/306

Basically NaNs make everything bad, don't let them in.

So, you can't really trust any operation on a geometry that has nans.
I am worried though about these funky results. Maybe it is better to prohibit nans in geometry constructors, by replacing the complete geometry with None or raising an exception. What do you think @brendan-ward @jorisvandenbossche ?

I think raising an exception would be best here; when these cases occur in intermediate steps, I want things to halt at the exception and then I know something is wrong and need to fix it.  If we instead return None that may not be obvious until much later steps, or not at all, depending on subsequent operations.

So NaN's are not allowed at all? I can imagine this for x and y, but z?
My use-case is using 3D-linestrings to store height information of raster values at the x and y location of the linestring. These raster values can intermittently contain no data. So if nan is not allowed, what special designation could I use?
(Aside from a very low or very high floating point value, which is kinda hacky)

Using a well-defined NODATA value for Z values seems better than using NaN; in the raster they are actually a number that has a NODATA interpretation, as opposed to something that is unrepresentable as a number.  The raster dataset should define this NODATA value, so you can just use that, right?  In either case, you run the risk of any interpolation applied to Z values unless you handle the NODATA values properly, and using a defined number sidesteps all the issues around GEOS and NaN.

I'd like to make a bold proposal: block NaN in geometry creation functions (just skip NaN coordinates, like we do with None for polygon/multi geometries)
Associated with this, we might create force_2d and force_3d functions. The force_3d takes an optional argument z_value, which cannot be NaN and defaults to 0.0 (like with PostGIS: https://postgis.net/docs/ST_Force_3D.html)


New divide

closes #549
adds a way to handle:

division by 0, by passing default_div_by_0 parameter
0/0, by passing default_div_0by0 parameter

respectively to be used as:
dc1.divide(dc2, default_div_by_0=-1)
dc1.divide(dc2, default_div_0by0=-2)
dc1.divide(dc2)

Notice:

0/0 is treated differently from division by 0 and in case of specifying default_div_0by0 it will return numpy.inf on division by 0.
it handles only one case at a time

It behaves exactly as before if nothing specified

The idea is to avoid looping multiple times on the data to fix/detect when things don't work.
I agree the naming isn't nice.


Remove VectorClock type

We are no longer referring to this as a 'vector clock', instead it could be more accurately called a cursor.
Seeing as we are renaming anyway, I thought it might be a good opportunity to unnest it, as it complicated the code for using the field. In the original layout, the field could be referred to by three nested names: last_seen, VectorClock, node_id_to_sequence_id.
The issue though is that this is a breaking change, and would require resetting the DB. We may have to do this not just for our own instance of the node, but in any other partner nodes. If this ends up being too difficult, I'm happy to avoid the unnesting and simply rename VectorClock->Cursor. Although it could be a good thing to run through a breaking change as practice regardless.

There is no rush on this - just put this up so that we have it on our minds. Can wait until January


Rolling back to anomaly-detection for OS dependency in workflow

Description
Fixes an issue where the workaround using search-processor to build OpenSearch fails to integrate with OpenSearch Dashboards
Issues Resolved
#221
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@sejli This is a short term mitigation. Please post your research in https://github.com/opensearch-project/dashboards-search-relevance/issues/221. Thanks!


Support for Multiple Queues

Following the documentation, it's possible to have an agent be part of multiple queues.
Right now only one queue is supported per stack via the parameter BuildkiteQueue

Nevermind, I see it is possible using the BuildkiteAgentTags parameter


GDT: wrap and bind upload operation using promises

Next uploading refactoring step b/160018519.

express entire upload operation in a single chain of async steps bound with promises
remove code not required any more

Next steps:

break down URL request steps
error handling
fix tests

#no-changelog

Some tests are still failing due to not-yet-reimplemented features, but a good portion of old tests are passing with the updated implementation.


[Communication] - PhoneNumbers - Add support for the new public preview API version in the PhoneNumbers SDK

Add support for the PhoneNumbers API version 2022-01-11-preview2, as described in the following spec changes: https://github.com/Azure/azure-rest-api-specs/pull/16884
All SDK Contribution checklist:
This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] Please open PR in Draft mode if it is:

Work in progress or not intended to be merged.
Encountering multiple pipeline failures and working on fixes.

[x] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] I have read the contribution guidelines.
[x] The pull request does not introduce breaking changes.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[x] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code. (Track 2 only)
[x] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK. Please double check nuget.org current release version.

Additional management plane SDK specific contribution checklist:
Note: Only applies to Microsoft.Azure.Management.[RP] or Azure.ResourceManager.[RP]

[ ] Include updated management metadata.
[ ] Update AzureRP.props to add/remove version info to maintain up to date API versions.

Management plane SDK Troubleshooting

If this is very first SDK for a services and you are adding new service folders directly under /SDK, please add new service label and/or contact assigned reviewer.

If the check fails at the Verify Code Generation step, please ensure:

Do not modify any code in generated folders.
Do not selectively include/remove generated files in the PR.
Do use generate.ps1/cmd to generate this PR instead of calling autorest directly.
Please pay attention to the @microsoft.csharp version output after running generate.ps1. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version.

Note: We have recently updated the PSH module called by generate.ps1 to emit additional data. This would help reduce/eliminate the Code Verification check error. Please run following command:
  `dotnet msbuild eng/mgmt.proj /t:Util /p:UtilityName=InstallPsModules`

Old outstanding PR cleanup
Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.

Thanks for your review, @petrsvihlik; I just pushed the updated changelog.
The intention is to perform the rest of the release preparation, including bumping the package versions, after the code is merged; but please let me know if there is anything else that needs to be addressed before that.

please also bump the version here: https://github.com/Azure/azure-sdk-for-net/blob/3c0d9168490cee385ffcbc9794e4b9586cc9c3ed/sdk/communication/Azure.Communication.PhoneNumbers/src/Azure.Communication.PhoneNumbers.csproj#L8

please also bump the version here:
https://github.com/Azure/azure-sdk-for-net/blob/3c0d9168490cee385ffcbc9794e4b9586cc9c3ed/sdk/communication/Azure.Communication.PhoneNumbers/src/Azure.Communication.PhoneNumbers.csproj#L8

this is updated in #26450


[package_info_plus] annotate int for flutter 2.5 requirement

Description
As described in #476. This change is necessary for Flutter 2.5.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

@juliansteenbakker can you also please bump the main package version and also increase the windows package version in the main package too?

@juliansteenbakker can you also please bump the main package version and also increase the windows package version in the main package too?

Done!


Split Client.getResponse to Client.doRequest & Client.getResponse.

There is some API that give empty response and we only need
to check HTTP status code.
example :
https://developer.github.com/v3/issues/assignees/#check-assignee
But there is no way to do this in current code because
Client.getResponse  not returning HTTP status code.
Client.doRequest makes it possible to do this by returning http.Response

Thanks!


Past tense in yellow banner

@dsarkar
You could also update the Description text in the repo. This has to be done directly. It can't be done via a PR.

Additionally the README > How to contribute is also out of date.

Description text in the repo is updated now.


:card_index: Update landing page

Expected outcome
Remove tasks and yammer widgets. Only showing the PBI report.
Business Value / Developer Experience
Requested by PO. Remove unnecessary widgets to make the landing page better for experience
User Acceptance Tests (UAT)
Check if Tasks and Yammer widgets are gone in landing page.

PowerBI now has full width on the landing page.

There is still some whitespace on the side but seems to be a PowerBI Issue

I miss the picture of the boat... should have had that as a dimmed background image...

The boat was gone when we started. Someone has stolen it 🤠

🚢 ASAP


KAFKA-6749: Fixed TopologyTestDriver to process stream processing guarantee as exactly once

https://issues.apache.org/jira/browse/KAFKA-6749
Fixed Stream processing topologies which are configured to use EXACTLY_ONCE processing guarantee can be tested with the TopologyTestDriver.
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

\cc @bbejeck @vvcephei

@mjsax , I am able to work with the above review comments. I am having issue with one of the test case shouldCloseProcessor when EOS Enabled.

When Eos is enabled in TopologyTestDriverTest for test shouldCloseProcessor, testDriver.close(); is called. And it internally calls, StreamTask#closeSuspended method.
In this method if eosEnabled and is not Zombie , we are calling RecordCollectorImpl#close() and  it calls MockProducer#close .
In  MockProducer#close, we are setting this.closed=true.
Once test shouldCloseProcessor executes successfully,  @After  tearDown() testDriver.close() gets called. and  goes through same flow mentioned  in Step1 , step2.
During step3, as we  already modified closed to true , "MockProducer is already closed." exception is getting thrown and Test suite is getting failed.

I am assuming this is valid case,  as we are trying to close testDriver 2 times consecutively, and exception is thrown at second time .
If it's valid why step 2 is restricted to only eosEnabled.  Shouldn't it be for both eosEnabled and non-eosEnabled?.  If so, same exception will be thrown even for non-eosEnabled..

Hi @mjsax, could you please provide your inputs on above comments..

Sorry for late reply. Your observation is correct and it makes sense. The difference is, that for EOS case, we use a KafkaProducer per task, while for non-EOS we use a KafkaProducer per thread. Thus, for EOS, the task is responsible to close the RecordCollector.
Nevertheless, your observation shows a bug in the test-driver -- the driver does not close the producer or the consumer properly. It's not a big deal, because it's a "no-op" anyway (only setting a flag), but we should still fix it. Can you add a fix in this PR?
Additionally, we should check in TopologyTestDriver#close() if EOS is enabled or not, and only close the producer for the non-EOS case (for the EOS case, we can rely on the task to close the producer).
Last, we should make TopologyTestDriver#close() idempotent (maybe adding a flag if the driver is closed or not). This raises the question why MockProducer#close() is not idempotent but throws an exception (same for MockConsumer#close) \cc @hachikuji What is the reason for this behavior?

retest this please

@mjsax, @bbejeck, @guozhangwang  . Fixed review comments. Could you please review and let me know if any changes needed.

@mjsax , Rebased to fix the failing tests.

@mjsax , Rebased  to latest trunk.

retest this please

@jadireddi #5105 is merged. You can rebase this PR and remove the workaround for the commit issue?

retest this please

@mjsax , Fixed workaround.

@mjsax , Fixed review comments.

Merged to trunk and cherry-picked to 2.0 and 1.1.


Removing unused code.

Removing the unused code in the website.
.floe-news-iems does not use margin-left as it uses padding.
Screenshots before:-

Screenshot after:-

@jhung @jobara review.

We will be rewriting all the CSS as part of the forthcoming redesign, so I'm closing this PR. Thanks for the contribution!


Changed travis to pull mcr.microsoft.com/mssql/server:2017-latest

As indicated on mssql-server-linux, microsoft/mssql-server-linux will eventually be deprecated

Codecov Report

Merging #943 into dev will decrease coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #943      +/-   ##
==========================================
- Coverage   80.43%   80.36%   -0.07%
==========================================
  Files          25       25
  Lines        7758     7758
==========================================
- Hits         6240     6235       -5
- Misses       1518     1523       +5

Impacted Files
Coverage Δ

...php-7.1.26-src/ext/pdo_sqlsrv/shared/core_stmt.cpp
75.16% <0%> (-0.48%)
:arrow_down:

Continue to review full report at Codecov.

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

Coverage increased (+0.06%) to 72.373% when pulling d21ade05e1320a29660ff87f71fba3257e598a90 on yitam:sqlserver into 12d01c918966f5ff908adb25d5586944949b88be on Microsoft:dev.


Look-at in a specific axis

Is there a way to look at an object in only one axis?
This would be useful for placing 2d people in an architectural scene that always faces the camera by rotating in just the y-axis.

Don't think this implementation will support it since it just calls .lookAt(). You could try forking the component and adding a line to post-modify the rotation as you need, or another component to zero the rotation on the axis you need


Upgrading to 7.2.0 throws SyntaxError (up to node v3.3.1)

#193 seems to have shown up again starting in 7.2.0. Using node v0.12.17 gives the following error:
>> const Hoek = require('hoek');
>> ^^^^^
>> SyntaxError: Use of const in strict mode.
>>   at exports.runInThisContext (vm.js:73:16)
>>   at Module._compile (module.js:443:25)
>>   at Object.Module._extensions..js (module.js:478:10)
>>   at Module.load (/Users/hashir/Projects/opentok-node/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
>>   at Function.Module._load (module.js:310:12)
>>   at Module.require (module.js:365:17)
>>   at require (module.js:384:17)
>>   at Object.<anonymous> (/Users/hashir/Projects/opentok-node/node_modules/jsonwebtoken/sign.js:1:73)
>>   at Module._compile (module.js:460:26)
>>   at Object.Module._extensions..js (module.js:478:10)

various other errors show up if I upgrade to a node version up to and including v3.3.1. Upgrading to node v4.0.0 and above seems to make the errors go away.

For now, I've worked around the problem by using:
"jsonwebtoken": "~7.1.x"
instead of
"jsonwebtoken": "^7.x.x"
in my package.json

@hbaqai this should work now with last version, can you check?

@hbaqai I'm closing the issue, be free to open it if you find it happening again.


added phone number tracker

Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
This  is a phone number tracker made using phone numbers library that can get us country name and service provider of the given phone number
Fixes #406
Replace issue_no with the issue number which is fixed in this PR
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

@avinashkranjan

@avinashkranjan can you tell me how can I provide the images link ? how can I make them go online ?

@avinashkranjan have made required changes to the template.

have updated phone number images


refactor: adjust project structure for docker and command-lines

What this PR does:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Codecov Report

Merging #144 (9911651) into master (846a8bc) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #144   +/-   ##
=======================================
  Coverage   35.11%   35.11%
=======================================
  Files          74       74
  Lines       11504    11504
=======================================
  Hits         4040     4040
  Misses       6987     6987
  Partials      477      477

Continue to review full report at Codecov.

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


feat: user and profile endpoints

Closes #31
Closes #32

Fantastic as always, clean, sensible, and built according to the established standards.
I really love your work, @Hajbo.
I made sure to add a few fixes that came up when testing against the Postman collection. Most importantly, I made sure to enforce email and username uniqueness and remove bio and image fields from registration.
There are other additions like OpenAPI changes and performing a bun update while preventing a nasty error with one of the dependencies after the update.
For more details simply check out the commit history here, I made sure to detail everything.
Thanks again!


Update the about us page | Issue #46

Description
I have made the changes, in which I updated the structure of the About Us section and its appearance, also I have made some fixes in the Enquiry Section regarding the bottom spacing, also updated the footer that have nearly no spaces in the footer section and miss-capitalize words in it.
#46
Video
https://github.com/user-attachments/assets/91f5c827-56e8-4cc3-ab61-f52aa32167cc

Good job

make it responsive for all devices it not

Okay working on this, please also update the label of level, as for responsiveness it's a time-consuming task.

make it responsive for all devices it not

Okay working on this, please also update the label of level, as for responsiveness it's a time-consuming task or I can also raise another issue of responsive of about us page.

make it responsive for all devices it not

Okay working on this, please also update the label of level, as for responsiveness it's a time-consuming task or I can also raise another issue of responsive of about us page.

Or you can merge this PR, and then I can work on their responsiveness.
It will help me to separate the task from that one issue and will be clear and concise.

I have increased the level, you can work on the same pr

@yatulearn I have updated the Abous Us Page and Added Responsiveness in it.
Please close #46
https://github.com/user-attachments/assets/18c64e5f-65b8-4a3e-9df8-43ce872baf66

you did a good job just fix the conflicts

you can close the pr and make the changes in the repo again as we've made changes in the code and repo then you can raise the new pr

okay sir,

@yatulearn i have fixed all conflicts, please review

your pr has conflicts kindly resolve it

your PR has conflicts that need to be addressed. Please review and resolve any issues. After resolving them, you can proceed to create a pull request. It is essential to resolve these conflicts in the branch.

your PR has conflicts that need to be addressed. Please review and resolve any issues. After resolving them, you can proceed to create a pull request. It is essential to resolve these conflicts in the branch.

OKay sir, o start working on these conflicts

@yatulearn i have raised a new PR, and closing this one.


cli: shorten output of list-builds

Previously:
 jboss-kieserver-6-docker-20151130-050421                        | complete | user1/jboss-kieserver-6-docker:this-target-name-is-so-long-it-cant-fit-anywhere-docker-candidate-20151130050421
 jboss-decisionserver-6-docker-20151130-054836                   | complete | user1/jboss-decisionserver-6-docker:this-target-name-is-so-long-it-cant-fit-anywhere-docker-candidate-20151130054836
 openshift-enterprise-node-docker-20151130-115732                | complete | user2/openshift-enterprise-node-docker:long-target-name-docker-candidate-20151130115732

Now:
 jboss-eap-6-docker-20151130-041010                                                 | complete                    | jboss-eap-6/eap64-openshift:0.0-0
 jboss-kieserver-6-docker-20151130-050421                                           | complete                    | jboss-kieserver-6/kieserver62-openshift:0.0-0
 jboss-decisionserver-6-docker-20151130-054836                                      | complete                    | jboss-decisionserver-6/decisionserver62-openshift:0.0-0
 openshift-enterprise-node-docker-20151130-115732                                   | complete                    | openshift3/node:v<IP_ADDRESS>-0

One nitpick inline. Also, strip_registry_from_image looks like something we sort-of already have in a-r ... I wonder if we'll eventually end up with one project depending on the other (which will have all the shared code)?
Otherwise LGTM:)

Also, strip_registry_from_image looks like something we sort-of already have in a-r

There's already Slavek's comment:
# this duplicates some logic with atomic_reactor.util.ImageName,
# but I don't think it's worth it to depend on AR just for this

Tomas, could you move that comment into strip_registry_from_image() as well ?

I've realized I'm smuggling here also a small change in compose.yml; hope you don't mind
PTAL

LGTM

LGTM, merged.


Include 'FileImportForAnalysis' in "bcl2fastq" workflow definition

In https://github.com/oicr-gsi/data_release/blob/main/dare.py#L181 , you explicitly include bcl2fastq and casava in the "bcl2fastq" workflow definition. I suggest also adding "FileImportForAnalysis" and "FileImport" which is how we inject fastq files when they weren't sequenced at OICR, or we couldn't regenerate them for some reason.

bcl2fastq now explicitly includes FileImportForAnalysis and FileImport worklows. No need to pass these workflows separately with the -w option.
Similarly, fastqs from all fastq-generating workflows (CASAVA, bcl2fastq, FileImportForAnalysis and FileImport) are retrieved when creating the report.


Add a new version check

Having an update check running in the command printing a friendly reminder could maybe help few users and prevent few support cases.

Rather than doing this "manually" I'd rather do this via this package: https://www.npmjs.com/package/update-notifier
This is the same package that npm itself uses so we know it'll be kept up to date based on what NPM does. That and I'd rather have this check in the CLI entry point rather than in the commandline class.

Closing in favor of #458


reference error: hub is not defined

I am unable to link the app to the web hook by following this tutorial or even cloning the repository. there are 2 issues:

if I add the code to the /webhook url, face book gives me a page not found error while adding the web hook.
if I add the code to '/', I get an internal server error. on checking the heroic logs, I get this.
reference error: hub is not defined and it points to the following line in the index.js file.
res.send(hub.query['hub.challenge

'])

There's an error in your code.
res.send(hub.query['hub.challenge'])

should be
res.send(req.query['hub.challenge'])

Ya. Sorry, my mistake.
Thank you.
Regards,
Venkatesh Potluri
Http://www.venkateshpotluri.me
Sent from my iPhone

On 25-May-2016, at 3:44 AM, Jerry Wang<EMAIL_ADDRESS>wrote:
There's an error in your code.
res.send(hub.query['hub.challenge'])
should be
res.send(req.query['hub.challenge'])
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


runserver_plus always exits with error 247 whenever an exception is caught

This issue just appeared a few weeks ago and I haven't been able to track it down or fix it.  I always use runserver_plus for the dev server so that I can use the werkzeug debugger.  However, for some reason, now whenever there's an exception, instead of properly displaying the werkzeug debug page, runserver_plus crashes.
First, the only the HTML of the page is loaded:

Then the server itself crashes:

I am on Mac OS X (latest version).  I have not been able to track down what that exit code 247 means--it only appears when I run it in PyCharm.  The server does also crash if I run it outside of PyCharm, but without telling me the status code.

I had exactly the same problem and I've tracked it down to request.META containing the key werkzeug.server.shutdown which is the callable shutdown_server. During the mail template rendering this callable gets called by Django to render, which subsequently shuts down the server.

@quinox You are a LIFE SAVER.  My entire team thanks you SO much.
We were having this issue in even without using the error mailer (just when trying to render the error page at all) and I'm sure it was due to the same issue.  Adding this custom middleware solved the issue:
## Dev only
class StopRunserverPlusShutdownMiddleware(object):
    def process_request(self, request):
        try:
            del request.META['werkzeug.server.shutdown']
        except KeyError:
            pass

Could people please test the above commit ?
werkzeug.server.shutdown should now be removed by default.

Confirmed: with a72e026 the runserver quits, with cdd9503 it stays alive.

Hope this is solved by now, otherwise please open a new issue. Thanks !


Destroy of NLB forwarding rules fails when attached to K8s node pool

Description
A destroy of a network load balancer and forwarding rules fails if the targets are IPs of a K8s node pool.
Expected behavior
Destroy of forwarding rule and NLB is performed correctly since it's not destroying any K8s managed resources.
Environment
Terraform version:
Terraform v1.1.5
on darwin_amd64
+ provider registry.terraform.io/ionos-cloud/ionoscloud v6.1.3

Configuration Files
How to Reproduce

Create K8s node pool with an attached private network
Create network load balancer, with targets of the forwarding rule being the K8s nodes.
terraform apply

Error and Debug Output
ionoscloud_networkloadbalancer_forwardingrule.nlb_fr_01: Destroying... [id=a6f4be09-eb5f-49fb-b951-ec84f71ecf8e]
╷
│ Error: an error occured while deleting a network loadbalancer forwarding rule a6f4be09-eb5f-49fb-b951-ec84f71ecf8e 403 Forbidden {
│   "httpStatus" : 403,
│   "messages" : [ {
│     "errorCode" : "452",
│     "message" : "Access Denied: Volume 0830053e-42ca-4247-822f-cd9a7e0fc099 is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Nic d11e89d3-45c2-49c0-a85b-91666b49293a is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Server 4df2bb73-53d9-4978-b081-85a44a5f6f96 is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Nic 38c3cf73-ef9b-4de1-9489-83204244ade6 is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Volume f70599e1-ff95-4b89-8b69-b049ab123427 is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Nic 346182be-bf7b-46e4-997f-265c7c650a5b is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Server db3e3336-74b8-450b-b45f-c5c72b98d086 is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Nic 7096ac1c-b95b-4646-bd73-5d3dd9f3af0a is managed by k8s."
│   }, {
│     "errorCode" : "452",
│     "message" : "Access Denied: Lan 3 is managed by k8s."
│   } ]
│ }

Seems to be a Cloud-API issue since I get the same errors when trying to delete the forwarding rules or NLB directly via the API.

Hi Ben! Thanks for the notice, we acknowledged this. Pls open a ticket to the VDC team so they can investigate it.


lowerGCAllocBytes LLVM error running tests

@vchuravy told me to file this issue: seems just running the Enzyme tests with julia master is hitting an assertion error:
julia: /data/vtjnash/julia/usr/include/llvm/Support/Casting.h:269: typename llvm::cast_retty<X, Y*>::ret_type llvm::cast(Y*) [with X = llvm::ConstantInt; Y = llvm::Value
; typename llvm::cast_retty<X, Y*>::ret_type = llvm::ConstantInt*]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.

[587423] signal (6.-6): Aborted
in expression starting at /home/vtjnash/.julia/packages/Enzyme/7ekWs/test/abi.jl:4
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f08677bd728)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
cast<llvm::ConstantInt, llvm::Value> at /data/vtjnash/julia/usr/include/llvm/Support/Casting.h:269 [inlined]
lowerGCAllocBytes at /data/vtjnash/julia/src/llvm-final-gc-lowering.cpp:208                                                                                ```

That seems to be an error in Julia proper, no?

Presumably this (https://github.com/JuliaLang/julia/blob/master/src/llvm-final-gc-lowering.cpp#L195) needs to be turned into a dyn_cast and the other uses when size isn't known to do the requisite fallback.


See owner's profile from repository

When you open a repository from an external link, it should be an option to see the owner's profile of that repository

Done, in version 2.3.0


Bump: 0.6.0-next -> 0.7.0

Proposed changes
This PR bumps FIWARE Big Bang version from 0.6.0-next -> 0.7.0.
Types of changes
What types of changes does your code introduce to the project: Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Update only documentation, not any source code.

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of
them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before
merging your code.

[X] I have read the CONTRIBUTING doc
[ ] I have signed the CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

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

Codecov Report

Merging #104 (86f6c23) into main (41d037c) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #104   +/-   ##
=======================================
  Coverage   99.91%   99.91%
=======================================
  Files           2        2
  Lines        1204     1204
=======================================
  Hits         1203     1203
  Misses          1        1

Impacted Files
Coverage Δ

config.sh
100.00% <100.00%> (ø)

lets-fiware.sh
99.90% <100.00%> (ø)

Continue to review full report at Codecov.

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


Team targeted fcp merge/cancel/postpone

In a conversation, @nikomatsakis said:

(I wish that you could specify the team(s) to rfcbot as part of the command)

Seems reasonable to me; we could reuse the mechanism for @rfcbot poll in the command parser.

Mentioned also in #92, where @nrc says:

Adding style to the rfcbot command feels worse than having a t-style label on everything (but not much)


Feature/144 crsdef tests

Fixes #144.
Any idea on how to reduce copy-pasted code in my commits?
I did split off a reusable function CrossSectionDefinition._validate_friction_specification(), but the check_friction validators in CircleCrsDef, RectangleCrsDef and ZwRiverCrsDef are really copy-pasted, and the unit tests in test_crosssection.py are also really quite similar.
I still have three more subclasses to go...

@arthurvd, with regards to the duplicity I think you could do something like the following:

Define a method that return the root validator:
`def get_friction_validator(
frictionid_attr: str,
frictiontype_attr: str,
frictionvalue_attr: str,
):
  def validate_friction_specification(cls, values):
      frictionid = values.get(frictionid_attr) or ""
      frictiontype = values.get(frictiontype_attr) or ""
      frictionvalue = values.get(frictionvalue_attr) or ""

      if frictionid == "":
          if frictiontype == "" or frictionvalue == "":
              raise ValueError(
                  f"Cross section with id \"{values.get('id', '')}\" is missing any friction specification."
              )
      else:
          if frictiontype != "" or frictionvalue != "":
              raise ValueError(
                  f"Cross section with id \"{values.get('id', '')}\" has duplicate friction specification (both {frictionid_attr} and {frictiontype_attr}/{frictionvalue_attr})."
              )

      return True

  return root_validator(allow_reuse=True)(validate_friction_specification)`

Then use this validator by doing the following in the body of the class that you want to use it in:
_friction_validator = get_friction_validator("frictionid", "frictiontype", "frictionvalue")

@evetion : Please check my intermediate commit 180b765.
My goal is to use elegant and few lines of code to have validators for fields ZwRiverCrsDef.levels, .flowwidths, and .totalwidths.
Unit test test_create_a_zwrivercrsdef_from_scratch() now deliberately contains an error input, but not validation is yet triggered about wrong list length. Only the unit test's assert kicks in, but that is too late.
Since I need other items in the values dict, I was going for the root_validator, but can't get it to work.

_friction_validator = get_friction_validator("frictionid", "frictiontype", "frictionvalue")

@priscavdsluis: it worked! After some minor changes, in d516034. Thanks.


index_parallel with single_dim partitionSpec type generating just one file/segment

Affected Version
Druid Built From Source as of Fri Jun 5, 2020
Description
We are trying to create new druid ingestion specs to pull from s3 directly via index_parallel rather than hadoop. The outputs simply don't seem to be partitioned though.
To make it easy to reproduce, here is a simple config that shows the issue:
{
  "spec": {
    "type": "index_parallel",
    "ioConfig": {
      "type": "index_parallel",
      "inputSource": {
        "type": "http",
        "uris": [
          "https://druid.apache.org/data/wikipedia.json.gz",
          "https://druid.apache.org/data/wikipedia.json.gz"
        ]
      },
      "inputFormat": {
        "type": "json"
      }
    },
    "tuningConfig": {
      "type": "index_parallel",
      "partitionsSpec": {
        "type": "single_dim",
        "partitionDimension": "channel",
        "maxRowsPerSegment": 2000
      },
      "forceGuaranteedRollup": true,
      "maxNumConcurrentSubTasks": 4
    },
    "dataSchema": {
      "dataSource": "wikipedia-test-partitioned-2",
      "granularitySpec": {
        "type": "uniform",
        "segmentGranularity": "DAY",
        "queryGranularity": "HOUR",
        "rollup": true,
        "intervals": [
          "2000-01-01/2030-01-01"
        ]
      },
      "timestampSpec": {
        "column": "timestamp",
        "format": "iso"
      },
      "dimensionsSpec": {
        "dimensions": [
          "channel",
          "cityName",
          "comment",
          "countryIsoCode",
          "countryName",
          "diffUrl",
          "flags",
          "isAnonymous",
          "isMinor",
          "isNew",
          "isRobot",
          "isUnpatrolled",
          "metroCode",
          "namespace",
          "page",
          "regionIsoCode",
          "regionName",
          "user"
        ]
      },
      "metricsSpec": [
        {
          "name": "count",
          "type": "count"
        },
        {
          "name": "sum_added",
          "type": "longSum",
          "fieldName": "added"
        },
        {
          "name": "sum_commentLength",
          "type": "longSum",
          "fieldName": "commentLength"
        },
        {
          "name": "sum_deleted",
          "type": "longSum",
          "fieldName": "deleted"
        },
        {
          "name": "sum_delta",
          "type": "longSum",
          "fieldName": "delta"
        },
        {
          "name": "sum_deltaBucket",
          "type": "longSum",
          "fieldName": "deltaBucket"
        }
      ]
    }
  },
  "type": "index_parallel"
}

Since maxRowsPerSegment is 2,000 and there are 24,000 rows in the dateset, I was expecting many partitions.
I made sure to set two files so that it could be parallelized, since I saw some comments about needing to set maxNumConcurrentSubTasks and figured this might also apply to needing multiple input files.
Of course the data that I have is much larger, coming out to a few GB, but I'm seeing the exact same issue.
I have tried both setting targetRowsPerSegment and maxRowsPerSegment, and neither work.

Hash Partitioning seems to work fine, by the way.

The issue is not fixed. I just tested single_dim and hashed. In both situations, maxRowsPerSegment is ignored. The hashed at least is loading different values into separate segments, in comparison where single_dim loads everything together. Tested on 0.21.1.

I see the same broken behavior in Druid 0.21.1 today.  When I specify targetRowsPerSegment it appears to be completely ignored and i get 1 giant segment containing about 50million rows (my entire dataset for the segment).  If I use the same ingestion spec but instead use hadoop instead of index_parallel I get 1 segment with ~10 partitions all hovering near 5 million rows a piece.


⚠ Bofrost.be has degraded performance

In ea7597d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2947 ms

Resolved: Bofrost.be performance has improved in 260036e.


Request : add earning release date on the quarterly results table?

ZCould you please check if you can add earning release date on the quarterly results table? This will give an idea how many days it has been since the last earning. and potentially show next earning date at appropriate place.
👍 great work on the extension.

There is currently no exact earnings date available in the quarterly data I have, just month and year. You will see Next Earnings date if you check 'Fetch fundamental data' in Options.


RPM repository is not provided for Fedora 31

Website Issues: https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/fedora/
Only verison 29 and 30 is provided, please provide version 31 also, thank you.

Already in progress and awaiting TSC approval, so I'm going to close this as a duplicate for now

Packages are available.

I could connect to the repository now, thank you very much for your quick response.


Add lz4 codec

Hmm there is a bug. Although tests are passing, codec.encode isn't compressing the array... and I can't decode a zarr-python generated chunk.
# create python fixture
import numpy as np
import zarr
z = zarr.open('data.zarr', shape=(100, 100), dtype='i4', compressor=LZ4())
z[:] = np.arange(100 * 100).reshape(100, 100).astype('i4')

// test decompression in node
import fs from 'fs';
import LZ4 from '../dist/lz4.mjs';

const data = fs.readFileSync('data.zarr/0.0');
const bytes = new Uint8Array(data);
const codec = new LZ4();

(async _ => {
  console.log(bytes)
  const decoded = await codec.decode(bytes);
  console.log(decoded);
})();

$ node index.mjs
Uint8Array(40035) [
  128, 56,  1, 0, 25,  0,  1, 0, 35, 240, 63, 15,
    0, 18, 64, 8,  0, 19,  8, 8,  0,  19, 16,  8,
    0, 19, 20, 8,  0, 19, 24, 8,  0,  19, 28,  8,
    0, 19, 32, 8,  0, 19, 34, 8,  0,  19, 36,  8,
    0, 19, 38, 8,  0, 19, 40, 8,  0,  19, 42,  8,
    0, 19, 44, 8,  0, 19, 46, 8,  0,  19, 48,  8,
    0, 19, 49, 8,  0, 19, 50, 8,  0,  19, 51,  8,
    0, 19, 52, 8,  0, 19, 53, 8,  0,  19, 54,  8,
    0, 19, 55, 8,
  ... 39935 more items
]
(node:47294) UnhandledPromiseRejectionWarning: RangeError: Invalid typed array length:<PHONE_NUMBER>
    at new Uint8Array (<anonymous>)
    at Object.e (file:///Users/trevormanz/GitHub/manzt/numcodecs.js/dist/lz4.mjs:37:74)
    at q (file:///Users/trevormanz/GitHub/manzt/numcodecs.js/dist/lz4.mjs:42:108)
    at <anonymous>:wasm-function[59]:0x100a
    at <anonymous>:wasm-function[69]:0x16d9
    at <anonymous>:wasm-function[111]:0x3668
    at w (<anonymous>:wasm-function[121]:0x3a5c)
    at d.dynCall_iii (file:///Users/trevormanz/GitHub/manzt/numcodecs.js/dist/lz4.mjs:47:57)
    at dynCall_iii_1 (eval at Xa (file:///Users/trevormanz/GitHub/manzt/numcodecs.js/dist/lz4.mjs:28:235), <anonymous>:4:12)
    at Object.decompress (eval at Sa (file:///Users/trevormanz/GitHub/manzt/numcodecs.js/dist/lz4.mjs:25:449), <anonymous>:8:10)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:47294) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:47294) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.


Azure ADS SAML2 SSO microsoft auto sign in

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
So I have bookstack setup to use SAML2 Azure AD for SSO and that works all great , but we also have another service that uses the same setup, but with different 365 account. and both of these services auto login using whatever account that was logged in first, causing the other service to not be able to login because that user is now allowed on this service and its a different username to being with, is there a way to get bookstack to continue to auto load the SSO but make the user have to login with username and password on the microsoft login page? like with adding prompt=login to the application  which i tried but I may be doing it wrong  ?
Exact BookStack Version
v23.06.2
Log Content
No response
PHP Version
No response
Hosting Environment
Docker Compose with nginx proxy and bookstack, Azure AD for SAML2

The equivalent in SAML2 might be ForceAuthn.
We don't expose that as an option right now but if you're familiar enough with docker/terminal to access the app in the container you could find and change the first false in the below linked line to true to toggle ForceAuthn on:
https://github.com/BookStackApp/BookStack/blob/295cd0160525125bbd7756d7ad07392ae7201cb8/app/Access/Saml2Service.php#L50

that seems to have done it, thanks for the quick response


Added virtual currency purchasing to Samples

I realize this is a draft PR so I won't review it fully. But I would recommend for things like this that have a big visual/functional component; please provide some screenshots/descriptions of the change in the PR to contextualize the change. As is now, no review will be complete without checking out the branch and building the sample and running it. You could even consider providing a built webgl version of the sample?

I realize this is a draft PR so I won't review it fully. But I would recommend for things like this that have a big visual/functional component; please provide some screenshots/descriptions of the change in the PR to contextualize the change. As is now, no review will be complete without checking out the branch and building the sample and running it. You could even consider providing a built webgl version of the sample?

I love that Idea! Thank you @kirre-bylund

https://lootlocker.itch.io/virtual-currency-sample?password=lootlocker123
Sample


hello

test

this is a comment

ajnother comment

here is another comment

Nice 👍🏼

Nice 👍🏼

Thanks!

Nicely done 👌🏽

Nicely done 👌🏽

Thanks!


Fix Small Typo in Readme

The typo is in "editors". Thanks though

Ah alrighty then. So should it be Graphql editor makes... or GraphQLEditor makes...?


Forms custom data attributes being stripped

I have found that v-on is not allowed as a custom data attribute for forms
"@submit, v-on, V-on:submit", Do not work and are stripped
Also trying a custom template does not work for these data attributes either, I am rendering the form with $MyForm

class TronsForm extends Form
{

    /**
     * @return array
     */
    public function getAttributes() {
        $attrs = array(
            'id' => $this->FormName(),
            'action' => $this->FormAction(),
            'method' => $this->FormMethod(),
            'enctype' => $this->getEncType(),
            'target' => $this->target,
            'class' => $this->extraClass(),
            'me-cry'   =>  $this->FormName(),
            'why-cry-smeagol'   =>  $this->FormName(),
            'why-cry-tron'   =>  $this->FormName(),
            'p-on:submit'   =>  $this->FormName(),
            'p-on'   =>  $this->FormName(),
            'a-on'   =>  $this->FormName(),
            'b-on'   =>  $this->FormName(),
            'c-on'   =>  $this->FormName(),
            'd-on'   =>  $this->FormName(),
            'e-on'   =>  $this->FormName(),
            'f-on'   =>  $this->FormName(),
            'g-on'   =>  $this->FormName(),
            'h-on'   =>  $this->FormName(),
            'i-on'   =>  $this->FormName(),
            'j-on'   =>  $this->FormName(),
            'k-on'   =>  $this->FormName(),
            'l-on'   =>  $this->FormName(),
            'm-on'   =>  $this->FormName(),
            'n-on'   =>  $this->FormName(),
            'o-on'   =>  $this->FormName(),
            'q-on'   =>  $this->FormName(),
            'r-on'   =>  $this->FormName(),
            's-on'   =>  $this->FormName(),
            't-on'   =>  $this->FormName(),
            'u-on'   =>  $this->FormName(),
            'w-on'   =>  $this->FormName(),
            'x-on'   =>  $this->FormName(),
            'y-on'   =>  $this->FormName(),
            'z-on'   =>  $this->FormName(),
            'vindaloo'   =>  $this->FormName(),
            'v-indaloo'   =>  $this->FormName(),
            'v-on'   =>  $this->FormName(),
            'v-off'   =>  $this->FormName(),
            'V-on'   =>  $this->FormName(),
            'v+on'   =>  $this->FormName(),
            'v_on'   =>  $this->FormName(),
            'v-onload:submit'   =>  $this->FormName(),
            'v-onload:submit'   =>  $this->FormName(),
            '@submit'   =>  $this->FormName()

        );

        if($this->validator && $this->validator->getErrors()) {
            if(!isset($attrs['class'])) $attrs['class'] = '';
            $attrs['class'] .= ' validationerror';
        }

        $attrs = array_merge($attrs, $this->attributes);

        return $attrs;
    }

}

Hm, it seems that it works for me.

What's the raw html rendered for your above form?

Just to add to the above, attributes with colons in their name (v-on:submit="Foo") also appear to work for me

Related: https://github.com/silverstripe/silverstripe-framework/issues/5285

This is a strange problem to have reoccurring but yet core team can't replicate.
@dunatron please provide as much info on how to replicate this as possible.
Useful things:

Version of SilverStripe
What your Form template looks like
Data you're trying to use to populate the value

Have you debugged at all to see if it's a rendering issue vs a actually setting the value issue?

After talking with someone I switched to Vue2.js and deleted the project. I have started a similar project with Vue2 . The attributes are not showing in the rendered html but they would appear to still work like they are there. Unsure what this is down to. here is the GitHub link for this project if that helps at all.
https://github.com/dunatron/Rumbles-Beats

public function AddTrackForm()
    {
        $trackTitle = TextField::create('Title', 'Add a track title')
            ->setAttribute('v-model', 'newTrackTitle');
        $trackDescription = TextareaField::create('Description', 'Add track description ')
            ->setAttribute('v-model', 'newTrackDescription')
            ->setAttribute('t-ron', 'this shows')
            ->setAttribute('t-model', 'this shows too');

        $trackFile = UploadField::create('TrackFile', 'Add the file G');

        $fields = new FieldList(
            $trackTitle,
            $trackDescription,
            $trackFile
        );

        $actions = new FieldList(
            FormAction::create('processAddTrack', 'Submit')->setAttribute('v-on:click.prevent', 'addTrack')
        );

        $form = new Form($this, 'AddTrackForm', $fields, $actions);

        return $form;

    }

v-model, and v-on:click.prevent are getting stripped. They still work as if they were still there and not being stripped

I can see v-on:click.prevent. Hmmm... I wonder what I'm doing differently? I just copied the same code you pasted to me.

That is extremely odd. If you like you can pull the project down? But that is essentially all I have done. Other than creating two DataObjects and adding in the Vue.js script into a fresh install of Silverstripe

Actually the only difference is that I have a Vue.js file linked. I would suggest cloning the repo I linked earlier, or put the script I will link below into your project and watch the differences. Hope this gives a little insight.
If you put the vue.js into your project and create a custom vue script like I have, I believe you will see what I am. (just clone my repo)

Perhaps your browser is stripping the tags? Are you using chrome or firefox?

I am using Chrome. I commented out my vue.js scripts and the data attributes came through. activate my my vue.js scrips and they are stripped when using a silverstripe form. in Vue 1 some of them still worked anyway. With vue 2 They all appear to work even though they appear to be stripped

Looking at the DOM in the element inspector is not the same as viewing the generated HTML. Please look at the actual payloads/HTTP responses in the network tab.

You are correct. Thanks for the lightbulb about chrome

@dunatron so the problem is resolved?

Makes sense really, It was only Vue attributes being "stripped"


Add PutBucketAccelerateConfiguration

Required for https://github.com/ansible-collections/amazon.aws/pull/2046

@abraverm Could you also resubmit this one to https://github.com/mattclay/aws-terminator?


[Bug] translate dropdown in footer dissapears when changed to other language and navigated to other pages

Is there an existing issue for this?

[X] I have searched the existing issues

Bug Description?
Translate dropdown in footer dissapears when changed to other language and navigated to other pages,, we need to keep it there so the user's can change according to their wish.
Add Screenshots

What browsers are you seeing the problem on?
No response
Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm a GSSOC contributor
[ ] I want to work on this issue (Optional)
[ ] I'm willing to provide further clarification or assistance if needed.

Hey @Luson045 I can work on this.

@harish08102004  ok

Hey @Luson045 I have raised the PR for the same. Please check and merge.


HZA-38 Pull Request for Updating Preview Map

The config.yml file doesn't have the latest OIDC context changes IAS made for authenticating so we'll need to merge those in.


Compiler warnings

Using platformio:
[env:pico]
platform = raspberrypi
board = pico
framework = arduino

lib_deps =
<EMAIL_ADDRESS>
seeing some warnings while compiling my project:
.pio\libdeps\pico\I2C_EEPROM\I2C_eeprom.cpp: In member function 'bool I2C_eeprom::writeBlockVerify(uint16_t, const uint8_t*, uint16_t)':
.pio\libdeps\pico\I2C_EEPROM\I2C_eeprom.cpp:206:11: warning: variable length array 'data' is used [-Wvla]
  206 |   uint8_t data[length];
      |           ^~~~
.pio\libdeps\pico\I2C_EEPROM\I2C_eeprom.cpp: In member function 'bool I2C_eeprom::setBlockVerify(uint16_t, uint8_t, uint16_t)':
.pio\libdeps\pico\I2C_EEPROM\I2C_eeprom.cpp:216:11: warning: variable length array 'data' is used [-Wvla]
  216 |   uint8_t data[length];
      |           ^~~~
.pio\libdeps\pico\I2C_EEPROM\I2C_eeprom.cpp: In member function 'bool I2C_eeprom::updateBlockVerify(uint16_t, const uint8_t*, uint16_t)':
.pio\libdeps\pico\I2C_EEPROM\I2C_eeprom.cpp:239:11: warning: variable length array 'data' is used [-Wvla]
  239 |   uint8_t data[length];
      |           ^~~~

Analysis
data[length] is used as a buffer to verify / compare.
Possible solution
Maybe a _verifyBlock(addr, data, length) that verifies while reading. Could work per byte, uses less memory and fails faster?

@thijstriemstra
Created a develop branch for testing

added verifyBlock() for readBlockVerify() and writeBlockVerify
that did not fit the setBlockVerify so I solver that with dynamic memory for now.

Can you check if the warnings still exist (or are replaced with others)?

Can you check if the warnings still exist (or are replaced with others)?

I'll give it a try. Might be a good idea to setup a platformio builder and make it fail on warnings like this.

That is a good idea,
Do you know if there is a GitHub workflow that I could use?
Then I could roll it out quite easily for all libraries.

See https://docs.platformio.org/en/latest/integration/ci/github-actions.html
so something like:
name: PlatformIO CI

  on: [push]

  jobs:
    build:
      runs-on: ubuntu-latest
      strategy:
        matrix:
          example: [path/to/test/file.c, examples/file.ino, path/to/test/directory]

      steps:
        - uses: actions/checkout@v4
        - uses: actions/cache@v3
          with:
            path: |
              ~/.cache/pip
              ~/.platformio/.cache
            key: ${{ runner.os }}-pio
        - uses: actions/setup-python@v5
          with:
            python-version: '3.11'
        - name: Install PlatformIO Core
          run: pip install --upgrade platformio

        - name: Build PlatformIO examples
          run: pio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
          env:
            PLATFORMIO_CI_SRC: ${{ matrix.example }}

And to make it fail on warnings add -Werror (see https://docs.platformio.org/en/latest/projectconf/sections/env/options/build/build_flags.html):

Make all warnings into hard errors. With this option, if any source code triggers warnings, the compilation will be aborted.

So:
- name: Run PlatformIO
  run: pio ci path/to/test/file.c --board=<ID_1> --board=<ID_2> --board=<ID_N>
  env:
    PLATFORMIO_BUILD_FLAGS: -D -Werror

(untested)

Created an issue for this in a smaller library to investigate and get it to work

https://github.com/RobTillaart/A1301/issues/7

Cool! The only disadvantage i can see is compiler warnings in third party libraries/frameworks, that'll fail the build as well. Narrowing warnings down to lib only code might also be possible but not sure/tested.

OK, I will try to find out coming days/weeks (quite busy with other projects) how to get the platformIO build running.

Got something building with green results 😎

https://github.com/RobTillaart/A1301/actions/runs/8403081050/job/23013196189

yaml file is not portable or engineered (yet) but there is a starting point.

The -Werror fails upon the Arduino core libs like HWSerial, so that switch will not be used...
Building in release mode
Compiling .pio/build/uno/src/A1301_autoMidPoint.ino.cpp.o
Compiling .pio/build/uno/lib954/A1301/A1301.cpp.o
Archiving .pio/build/uno/libFrameworkArduinoVariant.a
<command-line>:0:1: error: macro names must be identifiers
Compiling .pio/build/uno/FrameworkArduino/CDC.cpp.o
<command-line>:0:1: error: macro names must be identifiers
Indexing .pio/build/uno/libFrameworkArduinoVariant.a
<command-line>:0:1: error: macro names must be identifiers
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o
<command-line>:0:1: error: macro names must be identifiers
*** [.pio/build/uno/src/A1301_autoMidPoint.ino.cpp.o] Error 1
*** [.pio/build/uno/lib954/A1301/A1301.cpp.o] Error 1
*** [.pio/build/uno/FrameworkArduino/CDC.cpp.o] Error 1
*** [.pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o] Error 1
========================== [FAILED] Took 0.[65](https://github.com/RobTillaart/A1301/actions/runs/8403259599/job/23013574092#step:7:66) seconds ==========================

compiling all examples by coding a hard list works

https://github.com/RobTillaart/A1301/actions/runs/8403378082

to be continued later.

Notes to me:
current test code A1301 repo

name: PlatformIO CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    #  added timeout
    timeout-minutes: 20
    strategy:
      matrix:
        os: [ubuntu-latest]
        example: [
                   examples/A1301_autoMidPoint/A1301_autoMidPoint.ino,
                   examples/A1301_demo/A1301_demo.ino,
                   examples/A1301_determineNoise/A1301_determineNoise.ino,
                   examples/A1301_performance/A1301_performance.ino,
                   examples/A1301_plotter/A1301_plotter.ino,
                   examples/A1301_test/A1301_test.ino,
                   examples/A1301_test_saturation/A1301_test_saturation.ino
                  ]

    steps:
      - uses: actions/checkout@v4
      - uses: actions/cache@v3
        with:
          path: |
            ~/.cache/pip
            ~/.platformio/.cache
          key: ${{ runner.os }}-pio
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - name: Install PlatformIO Core
        run: pip install --upgrade platformio
      - name: Download library
        run: |
          wget https://github.com/RobTillaart/A1301/archive/master.zip -O /tmp/master.zip
          unzip /tmp/master.zip -d /tmp
      - name: Build PlatformIO examples
        run: pio ci --lib "." --lib="/tmp/A1301-master" --board=uno
        env:
          PLATFORMIO_CI_SRC: ${{ matrix.example }}
          #  PLATFORMIO_BUILD_FLAGS: -D -Wall  # too much errors in core Arduino.

hardcoded are

examples to compile
repository to checkout
branch to checkout

These should ideally be created / derived from the branch pushed.
Some options to get it done:

maintain manually
python script generating the yml file
python script that runs on VM and do the matrix
do magic in yml file

After reading

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions

I could fix the repository and correct branch (first it was hardcoded master while it had to be a develop branch).
      - name: Download library
        run: |
          wget https://github.com/${{github.repository}}/archive/${{github.ref_name}}.zip -O /tmp/${{github.ref_name}}.zip
          unzip /tmp/${{github.ref_name}}.zip -d /tmp/${{github.actor}}
      - name: Build PlatformIO examples
        run: pio ci --lib "." --lib="/tmp/${{github.repository}}-${{github.ref_name}}" --board=uno
        env:
          PLATFORMIO_CI_SRC: ${{ matrix.example }}
          #  PLATFORMIO_BUILD_FLAGS: -D -Wall  # too much

Only the list of examples files need to be generated,.
Maintaining that list manually is doable as the list does not change often.

Did a test with ESP32DEV instead of UNO, also warnings in the ESP32 specific files.
So I doubt if the Wall option will work
Compiling .pio/build/esp32dev/FrameworkArduino/libb64/cdecode.c.o
/home/runner/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c: In function 'uartSetPins':
/home/runner/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9: warning: 'return' with no value, in function returning non-void
         return;
         ^~~~~~

This bug is already reported at - https://github.com/espressif/arduino-esp32/issues/8641

@thijstriemstra

I'll give it a try. Might be a good idea to setup a platformio builder and make it fail on warnings like this.

Did you have time to try the develop branch?

After switching to:
[env:pico]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = rpipico
framework = arduino
monitor_speed = 115200
; board can use both Arduino cores -- we select Arduino-Pico here
board_build.core = earlephilhower
; Flash Size: 2MB (Sketch: 1.5MB, FS: 0.5MB)
board_build.filesystem_size = 0.5m

the compile errors seem to be gone, and since I'll be using earlephilhower (since platformio raspberrypi is not supported by platformio labs and basically abandoned) I'll leave it up to you to implement your suggested fix or not.

OK, I will merge the develop branch today

adds verifyBlock(memoryAddress, buffer, length)
updates build-CI scripts


[WIP] Add DOS-/Windows-style command line parsing

⚠ Not ready for merging yet!
Description
This change introduces support for DOS-/Windows-style command line parsing. Historically, DOS and Windows have used a different set of rules for parsing their command-line arguments than POSIX-like or UNIX-like platforms like Linux, BSD, macOS, etc. Wikipedia has a decent write-up here.
Detailed Design
There are two commits:

The first commit refactors snake case/camel case conversions to be more flexible. This is necessary in order to get the correct parsing behaviour using the DOS convention.
The second commit actually adds the new parsing convention and plumbs it through.

An open problem is that this is a runtime configuration flag, but there's no good way to make it per-command state (e.g. a field on CommandConfiguration) without tendrils getting eeeeeverywhere. Thoughts/feedback/advice here would be good. For now, you control the parsing convention by setting ParsingConvention.current = .dos before calling Command.main().
Documentation Plan
TODO
Test Plan
Existing tests continue to pass despite the refactor (a good thing.) I've added new tests confirm the basic assumptions of the code (i.e. that it can handle both conventions.) There's always room for more tests.
Source Impact
There are a few symbol names including the phrase withSingleDash which, because DOS and Windows don't use dashes, is misleading. I've introduced replacement API named withShortPrefix instead and deprecated the existing symbols.
Because existing codebases expect POSIX-style parsing, DOS-style parsing is off by default even on Windows.
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary

@swift-ci please test

My overarching question is whether it makes sense to always couple the UNIX interface and the Windows interface, given that there are different idioms across the platforms. That is, if I define @Flag var version = false with names -v and --version, should a Windows version of my executable always have +v and /Version, or should we have a way to specify those names separately? I don't think I know enough about the way command-line tools are usually built to know which is the right approach. Do you have examples of command-line tools that you find idiomatic? @compnerd, do you have any insight you can share here?

I don't think there's a 1:1 correspondence between the POSIX convention and Windows convention here. Windows commands don't consistently use one syntax or another.

Additionally, the short/long dichotomy (e.g. -v / --verbose) is pretty clear on the Unix side, but it doesn't seem so apparently clear on Windows, nor do / and + seem to match up to the short/long terminology very well. Do individual tools support both? What's the difference between them?

Broadly speaking, a leading slash is used where both "--" and "-" might be used on POSIX, while a leading plus is used for a flag that can be set or cleared. But it's not a universal rule. So maybe we could say "if a @Flag has a .short name, use +, otherwise use /."

Perhaps instead of a distinct "parsing convention", we could add new cases to Name/NameSpecification:
enum Name {
  ...
  case slashName(String) // e.g. /Foo, /A, /FooBar
  case plusFlag(Character) // e.g. +a, +A, maybe also supporting -a for negation?
}

And then when deciding which names are valid, we pre-flight it: if any "DOS" names are present and we're on Windows, use them and ignore the POSIX names, otherwise use the POSIX names:
extension NameSpecification {
  var filteredNames: [Name] {
#if os(Windows)
    let windowsNames = self.names.filter(\.isWindowsConvention)
    if !windowsNames.isEmpty {
      return windowsNames
    }
#endif
    return self.names.filter(\.isPOSIXConvention)
  }

Or however that's spelled.
The downside being that each individual argument/flag/option would need to be annotated for Windows, and I can't see many devs bothering.

So, I think that help is one case that is odd (-?, /? and --help are common, -h less so on Windows).  In general, the really interesting thing is that the Windows command line is more of a mess than the Unix-y ones.  Unixy ones have the original unix style arguments (e.g. x, f in tar), GNU style arguments (e.g. -h, --h, --help in GNU tools), and SUN style (e.g. -lto_path in ld64).
Windows on the other hand generally accepts - and / as the argument specifier.  Help is the only one that is generally available as -?.  Most others are less formally defined.  One thing that is generally interesting is that they are also somewhat more lax about case sensitivity (that is everything should be case normalized before matching).
As examples:
link -dump -exports ... is equivalent to link /dump /exports but I tend to use the former (years of practice is difficult to break).
certutil -hashfile ... md5 is equivalent to certutil -HashFile ... MD5
Command line processing is complicated 😭


Section 8.3.2 (four divisions of COBOL) requires editing.

Only IDENTIFICATION DIVISION and PROCEDURE DIVISION have section numbers — <IP_ADDRESS> and <IP_ADDRESS>, respectively.  Section <IP_ADDRESS> has the following seemingly misplaced text:

#### ENVIRONMENT DIVISION
#### DATA DIVISION

This has been resolved.


youtube-dl works under root, but not under www-data

I'm automating some downloads, and I can't get it to download right. When doing it under root, everything is fine, but if not, I get a 403 forbidden error. All I can assume is that youtube-dl is temp downloading the manifests somewhere www-data doesn't have permission? The local directory is 777...
$ ./youtube-dl --verbose -o "fart.%(ext)s"  https://www.youtube.com/watch?v=xWIKQMBBTtk --no-progress
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'-o', u'fart.%(ext)s', u'https://www.youtube.com/watch?v=xWIKQMBBTtk', u'--no-progress']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.3 - Linux-3.2.0-60-virtual-x86_64-with-Ubuntu-12.04-precise
[debug] exe versions: ffmpeg N-39499-g12292f3, ffprobe N-39499-g12292f3
[debug] Proxy map: {}
[youtube] xWIKQMBBTtk: Downloading webpage
[youtube] xWIKQMBBTtk: Downloading video info webpage
[youtube] xWIKQMBBTtk: Extracting video information
[youtube] {22} signature length 40.42, html5 player new
[youtube] {43} signature length 40.42, html5 player new
[youtube] {18} signature length 40.42, html5 player new
[youtube] {5} signature length 40.42, html5 player new
[youtube] {36} signature length 40.42, html5 player new
[youtube] {17} signature length 40.42, html5 player new
[youtube] {137} signature length 40.42, html5 player new
[youtube] {248} signature length 40.42, html5 player new
[youtube] {136} signature length 40.42, html5 player new
[youtube] {247} signature length 40.42, html5 player new
[youtube] {135} signature length 40.42, html5 player new
[youtube] {244} signature length 40.42, html5 player new
[youtube] {134} signature length 40.42, html5 player new
[youtube] {243} signature length 40.42, html5 player new
[youtube] {133} signature length 40.42, html5 player new
[youtube] {242} signature length 40.42, html5 player new
[youtube] {160} signature length 40.42, html5 player new
[youtube] {140} signature length 40.42, html5 player new
[youtube] {171} signature length 40.42, html5 player new
[youtube] xWIKQMBBTtk: Downloading DASH manifest
WARNING: [youtube] xWIKQMBBTtk: Skipping DASH manifest: ExtractorError(u'Could not download DASH manifest: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)
[debug] Invoking downloader on u'https://r3---sn-p5qlsnsk.googlevideo.com/videoplayback?mv=u&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&mt=1439925950&ms=au&requiressl=yes&ip=<IP_ADDRESS>&mn=sn-p5qlsnsk&mm=31&pl=19&id=o-ADNr2r2lZnlSaVdLwqofu7fzhvEEBnkTIo5OGfEkyz3d&gcr=us&fexp=9407992%2C9408513%2C9408710%2C9409069%2C9415052%2C9415365%2C9415435%2C9415485%2C9416023%2C9416126%2C9416337%2C9416520%2C9417707%2C9418153%2C9418702%2C9418958%2C9419042%2C9419311&expire=1439947944&dur=323.120&ipbits=0&sver=3&nh=IgpwcjAxLmlhZDI2KgkxMjcuMC4wLjE&key=yt5&gir=yes&mime=video%2Fmp4&itag=137&clen=69775704&source=youtube&upn=tQryq51x7hA&lmt=1434109100969571&keepalive=yes&signature=83E8CB9DC435ED25553AEBB23B7CD32470508AFE.5776531D55F224CCC4EFCE86C22D4451AC5970AE&ratebypass=yes'
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1579, in process_info
    partial_success = dl(fname, new_info)
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1527, in dl
    return fd.download(name, info)
  File "./youtube-dl/youtube_dl/downloader/common.py", line 342, in download
    return self.real_download(filename, info_dict)
  File "./youtube-dl/youtube_dl/downloader/http.py", line 60, in real_download
    data = self.ydl.urlopen(request)
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1860, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python2.7/urllib2.py", line 406, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden```

Duplicate of #6451. Remove cache with youtube-dl --rm-cache-dir on behalf of www-data.

Thanks!


⚠ Bofrost.de has degraded performance

In 331c551, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1866 ms

Resolved: Bofrost.de performance has improved in 5f86fe4 after 16 minutes.


Egressus melodium - Clockable and free-running LFO and random CV pattern generator

Clockable and free-running LFO and random CV pattern generator.
Six different wave shapes either define the LFO shape or the slew shape between CV pattern steps.
Use it to generate variable length melodies (using a quantizer), LFOs or wierd and wonderful control voltages.

I've added the Draft label to this MR, since it looks like it's still very much in-progress. Please let us know when you're done working on it and it's ready for review and (hopefully) merging!

I know this is also part of a conversation on Discord, but I would like to put in my own argument in favour of not limiting the range within the script and instead letting the user limit it using the config settings:
Say I use this script and I find that the thing I love doing most with it is sending an output into a specific 0-10V input on a module with no internal amplification - there is no way, other than modifying the actual script, to get this full range.
If you choose not to limit it within the script however, you can choose to set 5V as your configured maximum if that's how your system works best, but other users with other demands and other modules (maybe ones that need a wider range than 0-5V to adjust the parameter fully) can still set it higher.
I'm sure your choice of 5V is sound and it will likely apply to the vast majority of users, but the config system is designed so that those edge cases can still be accounted for without people having to have entire forks with every script being individually modified to suit their needs.
It's not a requirement and this can definitely be merged with this internal limit, but just personally I think imposing a limit like this within a script is going to alienate some users for essentially no benefit other than people who want a maximum output of 5V not having to adjust their own config settings

I know this is also part of a conversation on Discord, but I would like to put in my own argument in favour of not limiting the range within the script and instead letting the user limit it using the config settings:
Say I use this script and I find that the thing I love doing most with it is sending an output into a specific 0-10V input on a module with no internal amplification - there is no way, other than modifying the actual script, to get this full range. If you choose not to limit it within the script however, you can choose to set 5V as your configured maximum if that's how your system works best, but other users with other demands and other modules (maybe ones that need a wider range than 0-5V to adjust the parameter fully) can still set it higher.
I'm sure your choice of 5V is sound and it will likely apply to the vast majority of users, but the config system is designed so that those edge cases can still be accounted for without people having to have entire forks with every script being individually modified to suit their needs.
It's not a requirement and this can definitely be merged with this internal limit, but just personally I think imposing a limit like this within a script is going to alienate some users for essentially no benefit other than people who want a maximum output of 5V not having to adjust their own config settings

I think this is a fair counter point of view to my current one. My concerns might just lie in the fact that I have not used the new config mechanism yet. However, I haven't yet found a working example anywhere - do we have this yet? I would be happy to include it in my current PR if there are some easy to follow examples.

Thanks for the confirmation.
I think it would be great if the results of this discussion were made
available for easy access to script writers, I am sure it will save people
time (and perhaps also frustration) in the future
I will set this script to use the global max CV voltage value to comply
with this new direction.
On Fri, 16 Feb 2024, 11:45 Rory Allen, @.***> wrote:

@.**** commented on this pull request.
In software/contrib/egressus_melodiam.py
https://github.com/Allen-Synthesis/EuroPi/pull/337#discussion_r1492349843
:

+SLEW_BUFFER_SIZE_IN_SAMPLES = int(

(MAX_CLOCK_TIME_MS / 1000) * MAX_SAMPLE_RATE * MAX_OUTPUT_DENOMINATOR
+)

+# Keep these in for future debugging during feature expansion
+DEBUG_VERBOSE = 3
+DEBUG_LOTS = 2
+NO_DEBUG = 0
+DEBUG_MODE = NO_DEBUG
+
+# Attempt to avoid knob hysteresis
+KNOB_CHANGE_TOLERANCE = 0.999
+
+# put in a try catch block so it does not need the latest europi firmware version
+try:

MAX_CV_VOLTAGE = min(5, europi_config["max_output_voltage"])

Exactly. The idea is that users don't need to know anything at all about
each script's inner workings, but can trust that if they add values to the
config file, the scripts will respect that and thus their module will work
in their system, with the voltages they want it to output.
—
Reply to this email directly, view it on GitHub
https://github.com/Allen-Synthesis/EuroPi/pull/337#discussion_r1492349843,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKZSUNTYGZHAK23D4JDVNLYT5BGRAVCNFSM6AAAAABDCDNIFKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQOBUHEZDMMZTHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've finally had a chance to load the script onto my EuroPi and test it. Looking good!
I think we're down to just a few mostly cosmetic changes to the docs & code cleanup.  I made a few small adjustments do your docstrings and made all of the curve generation functions use consistently-named variables.

Yes, I did. Sorry I should have mentioned that in my commit comment. It
seems I accidentally pushed a change using my work username at some point
in the past, so I wanted to fix it.
On Sat, 17 Feb 2024, 23:49 Chris I-B, @.***> wrote:

@.**** commented on this pull request.
In software/contrib/README.md
https://github.com/Allen-Synthesis/EuroPi/pull/337#discussion_r1493480695
:

@@ -39,9 +39,15 @@ A semi-random LFO that uses [John Conway's Game Of Life](https://en.wikipedia.or
Record 6 banks of 6 channels of control voltage, and then play them back at a consistent rate set by an external clock.
Recording of CV can be primed so that you can record a movement without missing a beat

-Author: anselln
+Author: gamecat69
[question]
Did you mean to change the author of the CVecorder script? Or was this an
accidental copy & paste from below?
—
Reply to this email directly, view it on GitHub
https://github.com/Allen-Synthesis/EuroPi/pull/337#pullrequestreview-1887048106,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKZSULPFRYKSYJYR7E6GHDYUE6XXAVCNFSM6AAAAABDCDNIFKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQOBXGA2DQMJQGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

I haven't tested yet but I have watched the video and this looks like an incredible and well thought out script, if @chrisib has tested it then I'm happy to merge!


Enhance the Way Classes Are parsed to only include Full Words

This is because the regex used right now matches partial class names, which is not ideal

This was solved in https://github.com/javalin/javalinmithril/commit/ba4bbd009994bad8f69785ba9c57afb56f1518e0


fix: make docker building faster

Fix kivy build speeds, use prebuilt image as base for dev container
First time build: 66 seconds
Rebuild: 17 seconds
Tested on AMD Ryzen 5 1600AF, 16GB DDR4 ram, 600mbps download internet

We should merge changes to other active branches first because there are changes in this branch that are not merged to master et from other branches (submoduling).

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.5 out of 6 committers have signed the CLA.:white_check_mark: jzpan1:white_check_mark: ltcptgeneral:white_check_mark: zpan1:white_check_mark: devksingh4:white_check_mark: AGawde05:x: == seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I'm going to close this without merging because the changes will be merged from submoduling soon.

I'm going to close this without merging because the changes will be merged from submoduling soon.


"Connection: Keep-Alive" is redundant for HTTP/1.1

Right now, "default" HTTP server
user=> (require '[aleph.http :as http])
user=> (http/start-server (fn [_] {:status 200 :body "Pong"}) {:port 3010})

works like this:
$ curl -vvv http://localhost:3010/
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 3010 (#0)
> GET / HTTP/1.1
> Host: localhost:3010
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Aleph/0.4.4
< Connection: Keep-Alive
< Date: Tue, 20 Feb 2018 22:27:49 GMT
< content-length: 4
<
* Connection #0 to host localhost left intact

But due to RFC7230 HTTP/1.1 defaults to the persistent connections and Connection header might be omitted here. So my suggestion is to set it here only when keep-alive? is set to false. Any thoughts, observations or objections?

I vaguely recall that some clients aren’t fully compliant, and require this
to be explicit even for 1.1, but can’t give a concrete example. Let me do a
bit of research and get back to you.
On Tue, Feb 20, 2018 at 5:41 PM Alexey Kachayev<EMAIL_ADDRESS>wrote:

Right now, "default" HTTP server
user=> (require '[aleph.http :as http])
user=> (http/start-server (fn [_] {:status 200 :body "Pong"}) {:port 3010})
works like this:
$ curl -vvv http://localhost:3010/*   Trying ::1...* TCP_NODELAY set* Connected to localhost (::1) port 3010 (#0)> GET / HTTP/1.1> Host: localhost:3010> User-Agent: curl/7.54.0> Accept: />< HTTP/1.1 200 OK< Server: Aleph/0.4.4< Connection: Keep-Alive< Date: Tue, 20 Feb 2018 22:27:49 GMT< content-length: 4<* Connection #0 to host localhost left intact
But due to RFC7230 https://tools.ietf.org/html/rfc7230#section-6.3
HTTP/1.1 defaults to the persistent connections and Connection header
might be omitted here. So my suggestion is to set it here
https://github.com/ztellman/aleph/blob/a377fbb5953c30d473118fc81d99fcf1658cad2c/src/aleph/http/server.clj#L125
only when keep-alive? is set to false. Any thoughts, observations or
objections?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ztellman/aleph/issues/359, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB6P8SR4-EAr9M0tbsr14NA5m0Vd72kks5tW0osgaJpZM4SMyeg
.

@ztellman Sure thing! It's not a critical issue (at least not in a classical meaning of the word "issue"). Just an observation that I wanted to discuss. I will also dig deeper into potential corner cases.