Update the KCP command line to CRD-tenancy changes, and include the cluster controller.

... with the CRD tenancy implemented on the Kubernetes side.
This R should only be merged when PR https://github.com/kcp-dev/kubernetes/pull/4 is merged.

Closing: this was replaced by PR https://github.com/kcp-dev/kcp/pull/41


Invalid dependency tree from npm's pov

Hi there!
I tried to spin up docs locally (the main site seems down), but I kinda try not to use yarn and npm reports that dependency tree is broken

downgrading next seems does the trick
vv@my-precious /tmp/documentation $ gt di package.json
diff --git i/package.json w/package.json
index 97d3a76a..d2023296 100644
--- i/package.json
+++ w/package.json
@@ -14,7 +14,7 @@
     "contentlayer": "^0.3.3",
     "date-fns": "^2.30.0",
     "little-state-machine": "^4.8.0",
-    "next": "^14.1.1",
+    "next": "^13",
     "next-contentlayer": "^0.3.3",
     "next-themes": "^0.2.1",
     "prism-react-renderer": "^2.0.5",
vv@my-precious /tmp/documentation $


Add File Handler Access for Template Generation in Makita UI

Issue:
In the Makita UI, the FileHandler object is available and usable for adding scripts. This allows users to control behaviors such as allowing file overwrites. However, when generating templates, there is currently no way to access the FileHandler. The only way to allow for file overwriting during the template generation process is to interact with the console and press 'a', which is not ideal for the overall user experience.
Expected Behavior:
A user should have the same level of control over file overwriting during the template generation process as they do when adding scripts. There should be an accessible way to set allow_overwrite without interacting with the console.
Proposed Solution:
Update the Makita library to allow the FileHandler to be accessed during template generation. This could potentially be done by either:
Passing the FileHandler as a parameter to the _template() method in MakitaEntryPoint.
Modifying the _template() method to return the FileHandler, allowing it to be manipulated outside of the method after it's been created.

Steps to reproduce:
Launch the Makita UI.
Select a template and fill in the necessary fields.
Click "Generate Template".
Attempt to generate the same template with the same name. Currently, the only way to allow this is to press 'a' in the console.

Added notification for now.


dv<sdv

Describe the bug
svsevsevsdsdds
Link to the blitz that caused the error
https://stackblitz.com/edit/nextjs-wsucwr
Steps to reproduce
d
Expected behavior
dsddss
Screenshots
ds
Platform
Browser name  = Chrome
Full version  = 91.0.4472.164
Major version = 91
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 61254245,
  "usedJSHeapSize": 52820333,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = d86858d537c0a310ebafd72a06454769861ab23a

Additional context
ddsd

ds

sddsds


Implement an hackish ArrayAccess mapper

A quick and dirty object mapper regarding.
Not sure if you want it in Valinor, but it does the job for what I wanted in #85

Closing, see https://github.com/CuyZ/Valinor/issues/85#issuecomment-1061645080.


[Fabric 1.18.2] Items in Expanded Storage Double chests connected by inventory trims appear doubled

https://youtu.be/l-TOe2uf97o
A visual bug occurs when connecting upgraded double chests from Expanded Storage to an inventory connector using Inventory trims. When displayed through the storage terminal, the number of items in the Inventory trim storage network appears doubled. This does not seem to be the case for the same kinds of double chests connected through inventory cables.

Should be fixed in 1.4.2


chore: Update readme for GraphQL spec compability

Trying to make it clearer for users to know which version of the GraphQL spec the client is compatible with.

🛠 Docs Preview Building...

Configuration
{
  "repoOverrides": {
    "apollographql/apollo-ios-dev@main": {
      "remote": {
        "owner": "apollographql",
        "repo": "apollo-ios-dev",
        "branch": "chore/update-readme-spec-compatibility"
      }
    }
  }
}

27ff0278a77438fab6864964d6d068a66c26758d

Keeping this as a draft until we've all agreed on the messaging.


Introduce primary key on audit table for ordered reads

This ensures that all items added to audit table
will be read in the order they came, using the new primary key.
Using the old primary key has edge case if updates happened on the
same row and re-purposing the same primary key will lead to un-ordered
behavior
fixes https://github.com/shayonj/pg-osc/issues/48

Did you find this by witnessing it in action?

This was actually an old todo item (can't find the commit now), that I missed to transfer to Github issues. But was mentioned in this Reddit thread, very good convos and glad we caught it.


ServiceAccount specification in the Helm chart

Currently, the Helm chart included in the dify-helm repository does not have a field for specifying the ServiceAccount in the Deployment resource. As a result, users who wish to use a ServiceAccount must manually modify the chart.
In particular, in cloud environments such as AWS, it is common to attach IAM roles to pods using a ServiceAccount, allowing for secure access management.
Additionally, in environments where service meshes like Istio are used, specifying a ServiceAccount is recommended to apply policies and authentication to each pod. In Istio, a ServiceAccount is used to generate pod-level identities, which are then leveraged for access control and traffic management within the service mesh, making this feature critical.
Previously, there was an issue requesting the addition of a ServiceAccount for AWS access, which was rejected with the reason that the repository maintainers did not wish to accommodate specific conditions.
However, the ability to specify a ServiceAccount is not limited to AWS, but is a basic feature used broadly in Kubernetes environments. Considering its importance for general use cases such as with Istio, adding this capability to the Helm chart would benefit a wide range of users.
I would appreciate your consideration of this proposal. Thank you.

Thank you for your contribution and the resourceful explanation on user cases. This feature is expected to be merged after we have tested it.

@BorisPolonsky
yay! Thank you.
I'll fix your review.


What is the use of Autogenerated Clusters and how to colse Autogenerated Clusters

I create a cluster like the 'replication_setup.md' described , but there create a Autogenerated cluster, I do not know the use of the cluster,and how to close it

Single ClickHouse installation allows users to define different data distribution layouts, that are sometimes confusingly referred as clusters. In your example

'test_' clusters are default ClickHouse, used in unit tests. Those can be ignored
'all-replicated' cluster is 1 shard N replicas, useful for tables that should be replicated across all nodes.
'all-sharded' cluste is N shards, 1 replica, useful for tables that should be distributed across all nodes.
'med' -- this is your cluster that corresponds to CHI definition (3 shards and 2 replicas). It should be used in a general case for replicated and distributed tables.


Created configuration class

Options for :jbuilder or :serializers now work
Still needs testing

Sorry again, @stankec. Old habbit. We'll get this configured so we stop making PRs on your repo. 💃


tools/flavor-name-check.py: Read list of mandatory flavors from external YAML

https://github.com/SovereignCloudStack/Docs/blob/6b21dabe2833c3db979cba4eb9513393a0001bbe/Design-Docs/tools/flavor-name-check.py#L32
should be changed to read the list of mandatory flavors from an external YAML file, once we have it implemented.
See https://github.com/SovereignCloudStack/issues/issues/235

https://github.com/SovereignCloudStack/Docs/pull/183

Relates SovereignCloudStack/issues#236

This has been implemented via #183.


Remove Winston dependency

I want to replace winston with pino logger http://getpino.io/#/, which is much faster than winston. Can I use my own pino instance with notifme?

Hi @ansarizafar
It's not possible with the options, but you can override the inner instance:
const notifmeSdk = new NotifmeSdk({})
notifmeSdk.logger.innerLogger = {
  log: (level, info, extra) => { ... }
}

(log will be called here: https://github.com/notifme/notifme-sdk/blob/master/src/util/logger.js#L27)
I haven't tested but this should work (re-open if it's not the case, we'll work it out).


Feature dns templates

Implemented DnsTemplates API, fixes #8
Example code to use:
<?php
declare(strict_types=1);

require_once __DIR__ . "/vendor/autoload.php";

use SandwaveIo\RealtimeRegister\RealtimeRegister;
use SandwaveIo\RealtimeRegister\Domain\Zone;
use SandwaveIo\RealtimeRegister\Domain\DomainZoneRecordCollection;
use SandwaveIo\RealtimeRegister\Exceptions\NotFoundException;

$realtimeRegister = new RealtimeRegister('my-secret-api-key');

$customer = 'acmeinc';
$domain = 'dit-is-een-test.nl';
$templateName = 'redirect_demo';

try {
    $realtimeRegister->dnstemplates->get($customer, $templateName);
} catch (NotFoundException $e) {
    $realtimeRegister->dnstemplates->create(
        $customer,
        $templateName,
<EMAIL_ADDRESS>        86400,
        10800,
        3600000,
        3600,
        DomainZoneRecordCollection::fromArray(
            [
                [
                    'name'    => '##DOMAIN##',
                    'type'    => 'URL',
                    'content' => 'https://www.savvii.com/',
                    'ttl'     => 300
                ],
                [
                    'name'    => 'www.##DOMAIN##',
                    'type'    => 'URL',
                    'content' => 'https://www.savvii.com/',
                    'ttl'     => 300
                ]
            ]
        )
    );
}

$realtimeRegister->domains->update(
    $domain,
    zone: Zone::fromArray(['template' => $templateName])
);

@A1rPun  Anybody home?

I have made all requested changes

@arnowest Looks like phpcs does want the trailing comma's to be there:
https://github.com/sandwave-io/realtimeregister-php/actions/runs/4356273605/jobs/7615193232

@arnowest Looks like phpcs does want the trailing comma's to be there: https://github.com/sandwave-io/realtimeregister-php/actions/runs/4356273605/jobs/7615193232

The CS fixer is complaining about trailing comma's in arrays. Looking at the job output there is no mention of the trailing comma's in the function parameters (/constructor). If you let CS fixer fix all the reported issues this MR can be merged.

@arnowest OK, done


Publish 06/10/2022, 10:30 AM

Docs Build status updates of commit 0d1d533:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2022-ps/appx/Invoke-CommandInDesktopPackage.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Modern CLI is getting invoked in spite of missing verbs

@JyotikaGargg and I found this issue in main.go where we read the 2nd argument even if os.Args contains just 1 argument i.e. when no argument is specified to sqlcmd.exe
if len(os.Args) > 0 {
		if rootCmd.IsValidSubCommand(os.Args[1]) {
			isNewCliCommand = true
		}
	}

\go-sqlcmd\cmd\modern>go build -o sqlcmd.exe
\go-sqlcmd\cmd\modern>.\sqlcmd.exe
panic: runtime error: index out of range [1] with length 1

goroutine 1 [running]:
main.isFirstArgModernCliSubCommand(...)
        C:/Users/apdeshmukh/git/go-sqlcmd/cmd/modern/main.go:53
main.main()
        C:/Users/apdeshmukh/git/go-sqlcmd/cmd/modern/main.go:41 +0x245

Yeah, I saw this as well (have a fix for it in my draft PR).  Thanks for fixing it


fix(dotnet): using the right package version (version after comma)

Fixing #26826 to use the right package version. It was my mistake.
The correct is: /usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.1.0

Already fixed by #26850. Thanks @forevergenin!

You are welcome @diogodamiani


Use workers instead spawning goroutines for each incoming DNS request

Codecov Report

Merging #664 into master will increase coverage by 0.11%.
The diff coverage is 71.23%.

@@            Coverage Diff             @@
##           master     #664      +/-   ##
==========================================
+ Coverage      58%   58.11%   +0.11%
==========================================
  Files          37       37
  Lines        9996    10020      +24
==========================================
+ Hits         5798     5823      +25
  Misses       3148     3148
+ Partials     1050     1049       -1

Impacted Files
Coverage Δ

server.go
60% <71.23%> (+1.85%)
:arrow_up:

msg.go
78.17% <0%> (+0.64%)
:arrow_up:

Continue to review full report at Codecov.

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

Note that I believe the initial impetus for this is that is faster? I can't tell because the PR description and the commit description are pretty thin...
The go standard library http.server does
		tempDelay = 0
		c := srv.newConn(rw)
		c.setState(c.rwc, StateNew) // before Serve can return
		go c.serve(ctx)

Which is what we do know, short lived go routines handling a request; that we somehow need to bound this.. is because of UDP and spoofing?
There is another issue open that says that go 1.11 will support more socket option making the increased speed argument less convincing.
I'll take a short peek at the PR none the less.

@UladzimirTrehubenka Do you have any benchmarks for this change? I can think of a few alternative implementations that won't suffer from the unbounded growth problem, but it's hard to compare without numbers.

@tmthrgd agreed it needs benchmarks, but this will also fix a silent crash that happens when too many go routines are spawned.

Regarding benchmark - I am not sure that go benchmark is useful.
I am testing CoreDNS with dnsperf tool.
ATM observed that PR's code works faster on 10% with simple forward config (130K vs 144K).
But configuration with Themis policy plugin shows 30% performance (93K vs 125K).

@UladzimirTrehubenka Those are exactly the sort of benchmarks I was hoping to see.

@miekg just a friendly reminder: could you provide some feedback?

@tmthrgd already took a look, so that's good. I want echo the sentiment having a benchmark test will help - I haven't had time to follow the entire discussion. Taking a look now.

checked out the branch, seeing the same increase @UladzimirTrehubenka also saw, pasting here:
./bin/queryperf-linux_amd64 -d domain.lst.queryperf -l 15 -s <IP_ADDRESS> -p 1043

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with <IP_ADDRESS>)
[Status] Testing complete

Statistics:

  Parse input file:     multiple times
  Run time limit:       15 seconds
  Ran through file:     437041 times

  Queries sent:         1311126 queries
  Queries completed:    1311126 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:         	0.008981 sec
  RTT min:              0.000004 sec
  RTT average:          0.000215 sec
  RTT std deviation:    0.000172 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Fri May  4 18:45:58 2018
  Finished at:          Fri May  4 18:46:13 2018
  Ran for:              15.000139 seconds

  Queries per second:   87407.590023 qps

3.59s user 8.98s system 15.01s elapsed 83%CPU (make TIME=15 PORT=1043 queryperf)
% make TIME=15 PORT=1043 queryperf
./bin/queryperf-linux_amd64 -d domain.lst.queryperf -l 15 -s <IP_ADDRESS> -p 1043

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with <IP_ADDRESS>)
[Status] Testing complete

Statistics:

  Parse input file:     multiple times
  Run time limit:       15 seconds
  Ran through file:     433578 times

  Queries sent:         1300736 queries
  Queries completed:    1300736 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:         	0.008250 sec
  RTT min:              0.000005 sec
  RTT average:          0.000217 sec
  RTT std deviation:    0.000174 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Fri May  4 18:46:15 2018
  Finished at:          Fri May  4 18:46:30 2018
  Ran for:              15.000274 seconds

  Queries per second:   86714.149355 qps

3.24s user 9.19s system 15.02s elapsed 82%CPU (make TIME=15 PORT=1043 queryperf)
% make TIME=15 PORT=1043 queryperf
./bin/queryperf-linux_amd64 -d domain.lst.queryperf -l 15 -s <IP_ADDRESS> -p 1043

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with <IP_ADDRESS>)
[Status] Testing complete

Statistics:

  Parse input file:     multiple times
  Run time limit:       15 seconds
  Ran through file:     536946 times

  Queries sent:         1610839 queries
  Queries completed:    1610839 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:         	0.010821 sec
  RTT min:              0.000006 sec
  RTT average:          0.000154 sec
  RTT std deviation:    0.000153 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Fri May  4 18:48:19 2018
  Finished at:          Fri May  4 18:48:34 2018
  Ran for:              15.000164 seconds

  Queries per second:<PHONE_NUMBER>57 qps

3.45s user 9.44s system 15.01s elapsed 85%CPU (make TIME=15 PORT=1043 queryperf)
% make TIME=15 PORT=1043 queryperf
./bin/queryperf-linux_amd64 -d domain.lst.queryperf -l 15 -s <IP_ADDRESS> -p 1043

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with <IP_ADDRESS>)
[Status] Testing complete

Statistics:

  Parse input file:     multiple times
  Run time limit:       15 seconds
  Ran through file:     503934 times

  Queries sent:         1511804 queries
  Queries completed:    1511804 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:         	0.011372 sec
  RTT min:              0.000005 sec
  RTT average:          0.000165 sec
  RTT std deviation:    0.000170 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Fri May  4 18:48:40 2018
  Finished at:          Fri May  4 18:48:55 2018
  Ran for:              15.000168 seconds

  Queries per second:<PHONE_NUMBER>32 qps

3.36s user 9.26s system 15.01s elapsed 84%CPU (make TIME=15 PORT=1043 queryperf)

pprof: (don't fully understand but lower number, second one is with this applied)
Showing top 10 nodes out of 160
      flat  flat%   sum%        cum   cum%
    10.44s 17.39% 17.39%     10.92s 18.18%  syscall.Syscall
     3.60s  6.00% 23.38%      6.19s 10.31%  runtime.mallocgc
     2.88s  4.80% 28.18%      2.88s  4.80%  runtime.procyield
     2.70s  4.50% 32.67%      5.41s  9.01%  runtime.pcvalue
     2.19s  3.65% 36.32%      2.71s  4.51%  runtime.step
     2.16s  3.60% 39.92%      2.16s  3.60%  runtime.futex
     2.02s  3.36% 43.28%      2.51s  4.18%  runtime.scanobject
     1.87s  3.11% 46.39%      2.35s  3.91%  syscall.Syscall6
     1.55s  2.58% 48.98%     10.88s 18.12%  runtime.gentraceback
     1.19s  1.98% 50.96%      1.19s  1.98%  runtime.adjustpointers

patched:
Showing top 10 nodes out of 173
      flat  flat%   sum%        cum   cum%
    8670ms 19.81% 19.81%     9000ms 20.56%  syscall.Syscall
    3370ms  7.70% 27.51%     7030ms 16.06%  runtime.mallocgc
    1850ms  4.23% 31.73%     2510ms  5.73%  runtime.scanobject
    1820ms  4.16% 35.89%     1820ms  4.16%  runtime.futex
    1460ms  3.34% 39.23%     1860ms  4.25%  syscall.Syscall6
     930ms  2.12% 41.35%      930ms  2.12%  runtime.heapBitsSetType
     860ms  1.96% 43.32%      940ms  2.15%  github.com/miekg/dns.packDomainName
     840ms  1.92% 45.24%     2880ms  6.58%  github.com/miekg/dns.sprintName
     760ms  1.74% 46.97%      760ms  1.74%  runtime.heapBitsForObject
     640ms  1.46% 48.44%      880ms  2.01%  runtime.lock

diff looks pretty minimal, don't have any major concerns. @tmthrgd this good to go?

@miekg Aside from one small nit, this LGTM. :+1:

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Use workers instead..." ]

@miekg Aside from one small nit, this LGTM. :+1:

nice! Ok, let's wait for that and I'll merge.
Thanks for the effort here, the both of you!

probably mark this 1.0.6 soon.

In a simple test of GeoDNS on my mac the qps went up from ~29k to ~37k qps with this change; nice work!


Got 403 Forbidden when use AsyncTron

when I using this code:
txb = (
client.trx.transfer(address_from, address_to, amount)
.memo("test memo")
.fee_limit(100_000_000)
)
txn = await txb.build()
txn_ret = await txn.sign(priv_key).broadcast()
I got this error.How to fix that?
Client error '403 Forbidden' for url 'https://api.trongrid.io/walletsolidity/getnowblock'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

Most likely either trongrid has banned your ip, or it requires an ip key
Try ankr rpc https://rpc.ankr.com/http/tron


Adjust imports to match the now-recommended "import ops" style (section 3)

As part of canonical/operator#921, we're updating the docs to use the now-recommended "import ops" style, that is, instead of:
from ops.charm import CharmBase
from ops.main import main
class MyC(CharmBase):
    ...
if __name__ == "__main__":
    main(MyC)

We prefer people do:
import ops
class MyC(ops.CharmBase):
    ...
if __name__ == "__main__":
    ops.main(MyC)

The docs have been updated (as part of #921), so ideally the linked repo would be as well. I'll create a PR for each section of the tutorial - this is for #3 ("Set workload version").
Also pin the requests version more loosely to pick up any compatible bug/security fixes.
This includes a drive-by version bump to isort, because the current one's dependencies break pre-commit.  See PyCQA/isort:#2079 for details.

Consolidating.


can't sign-in during to auth problem in both github and intra methods

Resolved by changing to a new authentication token.
If the current service is 42api dependent and the api call limit is caught, service failure may occur.
And because we are currently in the military service of the Republic of Korea, the issue may be delayed a lot.

Hi, I am still having the same issue. :/

There are currently more than 1200 users... The service is currently not functioning properly due to a limitation of 42 APIs.
Also, the free limit of the 'vercel' that I am using for free is out of the free limit, so I have to find another way... (#83)

you have to cache the result to avoid doing an api call on each display of the badge you just need to define a caching period, I think 24hours is a good start

you have to cache the result to avoid doing an api call on each display of the badge you just need to define a caching period, I think 24hours is a good start

@lepirlouit Sadly, the caching policy has already been applied….
The problem is that requests are coming in well above the 42 API request limit.


use mlabs tooling (take 2)

Another attempt to integrate new tooling. I keep use same versions used by plutip, other constraints borrowed from plutus-apps.
Should replace #171

Hey, i doubt that anyone is actively working on this, but just in case: I think we've decided this is not wanted as mlabs-tooling is unmantained

@euonymos Mlabs-tooling is an abondoned haskell.nix wrapper. The current nix setup without mlabs-tooling is better.


sass (re)imports breaks webpack

Just spent a lot of time tracking down this issue and posting for anyone else running into this (occurred after merging changes today):
https://github.com/jtangelder/sass-loader/issues/100
Basically, for example, if you have a reusable settings.scss and include that in multiple imported scss, webpack hangs in producing the CSS and JS with no error or message given. I am unfortunately loading them within my main app.scss and not using the better import way.

Thank you for reporting.

@steida have you found how to fix that issue?

No, but I am not creator of webpack nor sass-loader, so it's not up to me to fix it.


Playground links reverted to https://github.com/vishesh

Perhaps the workflow issue has reappeared #31 #32 ?

@vishesh

fixed


Company logo on each slide / header

Hi,
Is there any possibility to add a global header on each slide? For the presentation I want to add logo and footer information to each slide globally.

Hi Michal, it is possible.

Please download this zip file again: https://webslides.tv/webslides-latest.zip
Go to /static/css/base.css: Remove "opacity: 0" header[role=banner] (line 1259)
Add a footer outside of the  element

Hello,
Although this solution adds a header, I see from inspecting the elements that the article still takes the whole page. How does one set it so that the "article" and "section" elements starts below the banner instead of ignoring the nav header?
This is the best looking web-based slide show on the internet btw. Thank you so much jlantunez et al. it is opening some doors for my creativity.

Hi @eddy-ojb,
just change the header position to relative.


Update README.md

Added all possible animations convenient for quick use!

I appreciate this, dude! I'm going to leave it out though because I don't see myself keeping that list maintained personally. I think the primary scss file serves as a nice index for all the animations that are available out of the box. :)


BUG:Not Proper margin in scroll to top button.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

Here as we can seen there is not proper margin it needs go give margin from bottom.
I will fix it.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Kalivarapubindusree please assign me.


Reset Wizard?

How do I reset the wizard upon submission?

I join issue. I have to call location.reload() in onFinish. Lost all asynchronous. Trigger 'click' for 'a[href=tab]' does not make sense because onTabClick disable in my case.

Cant get your solution to work either @shamanis !
Has anyone else figured out something? Author?

I'm using reactjs with this.  My work around was to store the original dom and its children in an instance variable. Upon submission or cancellation, I just restore (replace) the modified selector with the original dom.

@jeffhoang @kheide @shamanis  there is a method called resetWizard


Modified SendCeleryMessage under amqp_broker to use queuename

Modified SendCeleryMessage under amqp_broker to use queuename
Using QueueBind method as only default exchanges allow for routing key to be equal to the queuename by default.
Continuation from issue #137

No longer relevant


chore(starknet_integration_tests): use available ports for rpc state reader

Stack:

#2796
#2795
#2794
#2789
#2788
#2787
#2786
#2781 ⬅
#2780

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is

✓ Commit merged in pull request #2796


how to handle large data set

Hi, I have a large data set loaded to combobox, around 6K items, it shows up OK.
But when I start to type with autocomplete on, the browser freezes as jquery script runs too long. It seems too many DOM manipulation happened.
Is there any suggestion or idea how to handle this? Thank you

I have actually managed to extend the existing search code to comply with larger datasets - tested with about 2k items. Would you be interested? @DeanHe

Thank you, I figured out a workable way by binding ajax call onto typing event in the plugin code, which returns 30 matching entries based on current combobox value. How do you handle it ? @synweap15


Update Azure Function integration article

Summary of the changes / Why this is an improvement

Added a few more hints on where to find certain settings/what exactly to change in the config files
Provide a concrete test payload
There were a few issues with the actual function definition:

Some undefined variables were used
Timestamps were not handled correctly
The structure of the context object likely has changed over time

Checklist

[x] CLA is signed

Thanks for the feedback @amotl, I've pushed an updated version with your changes incorporated.

Dang you were just a few seconds too fast! 😁

Too bad, I'll create a mini follow-up pull request for those missed changes.


ENYO-2251: Modify VideoPlayerAccessibilitySupport to read VideoInfo

Issue
When the videoplayer playback controls are hideden, screen reader reads channel & video information.
Cause
The moonstone videoPlayer is spottable component, so screen reader reads content including child component.
If you click down button, player control is shown and spotlight focus is moved to player control.
If you click up button, channel & video information is shown. At that time, if you click down button again, player control is hidden and spotlight focus is moved to moonstone videoPlayer.
Then, screen reader reads channel & video information content because moonstone videoPlayer is channel & video information's parent and spotlight focused.
Fix
Add accessibilityDisabled: true when player control is hidden.
In addtion, person In charge of UX requests that screen reader reads channel & video information when it is shown, so I add accessibilityAlert:true when it is shown.
Enyo-DCO-1.1-Signed-off-by: Bongsub Kim<EMAIL_ADDRESS>

Omitting the change to moonstone for the time being.


Provide support for "wordpress-core-implementation"

Summary
Add support for "wordpress-core-implementation" virtual package https://packagist.org/?query=wordpress%2Fcore-implementation
Motivation
Out there, there are several Composer packages providing WordPress files. The most popular (at the moment) being https://packagist.org/packages/johnpbloch/wordpress-core.
That package has a provide configuration that implements the "wordpress-core-implementation" Composer "virtual package".
A few other packages are following that example (https://packagist.org/providers/wordpress/core-implementation) and if this package would do that, that would meant to have a sort of de-facto standard in the community.
Thanks to that, packages that require WordPress (e.g I maintain WP Starter) could require wordpress/core-implementation leaving consumers the choice to install which actual implementation to use.
Additional context
This is the approach that PSR standards are following. For example, for PSR-3 there's https://packagist.org/providers/psr/log-implementation which is a "virtual package". Any real package that contains an implementation of PSR-3 can declare to "provide" the virtual package, and packages that require a PSR-3 implementation can depend on that virtuual package instead of a specific logger implementation, leaving their consumers the choice to use any implementation they want.
(Suggested reading: a old-but-good article on the topic: https://matthiasnoback.nl/2014/10/composer-provide-and-dependency-inversion/)
How to
To support "wordpress-core-implementation" virtual package the only thing to do would be to add something like:
"provide": {
    "wordpress/core-implementation": "dev-master"
}

to the generated composer.json.
See how that's done in johnpbloch/wordpress-core.
I could send a PR if interested.

I could send a PR if interested.

Yes please 😄 had no idea about this feature. No reason not to add it

The most popular (at the moment) being https://packagist.org/packages/johnpbloch/wordpress-core

Looks like this package has surpassed it in weekly installs 🎉

Added, but of course this will only apply to new versions going forward.


Added colored output

Added colored ouput for the severity to make it easier to visualize.
Bumped version 1.12 to 1.13

Added also a header to be sent on the requests with the Title of the check, to make the debugging easy. Screenshot from Burp Suite:

Hi @dolevf ! Any updates?

Hi @dolevf ! Any updates?

Thanks for the PR!
I am not too sure about the header thing. I am not familiar with any security tool thst adds a dedicated header for each test case. What's the motivation?

Hi @dolevf ! The idea came after testing an endpoint which returned a ton of vulns.
having the header and sending everything through the proxy helped me debugging a being able to identify the PoC used for each vuln

Perhaps a debug flag (--debug, -d) that adds this header so it isn't there by default makes more sense?

@dolevf i think it’s a great idea. I’ll work on that

Ready to review. Added the -d or --debug flag to include the header for debugging purposes.

Appreciate the work!


WIP: Feat/name page elements

I have implemented the store for this feature, but the frontend is not implemented yet. And I have questions.
See issue: #205

Restructuring branches and pull-requests, so closing this PR now, reopening later.


recipe_anav13jclim.yml broken

Apparently there is a missing setting in the diagnostic section of the recipe.
See logs:
main_log.txt
log.txt

I've also got some local changes for the Anav diagnostics I had to make for CMIP6, such as removing a hardcoded "CMIP5" in the plots and some unit issues when it runs through tos - Do you want me to make a pullrequest for them before the release?

Same branches at DKRZ.

Which DRS did you use?
I have to use the ETHZ, otherwise I get missing data.

Hmmm, that's weird. I used DKRZ (I have my own link tree that has all data available), but I will try with the ETHZ data now.

The ETHZ tree is also DKRZ integrated with missing data and another drs.

Tried again with ETHZ and it ran successfully.
Not sure what happened...

I've also got some local changes for the Anav diagnostics I had to make for CMIP6, such as removing a hardcoded "CMIP5" in the plots and some unit issues when it runs through tos - Do you want me to make a pullrequest for them before the release?

Yes, please.


Possibility to leverage SUMO as simulation backend

Hi, I come from the ITS community and found this project amazing for experiments involving human participants. I'm curious why ABStreet reimplement simulation backend while SUMO is already widely used for experiments?
Furthermore, is it possible to use SUMO as another simulation backend? It would be very helpful since there are plenty of algorithms built upon SUMO

Hi -- great questions!
What's happened so far: About a year ago, I was starting to explore interoperability between A/B Street and SUMO. In #434, I managed to initially convert SUMO's network format to A/B Street's map model. There were some problems, but it could be possible to get this to work. If we had continued down that path, the few different travel demand models that SUMO has could maybe be used as input to A/B Street's simulation too.
Why implement a new simulation in the first place? Partly for performance -- A/B Street deliberately sacrifices details like acceleration to have a faster and simpler discrete event model. Partly technical -- A/B Street has no non-Rust dependencies in most components, letting us compile to WebAssembly and run on the web. There may be a way to compile SUMO's C++ backend to WASM, or run it remotely through TraCI, but it's not obvious. Also partly historic -- I've known about SUMO and MATSim as the big open source simulators since undergrad, but when starting a new project with very different goals, I've found it easier to start something from scratch, rather than try to integrate with a very large existing codebase.
Would it be possible to use SUMO as an alternate simulation backend? Maaaybe. It would involve:

attempting the reverse transformation from what was done a year ago: transforming A/B Street's map model to SUMO's network format
deciding how to integrate with SUMO -- make bindings directly to the C++? Go through TraCI? (TraCI is a custom binary protocol that I don't want to implement; also roughly a year ago, there was vague discussion about a next version of TraCI using protocol buffers or something else that auto-generates many language bindings for free)
reconciling the UI -- currently the A/B Street one assumes different properties, queries, etc are all possible to watch, debug, and interact with agents in the simulation. SUMO exposes a different per-agent API.

There's finally the question of what benefits there'd be from integrating with SUMO, since it would have such a high cost. It would be nice for the simulation layer to be pluggable, but I didn't intend that from the start, and it'd be lots of work to get to that point. If SUMO more or less solved all the sources of unrealistic gridlock in traffic simulations -- coming from parking capacity and travel deand models being wrong, traffic signal timing needing tuning, and dealing with funky geometry and complex junctions -- then I'd strongly consider integration, because solving all of these problems is really hard. But last time I imported some areas that A/B Street has trouble simulating, I also saw similar gridlock in SUMO.
I have no plans to integrate with SUMO, but I'm open to the possibility, or exploring other ways to share effort better. I'll also mention that I haven't really been focusing on the traffic simulation part of A/B Street for quite a while -- it's not really that important for the project's core goal, which is transportation planning focused on moving away from motor vehicles. In the past year or so, we've focused on lots of more focused tools that don't need simulation at all to do something useful -- bike.abstreet.org, 15m.abstreet.org, and now ltn.abstreet.org

Thanks for the quick reply! So generally speaking, A/B street implements its own simulation because:

It needs a faster simulation with fewer details since it focuses on solving problems different from SUMO,
The way to integrate SUMO while exposing a web-based interface is unclear
Did I understand it correctly? If so, could you further explain:
What exactly are the problems A/B Streat trying to solve and how does it make using SUMO simulation unworthy? At the first glance, I recognize A/B Streat as a tool to analyze impacts of small change (lane directions, phase durations) on the city network, but that means using solid (or at least accepted by the community) simulation is important.
Could you give an example that explains why going through TraCI is not an obvious option? Since one can run sumo without sumo-gui, I suppose using TraCI or a similar mechanism to bridge a frontend with libsumo is a quite normal choice, or did you mean some functionalities that are provided by other tools, such as netconvert is not easy to integrate?

The simulation in SUMO is not perfect, of course, but It has been widely accepted by the community. By accepted I mean, if you use SUMO as the experimental environment in a submitted paper, you will hardly be challenged by reviewers🤣
Most important, it attracts quite a lot of resources and is continually improving. Would that be nice if we could just reuse it and focus on problems we want to solve?

What exactly are the problems A/B Streat trying to solve and how does it make using SUMO simulation unworthy?

That has changed over time. What you said was true originally. https://a-b-street.github.io/docs/software/ungap_the_map/motivation.html better answers what we're aiming to do nowadays -- facilitate better communication is a big one. If a traffic simulation is unrealistic or gridlocks for technical reasons, that's a distraction.
Another way of looking at it: when new cycle or public transit infrastructure is successfully designed / funded / built, is a detailed microsimulation useful?

Could you give an example that explains why going through TraCI is not an obvious option?

Since a core part of A/B Street's purpose is easy usage by the public, continuing to work in web browsers without any installation is critical. So how would that work with SUMO? One option is to run the SUMO backend remotely and stream data through the network, then handle the UI in the browser. What's the piece of Rust code that talks to SUMO?
One option is making a Rust<->C++ FFI, probably with libsumo. Another is using, TraCI, but it's a custom binary protocol. I don't particularly want to spend my time implementing this. If TraCI had support for something like protocol buffers, this support would come for free, as well as letting somebody talk to TraCI in Python, Java, Javascript, anything.

By accepted I mean, if you use SUMO as the experimental environment in a submitted paper, you will hardly be challenged by reviewers

Definitely so. Only very recently have I rejoined some form of academia; for the past 4ish years, I've had no motivation or interest to write a peer reviewed paper. :)  If somebody wants to peer review any aspect of the project, they open an issue here and we discuss it publicly. (And that model has been much more personally satisfying than my few experiences with peer review back in undergrad -- take a look through the issue tracker to get a sense of some of the awesome ideas and collaborations that've come out.)

Would that be nice if we could just reuse it and focus on problems we want to solve?

Of course, but that integration doesn't come for free. If there's another software engineer willing to focus on this problem for a few months, I'd happily support and assist them. But there are like 10 other major things I find more important to do first, so I'm not likely to ever get there. And now A/B Street is not my only focus work-wise.

I see, so the major problem is that TraCI support only python, and the benefits of implementing a Rust version are not enough.
I might be able to help after March 2022, what would you suggest to do first? Maybe implement a fork version of TraCI using PB and grpc?

What SUMO missing are a friendly interface that allows users to modify the traffic environment (changing the phase of the traffic light, switching the direction of a lane, etc) interactively and a beautiful diagram to compare the effects of modifications.
What I want to build is an online platform, where people driving through certain intersections could submit better plans for traffic lights, if they found the current setting is not optimal, and see how their setting will affect the situation immediately.

That sounds like one of the original visions of A/B Street. :) I'm pretty happy with the traffic signal editor we wound up with; @muzlee1113 and I went through many iterations and user testing for it.
To rain on your parade a little bit, a few complications...

the default signal timing in A/B Street is decent for grouping movements, but 30 seconds is always hardcoded. Ideally somebody using the online platform would start with the real signal timing, or a better default guess. SUMO probably has much better heuristics.
Many signalized junctions are represented as multiple pieces, like https://www.openstreetmap.org/node/41527456. Simplifying these into one logical intersection and traffic signal is doable, but hard. https://a-b-street.github.io/docs/tech/map/geometry/index.html#intersection-consolidation
A/B Street's UI doesn't directly map onto SUMO ("reconciling the UI -- currently the A/B Street one assumes different properties, queries, etc are all possible to watch, debug, and interact with agents in the simulation. SUMO exposes a different per-agent API." from earlier). It could be much simpler to build a new dedicated UI on top of SUMO.

Thanks for the detailed explanation! Now I understand the gap between A/B street and SUMO, it did seem easier to build a new UI on top of SUMO...


Feature/ndc country changes

Change dropdown title to View full text
Change button text and position: Fix for tablet and mobile also with and without search
Add back button: Back button text was a bit difficult to get as react-router doesn't provide a previous location prop. So the process is the following:

In app.js store the previous pathname and search into the sessionStorage. We don't want it cleared on reload.
Retrieve this data on the ndcs country and assign the label depending on the pathname with some exceptions filtered by a regex array.
If the previous location is one directed from the same page, an error or similar, clear the location and dont show the back button.

Extra:

Fix Lybia crashing on country compare: http://localhost:3000/countries/compare?locations=LBY

:eyes: checking

There is something wrong with back button :( When we click at the country, then we will pick NDC/INDC from the dropdown and then we click back in the browser, the Back to LTS Explore is not there and dropdown is out of the page layout:

This back button has some limitations. The problem is if you come from a page that is directly linked from the ndc country page. You should get the previous back link. You are right about the dropdown. Its out of the grid. Will check that

Hey @Bluesmile82, it looks great to me, good job with this Back button :+1: Check my comments above and let me know when you'll apply these changes ;)

This PR is now added to ndc-country-changes branch


Orbit slider fallback for no javascript users

Hi, I just noticed that orbit sliders don't work without javascript (duh...)
Now I'm wondering if there's a known CSS fallback for no js users. For example displaying only the first slide, or something.
Does anyone know how to do that ?

@MarineLB There isn't a builtin fallback, but if you wanted to you could take advantage of the no-js class... the way that works is you put a no-js class on your html tag, and then the JS if it runs removes it... you can then have styling logic based on if that class exists.  So you could have something like

///...

and then in your css
.no-js .orbit, .orbit-fallback {
  display: none;
}
.no-js .orbit-fallback {
  display: block;
}

Anyway gonna close this issue as I don't think this behavior is something the framework needs to specify, but I think something along the above should get you where you want to go


Support for css module @value?

Hi, thanks for this aweseome plugin!
I'm currently using css modules and found that @value rules are not being transformed, for example
@value foo: 16px;
.bar {
  font-size: foo;
  line-height: 32px;
}

is transformed to
.bar {
  font-size: 16px;
  line-height: 2em;
}

where the @value variable is missed out. It would be great if @value is supported.

Is that a PostCSS plugin that makes @value work? I'm wondering if you can just change the order and run this plugin last.

The @value support is enabled by css-loader with a config { modules: true }. After some digging I found that with this config it applies its own set of plugins for postcss (list can be found here").
So I guess it's up to css-loader to support passing custom css plugins, and there's probably nothing this plugin can do. Thanks for the reply! Closing this issue for now.


Question regarding exactly how to authenticate toggl

So I spent 3 hours trying to authenticate my toggl api token in the "me - API token.tsk.xml" after importing it into Tasker and I have no idea now. Do I paste in my api token after the colon? Like this (3456 is an example of my token) -
<EMAIL_ADDRESS>Is that correct?
And once that authentication Tasker task is set up, do I have to run it everytime before running one of the toggl task?
And do I have to type in my api token into each restask? Since I do see the password box under the "auth".
I'm just so confused haha. Thanks.

Hey there!
What you want to do is to create a global Toggl variable called %TOGGL_TOKEN and assign your API key to it.
Global variables are created like normal variables, but in ALL_CAPS. This is the setup tasker-toggl is expecting

The two available authentication methods are either just %TOGGL_TOKEN or both %TOGGL_PW and %TOGGL_EMAIL.
Bar one /me example which, all other tasks use the API token as an authentication method, so you only need to set the variable itself (no other change in RESTask tasks is needed).
You can find more info about how the Toggl API authenticates here: Authentication

I'm unable to import any of the .XML files into Tasker -- when I long-press Tasks>Import and select your .XML file, Tasker says "Error: bad data format." What am I doing incorrectly?


Feature#47: As a user I want to check all customers - findAll Customers REST endpoint

Define matching type reference to avoid LinkedHashMap mapping and exception:          objectMapper.readValue(entity.getMetadata(), new TypeReference<>()

Check hibernates types for ORM v6.4.x to fix H2 JSON translation with escape characters:
https://github.com/vladmihalcea/hypersistence-utils


html entities in subject

Hi there,
I've noticed that messages getting sent out using a subject.pug email template have html entities in them (ie if there's a " it converts it into a &quote;).  Any suggestions on how to resolve this?  I've tried to build in a replace " with " within the pug template but the conversion must be happening somewhere later on.
Thanks!

any updates on this? Having the same issue here.

I confirm that @niftylettuce's solution works.
Why isn't this in the Pug documentation???

it is https://pugjs.org/language/attributes.html#unescaped-attributes


License

Hi,
May I ask you to provide a license with your code, or is your code intentionally unlicensed?
See https://choosealicense.com/no-permission/.
Best regards, Adriaan

done


Add HuggingFaceHubBucketFSModelTransfer with save_pretrained

Background:

Currently, we use from_pretrained with the cache_dir option to load the model and upload the cache directory to the BucketFS
The current approach in general works, but seems to check each time online if the model exists,  we have access and  we have the newest version
This is not possible in some deployments
To solve this issue, we could follow the following example using save_pretrained which stores the model into a directory which we then could upload
We can then load the model with from_pretrained from a local path
For this we first need a download function which uses save_pretrained

Acceptance Criteria

[ ]  Add a duplicate of the existing model download which uses the save_pretrained function and
[ ]  add tests for the new download functionality

planning and splitting ticket: 0.5 pd


Create package directory

Part of #1830

Create package directory in the root of the repository which will contain common things that will be used during package creation.

As we discussed it personally, we do not want to do this, so I close this pull request for now.


Add setting for manager GUI updates

I wanted to try and help here, so here's a quick PR to add a setting that allows the user to configure the tick rate used for the manager updates.  Feel free to ignore or skip the linting updates that came through for settings (good 'ol VS code)

I had an uncommitted change with the setting, and after reviewing what you did (and what I initially did as well), setting it as a runtime-global setting with how I'm handling initializing the tick isn't safe, because there's no safe way to un-register and re-register the script.on_nth_tick handler without potentially nuking the mod's primary script.on_nth_tick handler if they happen to be registered on the same tick...
With that being said, for now, I'm setting mine to startup and I'll have to probably interface with Mami for a better way to handle it, because I'd like the setting to be a runtime-player setting, but that makes it more complicated, as then we'd have to check every tick if a player's gui needs to be refreshed (including manually clicking the refresh button, which is another unsolved issue I have right now), and doing it that way.
I appreciate the help, though! It's unfortunate that I happened to finally find the tutorial on mod settings and I'm dumbfounded as to why I didn't come across the settings.lua file sooner...

That makes sense. And definitely sounds safer to do it the "right way." Thanks for the update!


not works

i use atom 1.7.3 i dowload the packages and not works, i restart atom and no

can confirm, after updating to 0.23.0 the package stopped working.

I got the same issue.

same

Your problems are most likely related to #128

I also have to use the legacy version to make plugin work.

I have to use the legacy mode as well, using a Danish/Nordic keyboard :)


[Suggestion] Add URL to object info

I'm currently using storage-kit with the S3 Package. My usecase is uploading a user profile image. After uploading an image I want to be able to store the url to the uploaded image along with the users info in my databse.
ObjectInfo however only returns file name etc. I would be nice if we could add the whole URL to object info so it can directly be stored in the database.
The following snippet further illustrates this issue:
return req.withStorage(to: .s3) { storage -> EventLoopFuture<ObjectInfo> in
                return try storage.create(object: fileName, in: "bucketname", with: image.data, metadata: nil, on: req)
                }.flatMap(to: User.self) { info in
                    user.imageURL = // URL
                    return user.update(on: req)
                }.map(to: HTTPStatus.self) { _ in
                    return .ok
            }

Where it says URL I want to set the url of the item I just uploaded. Because it isn't returned in ObjectInfo I could construct it myself. But some of the info I need to construct the imageURL is only available in the storage object returned from req.withStorage(to: .s3) { storage. So it's not available in the scope where I'm updating the users info.

@jimmya your image url should be "(bucketname)/(fileName)" right? or I missing something?

The whole url is: region.host + bucket.finished(with: "/") + fileName but region.host isn't available in this scope. It's only available in
return req.withStorage(to: .s3) { storage -> EventLoopFuture<ObjectInfo> in
    return try storage.create(object: fileName, in: "bucketname", with: image.data, metadata: nil, on: req)
}

But not in
}.flatMap(to: User.self) { info in
    user.imageURL = // URL
    return user.update(on: req)
}

Because it's a property of storage in the first block of code.

make sense... for now use storage.region, is a public property in https://github.com/anthonycastelli/s3-storage/blob/master/Sources/S3Storage/S3Adapter.swift
I will find some time tomorrow to include the absolute url in the ObjectInfo struct


Issue #187 use crc instead of absolute path to crc

Tested the developer terminal and it works as expected.


Panel.clip() does not work

Hello,
I tried to use the clip function on a basic Panel but it seems that the axis management is not working as expected. I believe this is an update to issue https://github.com/pydata/pandas/issues/8344
import numpy as np
import pandas as pd

data = np.random.randn(3, 4, 5)
panel = pd.Panel(data)
panel.clip(0, 1)

If I run the script with pandas 0.16.2 on python 2.7.10 and 3.4.3, I'm getting the following error:
.../pandas/core/generic.pyc in clip(self, lower, upper, out, axis)
   3052         result = self
   3053         if lower is not None:
-> 3054             result = result.clip_lower(lower, axis)
   3055         if upper is not None:
   3056             result = result.clip_upper(upper, axis)

.../pandas/core/generic.pyc in clip_lower(self, threshold, axis)
   3103             raise ValueError("Cannot use an NA value as a clip threshold")
   3104
-> 3105         subset = self.ge(threshold, axis=axis) | isnull(self)
   3106         return self.where(subset, threshold, axis=axis)
   3107

TypeError: f() got an unexpected keyword argument 'axis'

Thanks a lot for all your efforts!

this is a duplicate of #8344


Non-intrusive way to add new packages?

Hunter is a nice project that I had keeping looking for longtime. However, when we want to add a new library with dependencies, we need to hunterize it, which is an intrusive way.
Is there a possibility to add library with dependencies directly from a trusty source?
Then let it be aware of hunter by passing some argument to cmake, for example, passing a cmake initial-cache file.
I used to use ExternalProjet_Add() to manage large project. Those libraries with well-written modern-style CMake files can generate <libname>-config.cmake file. I install them to the same place by indicating ${CMAKE_INSTALL_PREFIX}. So what I need to do is to note paths of all these <libname>-config.cmake file to a cmake cache file third_paty.cmake and store paths in ${LIBNAME_DIR}.
By providing  third_paty.cmake , for my project or other libraries with dependencies, I can run cmake .. -C third_paty.cmake to guide all find_package(), maybe change it to CONFIG mode when necessary.
The advantages of this way:

I can add any library with well-written modern-style CMake files, without changing it
I can write my project with normal cmake file, without custom cmake functions. so I can publish my code directly, other users can chose their way to configure it
I can change to the latest version of a library by changing URL, instead of merging lastest version to my fork

Disadvantages:

I need repeat ExternalProjet_Add() every where. It's better to have some template for this(so we have Hunter now)
I need to teach some library to use CMake properly, to generate <libname>-config.cmake. So I should create a patch for CMakelists.txt, or fork it to make change.

Personally, I think it's better to popularize the modern-style CMake files to other libraries than to modify CMakelists.txt for hunterization.
So what do you think? Or is there any other reasons that make a non-intrusive way impossible?

Personally, I think it's better to popularize the modern-style CMake files to other libraries than to modify CMakelists.txt for hunterization

That is definitely worthwhile, but for now it seems we need something intrusive to make things play well together.  In practice, it seems unlikely that libraries will just evolve to be more compatible without a specific framework or standard to support that (hunter or otherwise).
In general, as you suggest, well written modern CMake packages can be used directly in hunter with some luck.  I believe there are a few hunter projects that point directly upstream.

Or is there any other reasons that make a non-intrusive way impossible?

Apart from the challenge of learning and writing effective/scalable CMake itself, I think one of the fundamental/inevitable roadblocks that will arise in complex projects that lack a shared versioning system such as hunter, is dependency conflicts (i.e., "one definition rule" issues: libA -> {libB,libC} ; libB -> libPNG v1.0; libC -> libPNG v2.0).

I think the problem of CMake is the lack of good tutorials and lack of standard way to write CMakelists.txt. Maybe there will be some tools to generate CMakelists.txt. But this will make CMake become just a cross-platform version of Autotools.
This remind me of this phrase in Autoconf tutorial:

Those who do not understand Autoconf are condemned to reinvent it, poorly.

Maybe the complexity of Autotools is necessary for the messy GNU world. And CMake has not yet evolved to a complex tool which can well handle the messy cross-platform world.
For dependency conflicts, project Ryppl has a plan for it, using the boolean satisfyability problem. But Ryppl is now dead.
However, I think dependency conflicts is not really a big problem for C++ developer. For a complex project, maybe it worth to spend one day to pick a correct library version that makes every one happy, or modify some code to make it compatible. While the problem is often that CMake always search weird places quietly(including Windows' registry, Oh My God), and find wrong version of libraries. And projects like Hunter can help you keep everything in a sandbox, which doesn't disturb the system, nor disturbed by the system.

Yes, I have been thinking about this as well. I experimented with overriding the find_package command for a project to use hunter, i.e.
function(find_package)
    hunter_add_package(${ARGV})
    _find_package(${ARGV})
endfunction()

That way I didn't need to change all the find_package commands.
It would be nice to be able to badge a project with "Modern CMake" or something like that to show that it satisfies some requirements for installation as a proper TPL where find_package(X CONFIG) will work later. Then hunter could work directly on it. Another possibility if the repo in question is GIT, to use git subtrees or git submodule in a "wrapper" repo. I think this might be preferable to a fork. The repo wrapper would be really small, essentially just
cmake/HunterGate.cmake
CMakeLists.txt (some commands to Hunterize then add_subdirectory(link))
link/ --> subtree of repo

You could have a branch for each tagged version of the master repo.

You can override CMake's internal function ? That's interesting to know. But how do you define _find_package() ? Can you use the original find_package() again to define _find_package() ?
I did these 3 experiment:
This one works.
cmake_minimum_required(VERSION 3.6)
function(_message)
  message(${ARGV})
endfunction()

function(message)
  _message(${ARGV})
endfunction()
message("hello")

This one seems leads to infinity loop, and CMake crashed
cmake_minimum_required(VERSION 3.6)
function(message)
  _message(${ARGV})
endfunction()

function(_message)
  message(${ARGV})
endfunction()
message("hello")

This one also crash CMake
cmake_minimum_required(VERSION 3.6)
function(message)
  message(${ARGV})
endfunction()

message("hello")

So you can redefine find_package using the internal find_package
What a good news

Yes, a colleague told me that although CMake allows redefining a function called NAME, _NAME will always refer to the CMake internal version.

I used to use ExternalProjet_Add() to manage large project. Those libraries with well-written modern-style CMake files can generate -config.cmake file. I install them to the same place by indicating ${CMAKE_INSTALL_PREFIX}. So what I need to do is to note paths of all these -config.cmake file to a cmake cache file third_paty.cmake and store paths in ${LIBNAME_DIR}.

In this case you don't need LIBNAME_DIR, you just need:

set CMAKE_PREFIX_PATH to the path which is used for CMAKE_INSTALL_PREFIX
install *Config.cmake to some default location (like lib/cmake/<package>/<package>Config.cmake, see find_package)

This is what Hunter do:

https://github.com/ruslo/hunter/blob/ca3adc81c78cdba67bc1567088d0fba309df2fb8/cmake/modules/hunter_finalize.cmake#L80

Install layout:

http://cgold.readthedocs.io/en/latest/tutorials/install/layout.html

Is there a possibility to add library with dependencies directly from a trusty source?

If you're worring about trust you should think about two possibilities:

Make you fork trusty. You can use the fork only you have access to, or you can use 'hunter-packages' organization and I can set you as an only maintainer
Send hunterization patch upstream. See HUNTER_ENABLED and backward-compatibility feature: https://docs.hunter.sh/en/latest/overview/compatibility.html

Personally, I think it's better to popularize the modern-style CMake files to other libraries than to modify CMakelists.txt for hunterization.

It's completely different things. Hunterization is adding HunterGate and calling hunter_add_package, modern-style CMake files is must-have feature in projects. It doesn't depend on particular package management system. CMake updates of code which is not related to Hunter should not be send to the fork, but should be send upstream:

https://docs.hunter.sh/en/latest/creating-new/cmake-dependencies.html#maintenance ("Do not push general fixes and improvements, do push them upstream instead")

So what do you think? Or is there any other reasons that make a non-intrusive way impossible?

If we are talking about modern-style CMake package, then only problem with non-intrusive is about DRY. Descibed here:

https://docs.hunter.sh/en/latest/overview/automatic.html

It is a big deal for the project that is bigger than 'hello-world' application :)

Yes, I have been thinking about this as well. I experimented with overriding the find_package command for a project to use hunter

There are two problems with it:

what if somebody want to override find_package too in their project for any reason?
package may not always be found with find_package, users can do 'include(Find*)' (which I personally think is wrong)

Also note that not all the Hunter packages is C++ libraries, there are extra sources, CMake modules, etc. which doesn't fit 'find_package' scenario:

https://docs.hunter.sh/en/latest/overview/anything.html

Closing inactive discussion.


Yield is broken

From my understanding, the following code should turn on an LED but it doesn't:
let count_cell = Cell::new(0);
tock::syscalls::yieldk_for(|| {
    let count = count_cell.get();
    count_cell.set(count + 1);
    count > 0
});
unsafe { tock::syscalls::command(2, 3, 0, 0) }; // Toggle first LED

There are no kernel panics and the yieldk loop seems to be inactive...
Any idea what could be the problem? Did I make a mistake?

I'm not 100% sure whether I understand the example correctly. For me 'count>0' evaluates to 'false' (in the first run).

Moreover, you need an event to wake you from a yield. I don't know if the body of yieldk_for even executes the first time if there hasn't been an event.

Hmm... I am pretty sure there is some sort of problem but maybe not in the yield function.
@brghena Maybe you could have a look at https://github.com/torfmaster/libtock-rs/blob/feature/unsafe-cleanup/src/console.rs? When I write to the console, the program gets stuck in line 90. First, I suspected that the callback in line 54 is not called but I verified that this is the case. Besides that, I tried the following things:

Replace Cell<bool> by bool with volatile reads/writes
Query is_written() inside of yieldk_for
Query is_written() after replacing the yieldk_for by a 500ms wait

The value for is_written() always returned false although line 54 gets executed... Any ideas?
By the way, yieldk_for evaluates the closure first and if the closure returns false it yields and loops.

@brghena Before you waste your time: I am pretty sure that the subscriptions are broken. Let me check that first...

Okay, I found the bug. It's not in yieldk_for but in the types CallbackSubscription and SharedMemory. They lead to UB when a value is moved on the stack.
I am trying to solve that problem by making syscalls::subscribe consume &mut CB instead of CB but this turns out to be quite challenging. If you know of some bleeding edge Rust feature that can solve that problem, please let me know. I have heard that there is some stack pinning feature under consideration but I am not sure about the current state.

I believe the problem is that in subscribe, the callback value is being semantically moved, then a raw pointer to it is unsafely being converted to a temporary reference. So at the end of the subscribe function, the value will be dropped.
Instead, the callback value needs to be (logically) stored away somewhere, e.g., by calling mem::forget, or actually storing it somewhere... Conceptually, we want to be moving the callback into the kernel...

The problem is not that a CallbackSubscription<CB> can be dropped: The Drop implementation will unregister the contained callback CB, so there are no leaks.
Instead, the problem is that the current implementation allows CallbackSubscription<CB> to be moved on the stack. This must not be possible as the contained callback is borrowed by the kernel. Rust just doesn't know that.
The correct way would be to consume &'a mut CB instead of CB in subscribe and return a CallbackSubscription<'a> (with a phantom lifetime). In this way, Rust knows that the &'a mut CB must not be touched as long as the CallbackSubscription<'a> is alive.
Of course, this has an impact on the libtock API (which I consider far from stable anyway). The new API could look like this:
let callback = ButtonsCallback::new(|a, b| {
	/* Callback code here */
});
let buttons = Buttons::with_callback(&mut callback);

Being a bit more verbose, unfortunately, a change of this kind is unavoidable IMO.
My feeling is that we are very close to having a safe subscription/allow API for libtock-rs. I consider this as an important milestone as this enables us to remove always all unsafe code in libtock-rs.


cssCodeSplit set to false results in no CSS during build

Describe the bug
Setting cssCodeSplit:false in vite.config.js results in no CSS being emitted in the dist folder (as .css, or within the .js file). This happens for both JavaScript-imported CSS files as well as SFC style tags.
Since index.css is imported in main.js, I would have expected the contents of the file (as well as any template style tags) to be compiled into the built index.js.
Somewhat-related issue: #621
Reproduction
https://github.com/richardtallent/vite-issue-csscodesplit
This is just the default vite app with the addition of the vite.config.js file with the cssCodeSplit: false setting. The dist folder is included. None of the CSS in index.css makes it into the index.6fd83376.js file, nor are any CSS URLs loaded by that code or linked in index.html.
System Info

required vite version: vite v1.0.0-rc.9
required Operating System: Windows 10
required Node version: 12.19.0
Optional:

npm: 6.14.7
Installed vue version: @vue/cli 4.5.8

Just a quick note, I confirmed that this issue is still present in rc.13.

This is already fixed at 2.0. Please see migration guide https://vitejs.dev/guide/migration.html.

This is already fixed at 2.0. Please see migration guide https://vitejs.dev/guide/migration.html.

This is only partially in 2.0. It builds the hashed CSS file in the dist/assets folder, but the built index.html file has no <link> reference to the CSS file.
I confirmed this with a brand new npm init @vitejs/app using the vue + ts template. This used beta 12, so I updated to beta 15 and it has the same issue. Here's the vite.config.ts:
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
export default defineConfig({
	plugins: [ vue(), ],
	build: { cssCodeSplit: false, },
});

This is only partially in 2.0. It builds the hashed CSS file in the dist/assets folder, but the built index.html file has no <link> reference to the CSS file.
I confirmed this with a brand new npm init @vitejs/app using the vue + ts template. This used beta 12, so I updated to beta 15 and it has the same issue. Here's the vite.config.ts:
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
export default defineConfig({
	plugins: [ vue(), ],
	build: { cssCodeSplit: false, },
});


jishaku hide/show should also hide/show subcommands

The hidden attribute of a group command doesn't affect its subcommands.
Currently, after jishaku hide, jsk is hidden but the other commands still have their hidden attribute set to False. It has to directly depends from the environment variable

Subcommands staying visible is an intentional part of how hiding and showing the jsk command works. If this PR were to be merged, help jsk on the default formatter wouldn't show the subcommands, despite this being a very clear intentional attempt to show them.
I haven't seen hiding only the parent fail on the default help command and formatter. If the visibility of subcommands is affecting a custom formatter, that formatter should be adjusted to respect the visibility of parents.

This PR doesn't cover hiding or showing manually with jsk hide/jsk show, and since I've established why I don't think this will be implemented, I'm going to close this.


Fixes #661 Add unittests for Yarn

@clockfly @TomaszT Please use this PR rather than PR 911 since the latest changes have been extensive. UT tests have been preserved and suggestions noted below in PR 911 have been incorporated.

[X] From the code, you have ResourceManagerClientActor and AmActor. If my understanding is right, ResourceManagerClientActor is defined to bridge message between AppLicationMaster and YARN. If that is the case, then all events should be bridged by ResourceManagerClientActor, with no exception.

[X] About the message naming. In AmStates and AmActorProtocol, there are some message that is not easy to tell what it is about.

[X] AmActor should only accept message that it can understand, I do think no YARN class should be passed to AmActor. ResourceManagerClientActor should translate YARN mesage to message that AmActor can understand.

[X] The code seems has an assumption about the message sending order of different Actor. Ideally each Actor should be able to work independently, without assumption of other Actors.

[x] There are some style issue, like missing license header and declaring unnessary factory.

[X] In some Actor definition, there is no event handler defined, we are using the side effect of Actor to do something asyncly. If we don't have event handler, how about using future instead of Actor?

Design message flow:

YarnApplicationMaster on startup must instantiate both a AMRMClientAsync and a NMClientAsync and provide each with callback handlers. These two YARN clients handle ResourceManager and NodeManager messages respectively. The AMRMClientAsync is started in a separate actor described in 2. below. The NMClientAsync is instantiated within the YarnApplicationMaster. After creating the NMClientAsync within it's variable initialization the YarnApplicationMaster's preStart will instantiate a subclass of AMRMClientAsync.CallbackHandler called ResourceManagerCallbackHandler and put a reference to itself in this subclass. At this point one of the two clients the YarnApplicationMaster needs has been created (NMClientAsync) a provided a callback handler.

YarnApplicationMaster then creates a ResourceManagerClient actor and sends it the ResourceManagerCallbackHandler it initialized in 1.

When the ResourceManagerClient receives the ResourceManagerCallbackHandler it instantiates a AMRMClientAsync and gives it the ResourceManagerCallbackHandler. The ResourceManagerClient then sends a message back to the YarnApplicationMaster of AMRMClientAsyncStartup(status)

When the YarnApplicationMaster receives the AMRMClientAsyncStartup(status=success) it now knows that both YARN clients have been created and intialized. The YarnApplicationMaster then sends the ResourceManagerClient a RegisterAMMessage(hostname, port, trackingURL).

Upon receiving the RegisterAMMessage, the ResourceManagerClient will then make a synchronous YARN API call AMRMClientAsync.registerApplicationMaster. It then sends the response back within a RegisterAppMasterResponse to the YarnApplicationMaster.

Upon receiving the RegisterAppMasterResponse the YarnApplicationMaster creates a request for one or more master containers by sending a ContainerRequestMessage to the ResourceManagerClient.

Upon receiving the ContainerRequestMessage, the ResourceManagerClient calls AMRMClientAsync.addContainerRequest with the ContainerRequestMessage information.

The YARN RM will next notify the ResourceManagerClient that a container has been allocated by calling the ResourceManagerCallbackHandler.onContainersAllocated. Within this method a LaunchContainers message is sent back to the YarnApplicationMaster.

Upon receiving a LaunchContainers message the YarnApplicationMaster checks its internal state and may either ask for more masters or more workers. It then calls NMClientAsync.startContainerAsync providing the launch command.

The NMClientAsync callback handler NodeManagerCallbackHandler.onContainersStarted will then be called by YARN as soon as each container starts up. This callback handler then sends a ContainerStarted to the YarnApplicationMaster.

Upon receiving a ContainerStarted the YarnApplicationMaster checks its internal state and transitions to request workers if all masters have been allocated and launched.

TBD A Diagram describing the above flow.

@kkasravi
Thank you!
There are several comments that are still valid:
https://github.com/intel-hadoop/gearpump/pull/911#discussion_r30295523
https://github.com/intel-hadoop/gearpump/pull/911#discussion_r30295254
https://github.com/intel-hadoop/gearpump/pull/911#discussion_r30295954
https://github.com/intel-hadoop/gearpump/pull/911#discussion_r30296237
https://github.com/intel-hadoop/gearpump/pull/911#discussion_r30296437

@clockfly @TomaszT
ResourceManagerCallbackHandler now only messages ResourceManagerClient. No commands are launched from ResourceManagerCallbackHandler, rather a state change is sent to ResourceManagerClient which may then be sent to the ApplicationMaster and may result in a command being issued. This is more in line with Sean's suggestions.

Besides, please check the code coverage for YARN
https://codecov.io/github/intel-hadoop/gearpump/src/main/scala/org/apache/gearpump/experiments/yarn?ref=master

Current coverage is 66.03%

Merging #923 into master will change coverage by +3.01% by 9092358

Coverage Diff
@@            master    #923   diff @@
======================================
  Files          208     207     -1
  Stmts         4430    4580   +150
  Branches         0       0
  Methods          0       0
======================================
+ Hit           2792    3024   +232
  Partial          0       0
+ Missed        1638    1556    -82

Uncovered Suggestions

+0.39% via ...eServiceClient.scala#45...62
+0.39% via ...ne/PipeLineDSL.scala#72...89
+0.35% via ...licationMaster.scala#264...279
See 7 more...

Powered by Codecov

ResourceManagerCallbackHandler.getProgress is inherited from AMRMClientAsync.CallbackHandler and prevents moving container counts into YarnApplicationMaster.

First, the getProgress means whether the applicaiton is finished, instead of whether the container is allocated.
As Gearpump is long running, so the progress should always be smaller than < 100%.
I think we can adopt a very simple strategy here, we always set the progress to 50%, as the YarnAppMaster is already started, and it is long running.

How to check what will be the coverage after merging issue_661 into master?

@Tomasz
yo can check the codecov link

This is being closed and moved to #710 since state is now being handled.


Upgrade readme

This is a tracking issue for @jcbhmr to improve the readme. Draft PR is below. I accidentally committed to the main branch, so I need to split it into a upgrade-readme branch on my fork. Also need to strip out my optimism for v4.
So far: https://github.com/jcbhmr/publish-wiki-action/tree/d77ed92728f4a2cecce54a4396c9910e0cc655c1
/assign jcbhmr

This PR would... (checkboxes are draft progress)

[x]  Change the readme to be more visually appealing
[ ]  ❗ NOT change anything about the actual content of the readme (still in v3)
[ ]  Provide comments where things could go for v4 #19 #17 #18
[x]  ❗ NOT change anything else about the project
[ ]  Uses github table alignments to format the table

Why this is a good idea:

It has header image. Images are worth 1000 words
It has splashes of color. colors are good for human eyeballs to draw attention
It has more than one code example. This helps readers generalize instead of pigeonhole on a single usecase
It has a well-formatted table. This is personal preference of formatting.

I fixed my main vs upgrade-readme branch by doing:
git checkout -b upgrade-readme
git checkout main
# Now we reset the main branch to the upstream
git reset --hard upstream/master
git push -f

Opened #22. #22 closes this.


[Refactor] Add fieldId to TextResponse

Inspired from #328
There is always a need to bind the field id to the response whenever we are dealing with it (eg. EditObservationFragment / EditObservationViewModel)
Adding this field to the model would remove the extra need keep a Map<String, Response> at all places.
Next steps:

Cleanup code

I'll reopen when it's needed.


ActiLife counts in GGIR

ActiLife counts have become available in R. It would be great to investigate whether they can be calculated within the GGIR pipeline as a new acceleration metric to be used in GGIR.

Last year's implementation of BrondCounts in GGIR (no longer as external function) may be a good example for how to implement this.
BrondCounts are also an attempt to imitate ActiLife counts, so it would be good to make sure the GGIR documentation is clear about the differences and origin of each approach. For BrondCounts I have intentionally chosen not to refer to them as ActiGraph Counts because it will cause confusion given the various attempts to imitate ActiGraph counts in the past. We should also not exclude the possibility that the ActiGraph company will at some point release the algorithms that correspond to different older or newer versions of ActiLife or an algortihm to imitate the Counts produced by the earlier ActiGraph hardward (GT1M and earlier).
Some ideas:

Call the metric ActiLifeCounts but add a separate input argument to specify which algorithm should be used, e.g. BrondCounts2019 or Neishabouri2022, where Neishabouri2022 would be the default. In that way we allow for some future flexibility to integrate alternative count algorithms.
Call it "Counts" and add separate input arguments to specify the algorithm, because in that way we can include a much broader range of count algorithms, including the algorithms to imitate counts from other sensor brands. The disadvantage is that it will be harder to use multiple count-definetions in parallel.
Call it NeishabouriCounts and clarify in the documentation the link with ActiLife and the paper. This would be most in line with the current naming of BrondCounts in GGIR.


Incorrect hover shown on case class definitions

I'm not sure if this is the same root issues as #482 but I've been noticing that in some files where it's just a case class defined in Scala that the hover in sourcegraph just show def productElementName(x$1: Int): String instead of the desired case class. You can see this here:
https://sourcegraph.com/github.com/ckipp01/mill-github-dependency-graph/-/blob/domain/src/io/kipp/github/dependency/graph/domain/Detector.scala?L10:18&popover=pinned

There are also times that the copy method is displayed instead of the actual case case definition like you see here:
https://sourcegraph.com/github.com/ckipp01/mill-github-dependency-graph/-/blob/domain/src/io/kipp/github/dependency/graph/domain/DependencySnapshot.scala?L16:18&popover=pinned
And finally at times I've seen it displayed as object as well like you can see here:
https://sourcegraph.com/github.com/ckipp01/mill-github-dependency-graph/-/blob/domain/src/io/kipp/github/dependency/graph/domain/Job.scala?L18:18&popover=pinned
I assume these are all the same root issues as #482 because these symbols are all defined in that file, albeit synthetics. And sometimes going back on the same symbol will show you a random one of the three above.

Closing as duplicate of https://github.com/sourcegraph/scip-java/issues/482
The workaround is to emit LSIF directly with scip-java index --output=dump.lsif instead of going through the SCIP->LSIF conversion. The underlying issue is https://github.com/sourcegraph/scip/issues/52, which is to update the SCIP->LSIF conversion to handle more the scenario where multiple symbols are defined in the same location (example: Scala case classes)


Support for HASH key computation of Natural keys with null replacement

Is your feature request related to a problem? Please describe.
I am using [staging macros] for Natural(composite) key implementation with null replacement tokens for required and optional business keys . Hash Key should be computed from Natural(composite)key.
Describe the solution you'd like

BK1
BK2
BK3
Natural Key
Hash key  HASH(Natural Key)

ABC
1
null
ABC||1||-1
HASH(ABC||1||-1)

XYZ
null
100
XYZ||-2||100
HASH(XYZ||-2||100)

DEF
1.1
200
DEF||1.1||200
HASH(DEF||1.1||200)

Since Null columns replacement macro gets executed after derived columns macro , null replacement happens after the Natural Key calculation . Hence records with null business keys are lost before they reach null replacement stage . We need records with null replaced business keys as above.
Describe alternatives you've considered
Assigned Natural Key with null replacement with required and optional tokens as below in derived columns section of staging macro -
NATURAL_KEY:
-IFNULL(NULLIF(UPPER(TRIM(CAST(BK1 AS STRING))), ''), '-1')
-IFNULL(NULLIF(UPPER(TRIM(CAST(BK2 AS STRING))), ''), '-2')
-IFNULL(NULLIF(UPPER(TRIM(CAST(BK3 AS STRING))), ''), '-1')
Additional context
Overall if support for Natural Key and its hash calculation is provided it will be helpful , as it will be reusable with staging macro .

Hi @Kalyani5665. Thanks or this suggestion.
I may be misunderstanding but you should already be able to do this. The raw source columns from the source table are in-scope of the null key step of the stage() macro, you do not have to only reference derived columns.

Hi @DVAlexHiggs Thanks for quick update !!
I would like to present 2 scenarios for better understanding.
The only difference in both scenarios is how hash key is configured in the macro. In both scenarios , in output , hash key and natural key are not in sync.
Scenario 1:
Staging macro:
NATURAL_KEY:
- BK1
- BK2
- BK3
NATURAL_KEY_HKEY:
- BK1
- BK2
- BK3
null_columns:
required:
- BK3
optional:
- BK2
Hub macro:
{%- set src_pk = "NATURAL_KEY_HKEY"-%}
{%- set src_nk = "NATURAL_KEY"-%}
Output:
Code which run -
In derived columns part=>
CONCAT(
BK1, '||',
BK2, '||',
BK3
) AS NATURAL_KEY,
Above discards null records .
In null columns part =>
BK3 AS BK3_ORIGINAL,
IFNULL(BK3, '-1') AS BK3,
BK2 AS BK2_ORIGINAL,
IFNULL(BK2, '-2') AS BK2
Output in this scenario:

BK1
BK2
BK3
Natural Key
Hash key    HASH(Natural Key)

ABC
1
null
null
HASH(ABC||1||-1)

XYZ
null
100
null
HASH(XYZ||-2||100)

DEF
1.1
200
DEF||1.1||200
HASH(DEF||1.1||200)

As we can see above , records with null BKs are null since concatenation  happens before null replacement .
Please note hash keys for same records  are not null since hash keys refer to BKs with required and optional replacement tokens .
So the requirement is to have not null natural key i.e. correct natural key in the hub, in such scenarios.
Expected Output:

BK1
BK2
BK3
Natural Key
Hash key    HASH(Natural Key)

ABC
1
null
ABC||1||-1
HASH(ABC||1||-1)

XYZ
null
100
XYZ||-2||100
HASH(XYZ||-2||100)

DEF
1.1
200
DEF||1.1||200
HASH(DEF||1.1||200)

Scenario 2:
Staging macro:
NATURAL_KEY:
- BK1
- BK2
- BK3
NATURAL_KEY_HKEY:	NATURAL_KEY
null_columns:
required:
-  BK3
optional:
-  BK2
Hub macro:
{%- set src_pk = "NATURAL_KEY_HKEY"-%}
{%- set src_nk = "NATURAL_KEY"-%}
Output:
Code which run -
In derived columns part=>
CONCAT(
BK1, '||',
BK2, '||',
BK3
) AS NATURAL_KEY,
Above discards 2 null records . Hence in hashed columns only 1 record is seen for hash calculation.
In null columns part =>
BK3 AS BK3_ORIGINAL,
IFNULL(BK3, '-1') AS BK3,
BK2 AS BK2_ORIGINAL,
IFNULL(BK2, '-2') AS BK2
Hash calcualtion=>
CAST(SHA256(NULLIF(UPPER(TRIM(CAST(NATURAL_KEY AS STRING))), '')) AS BYTES) AS NATURAL_KEY_HKEY,
Output in this scenario:

BK1
BK2
BK3
Natural Key
Hash key    HASH(Natural Key)

DEF
1.1
200
DEF||1.1||200
HASH(DEF||1.1||200)

Expected output:

BK1
BK2
BK3
Natural Key
Hash key    HASH(Natural Key)

ABC
1
null
ABC||1||-1
HASH(ABC||1||-1)

XYZ
null
100
XYZ||-2||100
HASH(XYZ||-2||100)

DEF
1.1
200
DEF||1.1||200
HASH(DEF||1.1||200)


Add blog post about using templating engine to process AsyncAPI document

Title should probably be:

Nunjucks templating explained for the AsyncAPI use case
AsyncAPI: A nunjucks templating use-case

The sub-headings of form What x is? should probably be:

What is X?

The sub-heading: Nunjucks basics shown on examples should probably be one of:

Nunjucks basics shown by examples
Nunjucks basics by example

No other comments! Good read ;D!

@RobertDiebels thanks for hints. I improved the headings and also changed the title, to something different that after googling seemed to be the most appropriate form.

@fmvilas thanks for the review. Applied suggestions and made blog featured.
Do you have commercial subscription to Grammarly? I use it too and am suprised there were still some suggestions

Yeah, I'm paying for it. I can give another review to the whole document if you want.

@fmvilas sure man, if you can

from my side I'm ready to merge, set the date for tomorrow already

I'm happy so far and it looks like the product is improving.


Implement :: operator

Closes #854
Fixes #1414
Title says all.
I am still pretty new to this codebase, I'm learning as I'm going along so there's going to be a few mistakes. Please watch out for those, I will definitely get something wrong.
Features to implement:

[x] Global shorthand
[x] Static var disambiguation
[x] Initial shorthand
[x] type::variable and parent_type::variable initial shorthands
[x] Proc reference

full send
do you know how to do the operator overloads?

ye but I'm taking a break for personal life stuff

This fixes a lot of errors in fstation and /vg/, however I'm not sure everything is working as intended:
/obj/item/clothing/suit/bomber_vest/proc/activate_vest()
	var/mob/living/carbon/human/H = loc
	if(!H)
		return
	if(!ishuman(H))
		return
	if(!(H.wear_suit == src))
		return
	active = 1
	canremove = 0
	H.register_event(/event/touched, src, nameof(src::on_touched()))
	H.register_event(/event/attacked_by, src, nameof(src::on_attacked_by()))
	H.register_event(/event/hitby, src, nameof(src::on_hitby()))
	H.register_event(/event/unarmed_attack, src, nameof(src::on_unarmed_attack()))
	H.register_event(/event/to_bump, src, nameof(src::on_to_bump()))
	H.register_event(/event/bumped, src, nameof(src::on_bumped()))

Errors:
Error OD0000 at code/modules/clothing/suits/miscellaneous.dm:1029:5: nameof: requires a var, proc reference, or type path

Unless I am way off this seems to re-introduce some errors around the order of const variable initialization:
...
Errors: Error OD0404 at code/modules/assembly/igniter.dm:10:9: var "wires" is not declared Which seems related to #1011

This is because steps 5 and 6 were swapped around in DMObjectBuilder.BuildObjectTree(). Doing the steps in this order is incorrect, since now it tries to apply var overrides before all the vars have been defined.

What was the reason why those steps had to be reordered to get :: to work in this case?

What was the reason why those steps had to be reordered to get :: to work in this case?

Variable definitions as well as overrides have to be parsed in order for type:: and parent_type:: to return the correct values


Logan19582 ban

I was just messing around trying to be funny, also I have just got discord and didn't understand what the bot thing was. I am deeply sorry and would like to request a unban on discord please.

also i wont ever mess around again

I would like to be able to use market place


feat: add wait_until flag, drop check_tx method

Updated the code to match with 1.37 nearcore release
https://github.com/near/nearcore/blob/447572bb775a5954ca7a5a4b65c85b45aab9e499/chain/jsonrpc/CHANGELOG.md#023
TLDR:

dropped EXPERIMENTAL_check_tx method, we won't support it anymore
added support of new send_tx method
added example for send_tx
added support for wait_until flag to few places

We need to merge it only after 1.37 will be released

The only failing test fails because it really sends RPC request to mainnet which is not upgraded yet (so, the method does not work as we expect).

Updated. As before, one of the tests fails because mainnet and testnet still has 1.36, waiting for the release

I am curious about the best approach to releasing this soon. With the ReadRPC project, we are working on a version compatible with 1.37.x nearcore that is already run on testnet. We use near-jsonrpc-client-rs heavily and would like to run on the released version rather than fork.
And for the future, we'd like to be able to use newer versions of the client before the nearcore update on the mainnet. Do you think we can adjust the release process of this crate somehow?
cc @frol @telezhnaya @kobayurii

Update:
We've agreed with the change on the nearcore release process to enable release candidates (RC) for the nearcore's workspace crates. Since the next testnet release we expect to have all the crates like near-jsonrpc-primitives, near-primitives and others to be released with the same *-rc.{\d} as nearcore.
The mainnet 1.37.0 release is anticipated this week, so we're not getting the necessary crates beforehand this time, but the next time it should be available 🎉

Status update: blocked on https://near.zulipchat.com/#narrow/stream/295302-general/topic/publishing.20nearcore.20crates/near/425971002

I will re-open this PR to trigger CI

Thanks Vlad, I can see that doc tests failed again. I made a PR to wait_until branch to fix this.
https://github.com/near/near-jsonrpc-client-rs/pull/139


Tidy up Prismic custom types and slices

I will try whittle down this diff as far as I can:
https://github.com/wellcomecollection/wellcomecollection.org/pull/7200
TODO

[ ] Make sure media controls are added to all custom types
[ ] type up HTML types in richtext

Relationships
links
need to work out how to make sure the types we can link to make some sort of sense
parents & seasons
Should everything be able to have a parent and a season?
Slices
removal of body weight
DONE - https://prismic.link/3bkVbwo
~Only used here https://preview.wellcomecollection.org/pages/YE99nRAAACMAb7YE~
tagList is used exclusively for podcasts
Could we add this to the podcast as "Subscribe on"
e.g: https://wellcomecollection.org/articles/YRU4ExEAAFTsyFIH
TitledTextList
We use it here only. It can be achieved with the standard Text slice - https://prismic.link/3nG7tFp
https://wellcomecollection.org/pages/YDaP2BMAACUAT7DS
Issue for reference
Tables
We only use it in 1 place, and it's pretty ugly. Could we rather have this as a list, or general text? At least until we do the table more for purpose, or we have more examples? https://wellcomecollection.org/pages/YBGczxMAACAAjXFz
MediaObjectList
Only used in 1 place - once this page dies, can we get rid of it? It could just be a standalone component.
https://wellcomecollection.org/covid-welcome-back
Types
Webcomics
Why are we still using webcomics? We should be using article with format = comic?
Webcomic series is also floating about
Installations
Why are we using installations not exhibition with form = installation?

The TItledTextList also had a requirement for "An identifier which lets the user know if the resource is accessed online or in library"
but that doesn't appear to be used.

@dannybirchall - it's the:

Titled text list slice on this page that needs editing. You can just create a Text slice and add links to the headings.
Table slice on this page. I'm not sure how we can format this better, maybe a list?


Tb github pages

Attention (CC)
@TomDeMichele github pages overhaul. I made the one off guide a link and kept the TL;DR i don't think it flows as nicely. We should look tomorrow.
Summary of changes
Description of the changes included in this pull request. Steps to follow to confirm the feature is completed or the bug/issue is resolved. Are there any dependencies? Does this code break any existing functionality or introduce any risk?
Motivation & Context
Working call 8-26
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[x] Documentation Update
[ ] Other (please describe):

Does this introduce a breaking change?
Breaking change is defined as "A fix or feature that would cause existing functionality to change."

[x] Yes
[ ] No

Checklist:

[x] My code follows the code style of this project.
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added/changed necessary documentation (if appropriate)
[x] All new and existing tests passed.

How Has This Been Tested?
Built locally

i think the inline GIF isn't rendering and I also need to upload/make one more screenshot.

all fixed up, fresh eyes made the difference @TomDeMichele