Generalization to accommodate leafcutter

With the Leafcutter module being finished. It is time to ensure its output can be taken by TensorQTL/APEX directly.
Potential Issue:

[x]  1. TensorQTL require phenotype file to be named bed.gz
[ ]  2. Phenotype file end is not start+1, apex/tensorQTL may not like it.

As demonstrated below:
>>> phenotype_df, phenotype_pos_df = tensorqtl.read_phenotype_bed(expression_bed)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/hs3163/miniconda3/lib/python3.9/site-packages/tensorqtl/core.py", line 297, in read_phenotype_bed
    raise ValueError('Unsupported file type.')
ValueError: Unsupported file type.
>>> expression_bed = '/mnt/vast/hpc/csg/snuc_pseudo_bulk/eight_tissue_analysis/MWE/QTL_association/sample_list_intron_usage_perind.counts.gz.qqnorm_14.bed.gz'
>>> phenotype_df, phenotype_pos_df = tensorqtl.read_phenotype_bed(expression_bed)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/hs3163/miniconda3/lib/python3.9/site-packages/tensorqtl/core.py", line 301, in read_phenotype_bed
    raise ValueError("The BED file must define the TSS/cis-window center, with start+1 == end.")
ValueError: The BED file must define the TSS/cis-window center, with start+1 == end.

Both of the aforementioned problems can be easily fixed by reading the phenotype file using a function other than tensorqtl.read_phenotype_bed, which is just some formatting of bed.gz
def read_phenotype_bed(phenotype_bed):
    """Load phenotype BED file as phenotype and TSS DataFrames"""
    if phenotype_bed.endswith('.bed.gz'):
        phenotype_df = pd.read_csv(phenotype_bed, sep='\t', index_col=3, dtype={'#chr':str, '#Chr':str})
    elif phenotype_bed.endswith('.parquet'):
        phenotype_df = pd.read_parquet(phenotype_bed)
        phenotype_df.set_index(phenotype_df.columns[3], inplace=True)
    else:
        raise ValueError('Unsupported file type.')
    phenotype_df.rename(columns={i:i.lower().replace('#chr','chr') for i in phenotype_df.columns[:3]}, inplace=True)
    # make sure TSS/cis-window is properly defined
    if not (phenotype_df['start']+1 == phenotype_df['end']).all():
        raise ValueError("The BED file must define the TSS/cis-window center, with start+1 == end.")
    phenotype_pos_df = phenotype_df[['chr', 'end']].rename(columns={'end':'tss'})
    phenotype_df.drop(['chr', 'start', 'end'], axis=1, inplace=True)
    return phenotype_df, phenotype_pos_df

However, a problem spurred from problem 2 is how do we define the cis-window size and center for the leafcutter feature.
Besides, some other questions remain:

[ ] does phenotype still needs to be factor analyzed
[ ] PCs may need different merging codes, depending on the format
[ ] gene_ID may not be an accurate description of the features, which will motivate us to use feature_id instead of gene_id throughout our module.

Hi @gaow,   as it turns out, the PC is estimated from a matrix of (normalized) proportion, so we should compute an independent set of factors based on it. However, I want to make sure that, similar to the expression data, we are using the residual of that matrix because we want to exclude the PCs from the genomics background and the known covariates right?

@hsun3163 yes to your question.
We need to QC on the splicing calls before doing that. We have decided to use QC same as with expression but we need to increase the minimum reads filter (at least 30 million; current default is 10 million) because we need enough reads to call splicing events reliably. This can be done when we analyze both eQTL and sQTL data we can use the eQTL phenotype QC pipeline. For now, let's assume it's QC-ed you can write the sQTL calling pipeline -- just dont write the command generator yet for sQTL calling

@hsun3163 yes to your question.
We need to QC on the splicing calls before doing that. We have decided to use QC same as with expression but we need to increase the minimum reads filter (at least 30 million; current default is 10 million) because we need enough reads to call splicing events reliably. This can be done when we analyze both eQTL and sQTL data we can use the eQTL phenotype QC pipeline. For now, let's assume it's QC-ed you can write the sQTL calling pipeline -- just dont write the command generator yet for sQTL calling

As I see it, the majority of this pipeline should be the same as that of the eQTL pipeline, though, besides the first step that fixes whatever formatting issue, the residual and factor analysis, .etc.
Alternatively, if we decide to change

Phenotype file end is not start+1, apex/tensorQTL may not like it.
in the tensorQTL module directly, all the modules should be the same.

splicing post-processing done in the gene annotation notebook for both leafcutter and psichomics


Admin dashboard should show a compact list of the bottom of the collections the admin is not specifically listed on

The admin should have access to all collections and permission to edit any collection or item. However, the admin's dashboard should only display individual tables for those collections where the admin has been explicitly assigned a role as manager, reviewer, or depositor  -- or is the creator.
All collections -- including those described above -- should be listed in a more compact table at the bottom of the dashboard. See https://projects.invisionapp.com/share/EQXC9CLKCR2#/screens/426926001

For example, I am not explicitly listed in this collection, but there is a table for it on my dashboard:

@amyehodge I think these other tables are showing, because as an administrator you have the rights to deposit into them.

@jcoyne That's not the desired behavior. The desired behavior is that only when the rights are called out specifically should the collections have their own tables for admins. Otherwise, all other collections where rights as manager/reviewer/depositor are not specifically called out will show up in the single condensed table at the bottom as shown in the screenshot above. This is the way hydrus works now, and helps keep this from getting out of control for admins, since there are something like 1000 collections.


Inverse Closes colors

puts ANSI.yellow{ "Foo" + ANSI.invert{ "∙∙∙" } + "bar" }

You can see the bar at the end isn't yellow, but you'd expect it to be. I'm using invert to make whitespace visible in a text based game.
The actual output is:
"\e[33mFoo\e[7m∙∙∙\e[0mbar\e[0m"

Expected:
- "\e[33mFoo\e[7m∙∙∙\e[0mbar\e[0m"
+ "\e[33mFoo\e[7m∙∙∙\e[27mbar\e[0m"

I tried adding a test case, but they don't appear to be passing right now when I run rake test.
  method :invert do
    test do
      str = ANSI::Code.invert
      out = "\e[7m"
      out.assert == str
    end

    test "with block notation" do
      str = ANSI::Code.invert { "World" }
      out = "\e[34mWorld\e[27m"
      out.assert == str
    end
  end


Timezone woes on Android

We are getting errors thrown here: https://github.com/NWACus/avy/blob/e260db25afe3e9003dc08277768071def1d836f1/utils/date.ts#L4-L10
Example message: Failed to format date: Invalid time value, Fri Sep 22 2023 23:58:15 GMT+0000, yyyy-MM-dd, America/Los_Angeles
Because we're using Hermes, I think that this should Just Work, but clearly something isn't right. This only happens on Android (and only on one device so far).
Ideas:

Remove date-time-format-timezone polyfill
Look at thread from dayjs: https://github.com/iamkun/dayjs/issues/1377
Add more polyfills from @formatjs?
...?

Maybe we don't even need timezone names? I don't think we display them anywhere. Can we just use Date.getTimezoneOffset() to convert between UTC <=> local time and skip this craziness?

I'm in favor of whatever has us owning the smallest amount of custom code... what a mess.

@floatplane fixed in https://github.com/NWACus/avy/pull/481 ?

Let's give it a few days to bake before resolving

this does seem fixed 😅


initialized the enchancement of the client side developer experience

Hi @shubham1172
Since there's no specific direction to enhancing the client-side dev experience, I made the following as minimal as I could get.

[X] webpack build with ts-loader for typescript and sass-loader for sass
[X] move some event listeners from the HTML file into typescript
[X] rewrote style.css into scss and have it included in the build process

Everything works fine , I look forward to your review and opinion.

Thanks @zt4ff, I will take some time to review this PR since it brings in a couple of changes. Can we also add eslint/prettier, and create a GitHub pipeline to validate lint and build? If you don't want to add it to this PR, I can fork another issue and it can be worked on separately as well.

Thanks @shubham1172.
You can create a new issue for the eslint/prettier, Github pipeline in a new issues.
I will create a new branch to work on that.
I don't think they relate to the build process. I may be wrong though

Well, they are a part of the build IMO - builds must be validated on PRs, and their validity should also depend on the code (linting/pretty), but I won't increase the scope of this PR further and create a separate issue.

Alright, you can assign the new issue to me whenever you review this PR or should I just configure linting while this PR is open?

I will look at this PR over the weekend and also create a separate issue for the other things we discussed.

Hi @shubham1172
Sorry for the late response, I already resolved all the comments you made

Thanks for making those changes @zt4ff, this LGTM, I will try this out and merge the PR once I am done!

@zt4ff sorry for getting late to this (and it's ok if you don't have bandwidth to look into this), this PR does not seem to be working. After running the yarn commands, I start the web server and visit the index page where I get this error
Loading module from “http://<IP_ADDRESS>:8000/dist/index.js” was blocked because of a disallowed MIME type (“application/json”).

@shubham1172
Hi, it's beena a while. Happy new year
I made new changes to fix the errors.
You can build the frontend with yarn build:dev and run python main.js to test it out.


callbacks is a map of Callback Objects.... but why?

The way the callbacks property is defined now, this is valid:
callbacks:
  callbacks1:
    "{myamazingexpressions}":
      PIO1:...
  callbacks2:
    "{myamazingexpressions}":
      PIO2:...

This means that you can define two different Callback Objects, each one having the same expression as a key, pointing to a different POI. That doesn't seem to make sense.
Perhaps callbacks should just be a Callback Object?

I believe the idea of multiple distinct callback objects was introduced to support the notion of webhooks returning different "events".  All of the callbacks might target the same client URL but the structure of the payload might be very different.  Now that we have added support for JSON Schema oneOf it would be possible to do this with a single requestBody.  However, if someone wanted to identify the event in a query parameter or HTTP header, it would not be possible using a single PathItemObject.
e.g.
callbacks:
  bankAccountDeposit:
    "{$request.body#/url}&eventType=deposit":
      post: ...
  bankAccountWithdrawal:
    "{$request.body#/url}&eventType=withdrawal":
      post: ...
  bankAccountOverdraft:
    "{$request.body#/url}&eventType=overdraft":
      post: ...

The question this raises for me is why not do this?
callbacks:
  bankAccountEvents:
    "{$request.body#/url}&eventType=deposit":
      post: ...
    "{$request.body#/url}&eventType=withdrawal":
      post: ...
    "{$request.body#/url}&eventType=overdraft":
      post: ...

This gets a bit more unclear if the event type was not in the query string but in a header or the body and of course the key is no longer unique, which is a bigger problem.
Is this better?
callbacks:
  bankAccountDeposit:
    targetUrl: "{$request.body#/url}&eventType=deposit":
    post: ...
  bankAccountWithdrawal:
    targetUrl: "{$request.body#/url}&eventType=withdrawal":
    post: ...
  bankAccountOverdraft:
    targetUrl: "{$request.body#/url}&eventType=overdraft":
    post: ...

It depends on where you're looking at callbacks.
In the components section, it doesn't matter if the callbacks have overlapping URLs!  That's the consumer's problem.  For description, it's fair for me to reference the callbacks from my operation like such:
paths:
  /test:
    get:
      ## blah blah
      callbacks:
        foo:
          $ref: '#/components/callbacks/bar

and in the components, nobody cares if the urls are overlapping.  They're referenced by name.
Then you must mean inside the Operation object.  In that case, the structure of the callbacks simply follows the same organization as in the components/callbacks.  I didn't see any reason why to introduce a different one.
That said, it could change, but I think the goal was to make references easy.  If it were a Map[], I don't believe it would work with multiple callbacks:
callbacks:
  $ref: '#/components/callbacks/foo'
  # oh snap!

vs. this:
callbacks:
  foo:
    $ref: '#/components/callbacks/foo'
  bar:
    $ref: '#/components/callbacks/bar'

Right?

We're going leave this as-is, and see how the feature is used. Future versions may change the definition.


Disable glyph cache

With the current xrdp head the display is getting corrupted when scrolling long lines, I suspect the glyph cache is not being updated on the client machine properly. This disables the glyph cache capability when using the freerdp1 plugin. This is not the long term solution as it has a performamce impact.

Can you fix the conflicts against the current code ? so we can test / merge it

I no longer work for Osirium and do not have access at present to the repo that the patch sits in. I shall contact them and see what the state of play is. It may just have to be closed/not merged. The problem may of gone away if work has been done the glyph cache arena.
Lawrence

I've been working with Osirium.
Let's close this and we'll open new PRs.


[LinalgExt] Generalize attention tiling interface implementation

This patch generalizes tiling implementation for AttentionOp. Before, only the batch and M dimension of attention could be tiled. This patch instead, allows tiling of N dimension as well as allows transposition based on indexing maps (hardcoded for now).

Some high-level questions:

Why do we need indexing_maps for the attention op?
Could we have more than 1 dimension for batch/m/n/k1/k2?
It looks like tiling on reduction dims in getTiledImplementation() is hard. Do you plan to implement PartialReductionOpInterface for the attention op?

The indexing maps are so we can do more fusions with the attention op. One of the fusions that we want to do is fusing transposes with AttentionOp. This PR just hardcodes them, but eventually, they are going to be replaced with indexing maps on the op.

Once I add indexing maps, it should be possible to have more than 1 dimensions for batch/m/n/k1/k2. So eventually yes, but not right now. The pytorch SDPA op actually has 2 batch dimensions, so this is it is common to have multiple dimensions for these things.

Eventually yes. The plan is to move TileAndDecomposeAttention into Tiling (PartialReductionOpInterface) and Decompose (AggregateOpInterface). This needs some changes upstream, but eventually, this will happen.

Thanks for filling in me the context, it looks more reasonable to me now. The idea sounds okay to me. Is the PR ready for review? I'm seeing some code being commented out in AttentionOp::verify

Fixed. It should be ready to review now


Debug load more functionality after search

When using search load more loads the same result.

Fixed with https://github.com/alexdor/ossn-backend/commit/d3aa605307038ca8f14a4b1084628eef8d929c4b


Add KafkaEventQueue

Thanks for the PR. Why does this have to be in the common package?

Why does this have to be in the common package?

I put it in the clients module since it's fairly generic and could be used in other places.
However, thinking about it more, maybe we should put it in the metadata module for now, to avoid adding more stuff to clients.

Makes sense. Yes, I think it makes sense to start in metadata if that's the main place we intend to use it (for now).

It's also used in the broker, but that depends on the metadata module

@junrao Do you have time to help review this?

re-trigger jenkins to try to get a green build

Test failure is org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationSSLTest which is not related.


Improvement move check priv out of analyze

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

run buildall


Feat/external auth

it is removed Contract from the PaymentOptionsList when external authorization is done.

Apart from the change in the simulator, the rest lgtm.


use $(MAKE) instead of make to support parallel make

This is a useful feature, but additional changes may be needed to ensure the build is parallel-safe.
(I saw some slightly odd behavior from "make all".)


Mkcert Certificates causes flutter cli tools to throw tls error

Environment

Operating system (including version): macOS Ventura 13.4.1
mkcert version (from mkcert -version): v.1.4.4
Server (where the certificate is loaded):
Client (e.g. browser, CLI tool, or script): CLI (bin/bash)

What you did

What went wrong

Mkcerts prohibits the flutter cli to be able to get packages as the terminal browser uses the system-wide certitifacate generated by mkcert. I have not found a way to disable this.
flutter doctor shows this:
[!] Network resources     ✗ A cryptographic error occurred while checking "https://pub.dev/":       Handshake error in client       You may be experiencing a man-in-the-middle attack, your network may be       compromised, or you may have malware installed on your computer.
flutter pub get shows TLS error:
Got TLS error trying to find package args at https://pub.dev
Any help is appreciated

Could resolve it myself with the help of chatgpt. Mkcert was just a side effect. The real cause was me using dnsmasq service the unintentionally redirected all "pub.dev" results to localhost while using mkcert's certificate.

hi @e-reifer , so how did you solve it ?

I've Checked the dnsmasq.conf file /opt/homebrew/etc/dnsmasq.conf and deleted a line similar to address=/.dev/<IP_ADDRESS>


GEOMESA-1764 Docs: improve mirroring of tutorial/nifi READMEs to docs

Add imported Nifi readme
Add imported tutorial readmes
Update scripts with command-line switches to specify paths
Infer GeoMesa path by default

Signed-off-by: Matthew Zimmerman<EMAIL_ADDRESS>

@mdzimmerman is this PR good to go?  @elahrvivaz @aheyne anything else to sort out?

Looks like @mdzimmerman may have a commit to push but otherwise it's probably fine.

Alright, I've responded to @aheyne 's comments, and imported both the nifi README and the nifi quickstart tutorials. Also fixed a typo in the Cassandra chapter.


A10 stuck in dfu(maybe in pwned dfu).At the start "pwning device"

I have a macos, also it doesn't work on linux. What the terminal says:
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID:0x1227
CPID:0x8010
Found the USB handle.
Stage: PATCH
ret:true
It doesn't end.I entered:"sudo ./downr1n.sh --downgrade 14.2" (with dualra1n the same)

If future restore finish to restore it, just force reboot and try --boot

Remember that that has a black screen that is called dfu false and you must force reboot every time that you see it

@dualra1n I have already tried force reboot.
Before this was during Futurerestore:
"did the futurerestore gave you a error like error: unable to send ibss component: unable to upload data to device, write (yes) to try again write (no) to exit yes" If I write yes, he asks to transfer the phone to dfu, and then he writes exactly the same. if  I select no, the script(futurerestore) closes.
Yes, I  already restored the iPhone through 3utools (I have opencore, dualboot with Windows) However, this is my 3rd time trying to downgrade to 14.2 via downr1n.

@dualra1n I have already tried force reboot.
Before this was during Futurerestore:
"did the futurerestore gave you a error like error: unable to send ibss component: unable to upload data to device, write (yes) to try again write (no) to exit yes" If I write yes, he asks to transfer the phone to dfu, and then he writes exactly the same. if  I select no, the script(futurerestore) closes.
Yes, I  already restored the iPhone through 3utools (I have opencore, dualboot with Windows) However, this is my 3rd time trying to downgrade to 14.2 via downr1n.

If you are trying to downgrade a iPhone 8 or 8+ you need to choose a iOS 14.3 above

@dualra1n I have already tried force reboot.
Before this was during Futurerestore:
"did the futurerestore gave you a error like error: unable to send ibss component: unable to upload data to device, write (yes) to try again write (no) to exit yes" If I write yes, he asks to transfer the phone to dfu, and then he writes exactly the same. if  I select no, the script(futurerestore) closes.
Yes, I  already restored the iPhone through 3utools (I have opencore, dualboot with Windows) However, this is my 3rd time trying to downgrade to 14.2 via downr1n.

Try with iOS 14.3 or 14.8

@dualra1n But as I remember, a month ago I was able to    dualboot 14.2 through dualra1n. Is there a difference between ipsw for gsm model and global?

@dualra1n But as I remember, a month ago I was able to    dualboot 14.2 through dualra1n. Is there a difference between ipsw for gsm model and global?

Probably when you downgrade

@dualra1n But as I remember, a month ago I was able to dualboot 14.2 through dualra1n. Is there a difference between ipsw for gsm model and global?

sorry, i read bad, ah yes there is a ipsw different for gsm and global

@dualra1n It seems that the problem is due to the battery, a month ago when I installed 14.2 I had a different battery.

@dualra1n I removed the "pwn" and "reset" functions, instead I write commands in another window, the download is still, however, it stops at 5.3% after "connected to iphone 9,3 model d101ap, CPID 0x8010, bdid 0x0c
[================================] 100.0%Command completed succefuly
[===                                                                ] 5.3%"

@dualra1n It turned out 🤯, I just thought that when you press the power off and volume down button, you need to turn off the button after 4 seconds, and not after 8 seconds.

@dualra1n It turned out 🤯, I just thought that when you press the power off and volume down button, you need to turn off the button after 4 seconds, and not after 8 seconds

@dualra1n It turned out exploding_head, I just thought that when you press the power off and volume down button, you need to turn off the button after 4 seconds, and not after 8 seconds

i think after 4 when the script say it

Better use palera1n dfu helper


Use Case diagram changes

This is fine if not a bit vague. Your preconditions needs to be sharper. It should
include the POM file and remove phrases like ‘all other...’ à This just isn’t clear
as to what all other are. Perhaps point me to the install instructions.
Developers is a bit vague. Developers looking to capture dependency
relationships for a given project?
Things like this.

Changed to match the requirements


permille sign (‰) shouldn't be handled the same as percent sign (%)

reproduction

try to parse number field with value 5000‰

expected

treat it is a permile sign - parts per thousand, see - https://en.wiktionary.org/wiki/‰#English

cast value should be 5 (5000 / 1000)

spec only supports percent sign, so maybe it should be treated as invalid

actual

treated as percent sign

cast value is 50 (5000 / 100)

see also

https://github.com/frictionlessdata/tableschema-py/blob/master/tests/types/test_number.py#L23

@OriHoch
Thanks. Non marking it as a bug for now because there will be changed very soon in specs - https://github.com/frictionlessdata/specs/pull/465


Contact normal in b2ContactBeginTouchEvent

It would be very useful to add contact normal into b2ContactBeginTouchEvent, like b2ContactHitEvent already has.
I need to implement the collision logic based on the collision normal. If my understanding is correct, currently I have to use b2Shape_GetContactData() and do a linear search for the targeted collision between A and B. Is there a more efficient method?

I added the entire contact manifold to the begin touch event in #808.


Decouple cloudflare_ruleset and the rules associated with it

Current Terraform and Cloudflare provider version
Terraform v1.1.9
on darwin_arm64

Your version of Terraform is out of date! The latest version
is 1.5.3. You can update by downloading from https://www.terraform.io/downloads.html

Provider Version:
cloudflare = {
    source  = "cloudflare/cloudflare"
    version = "= 3.31.0"
}

Description
It would be nice if you could update a cloudflare_ruleset and add rules to it from different terraform solutions/backends. As it stands, it seems I can only have one cloudflare_ruleset per phase in a zone, so its very difficult/cumbersome to add rules unless I aggregate everything into one terraform apply.
Use cases
If I have multiple terraform solutions across multiple clouds, I might want to deploy them separately. I would then like all public egress IPs from any instances created by those separate solutions to be added to rules within a cloudflare ruleset so that my known IPs can access my cloudflare-gated network.
As of now, I would have to deploy those pieces of infrastructure, fetch their IPs, and then aggregate their IPs in some cloudflare_ruleset, but that is quite cumbersome.
Potential Terraform configuration
resource "cloudflare_ruleset" "managed_ruleset" {
  kind       = "zone"
  name     = "default"
  phase    = "http_request_firewall_custom"
  zone_id = "my-zone-id"
}

resource "cloudflare_ruleset_rule" "some_rule_for_gcp" {
  action = "skip"
  action_parameters {
    ruleset = "cloudflare_ruleset.managed_ruleset.id"
  }
  description = "Allow GCP Hosts"
  enabled     = true
  expression  = "(ip.src in {my-ip/32})"
  logging {
    enabled = false
    status  = "enabled"
  }
}

resource "cloudflare_ruleset_rule" "some_rule_for_aws" {
  action = "skip"
  action_parameters {
    ruleset = "cloudflare_ruleset.managed_ruleset.id"
  }
  description = "Allow AWS Hosts"
  enabled     = true
  expression  = "(ip.src in {my-ip/32})"
  logging {
    enabled = false
    status  = "enabled"
  }
}

References
AWS Did something similar with security group rules:
https://registry.terraform.io/providers/hashicorp/aws/3.42.0/docs/resources/security_group_rule

duplicate of #2423


TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

SalesGPT-main\examples\sales_agent_with_context.ipynb Cell 23 line 1
---->[1] class SalesGPT(Chain, BaseModel):
         [2] """Controller model for the Sales Agent."""
         [4]conversation_history: List[str] = []

TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

I don't know what is wrong with given example code in "sales_agent_with_context.ipynb". I am getting this error. looking forward to get help from the community. Please note that, I haven't change anything in code but getting this error.

@Shaon2221 i think there is a bug with Pydantic version. I'm using Pydantic==1.10.7  to resolve this issue

@RizkiNoor16 yeah, You're right mate. This version change worked for me. Thanks for your help. I am grateful to you.


About the downloaded i3d feature.

I have downloaded the i3d features and extracted the features in a local path. I have also changed the "dataset_path" to my local path. But the i3d features still cannot be found. I notice that there is just one file named "dataset" in the extracted file.  Here is the error information:
Traceback (most recent call last):
File "/data1/haoyue/codes/remote/Anomaly-Detection/Anomaly_AR_Net_ICME_2020/main.py", line 29, in
train_dataset = dataset(args=args, train=True)
File "/data1/haoyue/codes/remote/Anomaly-Detection/Anomaly_AR_Net_ICME_2020/video_dataset_anomaly_balance_uni_sample.py", line 38, in init
self.videoname = os.listdir(self.feature_path)
NotADirectoryError: [Errno 20] Not a directory: './dataset/dataset/shanghaitech/features_video/i3d/combine'

hI @wanboyang,
I am having some difficulty while testing ShanghaiTech, I have downloaded ShanghaiTech's i3d feature but I don't know how to structure it and can you tell me what should I change in options.py?
Looking forward to your help, I'm a newbie in this field!

Hi @shyern,
I wonder if you have fixed this error, if you did, can you show me back?
Thanks very much!

hI @wanboyang, I am having some difficulty while testing ShanghaiTech, I have downloaded ShanghaiTech's i3d feature but I don't know how to structure it and can you tell me what should I change in options.py?
Looking forward to your help, I'm a newbie in this field!

Did you reproduce successfully? Where are the video_label.pickle and train_split.txt files in the main.py file? I didn't find it. Please let me know. Thank you

the dataset.tar file can be unzip by using tar -xvf dataset.tar


tcgaCompare Default Size Suitability

The default is tcga_capture_size = 50. I download the MC3 BED file of the capture regions. It seems that the exome is capturing about 94 megabases, so this default doesn't seem suitable.
r=import("TCGAregions.bed")
r=unique(r) # Some ranges are repeated
r=reduce(r) # Some are overlapping.
sum(width(r)) / 1000000
[1] 94.6363

haha.. I just checked this yesterday.. I will update this soon.
I still wonder if this is the true capture size or they are just using all the exon intervals (seems to be the case). Earlier capture kits were 35MB if I remember correctly and then came the sureselect 50MB.

Oh, I didn't realise that the exome sequencing was almost as inconsistent as the whole genome sequencing. I am comparing ESCA and LUSC and when I investigate I find that ESCA uses "Nimblegen SeqCap EZ Human Exome Library v3.0 64 Mb" and LUSC uses "Agilent SureSelect Human All Exon 50 Mb". tcga_capture_size could perhaps accept a vector of values.

This gets messier and messier. We should harmonize this. How about if I take all MC3 variants and subset it for 50MB sureselect regions. That what would bring it all to the same scale - since it is most commonly used kit and also overlaps/extends the updated kits.

@PoisonAlien and @DarioS
Although may seem irrelevant but I need your suggestion please
If a program which predicts microsattelite instability takes exome_size=44 for TCGA cohort, and I have whole genome sequencing, how I know what I should put here instead of 44?

I don't know but probably 3100. Or, just use software which is specifically designed for whole genome sequencing such as PURPLE.
purity	normFactor	score	diploidProportion	ploidy	gender	status	polyclonalProportion	minPurity	maxPurity	minPloidy	maxPloidy	minDiploidProportion	maxDiploidProportion	version	somaticPenalty	wholeGenomeDuplication	msIndelsPerMb	msStatus	tml	tmlStatus	tmbPerMb	tmbStatus
0.8400	0.6500	1.0147	0.0003	3.1721	MALE	NORMAL	0.3357	0.8000	0.9000	3.1188	3.1862	0.0003	0.0003	2.41	0.0000	true	0.2714235746764603	MSS	0.0	LOW	4.0465197621546	LOW

There is a column heading msStatus with value MSS below it (or possibly MSI).

Thank you so much
As the capture size in my data (WGS) is 2820 per mega base; I have done a test in which I knew the MSI status of a specific sample already for MSIpred software
When I put 2820 in exome_size the status was MSI-H which is correct but when I put that by giga base like 2.82 the status turned to the MSS which is wrong
I tried in giga base because the author of software suggested me to put in gig base
What one should do in such situation please? Any idea?

Hi @DarioS ,
I re calculated TMB for TCGA samples by restricting them to Agilent Sureselct kit (35.8 MB). Now the TMB size should be uniform across TCGA cohorts. See here for source if you;re interested.

@PoisonAlien Thanks for the update. This would be very helpful. I re-downloaded the package, but it seems not updated yet. May I ask how to get access to the new TCGA TMB data?

H,
It has already been updated. You can check the file here.  Or from within R using the command
system.file("extdata", "tcga_cohort.txt.gz", package = "maftools")

Following variant classifications are considered for TCGA TMB estimation:
[1] "Frame_Shift_Del"        "Frame_Shift_Ins"        "Splice_Site"
[4] "Translation_Start_Site" "Nonsense_Mutation"      "Nonstop_Mutation"
[7] "In_Frame_Del"           "In_Frame_Ins"           "Missense_Mutation"

Thank you! It's very helpful.

@PoisonAlien My data is WGS for oesophageal adenocarcinoma
Because I am comparing whole-genome with whole-exome data. Are you considering exonic mutations only?
By this function I have placed my two groups of patients (WGS) in the context of 33 different cancer types from TCGA and I got this

I have two groups of patients one with higher mutation burden which respond to chemotherapy and one which does not respond with a lower mutation burden and I want to know which group of my samples are closer to hyper mutated cancers like melanoma
Thank you so much for any suggestion

Hi,
TMB is measured only for non-synonymous mutations. The following variant classifications are considered by default (Unless if you have defined your own variant classifications to be considered as non-synonymous with the argument vc_nonSyn in read.maf).
"Frame_Shift_Del", "Frame_Shift_Ins", "Splice_Site", "Translation_Start_Site","Nonsense_Mutation", "Nonstop_Mutation", "In_Frame_Del","In_Frame_Ins", "Missense_Mutation"

Thank you so much @PoisonAlien
In this issue https://github.com/PoisonAlien/maftools/issues/563 you are mentioning:
Mutational load from TCGA cohorts in tcgaCompare is derived from MC3 maf file. Fortunately MC3 also provides the target BED file. Best way would be subset your MAF object to this BED regions and compare against tcga cohorts.
Is intersecting my WGS maf with such a bed file is still a best option for putting WGS in the context of TCGA or because TMB is measured only for non-synonymous mutations, using WGS in tcgaCompare is adjustable?
Thank you so much for any thought

Please read the comments on this issue carefully. TMB from TCGA patients is restricted to Agilent 35 MB kit. You would probably better off subsetting to the BED file Agilent (Agilent_SS_Human_All_Exon_V7 to be specific). You will need to download it from the Agilent site which requires free registration.

Thank you so much, so gencode.v19.basic.exome.bed file which you have linked to that in that issue, is not appropriate bed file to use for this purpose?


Router is missing

There are no bindings for the Router, from what I can tell.

I was recently looking into purescript-express and came up with perhaps a way to add express routes. I created a function useRouter and then a RouterM monad allowing routers to be built up in the same way the express app is built up:
https://github.com/darrell-roberts/purescript-express-proto/blob/master/src/Main.purs#L35
https://github.com/darrell-roberts/purescript-express-proto/blob/master/src/SampleService/Routes.purs
https://github.com/darrell-roberts/purescript-express-proto/blob/master/src/Framework/Express.purs


Added missing hyphen

Thank you! It is good to search for the occurrences of the same mistake in other files and fix them as well:
yiisoft/yii2/docs# grep -irEn "(server|client) side" .
./guide/start-forms.md:211:Yes, the data validation is initially done on the client side using JavaScript, and secondarily performed on the server side via PHP.
./guide/start-forms.md:214:JavaScript on your browser, the validation will still be performed on the server side, as shown in
./guide/input-validation.md:462:client and server sides; the other uses the `validatePassword` inline validator which is only supported on the server
./guide/input-validation.md:525:that performs the validation on the client side. Within the JavaScript code, you may use the following
./guide/input-validation.md:534:against the existing status data. The validator supports both server side and client side validation.
./guide/input-validation.md:607:is hit. The following example shows how to validate the dimensions of an uploaded image file on the client side.
./guide/input-validation.md:663:Some validations can only be done on the server side, because only the server has the necessary information.
./guide/input-validation.md:664:For example, to validate if a username is unique or not, it is necessary to check the user table on the server side.
./guide/caching-http.md:8:actions whose rendering result may be cached on the client side. [[yii\filters\HttpCache|HttpCache]]
./guide/caching-http.md:55:the server will not re-generate the page, and the browser will use the cached version on the client side.
./guide/caching-http.md:62:is changed, the hash will be changed as well. By comparing the hash kept on the client side with the hash
./guide/caching-http.md:100:the server will not re-generate the page, and the browser will use the cached version on the client side.
./guide/runtime-sessions-cookies.md:306:the risk of a client side script accessing the protected cookie (if the browser supports it). You may read
./guide/runtime-sessions-cookies.md:314:on the client side. This is achieved by signing each cookie with a hash string, which allows the application to
./guide/runtime-sessions-cookies.md:315:tell if a cookie has been modified on the client side. If so, the cookie will NOT be accessible through the
./guide/caching-overview.md:11:of the most recent articles. On the client side, HTTP caching may be used to keep most recently visited page content in
./guide/runtime-responses.md:192:the redirection URL as its value. On the client side, you may write JavaScript code to read this header value and
./guide/tutorial-core-validators.md:114:Client validation is not enabled as this will only work on the server side because the date validator currently does not
./guide/caching-page.md:4:Page caching refers to caching the content of a whole page on the server side. Later when the same page

Fixed in 49448426


Make civil.Date zero value valid

Resolves #798
Go zero values for the civil.Date and civil.DateTime would fail with the Go zero value for these types.

Added explicit checks for the zero value in the unmarshal functions to return expected value.
Added unit tests.

LGTM :+1:

Approved!


Documentation class reference static check refuses setter/getter references despite working just fine

Tested versions
4.3 dev (as of writing, master)
System information
Does not matter
Issue description
As discovered by https://github.com/godotengine/godot/pull/87030#issuecomment-1884447779
The static check for the documentation will fail when directly referencing a property's setter or getter method.

This seems appropriate, since there's no distinct description to send users to, as both setters and getters are clumped together with their respective property in the documentation.
Despite this, the built-in class reference seems to support this just fine.

Could it be that the online class reference generation does not support it, hence this error?
Feel free to rename the title of this issue to something more appropriate.
Steps to reproduce

Write some documentation referencing setter/getters of a built-in property. It can either be in the Godot repository, or through GDScript.
Notice that setters and getters are appropriately detected as methods by the doc gen.
Despite this, the static check would fail with them.

Minimal reproduction project (MRP)
Not necessary

Linking to something in online docs is just a matter of defining an anchor, it's trivial to add.
But I think we don't want to do that, because we should not use getters and setters over properties in descriptions. As a matter of principle, because at some point it was decided that properties are preferable.

Perhaps the error could instead be a warning, in this case? Or the error could be more explicit about this.
The way this issue was discovered is through an edge case. For GDExtension it makes more sense to reference the setter/getter overridden by the methods over the underlying property. At least, that's how I feel about it.

I don't think we absolutely need an exception. I just believe that GDExtension developers would be more interested in seeing the setters and getters, since it is what they're directly influencing by overriding them. However they want to expose these properties is up for them to decide, if need to be, too. But it's not incredibly necessary.

 I'm not sure I fully understand the context here.
If it's for the GDExtension related classes which we document in our class reference, then it should follow our general rules and use properties. We also don't normally allow to override public methods like setters and getters directly. You instead override their virtual counterparts. Which are documented separately.
If it's for 3rd party extensions using our documentation framework, then it may be open for discussion (outside of this issue, probably). But I would say that for the consistency's sake, if an extensions exposes a property and not just methods, then it should also follow our general rules and prefer properties in the docs.

No need of an example. I understand and agree with you.

In this case, properties are a language specific construct, so they don't exist in GDExtension. GDExtension exposes virtual methods to override for the setters and getters which are used in the engine code for a given core property.
See examples in https://github.com/godotengine/godot/pull/87030. PhysicsDirectBodyState2DExtension provides _set/_get_center_of_mass, but no property. The non-Extension counterpart, PhysicsDirectBodyState2D, has the center_of_mass property with its setter and getter being "hidden" to favor the property. Since GDExtension is lower level, you have to override the setter and getter, not the property itself (a property is just a setter and a getter in a ClassDB trenchcoat).
That being said, while I understand the slight inconvenience for documenting Extension classes, I think it's not a big deal and _get_center_of_mass can refer to the property in the non-Extension class, like it does in the current PR.


Made package index support plaintext

This is useful for something like https://storage.googleapis.com/bazel-apt/, which (edit: used to!) only supports plaintext.
Change-Id: Ic3698c5e281b24a6017c034c164b657d1076a11e

@antholeole nice! IMHO the more support for all indexes, the better :)  Also, personally, I'd add tests to the PR so that there won't be regressions in the future 😃

@jjmaestro added tests! ptal again

I've re-read the commit and I don't think the test is exercising the code. The extensions in supported_extensions are evaluated in order and the bazel-apt repo does have other compressed indexes (you can try with e.g. https://storage.googleapis.com/bazel-apt/dists/testing/jdk1.8/binary-amd64/Packages.gz), so the for-loop in package_index will break before it gets to the plaintext download, etc. Maybe they've added the compressed indexes in the interim! :-/
Also, the test is IMHO a bit messy since it's adding the "exception" for Bazel on amd64.
So... if there's no single debian repo with only a plain text index, it's going to be hard to add a test that exercises the code. Sorry for my initial suggestion! 😅
I still think it's a valuable addition to support plaintext indexes since it's a valid index format per the Debian repository format spec so hopefully it'll be merged!

Thats so strange. When i was writing the PR yesterday, those .gz packages did not exist despite their LastModified claiming it did... I'll leave the test up, since despite not actually testing no-extension indexes - it also tests a variety of other intestesting things, like using packages from two different repos as well as non-debian.org indexes. _

@antholeole I still think it's not great to change the behavior of the e2e test depending on the architecture, especially when the test is not really exercising anything in the new code or anything special in the old code.

Using packages from different repos

Unless I'm mistaken, that's is already the default. Every channel is already its own repo and packages are pulled from all of the channels.

non-debian.org indexes

Well, either it follows the Debian specs or it will fail, regardless of the URL being a debian.org URL so... 🤷
If you really want to have something like this, you could create a new example in the examples folder, but again, consider that it's not really testing anything at all that's not already tested and/or shown in other examples.
In any case, I'm not a maintainer of the repo, so this is just my opinion!

This is partially superseded by https://github.com/GoogleContainerTools/rules_distroless/pull/129


Carthage build Error

Hi,
I've the following error building from Carthage:
Dependency "UXMPDFKit" has no shared framework schemes for any of the platforms: iOS
Thank you in advance,
Omar.

@OmarCaf give the latest build a try. If you are still having issues with it let me know.

Hi @pushchris now it's working thank you ;)

@OmarCaf perfect! Let me know if you have any other issues using the framework.


New Photos for Front Page

Fixes #486
I went ahead and changed the photos on the front page!

Before
After

@Peekoe https://acmcsuf-5zeobu2tj-stephaniepocci.vercel.app/

If we're just talking purely the pictures then I think it looks good. Do you mind also updating these headers to the new ones too or would that be out of the scope of this pr @karnikaavelumani @EthanThatOneKid ?

Amazing amazing amazing job Steph! You should be absolutely proud of yourself for doing this. It took me like an entire day to figure out how to put a picture in so you have no idea how impressed and happy I am for you! Did you also want to include the AI team as well? Another thing I did forget to think about that @jaasonw mentioned was changing the names from acm_Name_ to Name Team. I'll go ahead and wait for @EthanThatOneKid 's opinion on that so we can edit it and then pull:))))!!!

Also if we are planning to also update the headers, we will need to go ahead and change the body paragraphs and begin calling them "teams" instead of "paths"

As you can see in this image we call it a path in the description.
Another thing to note is that we will be calling "Create" now as "Design" so let's also go ahead and update that as well!

Let's also collectively create a good description for AI so that we can include that eventually.
Overall though I'm still extremely happy with the amount of work you put into this. Thank you so much Steph. Proud mommy parent moment:,)

Went ahead and made all those changes! Only ones I didn't implement were changing all the instances of Create to Design (there's a lot) and adding the AI Team button since I think those should be counted as other issues.

Also changed the About us section to include a group photo instead of the logos.

New vercel for check: https://acmcsuf-2gz3un7ko-stephaniepocci.vercel.app/about (づ｡◕‿‿◕｡)づ


Thank you!

Just wanted to say I used Vite for the first time with this project, and it worked very well.
I wanted to suggest adding it to the awesome-vite’s "Integration with backends" list, as I imagine lots of other people would find it helpful: https://github.com/vitejs/awesome-vite#integrations-with-backends.

Thanks !
You're right, it might be helpful for some people. I will make a pull request on this repo.


doesn't work with yarn pnp

it looks for node_modules even when installed using yarn in pnp mode... I know, total edge case.
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@vitejs/plugin-react' imported from /Users/.../vitest.config.mts.timestamp-1731610634973-70c1fdc39fd33.mjs

"devDependencies": ...
    "@vitejs/plugin-react": "^4.3.1",

Hey

Can you please provide a minimal reproduction repo
Open a PR to fix that :)

thanks


Show always repo count in header

A few pages don't load the repo count of an user/org, so it is not shown in the header. This happens mostly on org pages, but the package settings applies to the user page as well.
Before:

After:

Seen on #26826
Regression of #25928

@JakobDev please fix the merge conflicts. :tea:

Another would be adding a middleware for these routes.

I want to load this only when it's really needed. Sometimes it only needs to load Org pages but not for User pages.


Allow some bootstrap peer failures + NixOS Module

On both my Linux home server and Pi4 I would fail to connect to at least one of the bootstrap peers and punchr-client would fail to start. They both run NixOS so that may be related (but unclear why?).
This makes the change that allows punchr-client to continue even if it failed to connect to some bootstrap nodes. And only fail to start if the client fails to connect to all bootstrap nodes.
This also includes a change to make it even easier to get a punchr-client up and running with NixOS. Users can reference this repo and provide an api key and this module will automatically build the project and setup a systemd service.
Also a couple minor changes around readme formatting.

Thanks @MarcoPolo!
I also ran into the same issue before, thanks for addressing it! I also didn't know the <!-- omit in toc --> thing. Just two little things (see above), I'm not sure about the second comment.

I also didn't know the <!-- omit in toc --> thing.

It's not a standard or anything, it's how the plugin I use defines how to omit things in the table of contents (https://markdown-all-in-one.github.io/docs/guide/table-of-contents.html#suppressing-toc-detection). It's a comment so it doesn't show up in the rendered output, and it's pretty benign in the raw form. But happy to remove it if you'd like.


cmd/compile: incorrect pluralization in error message

Go 1.16 produces incorrectly pluralized error message like this one:
assignment mismatch: 2 variables but r.Form.Get returns 1 values

The error is generated by this line:
https://github.com/golang/go/blob/c274a7c03be7b69d54d3307b954f6a0eb298c860/src/cmd/compile/internal/noder/noder.go#L440
which can be fixed by using a plural function, e.g.:
https://github.com/golang/go/blob/0265b6475f08f2c23a742132db87c357fcbfa458/src/cmd/compile/internal/typecheck/stmt.go#L187

Please post a program that can be used to reproduce the issue. This seem another case of  #31099, which is fixed now on tip.

@ALTree
Here's an example program (https://play.golang.org/p/pdxWzlrXTnj):
package main

func main() {
	a, b := 1 + 1
}

Apologies for not searching before filing this issue and thanks for the reference. Good to know it'll be fixed in the upcoming release!

Thanks for the reproducer. I can confirm that the issue is fixed on your example on tip:
$ gotip version
go version devel go1.17-7bfd681c2f Sun Apr 4 12:04:33 2021 +0000 linux/amd64

$ gotip build test.go

./test.go:4:7: assignment mismatch: 2 variables but 1 value

It seems that the error message is printed from
cmd/compile/internal/typecheck/stmt.go (line 187)

so we no longer execute the line with the bad pluralization in noder.go that you linked above. Still, that line does not pluralize correctly, and if some codepath ends up executing it we'll have a bad pluralization. Nothing urgent, but still.
cc @mdempsky.

Those code paths won't be used anymore once we switch to the new typechecker, which is expected for Go 1.18 with generics and likely even in Go 1.17.

Thanks! Then we can close this, since no further action is needed to fix the issue, and on tip the correct message is already printed.


Broken models having enum types

It seems like all the Enum types are wrongly generated. All the values have a trailing comma (making it a tuple type), resulting in the values being serialized as lists, so all API calls fails.
Example msgraph.generated.models.ti_action:
from enum import Enum

class TiAction(Enum):
    Unknown = "unknown",
    Allow = "allow",
    Block = "block",
    Alert = "alert",
    UnknownFutureValue = "unknownFutureValue",

which as an examle the value TiAction.Alert ends up being serialized to json `{ ..., "action": ["alert"], ...}
Correct class should be
from enum import Enum

class TiAction(Enum):
    Unknown = "unknown"
    Allow = "allow"
    Block = "block"
    Alert = "alert"
    UnknownFutureValue = "unknownFutureValue"

which results in the correct serialization to json { ..., "action": "alert" }

Fixed with #186

@haavardw this doesnt seem to be fixed, neither in the version hosted on PyPI nor when i install directly from git.
see https://github.com/microsoftgraph/msgraph-beta-sdk-python/blob/main/msgraph/generated/models/ti_action.py

@soilsquirrel yes, the fix is to subclass both str an enum. The serialization result is then a single string. That being said, I gave up on the beta-sdk and reverted to manually add typing on top of the native API instead. This project currently has too low quality and testing for my appetite..

nvm, for some weird reason installing the version from git didn't succeed. after testing out what you said, i checked my site-packages and there the subclassing of str was missing. did a clean reinstall from git, now it seems to work.

@soilsquirrel I believe new releases are deployed without bumping the version number, so you have effectively no control over what code you will be running when you use the beta-sdk. We were happily running production code with this library for a few months when suddenly this serialization bug appeared, and now it seems to be fixed again, without any versioning changes. To me this was a show-stopper using this project. I cannot trust that what has previously passed testing, will continue to work..


Help!

i want to make any entity does not bounce from the border like mobile agar.io can someone help plz!

and when i reach the max limit of mass the server will set my mass to max mass does not split me!

try reverting the edits in cell.js from this https://github.com/Barbosik/MultiOgar/commit/12617a30685b1c34d76b66908c562a7405ae8146
and for autosplit revert any edits you have made to the updateMoveEngine function in GameServer.js

i dont know about codding can someone make that code for me?

The code is already there, just do what I said and you'll be fine. Nobody can make it for you as your version seems to be different from the current one

This Thing is out of my mind @Megabyte918 Can you do it for me and then send the server to me plz!

send me your cell.js and gameserver.js

Unfortunitly Github does not allow me to upload files so download the files from here http://www.4shared.com/zip/ib_fqGixce/MultiOgar.html?

My bad English

@PrinceDark9243 Do you have skype/discord? it would be easier to communicate and send files we wont have to do it on here. And i dont trust 4shared :P

ok i have skype : zaidmemon37

quickly add me then i will remove my comment!

I added you, please close this =D

Yea it is good to be have an Coding Pro Friend!


Add timestamp to MQTT messages

A timestamp is required in the MQTT package for the following topics in order to be able to better evaluate time series:
<ha.entity_prefix>/<node_id>/input
<ha.entity_prefix>/<node_id>/grid
<ha.entity_prefix>/<node_id>/total
This feature is also a basis for providing 'catch-up' data, as provided by some inverters after a connection has been established.

implemented with #140


Simplify button variants

Pull Request Description

Remove "cancel" variant in favor of "outline" variant
Remove "bar" variant in favor of "outline" variant

Buttons in the Drive Bar have been switched to a new "outline-light" variant that is the same as the "outline" variant except with the border color of the "bar" variant

Rename "tertiary" variant to "accent"
Remove components/Input and components/ControlledInput which are no longer used

Important Notes
None
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[x] Unit tests have been written where possible.

Buttons in the Drive Bar have been switched to a new "outline-light" variant that is the same as the "outline" variant except with the border color of the "bar" variant

Maybe we can unify both outline and outline-light? IMO having both doesn't make much sense as they're serving the same purpose.
FWIW, in the future, I'd like to go deeper with customizing button styles and split colors (primary, accent, danger, etc) with variants (solid, outline, icon, etc), example: https://v2.chakra-ui.com/docs/components/button

@MrFlashAccount originally (?) i had outline with the lighter border of outline-light, but i tried it out a bit and thought that it makes other buttons (e.g. the smaller buttons) stand out quite a bit less - although i'm not against merging the two fully. wdyt?

@somebody1234 can you please provide a screenshot ?

Current:

Lighter:

Replacing outline-light with outline, for comparison (the button and bar should have the same border):

@somebody1234 lets rename outline-light to outline. border-primary/20 better match other elements

Tbh don't see much difference 😅 but went through looking for regressions and haven't found any so ✅

i think the only visible diffrences should be:

lighter outline of "outline" variant
cancel buttons now use outlines instead of a lighter background (which is hard to see)


[fargate] Make hostname resolution more reliable

What does this PR do?
Makes hostname resolution more reliable when running on ECS Fargate.
Currently, hostname resolution on ECS Fargate queries the /metadata endpoint. This is a bit problematic because when there's a timeout, the Agent assumes that is not running on ECS Fargate and tries to resolve the hostname as if it was running on a different environment.
Checking ECS_FARGATE and AWS_EXECUTION_ENV should be enough to detect if the Agent is running on ECS Fargate. This PR adapts the code that auto-detects features to take that into account (pkg/config/environment.go). This PR also changes the code that hostname resolution uses to detect if it's running on ECS Fargate (pkg/util/fargate/detection.go) to rely on autodetected features instead of performing its own checks.
Describe how to test/QA your changes
Hostname should always be empty when running on ECS Fargate. Before this change, it can be non-empty when there's a problem querying /metadata.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

@hush-hush I addressed your comments


please do not enter into zsh after installation

i am trying to build vagrant box automatically by using packer and i want to install oh-my-zsh when provisioning, but i am stucked because oh-my-zsh will enter into zsh after installation.
this behavior is bad for automation

#6537

Duplicate of #5873.


chore(release): update version to v0.10.0-rc.1

Signed-off-by: nshankar13<EMAIL_ADDRESS>

[x] I have cherry-picked any changes labelled needs-cherry-pick-vX.Y.Z

[X] I have made all of the following version and patch updates:

Updated the container image tag in charts/osm/values.yaml
Updated the chart and app version in charts/osm/Chart.yaml
Updated the image tags used in the demo manifests
Regenerated the Helm chart README.md

[x] I have checked that the base branch for this PR is correct as defined by the release guide

Is this a release candidate? Yes

Description: Update OSM version to v0.10.0-rc.2

Testing done:

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?

Is this a breaking change?

Codecov Report

Merging #4119 (94ff285) into release-v0.10 (a1c1ab2) will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release-v0.10    #4119   +/-   ##
==============================================
  Coverage          67.80%   67.80%
==============================================
  Files                205      205
  Lines              11584    11584
==============================================
  Hits                7855     7855
  Misses              3678     3678
  Partials              51       51

Flag
Coverage Δ

unittests
67.80% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/cli/mesh_upgrade.go
73.58% <ø> (ø)

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 a1c1ab2...94ff285. Read the comment docs.


Can it be bundled in a CDN as non-minified UMD

Would be possible to bundle this beauty inside an non-minified universal module definition?
Thank you again for this.

Resolved.
  build: {
    outDir: 'lib',
    lib: {
      entry: path.resolve(__dirname, 'src/index.ts'),
      name: 'EchoEditor',
    },
    rollupOptions: {
      output: {
        compact: false, // Prevents Rollup from compacting the output
        exports: 'named',
        globals: {
          vue: 'vue',
        },
      },
      external: ['vue'],
    },
    minify: false, // Explicitly disables minification
    sourcemap: true, // Includes source maps
  },

Sry for the bother


Update error-number-transact-sql.md

Text revisions to tighten and optimize the reading flow of the material. I deleted a duplicated SQL Server example.

@fbsolo : Thanks for your contribution! The author, @edmacauley, has been notified to review your proposed change.

Thanks @fbsolo #sign-off


DA-118: Modified: Retrieve existing document content when creating ne…

Current Behaviour: While we are creating a new document with the same name which already exist we are getting the new document with empty content and the current document’s content get erased.
Expected Behaviour: While we are creating a new document with the same name which already exist we should get the document with existing content.

I have resolved the comment. We need to have same code formatting settings going forward.
Please review again.


Logo proposal

I like open source projects. I want to design a logo for you. Do you have an idea? I will make a gift.

I'd recommend opening an issue/commenting in https://github.com/dotnet/swag. This repo isn't the appropriate place.


chore: added license to the repo

Resolves #19.

Closing the PR as it didn't trigger the workflow.


feat: prefer take to filter for very sparse masks

It seems to me that if we have fewer than one-in-1024 values there is no chance for SIMD vectorization to make the mask as fast as a take.
Mild improvement.
group                       develop                 layouts                 take-one-in-1024        take-one-in-128         take-one-in-16         always-take
-----                       -------                 -------                 ----------------        ---------------         --------------         -----------
vortex-local-fs             1.00   381.3±10.78µs    34.91    13.3±0.13ms    29.49    11.2±0.11ms    29.63    11.3±0.09ms    29.75    11.3±0.13ms   29.71    11.3±0.12ms
vortex-tokio-local-disk     1.00   349.5±12.64µs    29.46    10.3±0.14ms    24.23     8.5±0.15ms    24.73     8.6±0.09ms    24.80     8.7±0.12ms   24.85     8.7±0.18ms

But always take is still faster than filter which is suspicious?

The benchmark does not explore very many densities:
const INDICES: [u64; 6] = [10, 11, 12, 13, 100_000, 3_000_000];

fix #1248


Big table of contents reorg (SOFTWARE-4441, SOFTWARE-2948)

@lmichael107 use mkdocs-material navigation tabs (navigation sections aren't supported in the version we're using)

Also includes:

Deprecating the Detailed Overview doc: not included in the table of contents but it still renders in the off chance that folks are still referring to it
Removing point releases from the table of contents: they're still rendered and are accessible from the main release notes page

Force push was just to reword some commits

Force push was just to reword some commits

I played around with the color of the tabs. Any preferences between the two?
Same color:

Darker gray:

I played around with the color of the tabs. Any preferences between the two?
Same color:

Darker gray:

Probably different, but hard to tell out of context.

Probably different, but hard to tell out of context.

Now with 300% more pixels!
Same color

Darker gray

Now with 300% more pixels!
Same color

Darker gray

Yeah, I think separate colors are best for information separation.

Yeah, I think separate colors are best for information separation.

OK, makes sense.
Maybe normal users are different or I'm just too used to the old doc page layout but it will take a while for me to get used to having to click around different tabs to find the doc I'm looking for. I looked at the home page, looked at the TOC to the left and I was like "wow, where did all the docs go... oh right, tabs."

OK, makes sense.
Maybe normal users are different or I'm just too used to the old doc page layout but it will take a while for me to get used to having to click around different tabs to find the doc I'm looking for. I looked at the home page, looked at the TOC to the left and I was like "wow, where did all the docs go... oh right, tabs."

@brianhlin and I had some discussion about this on Slack so I'm just recording it...

Brian suggested navigation sections as a possible alternative to tabs, though that would require an mkdocs upgrade

I didn't like the tabs because I thought they would be more appropriate for one level up in our hierarchy, e.g. "Site Admin Docs" would be a tab, "User Docs" would be a tab, etc.
That would require merging all the docs so it's not likely.

I also thought that some of the sections didn't have enough pages to justify putting them into separate tabs.  Submit and Help in particular had one page in them each -- Brian suggested hiding the sidebars on those sections to make them look better.

We discussed moving the OSG-Configure doc out of Resource Sharing->Other, either to Common (not completely accurate since it's not used for a submit host), or Resource Sharing->Compute->Compute Entrypoint since these days it's only used on CEs (and GridFTP, but that's deprecated).

We discussed putting the submit host instructions and the VO frontend instructions into the same tab (since they're pretty much both used for acquiring resources instead of providing them), but setting up a frontend is fairly advanced stuff and we might not want to expose that to the average site admin.

We discussed rearranging the tabs so Common is right after Home since it's stuff everyone has to do, but in general people don't go to pages in the Common section directly, but through links in other pages.

@brianhlin and I had some discussion about this on Slack so I'm just recording it...

Brian suggested navigation sections as a possible alternative to tabs, though that would require an mkdocs upgrade

I didn't like the tabs because I thought they would be more appropriate for one level up in our hierarchy, e.g. "Site Admin Docs" would be a tab, "User Docs" would be a tab, etc.
That would require merging all the docs so it's not likely.

I also thought that some of the sections didn't have enough pages to justify putting them into separate tabs.  Submit and Help in particular had one page in them each -- Brian suggested hiding the sidebars on those sections to make them look better.

We discussed moving the OSG-Configure doc out of Resource Sharing->Other, either to Common (not completely accurate since it's not used for a submit host), or Resource Sharing->Compute->Compute Entrypoint since these days it's only used on CEs (and GridFTP, but that's deprecated).

We discussed putting the submit host instructions and the VO frontend instructions into the same tab (since they're pretty much both used for acquiring resources instead of providing them), but setting up a frontend is fairly advanced stuff and we might not want to expose that to the average site admin.

We discussed rearranging the tabs so Common is right after Home since it's stuff everyone has to do, but in general people don't go to pages in the Common section directly, but through links in other pages.

This is all fine and well, but may I suggest some lightweight user testing in addition to introspection?

This is all fine and well, but may I suggest some lightweight user testing in addition to introspection?

@lmichael107 do you have any candidate, friendly admins from newer campuses that would be interested in providing feedback? I could round up a few HEP admins to see what they think.

@brianhlin and @lmichael107, I think as few as three would be fine to start with!

How about Tufts (who recently went through the process, so might have had recent 'pains' in navigating) and SIUE? We don't have anyone who's ready right this second to begin a new hosted CE. @brianhlin feel free to jump into the thread with either, so you can point them to the 'right' place to look and how to provide feedback. Sound good?

If anyone is interested in learning how to conduct a simple, quick, real-time user experience test, I have done so in the past. I found it incredibly valuable! And you don’t need someone — in this case — who is about to experience the documentation site for the first time, etc. Just a few people who are not deeply familiar with the site and its contents.

@osg-cat feel free! I'll join if I can (whatever you do live with the person), though I think we're more likely get asynchronous feedback than to get agreement to a meeting. We'll see.

I would be happy to show someone, either in Software or, say, our UX expert Christina. Any takers?

Tim, Christina, and I followed-up off PR. Received no negative feedback so I'm merging. Overriding unrelated link checker failures.


chore(kubeconfig): add dependency on nodepool

as explain in the scaleway_k8s_cluster documentation: The null_resource is needed because when the cluster is created, it's status is pool_required, but the kubeconfig can already be downloaded. It leads the kubernetes provider to start creating its objects, but the DNS entry for the Kubernetes master is not yet ready, that's why it's needed to wait for at least a pool.

Max TF pre-commit, Min TF pre-commit and renovate:config jobs doesn't run as expected. Not sure if it is linked to my config or some issues explained in this link. Do you expected these jobs before a merge?

@Xaving sorry for the very late reply. Can't you use the wait_for_pool ready option on node pool ?


Time format not documented?

I'm trying to figure out how to interpret the time in the hourly weather, eg: 0, 300, 600, 900.
What are these times?
At first I thought 300 was 0300-hours (3 am military time).
But then the data is not hourly.
How should I interpret this?
Thanks.

Google lead me to a potential answer to your question:
https://github.com/chubin/wttr.in/issues/360
specifically:

"time" values are [0, 300, 600, 900, 1200, 1500, 1800, 2100]; corresponding to "00:00 .. 21:00", respectively.

Google lead me to a potential answer to your question:
#360
specifically:

"time" values are [0, 300, 600, 900, 1200, 1500, 1800, 2100]; corresponding to "00:00 .. 21:00", respectively.

Thanks @WEIRDesign - does this mean the "hourly" array for wttn.in real means "tri-hourly"?


ProteinLigandDataset.loadsequence optimization

Hi, thanks for the contribution on this library, especially the TorchProtein part.
One suggestion would be loadsequence optimization. In current implementation:
 for i, (sequence, smile) in enumerate(zip(sequences, smiles)):
            if i >= cum_num_samples[_cur_split]:
                _cur_split += 1
            if not self.lazy or len(self.data) == 0:
                protein = data.Protein.from_sequence(sequence, **kwargs)
                mol = Chem.MolFromSmiles(smile)
                if not mol:
                    logger.debug("Can't construct molecule from SMILES `%s`. Ignore this sample." % smile)
                    num_samples[_cur_split] -= 1
                    continue
                mol = data.Molecule.from_molecule(mol)
            else:
                protein = None
                mol = None
            if attributes is not None:
                with protein.graph():
                    for field in attributes:
                        setattr(protein, field, attributes[field][i])
            self.data.append([protein, mol])
            self.sequences.append(sequence)
            self.smiles.append(smile)
            for field in targets:
                self.targets[field].append(targets[field][i])

we have to iterate all the samples and generate the protein and mol.
If this comes from biochemical datasets, in which compounds and proteins have lots of combinations, then the code makes sense.
However, for some special cases, for instance the kinase profiling datasets. Only hundreds of protein sequences and drug protein would be included, but the samples would be ~100K. Then this solution is too slow.
One suggestion is to create a dictionary for all proteins and compounds. If it has been converted, then no more computation is required.

Hi!
Thanks very much for the useful suggestion! You're right that the memory can be saved by loading proteins and ligands once and use dictionaries to index them. We indeed want to do this for some other huge datasets. For protein-ligand datasets, we think that they are small enough to handle even with the current implementation, since we only construct protein sequences rather than structures.
We'll consider  how to improve the implementation in the future development. Thanks very much!


plasma/wayland: ssh-add: Could not open a connection to your authentication agent.

Describe the bug
After switching to the wayland session of plasma it seems ssh-agent is no longer working.
To Reproduce
Steps to reproduce the behavior:

Boot into wayland session
Try to unlock ssh keys with ssh-add

Metadata

system: "x86_64-linux"
host os: Linux 5.11.19, NixOS, 21.05.git.03e6c33e523 (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(root): "nixos-21.05pre288911.65d6153aec8"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

nixos-unstable + #117102

Not sure if something plasma-specific was fixed along the way but the final part of the problem turned out to be nu-shell. It does not source /etc/profile, which would define a number of important environment variables for bash, zsh and other semi-compatible shells. (nu has a completely different syntax so sourcing would not be possible anyway)
Manually defining SSH_AUTH_SOCK="/run/user/1000/ssh-agent" in the env section of your nu-shell config (replace 1000 with your local uid) works around the issue.

same problem here ... plasma 6.x ... works on x11 though

Works fine for me on plasma 6 wayland. What shell are you using?

bash ...
first day using wayland with plasma 6

Hmm, I'm using bash as well and it's all fine. Can you double-check that you 1. have ssh-agent in your PATH and 2. SSH_AUTH_SOCK in your environment?

Oh, and do you have programs.ssh.startAgent = true;  in your nixos configuration?

hey man .. I'm really sorry ... totally failed on spotting the github project :( ... I'm on KDE neon ... I'm really sorry for the inconvenience ... #fml

No worries! Unfortunately I can't help with Neon, though. :laughing:


Set user avatar with privileged session

Change-type: patch
Signed-off-by: Josh Bowling<EMAIL_ADDRESS>

Will merge and deploy my daytime tomorrow

Actually, should look into changing my approach. This method introduces a security hole allowing users who manually execute action-set-user-avatar through the /actions API endpoint to modify other users avatars. There should instead either be a check here to see if the user has the operator role, or even better updating the logic that disallows users from updating other users contracts to allow the patch if the user has the operator role.


We should pass through unicode output files

While we use ASCII dammit for deduplicating, to write the final output we should read and write unicode.

I'm tempted to stop using AsciiDammit and do unicode all the way through.

I did this


Images and their jsons to AWS S3

Adds ability to prefix with a project name (renaming of previous "output")
Includes option to upload a project description file that will be named ABOUT on S3

Bucket top level (test is for us to abuse):

Contents in (test):

This starts the work on #19, next step is to also allow uploading of timeseries data.
Testing
I managed to test the AWS callback factory, even though it's a quite special test. However I didn't see any reasonable way to test the actual uploader short of adding system tests but that would require credentials on github and all sorts of things.
I also didn't see any reasonable unittest for the CCDImage.Image() function. Or I could make one checking that the filename is as expected... if that feels valid enough here.

This looks good to me, but I don't feel comfortable enough with AWS to sign off on it. I suggest you let @joakimmoller have that honour.

@skymandr  He's already on it :smile:


6: Stop auto-forwarding for email

Instructions located at https://support.office.com/en-us/article/stop-auto-forwarding-emails-in-microsoft-365-f9d693ba-5c78-47c0-b156-8e461e062aa7#ID0EAABAAA=Try_it!
This does not work for when users set Auto Forwarding in OWA which sets the ForwardingSmtpAddress attribute on their mailbox as described at https://support.office.com/en-us/article/forward-email-from-office-365-to-another-email-account-1ed4ee1e-74f8-4f53-a174-86b748ff6a0e
I have tested this and emails are still being forwarded. Apparently this only works for when a user creates a inbox rule to Forward email. After doing some research it appears that when Forwarding is set as described in https://support.office.com/en-us/article/forward-email-from-office-365-to-another-email-account-1ed4ee1e-74f8-4f53-a174-86b748ff6a0e this is actually considered a ReDirect not an Auto-Forward so the mail flow rule does not fire thus allowing the email to be forwarded.

@dougbrewer501 - There are several MS docs that you mentioned in your comment. May we know which specific Microsoft document link you used in reference to this issue?
We would really appreciate it if you are able to help by providing more details as to what should be edited and/or included on the doc. Thank you.

@mypil - The problem is this article is 'mis-leading'
The below MS Doc shows how to set forwarding in OWA
https://support.office.com/en-us/article/forward-email-from-office-365-to-another-email-account-1ed4ee1e-74f8-4f53-a174-86b748ff6a0e
MS Doc below shows how to block above said forwarding
https://support.office.com/en-us/article/stop-auto-forwarding-emails-in-microsoft-365-f9d693ba-5c78-47c0-b156-8e461e062aa7#ID0EAABAAA=Try_it!
If a hacker gets control of a users mailbox account and sets the forwarding address to an external address such as yahoo.com the instructions in the 2nd article above doesn't stop it.
From what I have been able to find out when a person sets the auto-forwarding (as described in the 1st article above) this is considered a redirect so the Mail Flow rule described in the 2nd article doesn't catch it.
It's really confusing and I wish I had more information to share but I don't at this time. An O365 engineer could probably explain it better.

@dougbrewer501 - Thank you for submitting feedback.
The two articles that you mentioned in this issue are for different topics and have their own purpose. The Forward email from Office 365 to another email account topic just gives instructions on how to forward emails from O365 to another email account.
On the other hand, the other article talks about creating a mail flow rule to Stop auto-forwarding emails as a precautionary security measure. For more information on the best practices that Microsoft recommends, please refer to the Top 10 ways to secure Office 365 and Microsoft 365 Business plans.
I hope this explanation will help clarify and address your issue.
Thank you for your contribution to make the docs better! Much appreciated!


Make clear start is requested not necessarily done

We're not launchctl so we don't know if it's actually started or not (or started and died immediately) so set expectations accordingly.
CC @ilovezfs for thoughts.

Passing on this after misunderstanding #84.


breaking plugin API change: Formalize strict extensibility mechanism

While I'm revisiting presets extensibility (issue #51), I noticed that current AAP documentation (README.md) has poor wording on extensibility, and moreover, it does not really provide the whole mechanism and real-world usage -

aap::SharedMemoryExtension used to be regarded as one of them, but it is not for public anymore (and it should not be).
MIDI2 extension exists, but it is not going to be useful at this moment (as we could simply implement MIDI-CI based protocol promotion without any extensibility), and feature wise it does not require any function either.

Presets are different. We certainly need some functions implemented by plugin (if we support presets metadata then we can do it without functions, but that is not intuitive for plugin developers as get_state() and set_state() are implemented as C functions).
Then I noticed that there is no get_extension(URI) for the plugin (extension_data() in LV2). I must have thought it is whatever instantiate() in AndroidAudioPluginFactory can pass (which is wrong; its extensions argument is a list of host extensions, not plugin extensions). To add this, we have to break the plugin API for the first time in these two years (second in three years).
And going back to README, we should clarify that extensibility should not prohibit functions. They can be defined, just need to make it clear that they are not invoked beyond applications border.
We should also clarify whether the extensions data (which consists of shared pointers) is mutable or not, shared across plugin instances, and/or across services.
In any case this is a big breaking change that invalidates any of the existing clients and hosts, it is probably a big opportunity to explore how to introduce breaking plugin API changes.

It will be included in 0.7.2 once breaking-extensibility-change branch is merged.
In addition to the changes described above, there will be a new plugin API type AndroidAudioPluginHost and it is passed to instantiate() function pointer in the plugin API, instead of AndroidAudioPluginExtension**.
Also, AndroidAudioPluginFactory now has a factory_context field that can be used by insstantiate().

The changes are now merged into main.


if a "kid" is included in the jwk, pass it to the jws as a hint

after implementing my own secret fetcher, I realized that the key id passed back in the JWK was not getting added to the signature.
As the secret frequently rotates, and the new key id is generated in the secret fetcher, there isn't a convenient place to pass the key id along in the :headers option.
This PR is to detect if a "kid" has been provided in the JWK and pass it along to the signature for easier lookups when there might be a list of more than one possible public key against which to verify.
Please let me know if this looks like a reasonable approach.

sure, I'll add an example implementation in the morning (working JST time)

@Hanspagh I wasn't sure how you wanted this organized in the docs, but this might provide something of a start.
Key Rotation
Guardian provides a Guardian.Token.Jwt.SecretFetcher behaviour that allows custom keys to be used for signing and
verifying requests.
This makes it possible to rotate private keys while maintaining a list of valid public keys that can be used both for
validating signatures as well as serving public keys to external services.
Below is a simple example of how this can be implemented using a GenServer.
defmodule MyApp.Guardian.KeyServer do
  @moduledoc ~S"""
  A simple GenServer implementation of a custom `Guardian.Token.Jwt.SecretFetcher`
  This is appropriate for development but should not be used in production
  due to questionable private key storage, lack of multi-node support,
  node restart durability, and public key garbage collection.
  """

  use GenServer

  @behaviour Guardian.Token.Jwt.SecretFetcher

  @impl Guardian.Token.Jwt.SecretFetcher
  # This will always return a valid key as a new one will be generated
  # if it does not already exist.
  def fetch_signing_secret(_mod, _opts),
    do: {:ok, GenServer.call(__MODULE__, :fetch_private_key)}

  @impl Guardian.Token.Jwt.SecretFetcher
  # This assumes that the adapter properly assigned a key id (kid)
  # to the signing key. Make sure it's there! with something like
  # JOSE.JWK.merge(jwk, %{"kid" => JOSE.JWK.thumbprint(jwk)})
  # see https://tools.ietf.org/html/rfc7515#section-4.1.4
  # for details
  def fetch_verifying_secret(_mod, %{"kid" => kid}, _opts) do
    case GenServer.call(__MODULE__, {:fetch_public_key, kid}) do
      {:ok, public_key} -> {:ok, public_key}
      :error -> {:error, :secret_not_found}
    end
  end

  def fetch_verifying_secret(_, _, _), do: {:error, :secret_not_found}

  # This is not a defined callback for the SecretFetcher, but could be useful
  # for providing an endpoint that external services could use to verify tokens
  # for themselves.
  def fetch_verifying_secrets,
    do: GenServer.call(__MODULE__, :fetch_public_keys)

  # Expire the private key so that a new one will be generated on the next
  # signing request. The public key associated with the old private key should
  # be stored at the very least as long as the largest possible "exp"
  # (https://tools.ietf.org/html/rfc7519#section-4.1.4) value for any token
  # signed by the old private key before this method was called.
  def expire_private_key,
    do: GenServer.cast(__MODULE__, :expire_private_key)

  # Generate a new keypair along with the key ID (kid)
  @spec generate_keypair() :: {:ok, JOSE.JWK.t(), JOSE.JWK.t(), String.t()}
  def generate_keypair() do
    # Choose an appropriate signing algorithm for your security needs.
    private_key = JOSE.JWK.generate_key({:okp, :Ed25519})

    # Generate a kid by using the key's thumbprint
    # https://tools.ietf.org/html/draft-ietf-jose-jwk-thumbprint-08#section-1
    kid = JOSE.JWK.thumbprint(private_key)

    # Update the private key to contain the "kid"
    private_key = JOSE.JWK.merge(private_key, %{"kid" => kid})

    # Create a public key based on the private key. It will carry the same "kid"
    public_key = JOSE.JWK.to_public(private_key)

    {:ok, private_key, public_key, kid}
  end

  def start_link(_opts) do
    GenServer.start_link(__MODULE__, :ok, name: __MODULE__)
  end

  def init(_opts) do
    {:ok, %{private_key: nil, public_keys: %{}}}
  end

  # Callbacks

  def handle_cast(:expire_private_key, state),
    do: {:noreply, %{state | private_key: nil}}

  # Generate a new signing key if one does not already exist
  def handle_call(:fetch_private_key, _from, %{private_key: nil, public_keys: key_list}) do
    {:ok, private_key, public_key, kid} = generate_keypair()

    {:reply, private_key,
     %{
       private_key: private_key,
       public_keys: Map.put(key_list, kid, public_key)
     }}
  end

  # If a private key already exists,
  def handle_call(:fetch_private_key, _from, %{private_key: private_key} = state),
    do: {:reply, private_key, state}

  def handle_call({:fetch_public_key, kid}, _from, %{public_keys: public_keys} = state),
    do: {:reply, Map.fetch(public_keys, kid), state}

  def handle_call(:fetch_public_keys, _from, %{public_keys: public_keys} = state),
    do: {:reply, Map.values(public_keys), state}
end

Update Guardian's configuration to use the custom KeyServer.
## config/config.exs

config :my_app, MyApp.Guardian,
  issuer: "myapp",
  allowed_algos: ["Ed25519"],
  secret_fetcher: MyApp.Guardian.KeyServer

Start the KeyServer in the supervision tree so it can serve requests.
## lib/my_app/application.ex

def start(_type, _args) do
  # List all child processes to be supervised
  children =
  [
    MyAppWeb.Endpoint,
    MyApp.Guardian.KeyServer
  ]

  # See https://hexdocs.pm/elixir/Supervisor.html
  # for other strategies and supported options
  opts = [strategy: :one_for_one, name: MyApp.Supervisor]
  Supervisor.start_link(children, opts)
end

Really nice :)
What I have done before is to make an example repo, and then add a snippet to the readme, to not make everything too bloated. What we could also do is add it to the guides section. Do you have a preference?

That's a very good question. You're right that it shouldn't get too bloated. I think good documentation describes a feature without prescribing an implementation.
In this case, it's a pretty simple feature, but it can open a rabbit-hole on how exactly it should be used.
How about some middle-ground? I've updated the PR with a snippet, but rather than a whole repo, I've added a link to a gist.

Perfect 👌. I will add the key rotation to the advanced section secrets of the readme

Thanks 👍


Ensure Debug Help library calls on Windows are made in as thread-safe a manner as possible by wrapping them in a scoped lock.

Ensure Debug Help library calls on Windows are made in as thread-safe a manner as possible by wrapping them in a scoped lock.

According to the Win32 documentation, the functions in the Debug Help library (DbgHelp.lib) are not thread-safe. That means that calling them across threads may blow up the process.
While we don't have a mechanism to control the use of this library outside the runtime/stdlib, we can at least ensure that all uses of it within the runtime/stdlib are thread-safe. We do so by exposing a new C++ runtime function, swift::withDebugHelpLibrary(), that callers can invoke. This function acquires a lock and ensures SymInitialize() has been called and has succeeded before any work is done that relies on the library.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

Blarg.

Quite.

@swift-ci please smoke test windows

@swift-ci please smoke test


Row HostObjects with default setters do not allow setting properties

It's possible that you would try to set a property on the resulting rows as they get referenced elsewhere in an application. Right now this is not possible and throws an error if you try rows[0].customProperty = 100.
The other solution might be to copy the host object values into a normal object but that means you lose he benefit of using HostObjects altogether.

I've implemented the setter method on the HostObjects. Released under 2.0.8. Enjoy!


Statblocks API Release 1.0

Documentation of the API and basic callback/javascript examples ought to be implemented for 1.0 release.
We don't know when 1.0 Release will actually be. Could be any day now. I would consider this a high priority.

Pushing this out to Next week due to @valentine195 being out of town. :)

This is considered complete as https://github.com/javalent/fantasy-statblocks/commit/7de02d3c6f06a633db914098eed1ecf5565480a8 contains enough info to write documentation on.


Is there sub-communities data in TwiBot-22

Appreciate your work!
The dataset is divided into 10 sub-communities for Generalization Study. Could you share the data of sub-communities in TwiBot-22.
Thank you~

Thank you for your interest in our work! I would refer to @whr000001 for this Q.

Thank you for your interest in our work. We upload the sub-communities data in this directory.

Get it. Appreciate your help!

I have a question about the sub-community.  The statistics of the 10 sub-communities (table 10 in the paper) indicate the edges of each community are different, but I could not find any information about how to sample edges from the global graph. Looking forward to your reply. @whr000001


Fix grammer in README.md.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.86%. Comparing base (f849ebb) to head (c084964).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #43   +/-   ##
=======================================
  Coverage   86.86%   86.86%
=======================================
  Files           9        9
  Lines         373      373
=======================================
  Hits          324      324
  Misses         49       49

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Test sprayproxy CI

This PR was only needed to verify the CI is running the tests. It's not needed anymore thus closing.

/retest

/retest

/retest


"No file opened" → "No files open"

I know this is a tiny contribution, but that text bothered me :)

It's all in the details, right? :)
No matter how tiny the contribution is, thanks for your time @lachlanjc.


Publish it!

Building font is great. But can you publish it to npm?

@ukoloff since this is a custom build of the font intended to be used for VS Code only, we don't plan on publishing this to npm. Thanks for the suggestion, though.


Adding previous child in TreeView Crashes

Hello!
In Avalonia 0.9.7, re-adding an item in a TreeView to a Parent that was previously removed creates an exception in TreeContainerIndex.Add in the line this._containerToItem.Add(container, item);
To Reproduce (In Avalonia 0.9.7):

Add Parent1 instance
Add Child1 instance (child of Parent 1)
Expand Parent1 instance
Remove Child1 instance
RemoveParent1 instance
Add again the same Parent1 instance
Add again Child1 instance (child of Parent 1)
Expand Parent1 instance ==> Crash

I would expect that the children containers don't get properly cleaned up when the Parent is removed.
Source code:
Source code

Thanks @Voulz - do you think you could try using our nightly builds? There have been quite a few fixes to TreeView recently on master.

Hi @grokys , I tried the nightly build on this sample project and on the more complex App that I am making and everything seems to work fine!
On a side note, it took me a while to make the nightly build running, would be good to add that there is a prerelease check box that need to be checked in VS (yeah, took me a while to even see there is such a checkbox that is not in a location I would expect to find it), that I need to target netcore 3.1 (else AppBuilder wasn't found), and I also needed a reference to Avalonia.Diagnostics (else AttachDevTools wasn't found).

Great! Yeah, sorry about the trouble in upgrading to master, as you've discovered there have been a couple of breaking changes. For future reference, you can find a list of them on the wiki but looks like that hasn't been updated with the Avalonia.Diagnostics change yet. I think needing to target netcore3.1 is a bug though, we should still work on anything that supports netstandard2.0.
Anyway, glad your problem is fixed on master, I will close this issue.


Split button drop down in table last row.

If you put a split button drop down in a table the popup window in the last row doesn't display correctly.   View the following code:

Edit

Delete

                                                         Description

Sorry to add another detail.  The issue might be because the item is within a div with a tab-pane.  Hope it helps to figure it out.

What doesn't display correctly with it?

Hi Mark - Hope this helps:  https://p.twimg.com/Am6e3EKCQAEXZNR.jpg
For a quick browser check it seems to happen in latest chrome and IE8.

Hallo,
this should help solve the problem:
.tab-content {
overflow: visible;
}

Ah, this issue is resolved in 2.0.2-wip then.


Update flags/phrases.go

Supposed to also match this from now on:
"Start making more money weekly... This is valuable part time work for everyone... The best part ,work from the comfort of your house and get paid from $10k-$20k each week... Start today and have your first cash at the end of this week... HERE.....https://todayfox7.blogspot.com/"
https://odysee.com/@SavvyNik:5/ubuntu-removes-flatpak-support-from-it's:6?lc=40867399de3c27b922d7c62055059456ac7b4e5bb69eec595e6e5e8a9c3c241a

These were specifically for http: to limit the scope as the terms are very broad. With this change it would basically block any comment that has the term + any url.

Made them less generic, trying to match these.
Cash generating easy and fast method to work part time and earn an extra $15,000 or even more than this online. By working in my spare time I made $17,000 in my previous month and I am very happy now because of this job. You can try this now by following...
https://hiring469.blogspot.com/
Start making more money weekly... This is valuable part time work for everyone... The best part ,work from the comfort of your house and get paid from $10k-$20k each week... Start today and have your first cash at the end of this week... HERE.....https://todayfox7.blogspot.com/"
I was able to beat my Stage 3 Lung cancer which have already spread to the lymph nodes with natural herbal medicine. I was recommended to Doctor Ahmed a herbal specialist on this page by his previous patients. I contacted him and also shared my health issues with him through his +15512420493