Refactor codebase to modern (Airbnb) standards

Refactor codebase

Refactor codebase to modern (Airbnb) standards (project source code is nearly two years old)

Changes

Support Vim (ignore *.swp files)
Specify Node engine ^12.22.3

Older versions may work but provide little benefit
Version 14 takes a long time to compile Nodegit
Version 16 throws Nodegit compile errors

Add Airbnb to eslint

Add new packages

eslint-config-airbnb-base
eslint-plugin-import

Update packages

bluebird from ^2.1.3 to ^3.7.2
commander from ^2.2.0 to ^8.0.0
lodash from ^2.4.1 to ^4.17.21
nodegit from ^0.26.2 to ^0.27.0
eslint from ^1.5.1 to ^7.30.0
mocha from ^2.3.3 to ^9.0.2
releasor from ^0.1.3 to ^1.2.1

Remove packages

Remove jscs (is now in eslint)

Fix 504 eslint errors

1 brace-style
1 no-else-return
1 no-plusplus
1 no-redeclare
1 object-shorthand
1 padded-blocks
1 prefer-destructuring
2 block-scoped-var
2 no-extra-parens
2 space-after-keywords
2 space-return-throw-case
3 no-undef
4 eqeqeq
5 semi
9 prefer-template
10 operator-linebreak
15 comma-dangle
20 vars-on-top
37 func-names
37 prefer-arrow-callback
37 space-before-function-paren
42 no-var
345 indent

Bump revision from ^1.4.0 to ^1.4.1

Semantics

[ ] This PR will introduce breaking changes (major)
[ ] This PR will introduce new functionality (minor)
[x] This PR will fix or tweak existing functionality (patch)

Categories

[x] Configs
[ ] Bugfixes
[x] Code Refactoring
[x] Dependency Changes
[ ] Documentation
[ ] Features
[ ] File Structure
[ ] Provisioning
[ ] Styles
[ ] Tests

Validation Steps

Run npm run dev (runs npm run test && npm run lint on change)
Confirm no unit tests fail
Confirm no lint errors report

Looks great. Thanks!


🐛 Use providerID when set on metal3machine

What this PR does / why we need it:
Instead of always creating it from BMH UID.
Currently, after pivoting, the BMH UID has changed so the
provider IDs do not match anymore since we always used the BMH UID.
Instead, use the providerID if set in the Metal3Machine already to
avoid this issue.
Which issue(s) this PR fixes :
Fixes #88

/cc @kashifest
/cc @fmuyassarov
/cc @Jaakko-Os

/test-integration

/test-integration

/lgtm


retrieving deps outside of dag.build

Changes
Adding an attribute function to PipelineTaskList to retrieve deps (thanks @bobcatfish for great suggestion), passing this deps to dag.Build function instead of retrieving deps from within that function.
This change was motivated while introducing task result consumption in finally tasks. Finally tasks can consume results from dag tasks but dag tasks are not part of the same graph/section and must not be added as part of deps of any finally tasks. This change allows reconciler (with the knowledge of dag tasks vs finally tasks) to manage deps while building a graph.
/kind misc
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[] Includes docs (if user facing)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
NONE

nice!! one request, @pritidesai could you include some unit tests for the new function?
/approve

/lgtm

nice!! one request, @pritidesai could you include some unit tests for the new function?

yup, creating a separate PR.

nice!! one request, @pritidesai could you include some unit tests for the new function?

yup, creating a separate PR.

Please see PR #3597

hey @vdemeester just a comment that it would have been better to include the unit tests in the same PR (I think including tests and docs in PRs has been a great strategy for us; i want to make sure we don't end up having to play catch up with changes) - maybe it would be been clearer if i'd included a /block when i added the /approve?

a /hold, yes :wink:

hey @vdemeester just a comment that it would have been better to include the unit tests in the same PR (I think including tests and docs in PRs has been a great strategy for us; i want to make sure we don't end up having to play catch up with changes) - maybe it would be been clearer if i'd included a /block when i added the /approve?

I think its my mistake, should have added unit tests in this PR instead of leaving it up to the reviewer. I was thinking the graphs we are testing in dag_test.go are sufficient which is indirectly testing Deps() but its always better to add unit tests for newly added functions. My apologies 🙏

No worries @pritidesai !! :) ❤


Example set up on each js framework?

I find the documentation quite short...
Mainly in implementing on different kind of
Frameworks such as react, Vue, svelte, angular.
I cant find any also in the Web any examples.
So Ive posted here if you can give each an example?
I really would love to test how it performs on svelte with typescript...
Thanks

Agreed. I am in the same situation of wanting to speed up Svelte+TypeScript, and using Rollup as my bundler (which is the default for Svelte). Waiting 5-8 seconds for each round of every tiny change to be visible gets really tiresome after a while...
I did get the

@kdy1 this is also a blocker to adoption, lack of examples. I also don't know if it's even feasible to build an angular app with this.
Is this really only for nodejs projects?

@jpike88 It's a library both for web apps and node js apps. It's close to a compiler for web, because node js implements lots of recent ecmascript spec.

Alright, my next questions would be:

does a minimal repo/example exist for this? I'll try to stab in dark later today but that's always good to have.

what about the bundling or assets (css, images etc)?

does a minimal repo/example exist for this? I'll try to stab in dark later today but that's always good to have.

Not at the moment.

what about the bundling of assets (css, images etc)?

This is in my todo list, but it's not supported yet.

does this handle hot reloading (even just an auto page refresh)? Is that on the roadmap?

Not supported yet but definitely in roadmap for the bundler.

Cool, thanks for your prompt response.
I’ll do my best to fire it up against my angular project this weekend and report issues as I see them.

Here is a demo svelte project with swc, swc is blazing fast :+1:
https://github.com/wuyudi/svelte-swc

Going to close this one, while it'd be good to have some doc enhancement this is very wide topic not clearly actionable. swc's doc provides the usage for the swc/core itself, and for the surrdoing ecosystem tools each may have corresponding config / docs for their own. We'll accept suggestions for the doc if swc/core related docs need some more touch.


MeasureTool: hide measure line when deactivating the tool

Otherwise the line will hang around virtually forever.

just one comment on this. When one measures something, in the current view direction, one cannot necessarily appreciate which surfaces were chosen to anchor the line, and one has to rotate to view it, and for this one has to select the orbit tool again. Deactivating the line forbids that check.
I liked to have this in the past, and would deactivate the line with right click before inishing the measurement "task" by re-selecting the tool. Not practical I admit but possible. So maybe one should have the orbiting possible while measuring ? I know clicking and orbiting is left mouse button, so not sure how to proceed. Maybe with a key-modifier allowing to rotate and pan ?

Good point. I will revert this change for now.


Add Bubble Sort algorithm

Description
Hi! I am willing to add a bubble sorting algorithm to this repo. The concept of bubble sort is to compare each adjacent pair of elements and swap them if they don't follow the order. While bubble sort is not an efficient way of sorting, it is one of the most classical approaches to sorting.
Example:
Input: [2, 9, 4, 1, 0]
Output: [0, 1, 2, 4, 9]
Expected time complexity: O(N^2), where N is the number of elements in the input array.
Expected space complexity: O(1)
Programming language

[ ] C
[ ] C++
[ ] Java
[x] Python

Are you contributing under any open-source program?
I am participating in Hacktoberfest 2021. Hence, I am contributing to this repo as a part of it. 😄

Could you please assign this issue to me. Thanks! 😃

Assigning this to you @das-jishu . Inside algorithms folder inside sorting algorithm folder add a file Bubble_Sort.md and explain everything


Invalid versions in the database file

I'm trying to use mach to provide idf-component-manager, but it fails with an UnsupportedVersionError: Not a valid version: 2.7.*. This is probably related to a line like this, from sdist/b7.json:
  "idf-component-manager": {
    <snip>
    "1.2.0": {
  <snip>
          ":python_version == \"2.7.*\"": [
  <snip>
    },
}

Is there a way to work around this? Maybe the scraper should be fixing invalid x.x.* version constraints?

@jneem did you find a solution to this problem?

No, sorry.


Update this example for 5.9

Bring in OOB improvements and update to mbed-os version 5.9.

CC @adbridge


Problem installing MicrosoftTeams powershell module

PS C:\Users> Install-Module -Name MicrosoftTeams
WARNING: Source Location 'https://www.powershellgallery.com/api/v2/package/MicrosoftTeams/1.0.5' is not valid.
PackageManagement\Install-Package : Package 'MicrosoftTeams' failed to download.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:1772 char:21

...          $null = PackageManagement\Install-Package @PSBoundParameters

                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ResourceUnavailable: (C:\Users\hiiadm...softTeams.nupkg:String) [Install-Package], Excep
tion
FullyQualifiedErrorId : PackageFailedInstallOrDownload,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPac
kage

I was successful at manually downloading the package 'https://www.powershellgallery.com/api/v2/package/MicrosoftTeams/1.0.5' and am working on maually deploying the nuget package but would love to know why the install-module command is failing.
Manually installing the Nuget package worked.

@officedocsbot assign @yogkumgit

Hello @tumtum73 Stephen 👍 how are you? Hope you are doing great.
Here, we are limited to documentation issues, said that, I tried to reproduce to see if we need to impact any documentation and I had no issues installing Microsoft Teams Ps Module and the location in the error you shared is valid.
I would recommend checking for filtering issues or, if you still can not fix it, please open a support case directly from your tenant.
Thank you

@tumtum73 Please run $PSVersionTable and paste the output so we can take an additional look.
I also anticipate that there are issues with your PowerShellGet package provider. Can you follow instructions here to resolve the install-module problem.
Please report back so that we can resolve this issue if this fixes your problem.

FWIW: with the help of Microsoft Support I solved this by updating my .NET framework to the latest version (4.8)
https://dotnet.microsoft.com/download/dotnet-framework

@get-itips  Thank you very much for the contribution and sharing this explanation. @tumtum73
Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Wrong colors with LSP on

Hello
I don't know how to solve this:
Whitout LSP

With LSP

What information do you need ?

Have you uptaded dracula.nvim ?

Yes indeed and it works now ......
Thank you,


IFImage� w and h as long while int is enough ?

AFAIK all the image formats width and height are 32 bit integers so I don't see the interest to define these members as long.

I agree. You can issue a major tag over this :)


Command Line: Add support for command termination chars

Adds attribute line-termination-str to support multi-line commands in CLIs that use command termination chars instead of line continuation chars, e.g. SQL.
Follows on from the merged PR #3326

I'm honestly not a fan of this for multiple reasons.
Firstly, it's brittle. The termination string completely disregards the actual syntax of the command language. This might be okay in the MySQL use-case you presented, but many other languages with a shell-like repl count brackets instead of relying on a statement terminator (in this case, a ;). I can already see people requesting that this feature should support languages like scheme, where we would have to count parenthesis, which requires actually parsing the language.
Side note: While the argument of disregarding syntax also somewhat applied to #3326, most shell-like languages are compatible with a simple data-continuation-str suffix. Non-shell-like languages typically are statement or expression oriented, so the data-continuation-str suffix is irrelevant for them. As such, #3326 provide a nice feature geared toward shell-like languages.
Secondly, it changes the way line are categorized fundamentally. Prior to #3326, each line was their own; a line was either output or a command. #3326 changed that by adding the ability to merge adjacent command lines into one command. This change was conceptually built on top of how Command line categorized lines before.
However, this PR work fundamentally different. With a termination string, we have to assume that all command lines are one block and then we split up that block using the terminator. So now we have 2 principals that work against each other: We have a bottom-up approach that tries to merge adjacent commands and a top-down approach that tries to split commands.
You tried to marry these two approaches, which resulted in the very complex if conditions that are at the heart of this PR.

This was my wordy explanation as to why I think that line-termination-str is the wrong approach.
A simpler approach might be to add something like a contiuation-prefix attribute. All command line starting with this prefix will be assumed to be continuations (this is similar to data-filter-output). This would nicely fit together with #3326 as #3326 would conceptually just add that prefix for. (This is not how #3326 is implemented, but users can think of it working like that.)

@RunDevelopment thanks for looking at the PR.  I hadn't appreciated that there are repls that parse the braces/brackets to determine continuation (is seems Scala is another example of this).  In light of this I agree the approach of this PR is flawed.
The if logic did get a bit complex, partly because I was trying to let it support both continuation and termination at the same time (no doubt somebody would want that at some point) rather than it being one mode or the other with one attribute trumping the other.
Are you proposing removing data-continuation-str and just having continuation-prefix (or maybe call it data-filter-continuation to be consistent with the output filter)? i.e. for bash

export MY_VAR=123
echo "hello"
(out)hello
echo one \
(con)two \
(con)three
(out)one two three
(out)
echo "goodbye"
(out)goodbye

...OR having both data-filter-continuation and data-continuation-str?
I can see how using a continuation prefix gives total control to the content author and means Prism doesn't have to cater for all the different ways languages handle continuation.

having both data-filter-continuation and data-continuation-str?

Yes, that one. I think data-continuation-str is a feature worth keeping. Most people are probably going to use the plugin for shell-like languages, so data-continuation-str will help a lot of users.

Having both attrs works for me.
Are you happy with data-filter-continuation as a name?

Are you happy with data-filter-continuation as a name?

Yes, sounds good.

@RunDevelopment Please see the revised code and docs.

Thank you for contributing @at055612!


Update Guide to Your Equity.md

Make the boldy tax statement bold.
I think that was the intention here?

thanks!


#423 Fixed colour coding issue

worked well, reviewed the code. All fine, some explanation would be good in the code


Pingall and Ping command failure when running ip_loadbalancer component even after upgrading to latest branch (in my case halosaur)

mininet@mininet-vm:~$ cd pox
mininet@mininet-vm:~/pox$ git checkout gar
error: pathspec 'gar' did not match any file(s) known to git
mininet@mininet-vm:~/pox$ cd mininet@mininet-vm:~/pox$ git checkout gar
-bash: cd: too many arguments
mininet@mininet-vm:~/pox$ error: pathspec 'gar' did not match any file(s) known to git
-bash: syntax error near unexpected token `('
mininet@mininet-vm:~/pox$ git fetch
remote: Enumerating objects: 283, done.
remote: Counting objects: 100% (283/283), done.
remote: Compressing objects: 100% (134/134), done.
remote: Total 283 (delta 174), reused 242 (delta 144), pack-reused 0
Receiving objects: 100% (283/283), 184.14 KiB | 1.11 MiB/s, done.
Resolving deltas: 100% (174/174), done.
From https://github.com/noxrepo/pox

[new branch]      halosaur   -> origin/halosaur
mininet@mininet-vm:~/pox$ git checkout halosaur
Branch 'halosaur' set up to track remote branch 'halosaur' from 'origin'.
Switched to a new branch 'halosaur'
mininet@mininet-vm:~/pox$ cd ..
mininet@mininet-vm:~$ sudo ~/pox/pox.py log.level --DEBUG misc.ip_loadbalancer --ip=<IP_ADDRESS> --servers=<IP_ADDRESS>,<IP_ADDRESS>
POX 0.8.0 (halosaur) / Copyright 2011-2022 James McCauley, et al.
DEBUG:core:POX 0.8.0 (halosaur) going up...
DEBUG:core:Running on CPython (3.8.5/Jul 28 2020 12:59:40)
DEBUG:core:Platform is Linux-5.4.0-42-generic-x86_64-with-glibc2.29
ERROR:openflow.of_01:Error 98 while binding <IP_ADDRESS>:6633: Address already in use
ERROR:openflow.of_01: You may have another controller running.
ERROR:openflow.of_01: Use openflow.of_01 --port= to run POX on another port.
INFO:core:POX 0.8.0 (halosaur) is up.
^CINFO:core:Going down...
INFO:core:Down.
mininet@mininet-vm:~$ sudo fuser -k 6633/tcp
6633/tcp:             3240
mininet@mininet-vm:~$ sudo fuser -k 6533/tcp
mininet@mininet-vm:~$ sudo ~/pox/pox.py log.level --DEBUG misc.ip_loadbalancer --ip=<IP_ADDRESS> --servers=<IP_ADDRESS>,<IP_ADDRESS>
POX 0.8.0 (halosaur) / Copyright 2011-2022 James McCauley, et al.
DEBUG:core:POX 0.8.0 (halosaur) going up...
DEBUG:core:Running on CPython (3.8.5/Jul 28 2020 12:59:40)
DEBUG:core:Platform is Linux-5.4.0-42-generic-x86_64-with-glibc2.29
DEBUG:openflow.of_01:Listening on <IP_ADDRESS>:6633
INFO:core:POX 0.8.0 (halosaur) is up.
INFO:openflow.of_01:[00-00-00-00-00-01 2] connected
INFO:iplb:IP Load Balancer Ready.
INFO:iplb:Load Balancing on [00-00-00-00-00-01 2]
INFO:iplb.00-00-00-00-00-01:Server <IP_ADDRESS> up
WARNING:iplb.00-00-00-00-00-01:Server <IP_ADDRESS> down
DEBUG:openflow.of_01:1 connection aborted

mininet@mininet-vm:~$ sudo mn --topo single,6 --controller=remote,port=6633
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 h6
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1) (h6, s1)
*** Configuring hosts
h1 h2 h3 h4 h5 h6
*** Starting controller
c0
*** Starting 1 switches
s1 ...
 I have even uppgraded to latest pox branch in my case halosaur as a result of a similar thread recommendation I saw from on here but still nothing seems to work. Other pox components such as learning switch, hub, etc are working just fine with any topology I create. Also the same case running mininet with the default controller ie sudo mn or sudo mn --topo single, 4 yields the same results with successful pings and pingalls. The only challenge arises when I run the pox load balancer component as well as any modified python load balancer modules I create from this default load balancer. I would really appreciate any help with how to resolve this issue since the pox controller running in the second terminal seems to abort as soon as I run the pingall test from mininet terminal. Thanks in advance.

Hello again everybody,
I've gone ahead and used the extended loadbalancer from this contributor (https://github.com/VamsikrishnaNallabothu/My_POX_SDN_Work/blob/master/ip_loadbalancer.py) which is based on Murphy's origianl pox sdn version and run it the way he recommended but still got the same error of abortion.
mininet@mininet-vm:~$ sudo ~/pox/pox.py log.level --DEBUG misc.ip_loadbalancer2 --ip=<IP_ADDRESS> --servers=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
POX 0.8.0 (halosaur) / Copyright 2011-2022 James McCauley, et al.
DEBUG:core:POX 0.8.0 (halosaur) going up...
DEBUG:core:Running on CPython (3.8.5/Jul 28 2020 12:59:40)
DEBUG:core:Platform is Linux-5.4.0-42-generic-x86_64-with-glibc2.29
DEBUG:openflow.of_01:Listening on <IP_ADDRESS>:6633
INFO:core:POX 0.8.0 (halosaur) is up.
INFO:openflow.of_01:[00-00-00-00-00-01 2] connected
INFO:iplb:IP Load Balancer Ready.
INFO:iplb:Load Balancing on [00-00-00-00-00-01 2]
INFO:iplb.00-00-00-00-00-01:Server <IP_ADDRESS> up
INFO:iplb.00-00-00-00-00-01:Server <IP_ADDRESS> up
INFO:iplb.00-00-00-00-00-01:Server <IP_ADDRESS> up
DEBUG:openflow.of_01:1 connection aborted
mininet@mininet-vm:~$ sudo mn --topo single,6 --controller=remote,port=6633
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 h6
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1) (h6, s1)
*** Configuring hosts
h1 h2 h3 h4 h5 h6
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> X X X X X
h2 -> X X X X X
h3 -> X X X X X
h4 -> X X X X X
h5 -> X X X X X
h6 -> X X X X X
*** Results: 100% dropped (0/30 received)
mininet>
Kindly guys, I really need your input on how to resolve this bug since if I can't ping the hosts resulting in the controller-switch connection aborting, I can't move ahead with the rest of my project and it's kinda urgent by now. Specifically, can someone tell me why the switch disconnects from the remote controller when pingall or individual ping commands are issued for my topologies. Also, how do I specify the argument  in the mininet CLI  topology [--dpid=] commad as the contributor indicated in the code?

Is there anything else I'm supposed to do to get the hosts to ping each other when running the remote controller as a loadbalancer in mininet? What other pox components go hand in hand with the loadbalancer component to implement this effect, if any? Anyone who faced a similar challenge in the past and resolved it? Thanks in advance.

According to the manual, ip_loadbalancer is a TCP load balancer.  I don't think it does anything with pings (since they're not TCP).  It's not clear to me what it should do or why, generally speaking.  A load balancer is usually used to provide a "virtual" server host which sort of combines the actual server hosts.  Why would you ping the actual servers?  In any case, that sounds more like normal forwarding than load balancing, so it doesn't seem like the kind of the ip_loadbalancer -- specifically a demonstration of how one could implement some load balancing functionality -- should do.  It seems like something someone would add to support their specific use case, whatever that may be.  Perhaps just by cleverly combining ip_loadbalancer and one of the various learning switch components, for example.
You say, "if I can't ping the hosts resulting in the controller-switch connection aborting".  Are you sure that not being able to ping the hosts results in the controller-switch connection aborting?  And a loss of communication between the controller and switch?  So if you don't try pinging, you don't get that error message?  And if you run a different component, like a learning switch component, you don't get those connection aborted messages?  I'm sort of skeptical about all this.  For a number of reasons, but perhaps chief among them is that I think the connection aborted message is made when a TCP connection is established to the controller, but no OpenFlow handshake is completed.  But we know OpenFlow handshaking has completed talking with a switch because we see it in the log, e.g., as "INFO:openflow.of_01:[00-00-00-00-00-01 2] connected".  And that message shows a DPID (00-00-00-00-00-01) for the switch.  POX learns about the switch's DPID during the handshaking.  This connection was not aborted.  I suspect the connection aborted message is not related to your problem.
As to how to specify the DPID to the load balancer via the --dpid parameter... it appears that Mininet still sets the DPIDs of the switches such that s1 is DPID 00-00-00-00-00-01.  I think you can probably do --dpid=00-00-00-00-00-01  on ip_loadbalancer's command line.  You can find more about how DPIDs are specified in POX in the manual.  It looks like your test topology only has one switch, so it may not actually be important to set it, though -- as the manual says, it uses the first switch to connect by default.
Good luck.

What makes you think the connection aborted messages reflect an actual problem?
As for why it's called ip_loadbalancer instead of tcp_loadbalancer... perhaps it's a bad name.  Feel free to open an issue specifically about a name change, and it'll get considered.  I imagine the thought is that it's doing the load balancing across several different real destination IP addresses.  Perhaps the fact that it only loadbalanced TCP traffic didn't seem that noteworthy since many load balancers only handle TCP traffic, and putting it in the documentation seemed clear enough.
As for how I'd go about making the loadbalancer pingable... I don't know, because I don't know the purpose in doing so.  One could make ICMP work based purely on the IP address easily enough, but this doesn't seem very useful.  One could make it so that the controller itself responded to pings send to the virtual IP of the load balancer, but this also doesn't seem very useful.  I don't know what is useful here, so I don't know what should be done.

Well, I wouldn't know for sure if it reflects an actual problem or not until I carry out xterms and wireshark traffic captures of the clients pushing requests on the servers via the switch controller loadbalancer communication and how servers respond.  I just don't know how that would be possible if the connection between the switch and the controller was actually aborted though. But from your standpoint, it could be unrelated to the switch since at least the connection was manifested once beforehand. I hope that's the case because it would then mean I could carry on with my experiments. But if the controller is disconnected from the switch on the connection aborted alert then it would mean a breakup of links in the topology technically rendering my load-balancing experiment impossible.  I would try to follow your lead from the 2014 pox-dev page to the other user who had a similar case and see if the experiment works in my case if not I can tell whether or not the connection aborting presents a real problem and then follow up with feedback here.
For ip to tcp loadbalancer name confusion it would be great to consider a name change to avoid confusion, especially among pox/mininet beginners looking to use it the way it is or model their load balancers based on it. So yes I will open an issue to that effect. Thanks for the suggestion.
As for the last idea for tweaking the lb to work with the icmp, I would have to read up some more again on the Pox Wiki as well as on the ICMP/TCP/ARP networking stuff before I could ever understand how each piece fits neatly into the networking jigsaw puzzle. For now, I'll just use the load balancer as it is and see if it works if not then I will return to ask you for an alternative to pox for my particular load balancing scenario between Ryu and ODL or Open Day Light. I'm trying to test for different load-balancing algorithm performances for different SDN topologies that implement centralized and or decentralized controllers in a network using mininet. So for this, I'll need to implement topologies ranging between single switch, and single controller to multiple switches and multiple controllers sort of networks.


Question about mod

Hello, it seems like a the mod will be no longer developed ....
Do you have a plan to release 1.12 ?
Thanks :)

What do you mean? There is version for 1.12.2 already.

Yea, but buggy littlebit.

Azanor has stepped away from developing the mod. Team COFH has taken over development for a 1.14 release. Pretty sure 1.12 will remain a beta indefinitely.


fix #98945 Handle .git/info/exclude

This PR fixes #98945
Git status refreshes:

Add .git/info/exclude to the files triggering a git status refresh
Make the detection of .gitignore file narrower: require the filename
to have an empty stem (hi.gitignore won't trigger a refresh).

Language detection:

.git/info/exclude is now detected as using the (git) "ignore" language

@joaomoreno, any news?

Fixed by https://github.com/microsoft/vscode/pull/106270
Sorry about that!


Update request: tutanota-desktop 235.240712.0 → 240.240731.0

Package name: tutanota-desktop
Latest released version: 240.240731.0

Current version on the unstable channel: 235.240712.0
Current version on the stable/release channel: 229.240514.1

[x] Checked the nixpkgs pull requests

Notify maintainers
@WolfangAukang
Note for maintainers: Please tag this issue in your PR.

PR to update: #349778


"scrcpy does not exist or is not a regular file"

I'm trying to use the 32-bit Windows version of scrcpy on a friend, but for some reason it says the file is missing but is there
"
C:\Users-------\Downloads\scrcpy-win32-v1.12.1>scrcpy
INFO: scrcpy 1.12.1 https://github.com/Genymobile/scrcpy
stat: No such file or directory
ERROR: 'C:\Users------\Downloads\scrcpy-win32-v1.12.1\scrcpy-server' does not e
xist or is not a regular file
Press any key to continue...
"

See #1002


Optional metadata input as csv table

Allow users to provide a metadata file as a csv table. This will require a "subjectID" column to work with the rest of it, because we use this column to link

Resolved by #181


Mahogany homes - option

🚀 Feature Proposal
Would it be possible to add an option to mahogany homes start to choose expert, adept etc?
It would make a big difference for ironmen, using mahog homes is many hundreds of mil cheaper than normal con, and adept vs expert is about 400-500m cheaper
would really appreciate it

It's been coded before but never made it in
I'm sure someone could find it and update :)

PR #3148 implemented this but was never merged. Would be a really nice one to see IMO


Abbreviation Sorting by Enabled/Disabled Doesn't Work

When sorting the abbreviations, clicking the "Enabled" column toggles its display for the different statuses, but does not sort the rows.

Hi, thanks for posting an issue! Always appreciate feedback.
I'm in the middle of a big under-the-hood rework, and I think the issue you described was inadvertently fixed by design changes. Do you mind taking a look at https://ckhordiasma.github.io/pdf-bullets/ and let me know what you think about the changes to the abbreviations table? I'm worried that the interface for the table isn't user-friendly enough.
You might have to refresh the page a few times if you have visited that page before, the table should look like:
I'll leave this issue open until the rework actually gets merged into this repo's master branch.


Update example.py

Hello,
I did a small update on the example.py that could be useful to initiate users to use parameters and resources.
I added a line to get the user's name.

This looks better haha

The failing tests aren't from this PR. I'll look into it...


[SPARK-16123] Avoid NegativeArraySizeException while reserving additional capacity in VectorizedColumnReader

What changes were proposed in this pull request?
This patch fixes an overflow bug in vectorized parquet reader where both off-heap and on-heap variants of ColumnVector.reserve() can unfortunately overflow while reserving additional capacity during reads.
How was this patch tested?
Manual Tests

cc @hvanhovell

Test build #60992 has started for PR 13832 at commit a5ec358.

Test build #60992 has finished for PR 13832 at commit a5ec358.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60992/
Test PASSed.

Test build #61123 has started for PR 13832 at commit fb9d7fb.

Test build #61124 has started for PR 13832 at commit e28cb64.

Test build #61123 has finished for PR 13832 at commit fb9d7fb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61123/
Test PASSed.

Merged build finished. Test PASSed.

Test build #61124 has finished for PR 13832 at commit e28cb64.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61124/
Test PASSed.

Test build #61138 has started for PR 13832 at commit e2a1e1e.

LGTM - pending jenkins.

Test build #61138 has finished for PR 13832 at commit e2a1e1e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61138/
Test PASSed.

Merged build finished. Test PASSed.

Merging to master/2.0. Thanks!


Migration engine error

when i run the command: npx prisma migrate dev  --name init,
Show the below error
Error: Migration engine exited. Error: Command failed with exit code<PHONE_NUMBER><EMAIL_ADDRESS>cli --datasource <REDACTED> can-connect-to-database

Hey, Please can you send up your prisma schema and the version you are using. Thanks

The related issue https://github.com/prisma/prisma/issues/9940 actually includes the resolution to this: Your Windows is missing the Microsoft Visual C++ 2015 Redistributable. Install that, and the problem should be gone. We need a better error message here.

The related issue #9940 actually includes the resolution to this: Your Windows is missing the Microsoft Visual C++ 2015 Redistributable. Install that, and the problem should be gone. We need a better error message here.

Thanks a lot! That worked for me.
Here's the download link.
https://tinyurl.com/2e26jb57

Even after I installed Microsoft Visual C++ 2015 Redistributable, the error still persists


bug hello.cpp Name

当使用eoscpp -n hello对hello.cpp进行创建时，语句 eosio::print( "Hello World: ", eosio::Name(code), "->", eosio::Name(action), "\n" )与Namespace不符，应将其改为 eosio::print( "Hello World: ", eosio::name(code), "->", eosio::name(action), "\n" );方能正确编译

Please, write in English)

In  hello.cpp created by " eoscpp -n hello" , word 'Name' in sentence  eosio::print( "Hello World: ", eosio::Name(code), "->", eosio::Name(action), "\n" ) is incompatible with the namespace. It should be changed to eosio::print( "Hello World: ", eosio::name(code), "->", eosio::name(action), "\n" );

There did not change the name of the function eosio::Name in command eoscpp -n hello?

Maybe, I remenmbered when I checked the type.hpp it said that the function was 'name' , but in hello.cpp it was 'Name'.

yes, it's error in smart-contract.

ok

I reported an error)


fix: fail to delete service relationships

Problem:
sqljson.ValueContains marshal args and escape strings
e.q. '["1", "2"]' => '"[\"1\",\"2\"]"'
Solution:
Convert string args to object.ID object
Related Issue:
https://github.com/seal-io/walrus/issues/1083

@rainfd  can you please give an SQL example here? FYI, use the Debug of model clientset.

Postgresql raw log. The first SQL is the original, the second is after modification. @thxCode
2023-08-28 10:01:04.726 UTC [1473] LOG:  execute <unnamed>: DELETE FROM "service_relationships" WHERE "path" @> $1
2023-08-28 10:01:04.726 UTC [1473] DETAIL:  parameters: $1 = '"[\"475944163192353308\",\"475944220671095324\"]"'

2023-08-28 10:01:33.704 UTC [1473] LOG:  execute <unnamed>: DELETE FROM "service_relationships" WHERE "path" = $1
2023-08-28 10:01:33.704 UTC [1473] DETAIL:  parameters: $1 = '["475944163192353308", "475944220671095324"]'

PostgreSQL raw log.
2023-08-28 10:01:04.726 UTC [1473] LOG:  execute <unnamed>: DELETE FROM "service_relationships" WHERE "path" @> $1
2023-08-28 10:01:04.726 UTC [1473] DETAIL:  parameters: $1 = '"[\"475944163192353308\",\"475944220671095324\"]"'

2023-08-28 10:01:33.704 UTC [1473] LOG:  execute <unnamed>: DELETE FROM "service_relationships" WHERE "path" @> $1
2023-08-28 10:01:33.704 UTC [1473] DETAIL:  parameters: $1 = '["475944163192353308", "475944220671095324"]'

The first one is original, the second one is after modification. @thxCode


Please change from lowercase to uppercase Name error typo help duplicate cant make new

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

I'm trying to change from Moneyblock to MoneyBlock, in the json it shows as MoneyBlock but it wont push 1 edit instead its pushing all the lines together

On a side note on Solscan its showing up as Moneyblock and not MoneyBlock.. Please help fix this <3

Will try again


(Deno doc) jsDoc is not being included for declared functions

Deno doc is not including jsDoc in it's output for declared functions.  This is most obvious with the lack of any jsdoc showing for the functions at the top of https://doc.deno.land/https/github.com/denoland/deno/releases/latest/download/lib.deno.d.ts.
To take one specific example, in lib.deno.shared_global.ts, setTimeout is declared as:
/** Sets a timer which executes a function once after the timer expires. Returns
 * an id which may be used to cancel the timeout.
 *
 *     setTimeout(() => { console.log('hello'); }, 500);
 */
declare function setTimeout(...)

but the output of deno doc --json cli/js/lib.deno.ns.d.ts  has null jsDoc:
  {
    "kind": "function",
    "name": "setTimeout",
    "location": {
      "filename": "file:///home/chris/dev/deno/cli/js/lib.deno.shared_globals.d.ts",
      "line": 182,
      "col": 8
    },
    "jsDoc": null,
    ...

Closing as this has since been fixed


Connect to HA using HTTP

There is a way to connect to HA with HTTP using the Garmin API.
I found it here.
If you're using Pi-Hole or other DNS server in your local network, you can set the domain garmincdn.com to the IP of your HA instance, this domain (along with some other domains) is whitelisted for communicating using HTTP.
I tested it using my Venu 2, and it worked :)
This solution is great for those who connect to their HA instance via VPN from the internet and don't want to create a public certificate for their server.

I tested it using my Venu 2, and it worked

I've not had the chance to digest in full. It sounds like this issue is not about a code change to the watch app, but about a very specific infrastructure change to one's Raspberry Pi hosting Home Assistant. As such is actually out of scope of this open source project! Is that right?
The only effect I can see from this issue is perhaps some additional documentation added to https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/TroubleShooting.md, or a specialist page in its own right?
If you would like to author that markdown file and contribute it to the project we can see about including it in the documentation. There are of course others who have asked about this problem and would be pleased to see a solution. As I have not (and don't have the inclination to) tried this, I'm not really in a position to write that up as a specific Garmin Home Assistant solution.
Are you interested in contributing this? Or it probably won't happen, we'll just link people to that article and close the issue!
Thank you.

I posted this because I think that for many users, the hardest step to setup this garmin app is to get HA working with HTTPS (without self singed certificate).
This is not an issue with the app, just a suggestion for a workaround that would help many newcomers.
This workaround is not specific to raspberry pi but to all self hosted instances of HA.
I wanted to post this workaround as an issue before adding a dedicated page to the documentation that explains how to use it.

I look forward to you pull request. Thank you!


Nginx-ingress in only one AZ

I'm running a k8s cluster v1.6.2 and installed nginx-ingress with helm. This is the configuration file I'm using:
---
## nginx configuration
## Ref: https://github.com/kubernetes/ingress/blob/master/controllers/nginx/configuration.md
##
controller:
  name: controller
  image:
    repository: gcr.io/google_containers/nginx-ingress-controller
    tag: "0.9.0-beta.5"
    pullPolicy: IfNotPresent

  config:
    proxy-body-size: 5M

  ## Required only if defaultBackend.enabled = false
  ## Must be <namespace>/<service_name>
  ##
  defaultBackendService: ""

  ## Limit the scope of the controller
  ##
  scope:
    enabled: false
    namespace: "" # defaults to .Release.Namespace

  extraArgs: {}

  ## DaemonSet or Deployment
  ##
  kind: Deployment

  ## Node labels for controller pod assignment
  ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}

  ## Annotations to be added to controller pods
  ##
  podAnnotations: {}

  replicaCount: 1

  resources: {}
    # limits:
    #   cpu: 100m
    #   memory: 64Mi
    # requests:
    #   cpu: 100m
    #   memory: 64Mi

  service:
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "<xxxxxx>"
      service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
      service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
    clusterIP: ""

    ## List of IP addresses at which the controller services are available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##
    externalIPs: []

    loadBalancerIP: ""
    loadBalancerSourceRanges: []

    targetPorts:
      http: 80
      https: 443

    type: LoadBalancer

    # type: NodePort
    # nodePorts:
    #   http: 32080
    #   https: 32443
    nodePorts:
      http: ""
      https: ""

  stats:
    enabled: false

    service:
      annotations: {}
      clusterIP: ""

      ## List of IP addresses at which the stats service is available
      ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
      ##
      externalIPs: []

      loadBalancerIP: ""
      loadBalancerSourceRanges: []
      servicePort: 18080
      type: ClusterIP

## Default 404 backend
##
defaultBackend:

  ## If false, controller.defaultBackendService must be provided
  ##
  enabled: true

  name: default-backend
  image:
    repository: gcr.io/google_containers/defaultbackend
    tag: "1.2"
    pullPolicy: IfNotPresent

  extraArgs: {}

  ## Node labels for default backend pod assignment
  ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  ##
  nodeSelector: {}

  ## Annotations to be added to default backend pods
  ##
  podAnnotations: {}

  replicaCount: 1

  resources: {}
    # limits:
    #   cpu: 10m
    #   memory: 20Mi
    # requests:
    #   cpu: 10m
    #   memory: 20Mi

  service:
    annotations: {}
    clusterIP: ""

    ## List of IP addresses at which the default backend service is available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##
    externalIPs: []

    loadBalancerIP: ""
    loadBalancerSourceRanges: []
    servicePort: 80
    type: ClusterIP

## If controller.stats.enabled = true, Prometheus metrics will be exported
## Ref: https://github.com/hnlq715/nginx-vts-exporter
##
statsExporter:
  name: stats-exporter
  image:
    repository: quay.io/cy-play/vts-nginx-exporter
    tag: v0.0.3
    pullPolicy: IfNotPresent

  endpoint: /metrics
  extraArgs: {}
  metricsNamespace: nginx
  statusPage: http://localhost:18080/nginx_status/format/json

  resources: {}
    # limits:
    #   cpu: 10m
    #   memory: 20Mi
    # requests:
    #   cpu: 10m
    #   memory: 20Mi

  service:
    annotations: {}
    clusterIP: ""

    ## List of IP addresses at which the stats-exporter service is available
    ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ##
    externalIPs: []

    loadBalancerIP: ""
    loadBalancerSourceRanges: []
    servicePort: 9913
    type: ClusterIP

# TCP service key:value pairs
# Ref: https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/tcp
##
tcp: {}
  # 8080: "default/example-tcp-svc:9000"

# UDP service key:value pairs
# Ref: https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/udp
##
udp: {}
  # 53: "kube-system/kube-dns:53"

The ELB in AWS is provisioned in only one AZ (availaiblity zone). it's supposed to be deployed in Multi AZ. isn't it?

I am also facing this issue. is there any way to fix it.


chore: bump versions, including rust itself

I think we can bump Rust to 1.75.0 whihc is required for latest resolvo anyways (ie. with the next rattler & rip versions).


Information Request for Totempedia

Is it possible to add into the book that the player needs to Shift-Click to begin ceremony. I've been watching and getting bug reports from multiple users telling me they could not get a ceremony started because they weren't aware of shift-clicking.
I completely understand that players should exhaust all their options but it's something that might not occur to every player and makes the mod seem less accessible. I would hate for someone to get the point of a ceremony and give up on the mod because they were not quite sure of the keybindings :)
Thank you!
Darkosto

It is already mentioned in the "Performing Ceremonies" entry:

To select and initiate your Ceremony, you must play up to 4 Instruments in their selector mode to a Totem Pole, every ceremony has a unique sequence of Instruments. To play an Instrument in selector mode, just play it normally while sneaking.

Additionally it is mentioned in the "Flute", "Rattle" etc. entries as well.
Some entries are a bit outdated or not very clear and could use a rewrite, but I don't know how I could make it clearer.

To be honest, highlighting the word Sneaking could solve this issue.

I can at least do that.

I appreciate it, thank you.

Another idea to make it more intuitive and improve the QoL would be displaying the selecting instruments in the HUD. I will get to that at some point.

That's a great idea, I think that should get users all the information they need :)

A basic version of the selector HUD has been implemented.
If you or anyone has concrete suggestions on changes of wording in the Totempedia, please let me know.


ci(test): Remove giropay from trustpay collection

Type of Change

[ ] Bugfix
[ ] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[x] CI/CD

Description
Removed the giropay testcases from the trustpay postman collection as the payment method is deprectaed from truspay connector
Motivation and Context
As the testcases are failing in the jenkins
How did you test it?
No testing is required as it removed only one scenario
Checklist

[ ] I formatted the code cargo +nightly fmt --all
[ ] I addressed lints thrown by cargo clippy
[ ] I reviewed the submitted code
[ ] I added unit tests for my changes where possible

Can you run the trustpay postman tests ?


Are the sources available?

Are the sources published?  I have two problems with the binaries published.
Mi rc2014 (fpga based) has the AY and the keyboard PPI on the MSX ports. (A0-A1 for AY and A9-AB for PPI)
What assembler yo you use?

Yes, in that a lot of this comes from J B Langston's repository for TMS9918A. The reason that I provided the built examples for the classic and CPM configurations is that I had a lot of trouble building those examples for various reasons and having solved some of the problems I wanted to save others the same pain.
For Mazogs and 3DMM I used Paul Farrow's disassembly. For anything like that where you want keyboard input then it's a bit more than a port change because you'll have to add PPI keyboard scanning rather than reading the serial module.
If there's anything specific that is just a port change, just let me know and I'll provide a build. I use zasm which isn't the most popular assembler. I also have had problems with open-source and tend not to do that.
Your RC2014 sounds more like MSX. Are you using the MSX bios / memory slot switching? ie can you run software built for MSX?

SC2VIEW.COM gives me TMS9918A not found, aborting!, I assume because it's not on the expected port(s). My RC2014 is configured like a ColecoVision, so the TMS is on B0-BF and the AY is on 50-52 (in normal/MSX/CV addressing mode). Any chance of making your binaries support that, and/or providing sources?

Hello Aaron
You're right, it's not finding the TMS on any of the ports it's probing. The trouble is that it's not probing Bx.
When I had my first TMS module it took me months to get it working and one of the problems was in the software - J B Langston's library includes BE in the ports list, in fact that's first. On a cpm machine (which is my preference) that port is used for rom/ram paging and so the probe crashes the machine. So my built binaries don't include that one in the ports list and I encourage the use of MSX ports $98/99 - then my .com binaries will run on both cpm and romwbw machines.
I've attached my source file for sc2view (for you only, it's not intended for publication or distribution, I'd tidy it up a bit if I was going to make it available.)
The part to display the image is very simple. Most of it is parsing the passed filename and loading the image.
You'll see that it includes tms.asm and utility.asm. If you use those files from J B Langston's repository, the resulting program should probe port $be first and find your tms.
If you have trouble building that, let me know and I'll build a version that includes that port in the ports list.
Shiela

On 29 May 2024, at 23:34, Aaron Mavrinac @.***> wrote:
SC2VIEW.COM gives me TMS9918A not found, aborting!, I assume because it's not on the expected port(s). My RC2014 is configured like a ColecoVision, so the TMS is on B0-BF and the AY is on 50-52 (in normal/MSX/CV addressing mode). Any chance of making your binaries support that, and/or providing sources?
—
Reply to this email directly, view it on GitHub https://github.com/shieladixon/RC2014-TMS9918A/issues/1#issuecomment-2138365974, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYNM73Q2OIYWWIBOLUNEKDZEZJVVAVCNFSM6AAAAABDBXPZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYGM3DKOJXGQ.
You are receiving this because you commented.

￼

Thanks for the quick reply @shieladixon - unfortunately, it looks like the attachment didn't come through in the GitHub comment or via email. You could send it directly via email (my last name at gmail dot com), for which I'd be grateful!
Regarding the port conflict issue, I'm also using stock CP/M with the standard Pageable ROM module, but I am interested in running unmodified ColecoVision binaries, so here's my hacky workaround in case you're interested:
https://github.com/jblang/TMS9918A/issues/12

@shieladixon I have a "YM2149F/AY-3-8190 Sound card for the RC2014 computer - Revision 6.1" with AY-3-8190, and jumpers set to MSX, does nyan.com should have give me some tunes?
Or any of your other .com files, I'm only getting tunes when using: https://github.com/feilipu/RC2014-YM2149/tree/master with REV5 set to 0.

The nyan demo (and the other demos built for RC2014) will give sound if you're using a sound card on 'RC2014' ports, D8 and D0.  For this you'll need a R5 card and see the documentation for the jumper settings.
It's unfortunate that the R5 card can be jumpered to RC2014 ports, but not MSX, and the R6 card vice versa.
For this reason I've been meaning to add sound card port detection to those programs and rebuild them. Or build alternative versions which are configured to use the sound card on MSX ports.
If you're feeling brave you could reconfigure and rebuild the nyan demo from the source (JBL's repository) but that's no easy task, which is why I have a repository of binaries already built for RC2014  cpm and classic.
Shiela

On 27 Jun 2024, at 21:08, Pax-NL @.***> wrote:
@shieladixon https://github.com/shieladixon I have a "YM2149F/AY-3-8190 Sound card for the RC2014 computer - Revision 6.1" with AY-3-8190, and jumpers set to MSX, does nyan.com should have give me some tunes?
Or any of your other .com files, I'm only getting tunes when using: https://github.com/feilipu/RC2014-YM2149/tree/master with REV5 set to 0.
—
Reply to this email directly, view it on GitHub https://github.com/shieladixon/RC2014-TMS9918A/issues/1#issuecomment-2195586185, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYNM7YK52LUUVA53CZJ33DZJRWNDAVCNFSM6AAAAABDBXPZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJVGU4DMMJYGU.
You are receiving this because you were mentioned.

Excellent!
The ports are defined in pt3.asm
There's a definition at the top for system, and I notice that the 'WBW' option defines ports as $68 and $60.
However, rather than change those port definitions, I notice that there's an MSX option. I didn't try that but that might be the best option.
I seem to remember that the demo uses (in nyan.asm) a timer which is present in ROMWBW but not cpm/Pro. I had to do a bit of rewriting there so it polled the TMS status register instead.
Good luck.

On 27 Jun 2024, at 22:44, Pax-NL @.***> wrote:
Ah that explains my issues. Thank you for your reply..
I go for the brave option :-)
—
Reply to this email directly, view it on GitHub https://github.com/shieladixon/RC2014-TMS9918A/issues/1#issuecomment-2195710998, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYNM74AAGYMJL2A7IYYCBTZJSBVPAVCNFSM6AAAAABDBXPZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJVG4YTAOJZHA.
You are receiving this because you were mentioned.

I’m new to RC2014 and Z80 programming and need some help starting.
I read you do not like to publish your sources, and for good reasons.
Therefore I created an email adress: fora.virtueel0p @ icloud.com (remove the spaces) and I’m hoping you could send me the code where you changed the Timer to read TMS status register, which a very elegant solution I may add.
If not that is ok too. I’m reading some threads on Google Groups, hopefully the is something useful there.


add castOrFail function.

Workaround for #100
I think the new castOrFail should be include to library.
And I'm concerned NSURL subclass is always fail. (but I think NSURL must be final class.)

@tarunon Could you rebase this to resolve the conflict and to run the tests with #102?

Thank you @tarunon, this seems a reasonable workaround at the moment. :ok_hand:
Merging this :ship:


Chapter 7-1

The submit form shouldn't have the 'page' class as it put the form in absolute position and put it on top of the header.

Turned out it's the same with post pages (didn't notice before :/ )

I'm not 100% sure why we're using position:absolute here, it might have to do with how we animate elements. In any case it doesn't really impact the layout so I'll probably leave it as it is.


Support Swift3

Depedencies that have swift 3 versions:
Alamofire
https://github.com/Alamofire/Alamofire/tree/swift3
Gloss
https://github.com/hkellaway/Gloss/tree/swift_3.0
Log
https://github.com/delba/Log/tree/swift-3.0
CocoaAsyncSocket
doesn't matter, it's obj-c
Your Cartfile will look like this (as of today, obvs those sha's will move):
github "Alamofire/Alamofire" "a94323c"
github "hkellaway/Gloss" "bfb1380"
github "delba/Log" "331075d"
github "robbiehanson/CocoaAsyncSocket" ~> 7.4.3

I've submitted PRs to
Log

https://github.com/delba/Log/pull/7 (merged)
https://github.com/delba/Log/pull/6 (merged)
Gloss
https://github.com/hkellaway/Gloss/pull/200 (merged)

Those should now build under swift 3

👍

If you want to make a new branch called swift3 or  whatever variation you might prefer for the name:
Just make it from your master's HEAD then I can submit this branch as a PR. All the tests pass for iOS and macOS
https://github.com/aventurella/SwiftyHue/tree/swift3
My only outstanding question is if I did this part right:
https://github.com/aventurella/SwiftyHue/commit/b69b9cf786c72cd05a5c505f2da1aca6a3c1561f
They took out CGColor.components, helpful I know. (http://stackoverflow.com/questions/38769322/xcode-8-beta-4-cgcolor-components-unavailable)
My question is weather or not my redOrBlackComponent is the right idea. I think it is, AKA if numberOfComponents is 2 then what would be the red component is the black component in monochrome. If you know, and I got it wrong, lemme know and I will correct it.

I had a quick look now. It looks ok for me. I created the new branch. Name is swift3.


Error connecting to Trade Network

In Chapter 4, at "Creating and connecting to a Fabric environment in VS Code",when I try to connect to Trade Network, the following message appears:
[ERROR] Error connecting to Environment Trade Network : Error querying channels: Could not get all channel names,received 2 UNKOWN :error validating proposal: access denied : channel [] create org [CarrierOrgMSP ]

There's too little information here to diagnose the error. Usually "access denied" messages appear when you are using invalid wallet identities (i.e., public keys that aren't certified by the CAs (MSPs) of the organizations that are bootstrapped into your network channel.
My suggestion would be to tear down the network, then make sure there are no active docker containers (run docker ps -a to check) or docker volumes (run docker volume ls to check), and then restart from scratch: generate a fresh copy of the Trade Network channel and crypto artifacts and then return to VSCode to connect to the environment, making sure you run all the steps in the right sequence as described in the chapter.

Closing for lack of activity.


Update Spark dependency version to 2.4.4

Coverage remained the same at ?% when pulling 9ca74f152d08a479904747b8c0a39305dfe5dc8e on heuermh:spark-2.4.4 into c2cce29a089cd03a7fb204c5e81e6daad5cf0f42 on bigdatagenomics:master.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/bdg-utils-prb/153/
Test PASSed.


Exclude for middlewares

Welcome!

[x] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
Hey \0
I would like to be able to exclude global middleware from individual services
Example traefik.yml file:
Global Middlewares in traefik.yml file

      middlewares:
        - geoblock@file
        - gzip@file
        - secureHeaders@file
        - log4shell@file

Example individual services:
Middlewares in dynamic.yml file

http:
  routers:
    test:
      rule: "Host(`exclude.test.com`)"
      middlewares:
        - individual_middlewares and global_middlewares
      exclude_middlewares:
        - log4shell <--------- exclude from this services
      entryPoints:
        - "https"
      service: test

Hello @ScreNN,
Thanks for your interest in Traefik!
This issue seems to be a duplicate proposal issue.
We are closing it accordingly, but feel free to ask to re-open it.
Duplicate of #8654


How do I use this code?

This looks very interesting. Is there a notebook with examples on how to use it?

Thanks for your interest!
Sorry for replying so late, somehow I did not have notifications turned on for this repository.
In case you are still interested, there is documentation included with this code. If you install a paclet from the releases page, you can just open documentation center, and search InflationSimulator, which would open a guide page with links to all symbols, and there are some examples for all of them.
Note though this is a prerelease version so some things are not complete (i.e., arguments checking), and bugs are expected.


For some reason I was unable to find, we hav a race condition which sometimes results in the DataMeta.reloadPopovers() function throwing an error, specifically when return new bootstrap.Popover(popoverTriggerEl) is called.

With the fix, I was not able to repeat the problem on ~ 100 test with different files.


No "Start Successful" Discord notification on auto-update

Server stops at 5AM for auto-update following these variables:
-e AUTO_UPDATE=1
-e AUTO_UPDATE_SCHEDULE="0 5 * * *"
Our Discord gets 2 notifications:

but we do not receive Start Successful message.

Can you post a (censored) docker compose file (or equivalent), along with a server log and when you last pulled the image. This has been a bug that seems to have hit a few people, but I still haven't been able to reproduce.
Don't list the full webhook url you pass in, but knowing if it's discord or discordapp would be nice too.

`#!/bin/bash
docker stop valheim
docker rm valheim
docker pull mbround18/valheim:latest
docker run -d
--name valheim
-p 2456:2456/udp
-p 2457:2457/udp
-p 2458:2458/udp
-v /local/valheim/saves:/home/steam/.config/unity3d/IronGate/Valheim
-v /local/valheim/server:/home/steam/valheim
-v /local/valheim/backup:/home/steam/backups
-e PUBLIC=1
-e PORT=2456
-e NAME="="" "
-e PASSWORD=""
-e TZ=Europe/Warsaw
-e WORLD=World
-e AUTO_UPDATE=1
-e AUTO_UPDATE_SCHEDULE="0 5 * * "
-e UPDATE_ON_STARTUP=1
-e AUTO_BACKUP=1
-e AUTO_BACKUP_SCHEDULE="/15 * * * "
-e AUTO_BACKUP_REMOVE_OLD=1
-e AUTO_BACKUP_DAYS_TO_LIVE=3
-e AUTO_BACKUP_ON_UPDATE=1
-e AUTO_BACKUP_ON_SHUTDOWN=1
-e WEBHOOK_URL=https://discord.com/api/webhooks/*********
-e WEBHOOK_BROADCAST_MESSAGE="HEHE VALHEIM"
--restart=always
mbround18/valheim`
Image pulled: 2021-03-02 10:03:56
Log:
valheim_server.log

Also, message for auto-update says: "Notification From: Your Valheim Server" while if I do odin stop it will say "Notification From: ACTUAL SERVER NAME".

Does stopping and starting the container send out the messages correctly. I would pull the latest image, I think there was some work towards fixing this issue earlier today.

Also, message for auto-update says: "Notification From: Your Valheim Server" while if I do odin stop it will say "Notification From: ACTUAL SERVER NAME".

This is a known issue. I'll go ahead and push out a fix for this.

I just pulled newest image but obviously we gotta wait till 5AM to see.

No worries, gives me time to stall :D
In the meantime I went ahead and opened a pull request to fix the name not getting read for auto updates (#256)


What?

I was trying to play a song, but the game crashed for no reason.
What's going on here?

can you specify what the player2 character is on the json file for your song?

senpai-angry

no

send me the crash log, i'm gonna look it up

it's a Character error then, which I already fixed on the latest version

just compile the latest version installing all the necessary haxe libraries if they are missing, and you should be good to go, reminder that songs with invalid characters will crash due to their character script being missing (will be fixed eventually)

oh okay


Kubernetes cluster peers are not safe to use for peering since they shuffle IPs

Can we give kubernetes nodes dns records?

Can we give kubernetes nodes dns records?


Sbt problem with multiple scala versions

There is a warning in maven which results in an fatal issue with sbt.
https://github.com/dmlc/xgboost/issues/1858
problem
expectation
notes

@geoHeil You probably intended the issue to contain more details?

@akauppi https://github.com/dmlc/xgboost/issues/1858 more details are there Problem is that sbt is not interpreting properties set in a maven profile, only general properties are read.


Set appropriate verification fields in XML profile

Update the XML profile after a bug report.
This change is not tested yet.
Unsigned compiled artifact: geteduroam.exe.zip

Compiled artifact: geteduroam.exe.zip

I've tested this on a Windows machine, but without eduroam coverage.
The appropriate checkboxes are checked when I inspect the profile, but I did not test against a real world eduroam network or RADIUS server.

I've confirmed that the server validation (CN checking) is now enabled even with EAP-TLS.


feat(CHANGELOG): bump up version to 1.3.0

Description
bump up version to 1.3.0
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@esteve According to the comment https://github.com/autowarefoundation/autoware_internal_msgs/pull/19#pullrequestreview-2150898334, the tag has not been pushed yet. Once it is merged into the main branch, I plan to manually push the tag to the main branch.
$ catkin_prepare_release --bump minor
Prepare the source repository for a release.
Repository type: git
Found packages: autoware_adapi_v1_msgs, autoware_adapi_version_msgs
Prepare release of version '1.3.0' [Y/n]?Y
Trying to push to remote repository (dry run)...
Everything up-to-date
Checking if working copy is clean (no staged changes, no modified files, no untracked files)...
Rename the forthcoming section of the following packages to version '1.3.0': autoware_adapi_v1_msgs, autoware_adapi_version_msgs
Bump version of all packages from '1.2.1' to '1.3.0'
Committing the package.xml files...
[v1.3.0 30d93b5] 1.3.0
 4 files changed, 6 insertions(+), 6 deletions(-)
Creating tag '1.3.0'...
The following commands will be executed to push the changes and tag to the remote repository:
  /usr/bin/git push origin v1.3.0
  /usr/bin/git push origin 1.3.0
Execute commands to push the local commits and tags to the remote repository [Y/n]?n
The release of the source repository has been prepared successfully but the changes have not been pushed yet. After pushing the changes manually the next step will be 'bloom-release'.

@youtalk perfect, thank you so much

@esteve Great! Please approve it too😉

@youtalk done :sweat_smile:


Bug fixes0.1.1

=== BUG FIXES ===

send_only flag is automatically added to every conf file added to certora/conf directory
additional files that don't explicitly mention the main contract in the .conf file "file" section are now handled corretly

staging, rule_sanity can be added as additional flags


[Discuss] Restricting what neko can access/host safety

TL;DR: Enforce DNS DOH settings in Firefox policies and use OpenDNS/NextDNS/etc to filter what you want/don't want.
Not so much a problem as just some solutions I wanted to share.
I'm currently hosting an instance of Neko to use with friends for services that don't support any 'watch together' style features or YouTube or whatever. So nurdism, thank you. (Avoiding tag to avoid spam). Has definitely made lockdown a little bit more comfortable. Also to everyone in #21 , that was super useful.
My biggest problem was ensuring that I could leave neko running even while I wasn't around and it wasn't going to get me in trouble. eg, friends weren't going to "tee heee heee, lets look at illegal stuff on Toucan's connection because it'd be a great prank to get Toucan charged with _____!".
My solution to this is to use a 3rd party DNS provider, like OpenDNS or NextDNS with Firefox's DOH policy to A) allow me filter things and B) let me do it without having to modify the container when it gets updated automatically by pyouroboros/ouroboros.
So here's my docker-compose:
---
version: '3'
services:
  neko:
    container_name: neko
    image: nurdism/neko:latest
    shm_size: 6gb
    environment:
      - NEKO_PASSWORD=$PASS
      - NEKO_PASSWORD_ADMIN=$ADMIN
      - NEKO_NAT1TO1=$NAT-IP
      - NEKO_URL=https://www.google.com
    volumes:
      - "/path/to/policies.json:/usr/lib/firefox-esr/distribution/policies.json"
    restart: unless-stopped
    ports:
     - "8080:8080"
     - "59000-59100:59000-59100/udp"

And here is the customized bit of my policies.json (neko provided policies.json here)
{
  "policies": {
    "DNSOverHTTPS": {
       "Enabled":  true,
       "ProviderURL": "https://doh.familyshield.opendns.com/dns-query",
       "Locked": true
     },
...
  }
}

Obviously enabled and locked so sneaky sneaky friends can't turn it off.
At this point, you can log into your account on opendns.com, add a new network, and manage what categories are filtered/managed. If you have a dynamic IP, make sure you're running one of OpenDNS' update scripts otherwise if your IP changes the filters will stop working.
Via OpenDNS I'm blocking most things, but have manually added 'Never Block' to some YouTube domains (below) so I can block the 'Video Sharing' category and instead whitelist just the ones I'm comfortable with.
ggpht.com
google.com
googleapis.com
googlevideo.com
youtube.com
youtube.l.google.com
ytimg.com
ytimg.l.google.com

This seems to let YouTube function normally.
I would much rather have friends saying "oh, this site didn't work, can you take a look" than the police knocking on my door asking what my hobbies were.
Anyway, thought I'd share in case anyone else had the same concerns or if anyone else has any other simple solutions to this. It doesn't have to be 100%, but if I do get a knock on the door I'd like to be able to show evidence that I actively tried to prevent it and was not simply an accomplice.
For those of you that say "good friends wouldn't do that"... I don't think they would, but I'd just rather not open that door to begin with. :)

I am using proxy, might help with your problem. It is set up in policies.json. Locked is true, so this proxy is enforced and can't be turned off.
{
  "policies": {
    "Proxy": {
      "Mode": "manual",
      "HTTPProxy": "proxy:3128",
      "UseHTTPProxyForAllProtocols": true,
      "Locked": true
    }
   ...
  }
}

I'm running separate container, where I have installed squid with openvpn. All of my traffic is routed through VPN, therefore I am not blocking any of it. But if you don't want to use VPN and want to just set up whitelisted domains, squid can do that.

Or this could be alternative way to do it without aditional 3rd party providers or another containers:
{
  "policies": {
    "WebsiteFilter": {
      "Block": ["<all_urls>"],
      "Exceptions": ["http://google.com/*"]
    },
    ...
  }
}

Both good options. Thanks!
Personally happy with the managed DNS option, but definitely see the value in those two choices. Will definitely suit someone. Maybe we should put these on a doco or wiki page somewhere?


add step to remove /etc/sysconfig/docker-storage file

old thin pool settings in the file can keep docker-storage-setup from working properly

:+1:


paths.iterfiles and paths.iterdirs

Added two functions to paths for iterating files and directories exclusively.

In the spirit of minimal API, why not something like:
function paths.files(s, optarg)
   local p = optarg
   if optarg == true then
      p = function(s) return paths.dirp(s) and s ~= '.' and s ~= '..'  end
   elseif type(optarg) == 'string' then
      p = function(s) return paths.filep(s) and s:find(optarg) end
   end
   local d = paths.dir(s)
   local n = 0
   return function()
     while true do
        n = n + 1
        if d == nil or n > #d then
          return nil
        elseif p(d[n]) then
          return d[n]
        end
     end
   end
end

When argument optarg is true, this iterator only returns the names of subdirectories, excluding "." and ".." since they are not subdirectories.  When argument optarg is a Lua pattern, this iterator only returns names of file that match the provided pattern. When argument optarg is a function that takes a string and returns a boolean, this iterator only returns names for which the function returns a logically true result.

@leonbottou The API is already pretty minimal in my opinion. However, I do like the idea of allowing for a function or string to be passed to paths.files. Using that function I could make paths.iterdirs and paths.iterfiles call paths.files with corresponding functions. I really want a paths.iterfiles and paths.iterdirs because its such a common use case. Also, with this in mind, optarg would just be either a function or a string.

Well,
path.iterdirs(s)  == path.files(s,true)
path.iterfiles(s) == path.files(s,"")
But you can also do
path.files(s, "%.lua$")
to iterate over the lua files only (something badly needed in my opinion).
The path.files solution has less explicit names, though...

@leonbottou what do you think about the newest changes?


show sniff codes in the docs

This PR adds sniff codes to the documentation created with --generate attribute.
Description
Searching for proper sniff explanations was always a complicated thing when using phpcs, at least for me. Since I don't know the phpcs codebase well yet (that's my second contribution try), I still have problems with finding sniff codes that I could use to build my ruleset. Or maybe I'm just dumb and can't find something crucial in the docs 😆
We can list all the sniffs in the specific coding standard by adding the -e attribute, but we need to iterate through all the available standards and check the results manually. It also doesn't provide explanations. We can show more docs by using the --generator=text attribute but the sniff code is not available there, and navigating/searching through this data is hard.
So finally, I mostly had to use reverse engineering to find a proper sniff code to include/exclude in the custom rulesets, or at least find the problem explanation. I've noticed that it would be much easier and faster if I'd have the sniff code in the documentation generated with --generate attribute. I know that not all the sniffs are documented, but including such simple things as sniff code in those reports made the searching process much easier.
I've decided to give it a try and I've managed to show them there. The changes here:

Display sniff code in the documentation created with --generate tag.
The sniff code can be set in the code attribute of the documentation XML tag (optional).
When the sniff code is not set in the mentioned tag, it is automatically detected by phpcs engine and displayed.

Thanks to this I'm able to:

Review the available docs and find the sniff codes to include/exclude them in the ruleset much faster.
Find more information about errors much easier by searching info by sniff code.

Screenshots

Suggested changelog entry
Added: Sniff codes in the generated documentation.
Related issues/external references

https://github.com/squizlabs/PHP_CodeSniffer/issues/1926
https://github.com/squizlabs/PHP_CodeSniffer/issues/1752#issuecomment-750927206
https://github.com/squizlabs/PHP_CodeSniffer/issues/2213

Types of changes

[ ] 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 change)

[ ] This change is only breaking for integrators, not for external standards or end-users.

[x] Documentation improvement

PR checklist

[x] I have checked there is no other PR open for the same change.
[ ] I have read the Contribution Guidelines.
[ ] I grant the project the right to include and distribute the code under the BSD-3-Clause license (and I have the right to grant these rights).
[ ] I have added tests to cover my changes.
[ ] I have verified that the code complies with the projects coding standards.
[ ] [Required for new sniffs] I have added XML documentation for the sniff.

As per the CONTRIBUTING guide:

Requesting/Submitting New Features
Ideally, start by opening an issue to check whether
the feature is something which is suitable to be included in PHP_CodeSniffer.
It's possible that a feature may be rejected at an early stage, and it's better to find out before you write the code.
It is also good to discuss potential different implementation options ahead of time and get guidance for the preferred option
from the maintainers.

And:

Submitting your pull request
Some guidelines for submitting pull requests (PRs) and improving the chance that your PR will be merged:
...

Only open your PR when you've finished work on it, and you are confident that it is ready for review.

I suggest you open an issue to discuss this and close this PR.

I'll make you more work than without my engagement here, sorry for this 😅 I'll do this properly as you said :)


Scooter's Macro Pad

This is just PR #194, but I needed to re-make this since a lot of broken stuff happened to the old repo, lol. All the files are the same, just I needed to re-do the PR lol.

I believe I have included all the files for my macro board. Please take a look at the README.md for a description of my macro board, the BOM and some notes that I included. Thanks!!!
Side note - I understand that most of the components I chose are SMD, and I am totally fine with soldering them myself.
Side note² - One of my step files in the CAD folder is zipped due to GitHub not allowing files over 100MB and Git LFS is not available for forked repos.

For your CAD file, you need to submit a .step of all of the parts in one file and assemble how it will be in. Thank you!

For your CAD file, you need to submit a .step of all of the parts in one file and assemble how it will be in. Thank you!
Perfect, thanks! I will do that shortly. Besides for that, does everything else look good?

Yes it does!

Tell me when you do that pls.

@Hyatt-B I just fixed up the step file!


Competition API tests & enhancements

Context
A recent bug showed the need for tests on the competition endpoints.
What has been done

Competition creation API tests
Moved the model validation to the competition service to remain consistent.
Changed some Exceptions being thrown to return proper status codes.

@psikoi PR is ready! 😄

@psikoi added some additional tests for adding participants, removing them and creating competitions as a group. Only thing I'm not 100% covering is all of the verificationCodes in each endpoint, which feels kinda repetetive since we're using the same logic for verifying that on pretty much all calls.
tldr; Ready for review once again

@psikoi remarks fixed!


Ignore SIGPIPE

I've been using tower-grpc at work, and after writing a test for a server/client comm I found that it would fail sporadically with a broken pipe error:
Protocol(Error(Io, Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }))

Now, the test would work, the data seemed to go through, and everything was fine if not for that annoying broken pipe. I used strace to see what was going on, and found the problem area:
12638<PHONE_NUMBER>.031034 writev(79, [{iov_base="\0\24\274\0\0\0\0\0\1", iov_len=9}, {iov_base="\0\0\0\24\267\n\264)\f\0\0\0\10\0\f\0\7\0\10\0\10\0\0\0\0\0\0\1\4\0\0\0"..., iov_len=5308}], 2) = 5317
12644<PHONE_NUMBER>.031084 close(78)             = 0
12643<PHONE_NUMBER>.031094 sched_yield()         = 0
12639<PHONE_NUMBER>.031122 sched_yield()         = 0
12642<PHONE_NUMBER>.031147 epoll_wait(63, [{EPOLLIN, {u32=4294967295, u64=18446744073709551615}}], 1024, -1) = 1
12649<PHONE_NUMBER>.031181 epoll_wait(40, [], 1024, 0) = 0
12643<PHONE_NUMBER>.031191 sched_yield()         = 0
12641<PHONE_NUMBER>.031198 sched_yield()         = 0
12639<PHONE_NUMBER>.031237 sched_yield()         = 0
12643<PHONE_NUMBER>.031300 epoll_wait(57, [], 1024, 0) = 0
12641<PHONE_NUMBER>.031324 epoll_wait(64, [], 1024, 0) = 0
12644<PHONE_NUMBER>.031362 write(66, "\1", 1)    = 1
12638<PHONE_NUMBER>.031392 writev(79, [{iov_base="\0\0\f\1\5\0\0\0\1@\210\232\312\310\262\0224\332\217\201\7", iov_len=21}], 1) = -1 EPIPE (Broken pipe)

I will also note the flags set when opening the socket:
socket(AF_INET6, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_IP) = 78

I think this happens because, on the client side, the HTTP client is moved into the future that is passed onto the Tokio executor, which then drops the connection once that is completed. The canonical GRPC implementation circumvents this issue, I think, by ignoring SIGPIPE which I believe we should so as well.
Have I identified the issue correctly?

That PR to ignore SIGPIPE is to disable the sending of the SIGPIPE signal to the process, the EPIPE is still returned either way (signals just usually cause the whole process to abort).
What are you seeing the error from? From a specific RPC future? Or from the background connection future?

@seanmonstar The error, Protocol error: connection error: Broken pipe (os error 32) (I changed the message to help disambiguate it's origin) comes from the server code, which looks like this:
pub fn dummy_server<D>(db: D) {
    // See https://github.com/tower-rs/tower-grpc/issues/195
    unsafe {
        signal(Signal::SIGPIPE, SigHandler::SigIgn).unwrap();
    }

    let service = PipelineReadServiceServer::new(DbServer::new(db));
    let mut server = Server::new(service);
    let http = Http::new().http2_only(true).clone();
    let addr = "[::1]:50051".parse().unwrap();
    let bind = TcpListener::bind(&addr).expect(&format!("Bind failure at {:?}", addr));

    let serve = bind
        .incoming()
        .take(1)
        .for_each(move |sock| {
            if let Err(e) = sock.set_nodelay(true) {
                return Err(e);
            }
            let serve = server.serve_with(sock, http.clone());
            tokio::spawn(serve.map_err(|e| match e {
                Error::Protocol(e) => {
                    // Ignore SIGPIPE?
                    if e.kind() != hyper::error::Kind::Io {
                        eprintln!("Serve error: {}", e)
                    }
                }
                _ => eprintln!("Serve error: {}", e),
            }));
            Ok(())
        })
        .map_err(|e| eprintln!("Accept error: {}", e));
    tokio::run(serve);
}

The client, in turn, looks like this
pub fn dummy_client() {
    let uri: http::Uri = format!("http://[::1]:50051").parse().unwrap();
    let dst = Destination::try_from_uri(uri.clone()).unwrap();
    let connector = util::Connector::new(HttpConnector::new(4));
    let settings = client::Builder::new().http2_only(true).clone();
    let mut make_client = client::Connect::with_builder(connector, settings);
    let reader = make_client
        .make_service(dst)
        .map_err(|e| panic!("Connection error: {:?}", e))
        .and_then(move |conn| {
            let conn = tower_request_modifier::Builder::new()
                .set_origin(uri)
                .build(conn)
                .unwrap();
            PipelineReadService::new(conn).ready()
        })
        .map_err(...);
    tokio::run(reader);
}

I'll add that the actual test procedure is this:
    #[test]
    fn basic_server_client_memdb() {
        let db = db::dummy_memdb();
        let server = std::thread::Builder::new()
            .name("dummy_grpc_server".to_owned())
            .spawn(|| server::dummy_server(db))
            .unwrap();
        let client = std::thread::Builder::new()
            .name("dummy_grpc_client".to_owned())
            .spawn(|| client::dummy_client())
            .unwrap();
        client.join().unwrap();
        server.join().unwrap();
    }

So it appears that the server connection future itself is reporting the error. It could be trying to reply to the GOAWAY from the client.
(Note, you don't need to do anything about SIGPIPE signals, Rust disables them automatically in its prelude before main.)

I see, so I can just ignore the error (i.e. not print it out) and it's working as expected?


CLOUDP-166133:

Description
This PR changes folder structure for the v2 client:
api/examples -> examples
api/tests -> tests
api/README.md ->> README.md
api/v1client -> mongodbatlasv2/latest

Changes are based on the feedback from the CLI initiative and are also a direct result of us making a proper call for the naming. Please ignore last commit. It contains only 580 renamed files.

Linting timeout is on the edge of the changes. Increasing it

It looks like golangci lint uses cache for the builds. So subsequent rebuilds use previous cache.
This is special PR that has a lot of changes so issues with timeouts should not happen with regular PRs.

It looks like golangci lint uses cache for the builds. So subsequent rebuilds use previous cache.
This is special PR that has a lot of changes so issues with timeouts should not happen with regular PRs.


If the tracking id is passed when calling the method it is giving exc…

If the tracking id is passed when calling the method it is giving the below exception.
AttributeError: 'Gateway' object has no attribute 'tracking_id'.
So if the id is passed the else condition will set the tracking id equal to the one that is passed when the method is called.

Thank you, please add yourself as a contributor to the AUTHORS.rst file, and resubmit the PR.

Thank you, please add yourself as a contributor to the AUTHORS.rst file, and resubmit the PR.

Can you check it now?


[Bug][datasource] Hive/Spark data sources do not support multi-tenancy when Kerberos authentication is enabled

Describe the bug
Hive/Spark JDBC supports manual configuration of keytab parameters when using Kerberos authentication, and supports multi-tenancy when using Kerberos authentication for Hive/Spark data sources.
The current Hive/Spark JDBC system uses Kerberos authentication using the keytab configured in the common.properties file. There is a problem when Hive/Spark data source Kerberos authenticates other users or multiple different users.
To Reproduce
1.common.properties configuration keytab file is for the DolphinScheduler tenant;
2.Hive DataSource Kerberos authenticated tenants are hive_exec_1 tenants;
3.Use the above Hive data source query to report no permissions;
Which version of Dolphin Scheduler:
-[dev]
Requirement or improvement
Improvement: Add Kerberos-related parameters to the other parameters or principal parameters section of the DataSource page for manual input by the user
Additional context
Points needing attention:
Kerberos expiration issue (I don't think this Kerberos expiration is related to scheduling, we will consider whether to deal with this later)
Solution 1:
Execute the script kinit-kt/XXX /xxx.keytab<EMAIL_ADDRESS>using the shell task node, and set the keytab to be swipe regularly
If you have any good ideas, please leave a message!

描述错误
Hive/Spark JDBC 使用Kerberos认证时支持keytab相关参数手动配置，解决Hive/Spark数据源开启Kerberos认证时支持多租户。
当前系统Hive/Spark JDBC 使用Kerberos认证时使用的都是Common.properties文件内配置的keytab,当Hive/Spark数据源kerberos认证其他用户或多个不同的用户是存在问题的。
To Reproduce
1.common.properties 配置 keytab文件 是dolphinscheduler租户的；
2.hive datasource kerberos认证租户是 hive_exec_1租户的；
3.使用上面的hive数据源查询语句会报没有权限；
要求或改进
改进：在datasource页面其他参数或principal参数部分新增kerberos相关参数，供用户手动输入
Additional context
需要注意的点：
kerberos过期问题（我认为这个kerberos过期和调度无关，这块后面在考虑要不要处理）
解决方案一：
使用shell任务节点执行 kinit-kt/XXX /xxx.keytab<EMAIL_ADDRESS>脚本，设置定时刷keytab
你有什么好的想法，欢迎留言！

I will fix it.

I will fix it.

I think we should'nt use kinit in this context.

I think we should'nt use kinit in this context.

I think we should'nt use kinit in this context.

In Dolphin, Kerberos Java API is called for authentication, but Kerberos has expired problem. For multi-task nodes and long execution time of workflow, how to ensure that the Kerberos authentication is valid in the entire workflow process? Using Kinit is just one idea to solve Kerberos expiration, but you can also set Kerberos expiration time for a day/two and so on for a long time. Do you have any good ideas?

dolphin内是调用kerberos java api 进行认证，但kerberos存在过期问题，针对多任务节点并执行时间很长的工作流，如何保证整个工作流流程中kerberos认证有效? 使用kinit只是解决kerberos过期的一个想法，也可以设置kerberos过期时间1天/2天等很长时间。您有什么好的想法？

I think we should'nt use kinit in this context.

In Dolphin, Kerberos Java API is called for authentication, but Kerberos has expired problem. For multi-task nodes and long execution time of workflow, how to ensure that the Kerberos authentication is valid in the entire workflow process? Using Kinit is just one idea to solve Kerberos expiration, but you can also set Kerberos expiration time for a day/two and so on for a long time. Do you have any good ideas?

dolphin内是调用kerberos java api 进行认证，但kerberos存在过期问题，针对多任务节点并执行时间很长的工作流，如何保证整个工作流流程中kerberos认证有效? 使用kinit只是解决kerberos过期的一个想法，也可以设置kerberos过期时间1天/2天等很长时间。您有什么好的想法？

For what i know, every sqltask will execute this function ( create connection from keytab not from cache , so only make sure sqltask not run too long ( over 1 day ) and i see this is possible.
// if upload resource is HDFS and kerberos startup             CommonUtils.loadKerberosConf();             // create connection             connection = createConnection();

For what i know, every sqltask will execute this function ( create connection from keytab not from cache , so only make sure sqltask not run too long ( over 1 day ) and i see this is possible.
// if upload resource is HDFS and kerberos startup             CommonUtils.loadKerberosConf();             // create connection             connection = createConnection();

I will create a pull request for this issue, but it need additional config (hadoop, impala) from user ( maybe we add it to docs ).

I will create a pull request for this issue, but it need additional config (hadoop, impala) from user ( maybe we add it to docs ).


Differentiate the Client Service Account from Server Service Account

Both the client & server have service accounts with the naming of forseti-gcp-reader-, and it's not clear which one is which.  So, the name ideally should be something like forseti-client-gcp-reader and forseti-server-gcp-reader.

Closed: #1194


[SSA] Changed url.

It changed url to http://movingimage.nls.uk/film/2174, that work with generic exctractor.

The original test case is still valid. I've fixed extraction and updated _TESTS, thanks.


Echoflow package dependencies

While installing the required dependencies, the 'echoflow' package is also automatically installed. As a result, when attempting to edit or create new flows, the system fails to recognize the changes made to the 'echoflow' package.

For the time-being, uninstalling the echoflow manually is working. Should not be an issue when the package is deployed but needs attention while developing any components of echoflow.

Did you use the -e (development mode) for the installation? In this mode the system would use the latest code you have modified.

I have successfully tested using the '-e' option, and it allows me to add new flows and make modifications to existing ones. However, I am uncertain whether having a cyclic dependency is acceptable, as it can potentially introduce various issues. I looked at the 'echopype environment.cfg' file, which could be the module responsible for installing echoflow, but I couldn't find any trace of echoflow being present.

Great! and I think in this case it is safe to assume that echoflow won't be in echopype's dependency list (and probably should never be!)


Many questions have incorrect answers/are too easy

There are many questions which have multiple correct answers (eg artists with multiple hits listed, but only one accepted as correct).
Also the arithmetic questions are just terrible and are far too easy. Maybe people would rather have some differential equations (in seriousness, generate harder things)?

hi dear sinijo
sorry,what program used for make questions?
thanks

They were extracted from DBpedia.

Closing all issues as this project is unmaintained.