Client Allocation Request for: jungyang

Client Allocation Questions
Core Information

Name: jungyang
Website / Social Media: https://www.hc.go.kr/jungyang.web
Region: Asia (excl. Greater China)
DataCap Requested: 5TiB
Addresses to be Notarized: f1ocfvay2thn2mtxxvrdy3cxdsdhsrnhwbg3krixi
Notary Requested: IreneYoung

@psa7713 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hi @psa7713  , thanks for your application. Please answer the following questions to let us know about you, your company, and further information about the DataCap allocation.
Basic Info
What's your name and your position in your company?
Please introduce yourself and your team briefly. How many team members do you have in your R&D or core team? Could you provide several Github accounts or email addresses of them?
For your organization, Please describe its business, its history since inception, registration country, scale, employee counts, operation regions, named executive officers, relevant projects, industry reputation, etc.
Please show us some of your web pages, Github, social media accounts such as Twitter, Facebook, Naver blog, WeChat official account, etc. Please include as many relevant details to provide contextual information (with external links) to show your Web3 reputation or external reputation.
Please provide your company's business registration license. If you have any presentation documents about your business, please provide them to us. And also could send me via email for privacy concerns. My contact<EMAIL_ADDRESS>How long have the team core members been engaged in development?
What types of data do you plan to store with the DataCap and how many do you need? Could you please send us some of your sample data?
Regarding the data you intend to store, What’s the original source of those data, and do you have any proof of the ownership or authorization?
Where is your data stored now? Whether the data is stored on a server or a cloud service provider?
Track Record
Has your organization obtained DataCap before? if so, please answer the following sub-questions.
1.1 Please share all the links and recordings of your applications before.
1.2 How about your DataCap usage? Is there any remaining? Is there any information on the deals you've done and the miners you've allocated your DataCap to?
1.3 What was your allocation strategy plan then and how did you execute it?
Are there any disputes open against you from your previous DataCap allocations? If any, please describe any of your honors or disputes in the field of Filecoin.
Allocation Plan
Please describe your plan to use the DataCap as detailed as possible, including use case, amount, timespan, geography, storage providers, partners, etc.
How many regions do you plan to store the data in?
How many storage providers you intend to make dealing with?
Do you plan to record your allocation decisions and execution details in public? And how to realize it?
Do you agree to use the DataCap to only store data that abide by local regulations and is in compliance with the recipient miner’s terms of service?
We may further ask some questions and then give an accurate score to the application. Thank you for your cooperation!

Basic Info
What's your name and your position in your company?
Please introduce yourself and your team briefly. How many team members do you have in your R&D or core team? Could you provide several Github accounts or email addresses of them?
For your organization, Please describe its business, its history since inception, registration country, scale, employee counts, operation regions, named executive officers, relevant projects, industry reputation, etc.
The company name is Koljjaguni-san herbal medicine.
His position is Assistant Manager, Kim Myung-heum.
There are 5 people in total and it is a small business. Email is<EMAIL_ADDRESS>Established in Korea in 2014, it promotes nature, ecology, and animals across the country by leaving videos or photos.
Please show us some of your web pages, Github, social media accounts such as Twitter, Facebook, Naver blog, WeChat official account, etc. Please include as many relevant details to provide contextual information (with external links) to show your Web3 reputation or external reputation.
https://www.hc.go.kr/jungyang.web
Please provide your company's business registration license. If you have any presentation documents about your business, please provide them to us. And also could send me via email for privacy concerns. My contact<EMAIL_ADDRESS>of course send email
How long have the team core members been engaged in development?
6 years
What types of data do you plan to store with the DataCap and how many do you need? Could you please send us some of your sample data?
https://www.hc.go.kr/06546/06552/06552.web?amode=view&idx=74&category=B
https://www.hc.go.kr/board/download.do?idx=28077387&fnum=2&gcode=2037&fsiz=
https://www.hc.go.kr/board/image.do?idx=28073623&fnum=1&s=&gcode=2012&q=
Regarding the data you intend to store, What’s the original source of those data, and do you have any proof of the ownership or authorization?
It is public data, and the source is the company
Where is your data stored now? Whether the data is stored on a server or a cloud service provider?
It is stored on an external hard drive, and data will be backed up through File Coin Project.
Track Record
Has your organization obtained DataCap before? if so, please answer the following sub-questions.
1.1 Please share all the links and recordings of your applications before.
1.2 How about your DataCap usage? Is there any remaining? Is there any information on the deals you've done and the miners you've allocated your DataCap to?
1.3 What was your allocation strategy plan then and how did you execute it?
Not applicable
Are there any disputes open against you from your previous DataCap allocations? If any, please describe any of your honors or disputes in the field of Filecoin.
NO.
Allocation Plan
Please describe your plan to use the DataCap as detailed as possible, including use case, amount, timespan, geography, storage providers, partners, etc.
How many regions do you plan to store the data in?
Asia or Korea
How many storage providers you intend to make dealing with?
2-3 people or at most
Do you plan to record your allocation decisions and execution details in public? And how to realize it?
Of course if you can
Do you agree to use the DataCap to only store data that abide by local regulations and is in compliance with the recipient miner’s terms of service?
Yes.

@psa7713 The initial score of your DataCap request is 3.
5 TiB DataCap are being granted to you. Congratulate!
See more details here: https://docs.google.com/spreadsheets/d/1KQGRKypogbn7EJ3We0XwPpaskxcu2EgYq7uQK2cysas/edit#gid=0

@psa7713 Your Datacap Allocation Request has been proposed. You can check the status of the message here: https://filfox.info/en/message/bafy2bzacebeg3x5ummsrqnzx4pn53hg2y7krevvfj3ghrsgdivqxxtwpmkl5s


get-posts-stateless with MediaRequired = true does not work correctly.

The get-posts-stateless call does not limit the results to media only content when the MediaRequired bool is set to true.

Can you provide an example call?

Just call get-posts-stateless with
"NumToFetch" = 100 & "MediaRequired" = true
results will include posts with:
"ImageURLs": null,
"VideoURLs": null,

Have you checked PostExtraData? The flag also includes posts with embedded
content which won’t show in those keys
On Wed, 2 Feb 2022 at 20:58, AppA11y, Inc. @.***> wrote:

Just call get-posts-stateless with
"NumToFetch" = 100 & "MediaRequired" = true
results will include posts with:
"ImageURLs": null,
"VideoURLs": null,
—
Reply to this email directly, view it on GitHub
https://github.com/deso-protocol/backend/issues/288#issuecomment-1028352034,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBSLDZE5E32H74BLXTT3H3UZGLINANCNFSM5NBWJDHA
.
You are receiving this because you commented.Message ID:
@.***>

Update:
It looks like the post.go code does not consider the MediaRequired flag when it is not pulling for global or follower feed.

This will be resolved with #309


[BUG] EventHubs proxyOptions not respected?

Describe the bug
When using proxy to send message to eventhubs with Azure SDK Client, we found that some messages are not able to send out and got the following Exceptions.

To troubleshoot this exception, we hope to know more about the following error messge url；
message:{"az.sdk.message": "Failed to connect to url:'https://vdm2spark001.servicebus.chinacloudapi.cn:8080',proxy host:'<IP_ADDRESS>'
We didn't use 8080 port to connect to EventHub, and our proxy address is ：<IP_ADDRESS>:8080
Could you please help advice that why the error log shows that the connect url is https://vdm2spark001.servicebus.chinacloudapi.cn:8080 ？
Code Snippet
ProxyOptions proxyOptions = new ProxyOptions(ProxyAuthenticationType.BASIC,new Proxy(Proxy.Type.HTTP,new InetSocketAddress(host, Integer.parseInt(port))),username,password);
EventHubClientBuilder eventHubClientBuilder = new EventHubClientBuilder();
EventHubProducerClient eventHubProducerClient = eventHubClientBuilder.connectionString(itemsMap.get("sendConnectionString"),eventHubName)
.proxyOptions(proxyOptions)
.transportType(AmqpTransportType.AMQP_WEB_SOCKETS)
.buildProducerClient();
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Setup (please complete the following information):
com.azure.azure-messaging-eventhubs  :5.12.1

@conniey could you follow up with @wstest123 on this issue?

We pass in the ProxyOptions you set as-is.  However, when we are printing out the error log, we print out the host name part of the InetSocketAddress , which may be misleading for you.
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-amqp/src/main/java/com/azure/core/amqp/implementation/handler/WebSocketsProxyConnectionHandler.java#L191


Volatile delivery

We now have the initial components of an escape model integrated into PROTEUS. However, it is possible that accretion is also contemporaneous with magma ocean evolution. It would be interesting to explore what role this plays in the changing volatile inventory/distribution of young planets.
It should be relatively easy to "add" additional volatile mass to the inventory as the planet evolves, in the same manner in which escape removes it. We would need some estimate of the rate at which this occurs.
@timlichtenberg is this a good idea and is there a nice way to estimate this?

Yes, having time-variable inventories of H-C-N-S together with fO2 is a good and important first step for accretion. Ultimately, we would need a varying (growing) size of the aragog grid to additional add ongoing mass accretion. The latter is something that would be highly valuable, but more a long-term idea and not first priority. The former (variable H-C-N-S + fO2) should be pretty straightforward to do I believe.

Regarding the estimation of mass accretion: this is pretty much unsolved in my view from a planet formation perspective. What we should do from a PROTEUS point-of-view is enabling arbitrary accretion paths (i.e. addition/loss of H-C-N-S and fO2) by read-in from somewhere else (a module, or data/text file that is produced from a different model).

Do we have something like an order of magnitude estimate for the duration and rate of accretion?
Handling this with a module is a nice idea. Maybe this could even go into ZEPHYRUS?

Timescale is ~1e6 (protoplanetary disk, addition by pebbles and/or planetesimals and/or nebular gass accretion) to ~1e8 years (big giant impacts, expoentially declining rate).
The fractionation between H-C-N-S is potentially strongly fractionated; i.e., even for Earth it is 100% debated where each of them comes from, all from similar sources or others.
The rate of growth (mass accretion) is possibly/likely correlated with the volatile addition rate; i.e, while a planet grows volatiles are added. But not all volatiles, perhaps just some.

Obviously I am making it complicated, but a simpler initial approach may be useful. One could, for example, just start with some volatile addition rate and fO2/time change and then add a splitting term for H-C-N-S fractionation.

The volatile accretion can be exponential or linear for example as a start.

And last comment: I would prefer a different module for accretion. Like escape, volatile and mass accretion is a near-boundless area of research in itself, and such a module would have substantial potential to grow massively over time.

Seems like there's a large number of ways in which to take this, so a separate model makes sense. Adding initial support into PROTEUS with a fixed rate (or choosing linear, exponential as you suggest) doesn't sound too tricky.
Now we just need someone to do this! I might have a look at making a stub module for this in the near future.

Created an initial stub repo here: https://github.com/FormingWorlds/ABASSI

See also this preprint https://arxiv.org/abs/2409.13820

https://www.nature.com/articles/s41561-021-00835-9

Well well well... 🙃
https://www.nature.com/articles/nature21045
https://iopscience.iop.org/article/10.3847/2041-8213/ac9521/meta
It's a complex and unresolved topic.


Inplace operator planning

Dear Rafael,
I thought more about reshape operators (and their kind), what if ...
if an operator's output has the same size as its first input and this input is only used by this single node (the one we investigate here), we assume that this operator can be done in-place and extend the lifetime of the tensor in the planning stage to the lifetime of the output tensor.
I don't know whether this saves memory, but it will for sure make some operations more cache friendly (and enable reshape to be a no-op under the right conditions).
What do you think?
(should we use a list of invalid operators or a list of valid operators, the default being the other case)

Hi Christoph,
This was quite high on our list too.    Especially translation from onnx import we get graphs quite heavily burdened with Reshape's.   Implemented as copy's they're ridiculously wasteful of memory.
I'd vote for a valid list (nice and safe in the case of upstream changes etc).   We should provide for the list being target-specific (I'm thinking here of limited accelerator HW where possibly in-place might not work for implementation reasons).


[web] [CanavasKit] Font fallback in CanavasKit does not support Unicode characters outside the BMP (Basic Multilingual Plane)

Fallback font for characters outside the BMP like "𥻨" (U+25EE8) can not be found, and this log is printed.
Could not find a set of Noto fonts to display all missing characters. Please add a font asset for the missing characters. See: https://flutter.dev/docs/cookbook/design/fonts

I can see that every font‘s supported CodeunitRange are listed here.
https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart#L630
And almost none of them contains characters outside the BMP.
But actually NotoSansJP supports the character above (maybe some other fonts support it too), and it shows properly if I bundle the font file of NotoSansJP in my app.

flutter doctor -v
[✓] Flutter (Channel stable, 2.10.0, on macOS 11.5.2 20G95 darwin-x64, locale
  zh-Hans-CN)
  • Flutter version 2.10.0 at /Users/xxx/Library/Flutter
  • Upstream repository https://github.com/flutter/flutter.git
  • Framework revision 5f105a6ca7 (8 weeks ago), 2022-02-01 14:15:42 -0800
  • Engine revision 776efd2034
  • Dart version 2.16.0
  • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
  • Android SDK at /Users/xxx/Library/Android/sdk
  • Platform android-31, build-tools 31.0.0
  • ANDROID_HOME = /Users/xxx/Library/Android/sdk
  • ANDROID_SDK_ROOT = /Users/xxx/Library/Android/sdk
  • Java binary at: /Applications/Android
   Studio.app/Contents/jre/Contents/Home/bin/java
  • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
  • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
  • Xcode at /Applications/Xcode.app/Contents/Developer
  • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
  • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
  • Android Studio at /Applications/Android Studio.app/Contents
  • Flutter plugin can be installed from:
    https://plugins.jetbrains.com/plugin/9212-flutter
  • Dart plugin can be installed from:
    https://plugins.jetbrains.com/plugin/6351-dart
  • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.65.0)
  • VS Code at /Applications/Visual Studio Code.app/Contents
  • Flutter extension version 3.36.0

[✓] Connected device (1 available)
  • Chrome (web) • chrome • web-javascript • Google Chrome 99.0.4844.83

@vast00
There's similar open issue describing your case, https://github.com/flutter/flutter/issues/79172
Please follow-up in it for further updates.
Closing this as a duplicate.


typescript: don't warn on computed properties [phab:D1667]

Created by evmar at 2017-05-23 18:15:08:
Computed properties are runtime-determined attributes;
we can't really cross-reference them, but we should verify
that we cross-reference the expressions contained within
the computed property.

fromberger commented inline (context lost during migration) at 2017-05-23 18:17:41:
It seems odd to generate a ref to something that will have no properties. If there isn't even a node kind to point to, the UI won't be able to even enumerate the reference.
The structure looks fine, but I wonder if it's worth emitting.

fromberger wrote at 2017-05-23 18:17:41:
"Computed property" is a fancy way of saying "macro" apparently? :)

evmar commented inline (context lost during migration) at 2017-05-23 18:24:35:
The referred-to thing here has properties (it's a builtin object), but I didn't think this test should be asserting on the properties of that thing.  I'm just verifying that the indexing "looks in" to the expression inside the [].

evmar wrote at 2017-05-23 18:24:35:
Computed property is this weird syntax for object literals, where
var x = {
  foo: 3,
};

creates an object with the static property named 'foo', while
var x = {
  [foo]: 3,
}

creates an object with a property named whatever the value of the foo expression is.
It can be used to create maps, e.g.
var map = {
  [constants.FOO]: 3,
  [constants.BAR]: 4
};

evmar wrote at 2017-05-23 18:25:34:
also index into function body

fromberger commented inline (context lost during migration) at 2017-05-23 20:05:48:
I just wonder if the test shouldn't at least verify that the targets of those references //could// be the correct object. I agree it's not worth checking all the properties, but maybe the kind and/or the signature?
Right now, with a blank EVar, it could literally be anything (and indeed, both could refer to the same thing).

evmar commented inline (context lost during migration) at 2017-05-24 23:07:51:
OK, I added a signature here.

evmar wrote at 2017-05-24 23:08:14:
more vnames

fromberger accepted this revision at 2017-05-24 23:10:01

fromberger closed via commit 5b0454e8d1fee65fd5d0b08287a3ca8469dfd44d at 2017-05-24 23:10:35


Flutter doctor summary

Flutter Doctor
E:>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (on Microsoft Windows [Version 10.0.16299.248], locale en-US, channel beta)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.0)
[√] Android Studio (version 3.0)
[!] Connected devices
! No devices available
! Doctor found issues in 1 category.
What's the problem here???

Closing as a duplicate of https://github.com/flutter/flutter/issues/14963


Call signature is not recognized as 'extra' in object literals

TypeScript Version:  2.1.6
Code
interface A {
    a?: string
}
const a1: A = { b: 2 } // correct: error "Object literal may only specify known properties"
const a2: A = () => { } // incorrect: no error

Expected behavior:
Call signature is treated like an excessive property, so both lines emit an error.
Actual behavior:
Only properties are checked, so only first line emits an error.
See #3755

Should be working in latest.


This version isn't use the clip-gradients?

I noticed that your update cancelled the clip-gradients, is it right?
Why?

Hi, we don't need set clip-gradients since there is not gradient explosion problem with solver: Adam with 1e-4 learning rate.

Many thanks!


change regex pattern for dynamic routes to accept hyphens / underscores

Sorry I didn't leave much of a message! Anyhow, I just updated the regex pattern to allow dynamic routes like /about/about-us which would look like this in the router config:
const router = new SvelteRouter({
  routes: {
    '/about/:subpage': {
      Component: SubComponent,
      props: {store}
    }
  }
}

Thanks for your consideration! If this isn't of use or not within your guidelines, it would be a great feature to have. Thanks again.


Instaloader fails to download all private profiles and downloads all public ones anonymously.

Bug Description
Preface: I am not blocked from the tested Instagram accounts and can access them while logged in on a web browser.  I've also tested this on multiple computers from multiple IP addresses.  It's present on MacOS and the prepackaged executable on Windows.  Version 4.2.10
I enter the command: instaloader profileToDownload --login=myUsername.  Each time I attempt this, instaloader says the profile has changed its name.  The changed name is the same as the original one.  Then it states that the profile doesn't exist.  Next, it tries to download anonymously, which fails because the profile is private.  It gives the error that login=USERNAME is required, even though I logged in already.  An example output is below:
instaloader testProfile --login=myUsername
Loaded session from PATH\session-myUsername
Logged in as myUsername
Trying to find profile testProfile using its unique ID<PHONE_NUMBER>1.
Profile testProfile has changed its name to testProfile.
Profile testProfile does not exist.
Trying again anonymously, helps in case you are just blocked.
Warning: testProfile will be downloaded anonymously ("Profile testProfile does not exist.").
Downloading anonymously: testProfile
testProfile/2019-04-28_06-07-45_UTC_profile_pic.jpg already exists
testProfile: --login=USERNAME required.
Saved session to PATH

Errors occured:
Warning: testProfile will be downloaded anonymously ("Profile testProfile does not exist.").
testProfile: --login=USERNAME required.

A similar situation happens with public profiles, although the requested files are  downloaded.  In this case, I get the following output:
instaloader testProfile --login=myUsername
Loaded session from PATH\session-myUsername.
Logged in as myUsername.
Trying to find profile testProfile using its unique ID<PHONE_NUMBER>1.
Profile testProfile has changed its name to testProfile.
Profile testProfile does not exist.
Trying again anonymously, helps in case you are just blocked.
Warning: testProfile will be downloaded anonymously ("Profile testProfile does not exist.").
Downloading anonymously: testProfile
testProfile/2019-10-25_12-03-24_UTC_profile_pic.jpg already exists
Retrieving posts from profile testProfile.
<instaloder downloads profile pictures>
Errors occured:
Warning: testProfile will be downloaded anonymously ("Profile testProfile does not exist.").

To Reproduce
Steps to reproduce the behavior:
instaloader profile --login=myProfile
Instaloader version
4.2.10
Additional context
Again, I'm not blocked from the profiles I've been testing.  This happens with every public and private profile.  Either it's private and not downloaded or public and downloaded anonymously.

Duplicate of #381, there doesn't seem to be a solution yet.

The same issue is present for me.
I tried to debug the code and I've found out the following thing:
In structures.py line 528 I get a KeyError.
The metadata['entry_data']['ProfilePage'][0] variable is empty for me, so there's no metadata['entry_data']['ProfilePage'][0]['graphql']['user']

@aandergr I'm one of the early ones who had this issue:

Still ongoing
I don't think temporal IP ban as I can still access via the web interface, albeit sometimes at a slower/reduced rate (however, even when going for an entirely fresh IP, same issue was encountered - so unless it's a case of any IP this account ever uses, and only for this account on this IP?). Would be odd though as the second account - which is still fine - I use far more for this scripted behaviour, and the one I use for more "normal" behaviour is the one that gets banned (if this is what happened)
It happens for every profile/ID under my main account, so unfortunately no way to reproduce without handing over control of my account

Hi, any updates on this? (commenting so that it doesn't get closed by the bot)

The issues seems to be resolved for me.
I am adding this comment because this issues was closed by a bot.

@Smart123s yep, seems to be working now. Thanks for letting me know


Is it possible to compare immunarch objects with repOverlap?

Hello,
Thanks a lot for the great tool.
As the title says, Is it possible to compare immunarch objects with repOverlap?
I created several immunarch objects from a 10x dataset using the "filter_barcode" function based on clusters I got from UMAP clustering of the cells by Seurat.
I can now look at the repertoire diversity per cluster, but I want to check the overlap between clusters too. Is there a way to do this?
Thanks a lot.

Hi @diyaazak
sorry for the very late response!
Can you please explain what do you mean by "immunarch objects"?

Ping @diyaazak about comparing single-cell repertoires in immunarch

Hi @vadimnazarov
I'm really sorry I haven't been checking this post for some time..
I'm not sure if "immunarch object" is the right term here. But what I basically do is the follows:
#load the 10x data
Bcell_immunarch = repLoad("...path/filtered_contig_annotations_TRUE.csv")

#I extract the barcodes for each cluster of cells defined by transcriptomic analysis (by Seurat for example):
Cluster_1 = c(Cluster_1_barcodes)
Cluster_2 = c(Cluster_2_barcodes)

#Cluster_1 immunarch "object"
VDJ_Cluster_1=list()
VDJ_Cluster_1$data=filter_barcodes(Bcell_immunarch$data, Cluster_1)

#Cluster_2 immunarch "object"
VDJ_Cluster_2=list()
VDJ_Cluster_2$data=filter_barcodes(Bcell_immunarch$data, Cluster_2)

#I can now use functions like geneUsage, repClonality, etc.. but only looking at each cluster separately. For example:
VDJ_Cluster_1=geneUsage(VDJ_Cluster_1$data$filtered_contig_annotations_TRUE_IGH, .norm = T)
vis(VDJ_Cluster_1)

What I would like to do for examlpe, is use functions like repOverlap to compare VDJ_Cluster_1 to VDJ_Cluster_2, or compare the gene usage between Clusters. Is there a way to do that?
Thanks a lot!

Hi @diyaazak
Thank you for getting back to us, our team appreciates that!
Currently you need to create a metadata table by hand and put your data in a common immunarch format as a list of two elements - data and meta. In your case:

Load the data
Filter by barcodes
Create new list with your data and metadata:

VDJ_Cluster_1 <- filter_barcodes(Bcell_immunarch$data[[1]], Cluster_1)
VDJ_Cluster_2 <- filter_barcodes(Bcell_immunarch$data[[1]], Cluster_2)
im_clusters <- list(data = list(VDJ_Cluster_1, VDJ_Cluster_2))
metadata <- data.frame(Sample = c("VDJ_Cluster_1", "VDJ_Cluster_2"), stringsAsFactors=F) # add any additional metadata here
im_clusters$meta <- metadata
repOverlap(im_clusters$data)

You can wrap it in a simple function to work with any number of clusters.
Full single-cell support (seamless stratification to patients and clusters by barcodes, paired chain analysis, etc.) is our next major milestone, so your feedback on your data analysis routines and goals is much appreciated!

Thanks a lot for the quick feedback!
I tried it but when I run repOverlap it doesn't seem to work:

rO=repOverlap(im_clusters$data)
rO
[1] 1
attr(,"class")
[1] "numeric"          "immunr_ov_matrix"
vis(rO)

This is how my data and metadata list looks like:

head(im_clusters)
$data
$data[[1]]

A tibble: 616 x 20
Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end J.start VJ.ins VD.ins DJ.ins Sequence chain

1      2    0.00324 TGTGCA… CARRGI… IGHV1… None   IGHJ3     NA      NA    NA      NA     NA     NA     NA TGTGCAA… IGH
2      1    0.00162 TGTGCA… CARWGE… IGHV1… None   IGHJ2     NA      NA    NA      NA     NA     NA     NA TGTGCAA… IGH
3      2    0.00324 TGTGCA… CARSQG… IGHV1… None   IGHJ1     NA      NA    NA      NA     NA     NA     NA TGTGCAA… IGH
… with 606 more rows, and 4 more variables: Barcode , RawClonotypeID , RawConsensusID , ContigID
$data[[2]]
A tibble: 522 x 20
Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end J.start VJ.ins VD.ins DJ.ins Sequence chain

1      2    0.00379 TGTGCA… CARHAY… IGHV1… None   IGHJ4     NA      NA    NA      NA     NA     NA     NA TGTGCAA… IGH
2      2    0.00379 TGTGCA… CARRPW… IGHV1… None   IGHJ2     NA      NA    NA      NA     NA     NA     NA TGTGCAA… IGH
3      2    0.00379 TGTGCA… CARDRP… IGHV5… IGHD1… IGHJ2     NA      NA    NA      NA     NA     NA     NA TGTGCAA… IGH
… with 512 more rows, and 4 more variables: Barcode , RawClonotypeID , RawConsensusID , ContigID
$meta
Sample
1 VDJ_Cluster_1
2 VDJ_Cluster_2
Also, geneUsage doesn't seem to work:

IgH=geneUsage(im_clusters$data, .norm = T)
Error: x must be a vector, not a tbl_df/tbl/data.frame/immunr_gene_usage object.

I wonder what I might be doing wrong.
Thanks for your support!

Hi @diyaazak
I see, thank you. I have a question regarding the barcode preparations.
How do you get barcodes for specific clusters from Seurat?
If you have different patients, how do you store the data about barcode/patient pairs?
Regarding the analysis. Can you please name your clusters:
names(im_clusters$data) <- c("VDJ_Cluster_1", "VDJ_Cluster_2")

And try again? Immunarch requires named samples.

Hi @diyaazak
We made a major improvements to the package, and now you can easily split datasets by clusters and barcodes. Here is more info: https://immunarch.com/articles/web_only/v21_singlecell.html
Please let me know if it's what you seek, if it's work or if you have any other questions. Your input is much appreciated!

Hi @vadimnazarov
Thanks a lot for the follow-up and I am sorry for not writing you earlier. This worked finally!
I tried most of the functions and they work fine. I think only plotting geneUsage wouldn't make sense now that the chains are paired (you get too many).
I didn't get how the data was structured in the provided "scdata" example though. I prepared my data as follows in the end:
VDJ <- repLoad(.path = "...path/filtered_contig_annotations_TRUE.csv", .mode = "paired")
Cluster1 <- c("Cluster1_barcodes") #I extract the barcodes manually from Seurat metadata
Cluster2 <- c("Cluster2_barcodes")
VDJ_Cluster_1 <- select_barcodes(VDJ$data[[1]], Cluster1)
VDJ_Cluster_2 <- select_barcodes(VDJ$data[[1]], Cluster2)

im_clusters <- list(data = list(VDJ_Cluster_1, VDJ_Cluster_2))
names(im_clusters$data) <- c("VDJ_Cluster_1", "VDJ_Cluster_2")
metadata <- data.frame(Sample = c("VDJ_Cluster_1", "VDJ_Cluster_2"), stringsAsFactors=F)
im_clusters$meta <- metadata

Is this the way you would perform it or is there a more straightforward way?
I tried running select_clusters as follows but it doesn't seem to work:
scdata_pat <- select_clusters(VDJ, my_seurat_object$seurat_clusters )

Thanks!

Hi @diyaazak
thank you! Can you print my_seurat_object$seurat_clusters into the Console and send me the output, please?
Can you also send me the error message after scdata_pat <- select_clusters(VDJ, my_seurat_object$seurat_clusters ), please?

head(my_seurat_object$seurat_clusters)
AAACCTGAGAAGATTC AAACCTGAGAGACGAA AAACCTGAGGGCTCTC AAACCTGCAAACAACA
2                0                1                3
AAACCTGCACCCATTC AAACCTGCACCGAAAG
1                0
Levels: 0 1 2 3 4 5 6 7 8 9 10 11

Now that I look at it, it could be because the barcodes in the filtered_contig_annotations.csv file have a -1 at the end while the barcodes from a Seurat object lack that. I only started learning R recently so I was just doing this manually in an excel sheet before using select_barcodes
I don't get an error when I run scdata_pat <- select_clusters(VDJ, my_seurat_object$seurat_clusters ). I just get a list with empty data..the metadata is there though:

scdata_cl
$data
$data$filtered_contig_annotations_0
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_1
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_2
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_3
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_4
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_5
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_6
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_7
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_8
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_9
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_10
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$data$filtered_contig_annotations_11
[1] CDR3.nt          CDR3.aa          V.name D.name
[5] J.name           V.end            D.start          D.end
[9] J.start          VJ.ins           VD.ins           DJ.ins
[13] Sequence         chain            raw_clonotype_id ContigID
[17] Clones           Barcode          Proportion
<0 rows> (or 0-length row.names)
$meta
A tibble: 12 x 3
Sample                         Cluster.source              Cluster

1 filtered_contig_annotations_0  filtered_contig_annotations 0
2 filtered_contig_annotations_1  filtered_contig_annotations 1
3 filtered_contig_annotations_2  filtered_contig_annotations 2
4 filtered_contig_annotations_3  filtered_contig_annotations 3
5 filtered_contig_annotations_4  filtered_contig_annotations 4
6 filtered_contig_annotations_5  filtered_contig_annotations 5
7 filtered_contig_annotations_6  filtered_contig_annotations 6
8 filtered_contig_annotations_7  filtered_contig_annotations 7
9 filtered_contig_annotations_8  filtered_contig_annotations 8
10 filtered_contig_annotations_9  filtered_contig_annotations 9
11 filtered_contig_annotations_10 filtered_contig_annotations 10
12 filtered_contig_annotations_11 filtered_contig_annotations 11

Thanks!

Hi @diyaazak
It definitely can be a case since barcode matching is straightforward and not "smart" to check for "-1" etc. You can easily add "-1"  to your barcodes by (note that I don't change the Seurat object here):
barcode_vec <- my_seurat_object$seurat_clusters
names(barcode_vec) <- paste0(names(barcode_vec), "-1")
scdata_pat <- select_clusters(VDJ, barcode_vec)

Thank you for pointing us to that issue, we will fix it by removing "-1" in the next release for the convenience

Hi @diyaazak
Did it work?

Hi @vadimnazarov
Yes it did! Thanks for the great help.

Hello,
My name is Aleksandr Popov, I am a developer of the Immunarch package. Thank you for using our software!
There was no activity on this issue for a while, so we plan to close it in 3 months. You are welcome to comment and reopen the issue if there are still unresolved questions.


run training_example and have a lower result

Hi, thanks for your sharing. I tried to run training_example.py on NeXT-QA with the same configure settings in your codes. The val accuracy is about 0.45 and the training loss is about 1.59 without decreasing. I downloaded all videos of  NeXT-QA and extracted features with ViT-B32. Each video is sampled with 128 frames(Sampling method is: select 8 frames uniformly and then select 16 frames centered on these 8 frames). I replaced the self.metadata in data.py with my stored features but the result seems to be lower than your paper. Are there anything that needs to be changed in the configure settings in training_example.py to reproduce your results? Or any suggestions to reproduce the results in your paper? Thanks for your help!

Same question. I directly ran the code on How2QA but obtained only 0.55 eval acc, which is 10% below the results in paper. Is anyting important but missed by the code?


Initial README

Add minimal configuration and execution instructions.

Change: Added pod exec permission after PR #43 was merged.


How we can integate V2Ray core in ios application of swift language

I need steps how i can use v2ray-core as plugin or framework in my ios application

tell me your telegram

Skype: live:.cid.8348de65da727437


Add Calendar App in Android Projects

Requirements for the app:-

User should be able to add a note on any date
The present date should be highlighted

Requirements for the README.md file:-

Concepts used
Documentation and resources used
Future Aspects of the app

Is this still available i would like to work a bit on it. Also is it acceptable for hacktoberfest.

@raghavtalwar7 Sure, go for it. It would be acceptable for hactoberfest also.

Give a star to our repo if you liked it.

@raghavtalwar7 Sure, go for it. It would be acceptable for hactoberfest also.

Okay sure, Thanks.

I have made a pull request you can check.


HDDS-10465. Change ozone.client.bytes.per.checksum default to 16KB

What changes were proposed in this pull request?
When using TestDFSIO to compare the random read performance of HDFS and Ozone, Ozone is way more slow than HDFS. Here are the data tested in YCloud cluster.
Test Suit: TestDFSIO
Number of files: 64
File Size: 1024MB

And for Ozone itself, sequence read is must faster than random read:

While for HDFS, there is no much gap between its sequence read and random read execution time:

After some investigation, it's found that the total bytes read from DN in TestDFSIO random read test is almost double the data size. Here the total data to read is 64 * 1024MB = 64GB, while the aggregated DN bytesReadChunk metric value is increased by 128GB after one test run. The root cause is when client reads data, it will align the requested data size with "ozone.client.bytes.per.checksum" which is 1MB currently.  For example, if reading 1 byte, client will send request to DN to fetch 1MB data. If reading 2 bytes, but these 2 byte's offsets are cross the 1MB boundary, then client will send request to DN to fetch the first 1MB for first byte data, and the second 1MB for second byte data. In the random read mode, TestDFSIO use a read buffer with size 1000000 = 976.5KB, that's why the total bytes read from DN is double the size.
According, HDFS uses property "file.bytes-per-checksum", which is 512 bytes by default.
To improve the Ozone random read performance, a straightforward idea is to use a smaller "ozone.client.bytes.per.checksum" default value. Here we tested 1MB, 16KB and 8KB, get the data using TestDFSIO(64 files, each 512MB)

From the above data, we can see that for same amount of data

write, the execution time have no obvious differences in all there cases
sequential read, 1MB bytes.per.checksum has best execution time.  16KB and 8KB has the close execution time.
random read, 1MB has the worst execution time. 16KB and 8KB has the close execution time.
For either 16KB or 8KB bytes.per.checksum, their sequential read and random read has close execution time, similar to HDFS behavior.

Change bytes.per.checksum from 1MB to 16KB, although the sequential read performance will drop a bit, but the performance gain in random read is much higher than that. Applications which leverage random read a lot, such as HBASE, Impala, Iceberg(Parquet) will all benefit from this.
So this task propose to change the ozone.client.file.bytes-per-checksum default value from current 1MB to 16KB, and lower the current min limit of the property from 16KB to 8KB, to improve the overall read performance.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10465
How was this patch tested?

existing unit test
performance test with TestDFSIO(find the details in JIRA)

@duongkame @kerneltime thoughts? Making the smaller size the default across the board seems a little aggresive.

This can cause the payload in the RocksDB to increase by 64x. I understand the need to avoid client to not do wasteful work.
Should we benchmark a single stream performance for 16, 32, 64, 128 kb?

This can cause the payload in the RocksDB to increase by 64x.

We should remove ChecksumType and bytesPerChecksum from ChunkInfo. There's absolutely no reason why you have different kind of checksums within a block. Chunksum type and bytes should be a block level property.

@duongkame @kerneltime thoughts? Making the smaller size the default across the board seems a little aggresive.

Currently there is large gap between Ozone's sequential read performance and random read performance with 1MB byte.per.checksum value, which only favor applications who heavily rely on sequential read.  But for other applications, such as Hbase, impala, spark with Parquet files, they will suffer the bad random read performance.
I think we need a default value of this property to get a balanced sequential read and random read performance. With 16KB as default byte.per.checksum, the execution time for sequential read dropped from ~50s to ~60s, while random read execution time improved from ~100s to ~60s(See the tables in MR description). If the applications has combined sequential read and random read, the overall performance will be get improved.
And it not only benefit HBASE, but will also benefit most of other applications too.

This can cause the payload in the RocksDB to increase by 64x. I understand the need to avoid client to not do wasteful work. Should we benchmark a single stream performance for 16, 32, 64, 128 kb?

@kerneltime , thanks for the review. The RocksDB data size change is a valid point.  After a further investigation, here is the data.  Currently following data structures are used to save block data in RocksDB
message BlockData {
  required DatanodeBlockID blockID = 1;
  optional int64 flags = 2; // for future use.
  repeated KeyValue metadata = 3;
  repeated ChunkInfo chunks = 4;
  optional int64 size = 5;
}

message ChunkInfo {
  required string chunkName = 1;
  required uint64 offset = 2;
  required uint64 len = 3;
  repeated KeyValue metadata = 4;
  required ChecksumData checksumData =5;
  optional bytes stripeChecksum = 6;
}

message ChecksumData {
  required ChecksumType type = 1;
  required uint32 bytesPerChecksum = 2;
  repeated bytes checksums = 3;
}

Also regarding the BlockData transferred on wire, @jojochuang has implemented the increment chunkInfo feature. With this feature, the on wire BlockData transferred size will be significantly reduced.

Thanks @ChenSammi for the patch, @szetszwo for the review.


Convert ttc to ttf file

ttc is not allowed for uploading it to the workshop for easier download.
It would be nice if it can be converted to ttf. There are some online converters.

Font has been removed :)


Add ability to pass "valid" as a prop to the Textfield component

Fixes #332

Hmm. textfield is undefined when setInvalid is called from componentDidMount...

Okay check it out now. It's been tested and is working for both starting with valid: false and also setting it to false after initial mount.

wow prettier is failing! i'll have a look


How to migrate from this gem to the rails 7 setup?

Hey
Since webpacker is being deprecated on Rails 7. I was wondering how could we migrate an app that uses this gem to the new rails 7 Esbuild/Webpack Setup.
Any help would be very much appreciated

I'm looking to get this working with esbuild and esm modules. There are old format modules using require in the script and seems like those need to be updated. Will look into the problem but if I don't find anything, maybe @renchap can weigh in. It would be great to get this working with Rails 7!
I would love to know as well. Looking into it and will leave a comment once I find a good answer.

This gem is tied to Webpacker, and I think I will deprecate it as well following Webpacker's deprecation.
To replace Webpacker, you can either:

use Shakapacker, a maintainer fork of Webpacker (but with significant changes)
use jsbundling-rails, which is the new "Rails" way. This does not handle Hot Module Reloading
switch to Vite-Ruby. It uses the Vite to power all JS/CSS work, which is simpler than Webpack and probably faster

Then you need to replace webpacker-react itself, to get the Rails helpers working. It should not be difficult to adapt its code to your project. Basically you need:

Rails helpers to output <div> with custom attributes containing the name & props of a React Component
a JS function to add components to a globally available object
a JS onload handler that search for the <div> outputed above and renders them using react-dom

I am wondering if this project can be easily converted to no longer rely on Webpacker at all, I will try to have a look at it but no promises!

I'm using this gem without webpacker but without HSM.
I'm using jsbundling with esbuild on rails 7.0.1, ruby 3.0.2
I only have to add lodash as dependency in package.json (perhaps it can be added as dependency to this module)
Hope this help!

I upgrade rails7 from rails 6, that choise propshaft, jsbuilding-rails.
When I was using rails6, I used webpacker-react, but I didn't choose webpack, so I don't use it now.
However, I needed the react-component, so I placed the following modified version in app/assets/javascripts/react/index.js and it worked fine.
import React from 'react'
import ReactDOM from 'react-dom'
import intersection from 'lodash/intersection'
import keys from 'lodash/keys'
import assign from 'lodash/assign'
import omit from 'lodash/omit'

const CLASS_ATTRIBUTE_NAME = 'data-react-class'
const PROPS_ATTRIBUTE_NAME = 'data-react-props'

const ReactComponent = {
  registeredComponents: {},

  render(node, component) {
    const propsJson = node.getAttribute(PROPS_ATTRIBUTE_NAME)
    const props = propsJson && JSON.parse(propsJson)

    const reactElement = React.createElement(component, props)

    ReactDOM.render(reactElement, node)
  },

  registerComponents(components) {
    const collisions = intersection(keys(this.registeredComponents), keys(components))
    if (collisions.length > 0) {
      console.error(`Following components are already registered: ${collisions}`)
    }

    assign(this.registeredComponents, omit(components, collisions))
    return true
  },

  unmountComponents() {
    const mounted = document.querySelectorAll(`[${CLASS_ATTRIBUTE_NAME}]`)
    for (let i = 0; i < mounted.length; i += 1) {
      ReactDOM.unmountComponentAtNode(mounted[i])
    }
  },

  mountComponents() {
    const { registeredComponents } = this
    const toMount = document.querySelectorAll(`[${CLASS_ATTRIBUTE_NAME}]`)

    for (let i = 0; i < toMount.length; i += 1) {
      const node = toMount[i]
      const className = node.getAttribute(CLASS_ATTRIBUTE_NAME)
      const component = registeredComponents[className]

      if (component) {
        if (node.innerHTML.length === 0) this.render(node, component)
      } else {
        console.error(`Can not render a component that has not been registered: ${className}`)
      }
    }
  },

  setup(components = {}) {
    if (typeof window.ReactComponent === 'undefined') {
      window.ReactComponent = this
    }

    window.ReactComponent.registerComponents(components)
    window.ReactComponent.mountComponents()
  }
}

export default ReactComponent
{{{import React from 'react'
import ReactDOM from 'react-dom'
import intersection from 'lodash/intersection'
import keys from 'lodash/keys'
import assign from 'lodash/assign'
import omit from 'lodash/omit'

const CLASS_ATTRIBUTE_NAME = 'data-react-class'
const PROPS_ATTRIBUTE_NAME = 'data-react-props'

const ReactComponent = {
  registeredComponents: {},

  render(node, component) {
    const propsJson = node.getAttribute(PROPS_ATTRIBUTE_NAME)
    const props = propsJson && JSON.parse(propsJson)

    const reactElement = React.createElement(component, props)

    ReactDOM.render(reactElement, node)
  },

  registerComponents(components) {
    const collisions = intersection(keys(this.registeredComponents), keys(components))
    if (collisions.length > 0) {
      console.error(`Following components are already registered: ${collisions}`)
    }

    assign(this.registeredComponents, omit(components, collisions))
    return true
  },

  unmountComponents() {
    const mounted = document.querySelectorAll(`[${CLASS_ATTRIBUTE_NAME}]`)
    for (let i = 0; i < mounted.length; i += 1) {
      ReactDOM.unmountComponentAtNode(mounted[i])
    }
  },

  mountComponents() {
    const { registeredComponents } = this
    const toMount = document.querySelectorAll(`[${CLASS_ATTRIBUTE_NAME}]`)

    for (let i = 0; i < toMount.length; i += 1) {
      const node = toMount[i]
      const className = node.getAttribute(CLASS_ATTRIBUTE_NAME)
      const component = registeredComponents[className]

      if (component) {
        if (node.innerHTML.length === 0) this.render(node, component)
      } else {
        console.error(`Can not render a component that has not been registered: ${className}`)
      }
    }
  },

  setup(components = {}) {
    if (typeof window.ReactComponent === 'undefined') {
      window.ReactComponent = this
    }

    window.ReactComponent.registerComponents(components)
    window.ReactComponent.mountComponents()
  }
}

export default ReactComponent

This file is almost equivalent to this one.

@renchap

find a new name (any ideas?)

I was going to make a gem with the above modified component, but I thought it would be better to decide this issue here, so I decided not to.
The rails component in esbuild is (js|css)bundling-rails, so I thought react-component-rails would be better.
Since react is an inseparable part of my project, I will maintain this.

Seems OK for me

Thanks @yubele for the name suggestion, you are right, lets make it simple :)
I started a PR which renames this library and adopt a more modern JS build system rather that the current monster I created.
Its not yet finished, but I plan to work on it next week.

Hey all, I've been out for a while, but thanks so much for the help and the kind responses. If there is some way I could help to move this to the finish line I've be more than happy to do so.

just a remark. Actually this gem require webacker in webpacker-react.gemspec:
spec.add_dependency "webpacker"

So bundler add  this gem to the list of needed gem. As this is not needed, we can suppress it and reduce the size of the bundle.
If a user use webpacker, he add it directly to the Gemfile (It's already the Rail way).
It would be nice to release a latest version  of this gem without this requirement as it is not needed.

As said above, I am working on a new version of this gem, with a new name and a much simpler setup.
You can see the work in progress in this PR: https://github.com/renchap/webpacker-react/pull/139
This new version will no longer depend on Webpacker (or Webpack).

The new beta 4 work as expected for my use.

could we have a new stable release ?


Using std::optional within the same env as sol::optional

Currently, if using both std::optional and sol::optional together, it won't compile.
There's a lot of errors surrounding nullopt_t being unknown.
The solution is to change how sol checks for the optional include: I changed ___OPTIONAL_HPP__ to ___SOL_OPTIONAL_HPP___ and it fixed the import problems.

Oh woops, I had forgotten about this issue because I viewed it right before going to sleep. ;;
Thanks for the PR, I'll pull that ASAP.

Any chance of getting this back ported into the current release?

Yeah, sorry. Right now sol's all busted because of the new usertype / function implementation that avoids the use of new / unique_ptr. My hope is to stuff all that in one big commit, either today or tomorrow.

Totally forgot to close this. It's done.


Nested relations

Hi, thanks for this package. This is a simple but neat idea!
I've a problem with nested relations.
Example (pseudo code):
Parent::all()->each(function (Parent $parent) {
    $parent->children->each(function (Child $child) {
        $child->grandChildren;
    });
});

Saying that I have 2 parents, that have 3 children each, which have 4 grandChildren each, so a total of 2 * 3 * 4 objects.
With a proper eager loading (load('children.grandChildren'))I should have ~3 sql calls, one for each type.
Here we have one call for the parents (default one), one call for the children (auto eager loading), and 3 calls for the grandChildren (because one for each collection of children), so a total of 5 calls instead of 3. And it will be the same for each sub level.
I don't know if I made me properly understood, as I'm not a native speaker, but I think this is a real problem.
I have some clues about how to adress that, but I'm not sure about it.
As we store the parent collection, we can store the relations that were called, and so for each level, we can get the first collection, and call a loadMissing with the nested new relations on it (parents->loadMissing('children.grandChildren') in our case).
What's are your thoughts about it? Do you have any better idea?

Hi There,
I'll have to look into this - the example in the readme has relations in the same way - a Staff Collection calling a Company relation, then the company relations calling Addresses, but I get 3 queries, the same as eager loading:
        $staff = Staff::where('name', 'LIKE', 'E%')->orWhere('name', 'LIKE', 'P%')->get();

        /**
         * @var Staff $st
         */
        foreach ($staff as $st) {
            /**
             * @var Company $company
             */
            $company = $st->company;
            echo "\n\nName: {$st->name}\n";
            echo "Company Name: {$company->name}\n";
            foreach ($company->address as $address) {
                echo "Addresses: {$address->address_1}, ";
            }
        }

So I'm not totally sure why the behaviour is different in different situations - will investigate.

So I'm working on a solution to this, however the solutions I have currently require changes to the Collection itself (which isn't really a practical solution), so trying to find a way to get it to work just juggling the models - will keep you posted :-)

Hi @mathieutu
Sorry, been a while since we last talked about this.
I'm working on a PR that I'm pretty sure does what you require, however I've only tested it on a fairly 'sterile' test dataset, so if you've got time, it'd be great to see if it works as expected on 'real-life' data?
https://github.com/liam-wiltshire/laravel-jit-loader/pull/22
Thanks,
Liam


Data Migration

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

looks like there's a lot of changes going on in this pr, would you be able to split it out into multiple smaller changes?


New Comment at each run

Hi there!
Is there a way to make Danger add a new comment in a PR instead for each run of updating the existing one.
there is a --new-comment options on Danger.ruby (https://danger.systems/guides/faq.html) but I haven't found anything related for Danger.swift.
Thanks

We just got those added to Danger JS, so Danger Swift could support them https://github.com/danger/danger-js/pull/1096

We just got those added to Danger JS, so Danger Swift could support them https://github.com/danger/danger-js/pull/1096

Yeah I think adding --newComment should work, but in case a workaround might be having a different ID per run (genering a random one).

Yeah I think adding --newComment should work, but in case a workaround might be having a different ID per run (genering a random one).

I tried --newComment but it didn't work either.
In case it's relevant the PR is hosted on a bitbucket server
I'm running the ci command with the --failOnErrors option.

I tried --newComment but it didn't work either.
In case it's relevant the PR is hosted on a bitbucket server
I'm running the ci command with the --failOnErrors option.

Do you have danger js 10.6.0 installed? Because it seems to me that is something that should work also on bitbucket server

Do you have danger js 10.6.0 installed? Because it seems to me that is something that should work also on bitbucket server

looks like the version installed via homebrew is outdated (10.1.0).
I manage to get a 10.6.0 running from npm, but the options trigger a new error.
[2021-01-07T13:51:05.204Z] + danger-swift ci --failOnErrors --newComment
[2021-01-07T13:51:06.571Z]
[2021-01-07T13:51:06.571Z]
[2021-01-07T13:51:06.571Z] Found only messages, passing those to review.
[2021-01-07T13:51:06.571Z] Feedback: [object Object]
[2021-01-07T13:51:06.571Z] Request failed [400]: https://git.mycorp.com/rest/build-status/1.0/commits/58f9130f4a5d2a58878fd54084c366861f14460c
[2021-01-07T13:51:06.571Z] Response: {
[2021-01-07T13:51:06.571Z]   "errors": [
[2021-01-07T13:51:06.571Z]     {
[2021-01-07T13:51:06.571Z]       "context": null,
[2021-01-07T13:51:06.571Z]       "message": "Please specify a valid url",
[2021-01-07T13:51:06.571Z]       "exceptionName": null
[2021-01-07T13:51:06.571Z]     }
[2021-01-07T13:51:06.571Z]   ]
[2021-01-07T13:51:06.571Z] }

looks like the version installed via homebrew is outdated (10.1.0).
I manage to get a 10.6.0 running from npm, but the options trigger a new error.
[2021-01-07T13:51:05.204Z] + danger-swift ci --failOnErrors --newComment
[2021-01-07T13:51:06.571Z]
[2021-01-07T13:51:06.571Z]
[2021-01-07T13:51:06.571Z] Found only messages, passing those to review.
[2021-01-07T13:51:06.571Z] Feedback: [object Object]
[2021-01-07T13:51:06.571Z] Request failed [400]: https://git.mycorp.com/rest/build-status/1.0/commits/58f9130f4a5d2a58878fd54084c366861f14460c
[2021-01-07T13:51:06.571Z] Response: {
[2021-01-07T13:51:06.571Z]   "errors": [
[2021-01-07T13:51:06.571Z]     {
[2021-01-07T13:51:06.571Z]       "context": null,
[2021-01-07T13:51:06.571Z]       "message": "Please specify a valid url",
[2021-01-07T13:51:06.571Z]       "exceptionName": null
[2021-01-07T13:51:06.571Z]     }
[2021-01-07T13:51:06.571Z]   ]
[2021-01-07T13:51:06.571Z] }

looks like the same issue here

looks like the same issue here

I do get a new message for each run on the PR with juste Danger as comment.

I do get a new message for each run on the PR with juste Danger as comment.

ok so to give more details, here is what the comment looks like:

and if I follow the url of the request returning the 400 error on my scm server, here is what I get:
{
  "size": 1,
  "limit": 25,
  "isLastPage": true,
  "values": [
    {
      "state": "SUCCESSFUL",
      "key": "393aa1ce45a2c5d576925e7bc835d688",
      "name": "Jenkins Folder -> Folder -> job -> branch PR-2301 -> run #XXX",
      "url": "http://jenkins.mycorp.com/job/folder/job/jobname/job/PR-2301/47/display/redirect",
      "description": "my commit",
      "dateAdded":<PHONE_NUMBER>161
    }
  ],
  "start": 0
}

I might be wrong but this looks a lot like the the content of the "Builds" tab of the PR.
maybe that's what Danger use to retrieve the previous comment or something?

ok so to give more details, here is what the comment looks like:

and if I follow the url of the request returning the 400 error on my scm server, here is what I get:
{
  "size": 1,
  "limit": 25,
  "isLastPage": true,
  "values": [
    {
      "state": "SUCCESSFUL",
      "key": "393aa1ce45a2c5d576925e7bc835d688",
      "name": "Jenkins Folder -> Folder -> job -> branch PR-2301 -> run #XXX",
      "url": "http://jenkins.mycorp.com/job/folder/job/jobname/job/PR-2301/47/display/redirect",
      "description": "my commit",
      "dateAdded":<PHONE_NUMBER>161
    }
  ],
  "start": 0
}

I might be wrong but this looks a lot like the the content of the "Builds" tab of the PR.
maybe that's what Danger use to retrieve the previous comment or something?

This happened to me as well on Github.
I use swift run danger-swift ci --newComment and the result is:

I used "danger-swift ci --failOnErrors --newComment" in my .yml file. I can able to see all the warnings and error messages in the PR overview. How to display only the error messages as a new comment not the warnings too


Table formatting breaks

Trying to format
==== =====
Head Foot
==== =====
1    1234
12   12 34
123  123 4
1234 123
==== =====

results in
+----+-----+
| Head | Foot |
+====+=====+
| 1  | 1234 |
+----+-----+
| 12 | 12  |
|    | 34  |
+----+-----+
| 123 | 123 |
|    | 4   |
+----+-----+
| 1234 | 123 |
+----+-----+

which is a broken table.
The problem seems to happen when the cell content is a single word and fills the full width of the cell or full_width-1.

Adding to this issue, formatting will also break if:

If a span is present in the table

And formatting right now has a chance to break if:

If the table contents contain vertical bars that use the offset

https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#grid-tables
I'm looking at trying to get around this right now. It basically revolves around us parsing the whole table block as opposed to the header and rows separately, reconstructing the table geometry from the morecols and morerows attributes of occasional <row: <entry...>> objects. No idea why docutils chooses to be lossy with this info depending on the table construction...
Should be easy enough to tack on an extra whitespace row for rows containing a vertical bar in the paragraph contents in all of that other mess.

Table from hell example:
+-----------+-----------+----------+
| 1         | 2         | 3        |
+===========+===========+==========+
| 4         | 5         | 6        |
+           +-----------+          +
|           | 7         |          |
+           +-----------+          +
|           | 8         |          |
+           +-----+-----+          +
|           | 9   | 10  |          |
+-----------+-----+-----+----------+
| 11        | 12        | 13       |
+-----------+-----------+----------+


Support/live 2726 remove experimental trongrid

📝 Description
Remove trongrid from experimental
❓ Context

Impacted projects: ledger-live-desktop
Linked resource(s): ``

✅ Checklist

[ ] Test coverage
[ ] Atomic delivery
[ ] No breaking changes

📸 Demo

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

/generate-screeshots

/generate-screenshots

/generate-screenshots


Add Support for Transfers Between Withdrawn Accounts - (Spec PR #601)

Description
As an implementor, I want Artemis to support transfers between withdrawn accounts so that Artemis is compliant with and implements all of the functions of the Beacon Chain spec.
Acceptance Criteria

Ability to process transfers is added in compliance with below linked PR.
Functions to process transfers are adequately tested.

Additional Information
See https://github.com/ethereum/eth2.0-specs/pull/601/files

Working on it.

Closed by #413


Fix dup album path

Codecov Report

Merging #76 (50e35ab) into master (8e07c9f) will decrease coverage by 7.16%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #76      +/-   ##
==========================================
- Coverage   98.06%   90.90%   -7.17%
==========================================
  Files          42       42
  Lines        2589     2606      +17
==========================================
- Hits         2539     2369     -170
- Misses         50      237     +187

Flag
Coverage Δ

integration
?

unit
90.90% <100.00%> (+0.05%)
:arrow_up:

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


Supposedly fix #109 with some refactoring sprinkled in

I feel like the changes are now just substantial enough where I'd like to see another beta test before releasing if we merge this, but I approve of the merge.


added a view gizmo

Would be nice to be able to click on a certain axis and realign it that way, especially if we're sort of replacing the compass with this? Would also be nice to be able to grab the view-thing and navigate around by rotating that.

Yeah we have that already, the problem is you cant ever get perfect alignment back since you can only know which axis to rotate to from a give position, meaning if you are upside down, you will go to that axis still upside down. Couple that with gimbal lock issues since we use the track ball camera (no lock at 90 degrees) and we get quite a few issues. We could still look into it for sure

I just dont knwo if we will be forced to basically recreate the orbital camera for that


Renaming ->getContent to ->getStructure

Changing the method name for StructureBehavior->getContent to ->getStructure as discussed.
Additionally:

StructureFactory#getStructure > `getStructureMetadata.
[Managed]PropertyContainer[Interface] > [Managed]Structure]Interface

@chirimoya @wachterjohannes @danrot fyi


chore(deps): update common-dev-assets digest to d455b65

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
f50cc3e -> d455b65

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Version support for Regional Backend Service Module

Hi! Thanks for creating PR#126 to support the regional external application load balancers. Does the versioning need to be adjusted to support the new module (i.e., 3.0)?
Receiving the following error:
There is no available version of module "registry.terraform.io/GoogleCloudPlatform/cloud-armor/google//modules/regional-backend-security-policy." The newest available version is 2.2.0.

@cherriford I have not released version 3. You can change source and point directly to the github link of the module. I will release it next week.
https://developer.hashicorp.com/terraform/language/modules/sources#github


chart is scrolling to top when reach maxScaleY and try zoom in again

Steps to reproduce, using ChartsDemo:
for normal bar chart:
[_chartView.viewPortHandler setMaximumScaleY:3.0];

for horizontal bar chart:
// which is a little confusing, it means the x axis for horizontal bar chart
[_chartView.viewPortHandler setMaximumScaleY:3.0];

First reach the max scale level, scroll the chart to the middle, and try zoom in again, it actually starts a scrolling to top, which at first seems zooming.
@noais I guess it's introduced in https://github.com/danielgindi/ios-charts/pull/388?

@liuxuan30 yes you right this happens on all charts.
I put this gift http://imgur.com/chYcHLV to explain the issue.
It's hard to fix this issue and the worst part is to not have time to fix him 😓

Isn't that the same as  #437?
I've sent a pull request that seems to have fixed the issue but it hasn't been reviewed yet.

@iangmaia I don't see it on maxScaleX, only scaleY. Your PR #438 seems only to fix the x axis, while I don't have this problem on x axis. Could you clarify?

@liuxuan30 Yes, you're right. I've added now scaleY handling as well.
I think I took the assumption that they were also always gonna be changed together (which is my case and it seemed to fix the issue).

@liuxuan30 Actually, I've played around with it a bit more and I realized it fixes only when pinchZoom is enabled. When it is disabled, unfortunately it is still there.

@iangmaia thanks, but why can't it be applied when pinchZoom disabled?

I have merge that PR, and made some fixes. Now it works properly


feat: add Azure example

Description of the changes
Adding a working DevOps Stack on Azure example with step-by-step setup instructions.

I'll close this PR because the new example has been added in the #1150 merged today.


the delay is 2 minutes

Hello
I want to inform you about the difficulties of working with the plugin.
Since version 0.2.10, obsidian has some delays.

After updating the plugin
When starting Obsidian
In either case, the delay is 2 minutes.
I conducted an experiment - removed all plugins except dataview.
The delay of 2 minutes remained in place.
The size of my database is 140 megabytes 3676 files (700 md).
my system is: Intel Core i3-2100 / RAM 16 Gb / win10
Please help me solve this problem

Are your markdown files quite large? I'm wondering if the inline field detection (which parses markdown files) is slowing things down.
If you look at console output, Dataview outputs how long it takes to generate indices; what are the times it reports?

Thank you for your prompt response!!
The console displays the following:

Sorry, I haven't figured out the interface yet.
I closed it and opened it again.

I close it for another issue with another title


Shell Script Syntax Highlight Bug

VSCode Version: 1.45.1
OS Version: macOS 10.15.5 (19F96)

Steps to Reproduce:

Set syntax highlight to shell scirpt.
Input following:

zinit ice wait lucid pick"it2git" as"program" atload'iterm2_print_user_vars() { it2git }'
zinit snippet https://raw.githubusercontent.com/gnachman/iterm2-website/master/source/utilities/it2git

get this:

correct version:

Does this issue occur when all extensions are disabled?: Yes

We get our shell script grammar from https://github.com/atom/language-shellscript but they are no longer maintaining that grammar. I'll leave this issue open so that if we ever change our shell script grammar I can make sure it gets addressed.

Linking and closing in favor of https://github.com/microsoft/vscode/issues/77675, which tracks considering a new shellscript grammar.


fix Read db name from BackupJobInfo

PR #37412 read the db name from BackupMeta, but it is not compatible, since BackupMeta is not serialized to json.

run buildall


[vcpkg script] Add Clang as ObjC Compiler when generating meson build

Describe the pull request

What does your PR fix?
Fixes #26147

Which triplets are supported/not supported? Have you updated the CI baseline?

NO

Does your PR follow the maintainer guide?

Probably? This is more of an PoC rather than an actual PR

If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

NO

This requires more setup. There is actually CMAKE_OBJC_FLAGS and probably also a CMAKE_<LANG>_COMPILER. As such a more general solution is required.

This requires more setup. There is actually CMAKE_OBJC_FLAGS and probably also a CMAKE_<LANG>_COMPILER. As such a more general solution is required.

Yeah I'm aware, this only gets us pass configuring stage, actual compilation still failed due to ObjC part gets compiled into host arch "arm64" while the rest is x86_64 code

This requires more setup. There is actually CMAKE_OBJC_FLAGS and probably also a CMAKE__COMPILER. As such a more general solution is required.

CMAKE_OBJC_FLAGS and CMAKE_OBJC_COMPILER are both empty during that part of the vcpkg infrastructure iirc, I'm not  sure about the correct way to set archs in meson

Other thoughts including:

Since I know absolutely nothing about meson / ObjCOnWindows / GCC , should we consider them in this patch? If so, can we still enforce Clang as the compiler?
How about ARC?

You need to activate the language and export the variables from vcpkg_cmake_get_vars

On my current patch, CMAKE_OBJC_COMPILER  in z_vcpkg_append_proglist is still empty, despite:

get-cmake-vars-x64-osx-*-CMakeCache.log
cmake-vars-x64-osx-*.cmake.log

Both contains CMAKE_OBJC_COMPILER
What am I missing here?

cmake-vars-x64-osx-rel.cmake.log
cmake-vars-x64-osx.cmake.log
get-cmake-vars-x64-osx-rel-CMakeCache.txt.log
get-cmake-vars-x64-osx-rel-err.log
get-cmake-vars-x64-osx-rel-out.log

@Neumann-A Please review.
I'm not sure why there are two "cmake_get_vars", so I ended up patching both.
With this patch applied, glib now properly compiles libglib-2.0.a for x86_64 on my AArch64 Mac.
However, glib's test failed due to not linking with Darwin's CoreFoundation.framework which sounds to me is more likely a port patch rather than our build system.

[181/557] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc  -o glib/gtester glib/gtester.p/gtester.c.o -L/Users/naville/Development/vcpkg/installed/x64-osx/debug/lib -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk glib/libglib-2.0.a glib/libcharset/libcharset.a /Users/naville/Development/vcpkg/installed/x64-osx/debug/lib/libintl.a /Users/naville/Development/vcpkg/installed/x64-osx/debug/lib/pkgconfig/../../lib/libpcre.a -liconv -lm
FAILED: glib/gtester
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc  -o glib/gtester glib/gtester.p/gtester.c.o -L/Users/naville/Development/vcpkg/installed/x64-osx/debug/lib -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk glib/libglib-2.0.a glib/libcharset/libcharset.a /Users/naville/Development/vcpkg/installed/x64-osx/debug/lib/libintl.a /Users/naville/Development/vcpkg/installed/x64-osx/debug/lib/pkgconfig/../../lib/libpcre.a -liconv -lm
Undefined symbols for architecture x86_64:
  "_CFArrayGetCount", referenced from:
      _libintl_setlocale in libintl.a(setlocale.o)
      __nl_language_preferences_default in libintl.a(langprefs.o)

package-x64-osx-dbg-out.log

/azp run

@Naville Any reason this was abandoned?
I ran into this the same issue while trying to crosscompile glib from x86_64 Intel macOS to arm64. After updating your patches to master it seems to compile successfully.

Updated patch
diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake
index 9d99127e5..7424a6b4a 100644
--- a/ports/glib/portfile.cmake
+++ b/ports/glib/portfile.cmake
@@ -37,6 +37,7 @@ endif()

 vcpkg_configure_meson(
     SOURCE_PATH "${SOURCE_PATH}"
+    LANGUAGES C CXX OBJC OBJCXX
     ADDITIONAL_BINARIES
         ${ADDITIONAL_BINARIES}
     OPTIONS
diff --git a/scripts/detect_compiler/CMakeLists.txt b/scripts/detect_compiler/CMakeLists.txt
index c55da9ebb..746e47a56 100644
--- a/scripts/detect_compiler/CMakeLists.txt
+++ b/scripts/detect_compiler/CMakeLists.txt
@@ -10,10 +10,20 @@ endif()

 enable_language(C)
 enable_language(CXX)
+if(APPLE)
+    enable_language(OBJC)
+    enable_language(OBJCXX)
+endif()

 file(SHA1 "${CMAKE_CXX_COMPILER}" CXX_HASH)
 file(SHA1 "${CMAKE_C_COMPILER}" C_HASH)
-string(SHA1 COMPILER_HASH "${C_HASH}${CXX_HASH}")
+set(OBJC_HASH "")
+set(OBJCXX_HASH "")
+if(APPLE)
+    file(SHA1 "${CMAKE_OBJC_COMPILER}" OBJC_HASH)
+    file(SHA1 "${CMAKE_OBJCXX_COMPILER}" OBJCXX_HASH)
+endif()
+string(SHA1 COMPILER_HASH "${C_HASH}${CXX_HASH}${OBJC_HASH}${OBJCXX_HASH}")

 message("#COMPILER_HASH#${COMPILER_HASH}")
 message("#COMPILER_C_HASH#${C_HASH}")
@@ -22,3 +32,11 @@ message("#COMPILER_C_ID#${CMAKE_C_COMPILER_ID}")
 message("#COMPILER_CXX_HASH#${CXX_HASH}")
 message("#COMPILER_CXX_VERSION#${CMAKE_CXX_COMPILER_VERSION}")
 message("#COMPILER_CXX_ID#${CMAKE_CXX_COMPILER_ID}")
+if(APPLE)
+    message("#COMPILER_OBJC_HASH#${OBJC_HASH}")
+    message("#COMPILER_OBJC_VERSION#${CMAKE_OBJC_COMPILER_VERSION}")
+    message("#COMPILER_OBJC_ID#${CMAKE_OBJC_COMPILER_ID}")
+    message("#COMPILER_OBJCXX_HASH#${OBJCXX_HASH}")
+    message("#COMPILER_OBJCXX_VERSION#${CMAKE_OBJCXX_COMPILER_VERSION}")
+    message("#COMPILER_OBJCXX_ID#${CMAKE_OBJCXX_COMPILER_ID}")
+endif()
diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt
index d2135a165..886c0693f 100644
--- a/scripts/get_cmake_vars/CMakeLists.txt
+++ b/scripts/get_cmake_vars/CMakeLists.txt
@@ -11,6 +11,10 @@ else()
 endif()

 set(VCPKG_LANGUAGES "C;CXX" CACHE STRING "Languages to enables for this project")
+if(APPLE)
+    list(APPEND VCPKG_LANGUAGES "OBJC")
+    list(APPEND VCPKG_LANGUAGES "OBJCXX")
+endif()

 project(get_cmake_vars LANGUAGES ${VCPKG_LANGUAGES})

@ekilmer As @Neumann-A said, it's not a generic patch


Faulty 'truncate' option in files_write()

The following code fails:
import io
import ipfsapi

api = ipfsapi.connect('localhost', 5001)

longtext = 'one two three'

res = api.files_write('/file.txt', io.BytesIO(str(longtext)), create=True)
assert api.files_read('/file.txt') == longtext

shorttext = 'this'

res = api.files_write('/file.txt', io.BytesIO(str(shorttext)), truncate=True)
assert api.files_read('/file.txt') == shorttext

The second assertion fails with yes two three ==  yes
This error is seems to be specific to the API implementation, as the command line equivalent works just fine:
$ echo 'one two three' | ipfs files write /file.txt --create
$ echo 'yes' | ipfs files write /file.txt --truncate
$ ipfs files read /file.txt
yes

Yeah, that certainly seems like a bug in the implementation, thanks for pointing that out! Are you interested in trying to squash this? You've already provided something that essentially acts as a test case. All you've got to do is trace where that truncate option is getting lost in the code.

@whereswaldon Can this issue be closed since #119 was merged?

@sujaypat Absolutely.


Investigating pydantic v2 upgrade

Description

Experimental branch showing known issues with updating to pydantic V2
Closes # (issue)
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings

Next Steps

[ ] Assign a reviewer based on the code owner document.

[ ] Once your review is approved, merge and delete the feature branch

On behalf of the Modis Tools Dev Team, thank you for your hard work! ✨

For when we do upgrade to higher pydantic versions, this fix will help with coercing the URL to behave like a string:
https://github.com/pydantic/pydantic/issues/7186#issuecomment-1874338146

@cearlefraym what's the status of this PR?

@cearlefraym what's the status of this PR?

This is for knowledge transfer, it can be closed. If/when switching to pydantic v2, this is important behavior to need to build around.


Revert the reversion of #111 and #114.

This reverts commits b43d1646cb7548b21631b064269a851fe368e739 and
6f3858caf0ba8602af068a82e5d12e06bd917f18, returning to the state of
c7a1ef4566f72b0628eefccbe09c0251a629fc03.
I’ve tried it out locally and it all works; I’m not sure what precisely
went wrong in the deployment process (after @brson had deployed it, test
mode simply didn’t activate), but I’m now moderately confident it wasn’t
a problem in these changes. Now that @acrichto is back, can we try it
again now?

r? @nikomatsakis
(rust_highfive has picked a reviewer for you, use r? to override)


tsconfig.json option to ignore error TS2307 (or any specific error)

🔍 Search Terms

TS2307
Ignoring specific error

✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
In our project we're using some convenience babel magic to add "virtual" packages which inject data into the client application. E.g.
import staticURL from 'indico-url:plugin_vc_zoom.static';

(fetches a URL from the backend's blueprint map)
This is obviously not appreciated by TypeScript, although it's not an issue in the end because we transpile it using Babel. On the other hand, VS Code does complain about it because TS does. Having the VS Code integration is useful and we'd like to continue using it and mute this particular error.
Right now the only option we have is to do something like:
// @ts-expect-error URL import
import staticURL from 'indico-url:plugin_vc_zoom.static';

... which is not great, especially if you end up in a file which has several of those.
Hence, it would be very useful if we could have an option to mute a particular error, or at least something which lets us tell Typescript that we don't want to see errors about unresolved modules (we get those from ESLint anyway).
I found this old discussion, from which there was no conclusion. Maybe there's something new?
📃 Motivating Example
"You're now able to silence particular errors, which is especially useful if you are already using a dedicated linting tool such as ESLint and want to have full control over which errors you see."
💻 Use Cases

What do you want to use this for?

Development in a large project where we are using also Babel + ESLint

What shortcomings exist with current approaches?

Typescript is used both as a transpilation and static checking tool (by VSCode). It obviously complains about missing modules, which is good, and that would be fine if we were not depending on it also for VS Code "linting". I have no way to silence particular false positives unless I do so line by line.

What workarounds are you using in the meantime?

Silencing errors line by line with // @ts-expect-error, which is far from ideal.

Why not just tell TypeScript that these are valid module imports, instead of silencing the error?
Create a .d.ts file and add this line: declare module "indico-url:*";

Have you considered using the paths option? This will allow you to tell typescript that the module 'indico-url:plugin_vc_zoom.static' has type definitions at (your local copy of the module), which will allow TS to type check and intellisense your usage of the module's functions.
If you don't have type definitions, you can use declare module "indico-url:*"; in a declaration file to type it as any.

Duplicate #19139

@jcalz That issue is about being able to distinguish between errors when using @ts-ignore, but this issue seems to be about being able to globally hide errors (using the tsconfig).

Thanks everyone, that seems to work. I had no idea you could use wildcards in module names. I'll close the issue.


Consistency in the resetart policy docs

Follow onto #11235 final consistency
Signed-off-by: Mary Anthony<EMAIL_ADDRESS>

@jamtur01 @fredlf @SvenDowideit

typo in the commit message, not sure worth fixing.

@ahmetalpbalkan @jamtur01 This one has already gone rounds on another PR.  I'm just tweaking the text cause non-native speaker.

LGTM @docker/docs-owners


Build binaries with profile-guided optimization enabled

Motivation and Context
zetacored and zetaclientd could benefit from using profile-guided optimization.
By building the binaries with pgo enabled we can benefit from a 2-14% performance boost for "free", as the compiler will optimize the binaries based on previous data collected at runtime (inlining functions, etc).
This does not only apply to our code but also to the libraries used by the binary, as the data is gathered during runtime.

I may understand we need profile file to provide when building the binary?
I think we already generated pprof in the past cc @CharlieMc0 @brewmaster012


Deprecate ubluepy

I'm moving out ubluepy as a external cmodule that can be loaded using USER_C_MODULES.
This makes me do a few changes to the current proposal, explicitly the "MICROPY_PY_BLUETOOTH ?= 1" and "RF_STACK_ENABLED". The first to disable BLUETOOTH from micropython, but not the SoftDevice support as this is still needed if a Radio stack is hosted outside. The latter to override the "is_stack_enabled" in drivers like flash/random/temp. This is also applicable if someone would like to make a Radio module outside mainline source, and still utilize these drivers.

Created https://github.com/glennrub/ubluepy -> clone to "cmodules"
make BOARD=pca10056 USER_C_MODULES=cmodules SD=s140 MICROPY_PY_BLUETOOTH=0
This shows s140 still being enabled and linker scripts being used, but custom Radio stack driver being used.


Make DFA matcher the default

/cc @JamesNK @kichalla
This change makes the DFA matcher the default for Dispatcher 👏
I'll also check that MVC isn't regressed by this change before merging.

I had to make one other small fix, but the MVC tests pass with this change. I'll merge this tomorrow morning when I have corpnet access to watch the CI.


SSR async title?

Hello guys, having problems with Helmet and SSR.
My SSR works well for async actions and generating prerendered html with no problems but the problem is async data which I am getting via props and rendering in component in:
 {DYNAMIC_VALUE_FROM_Async_props}  (Markup not showing Helmet wrapper tag)
Is not rendered, just a blank. How could I wait on props to come and then get prerendered title as well? It works in client, title is updating, but not on inital load and ssr.
Thanks!

"My SSR works well for async actions and generating prerendered html with no problems "
"but the problem is async data"
"works in client, title is updating, but not on inital load and ssr."
So SSR/initial load is not working as you expect? Which static framework are you using, if any?
SSR requires data for rendering. This ensures your title is fulfilled. If not doing this and your app is requesting the title async/after SSR then yes your title will be empty.
Without more information and a working example of your problem it is hard to give an answer.


test: fix tests

Motivation
I was hasty in merging https://github.com/alloy-rs/alloy/pull/1582, checking the status through an external interface said it was good to merge, when in fact it was not.
Solution
Fix the remaining tests and unbreak CI. Sorry
PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

sorry guys, missed that 😞

No problem, we added CI checks merge requirement so this can't happen again.


Unrecognized OS inside VueJS

I am developing a desktop application using ElectronJS framework and VueJS for UI.

Expected Behavior

When I do import node-wifi to VueJS App.js and/or to a component Wifi.vue I get blank screen saying ERROR: Unrecognized OS in the console. But when I import node-wifi to main.js from where ElectronJS framework starts it works without problem.
Current Behavior

I want it to work properly inside VueJS component like Wifi.vue without any problems.
Affected features

[* ] node API
[ ] cli

Possible Solution

I actually don't have a clue how it can be fixed but in order to solve this problem maybe node-wifi could be injected from ElectronJS process to VueJS if you can explain how to do that.
Steps to Reproduce (for bugs)

Install Electron-vue boilerplate to get ElectronJS and VueJS work together (https://github.com/SimulatedGREG/electron-vue)
Add node-wifi to project
Import node-wifi and init it on component. (import wifi from 'node-wifi')
Launch the app via 'npm run electron:serve' command to test it. Error should be in the console.

Context

I want to create a kiosk-like system using ElecrtonJS and VueJS together. User should be able to scan wifi networks through this app.
Your Environment

OS: Windows 10
node-wifi version 2.0.13
VueJS version 2.6.11
ElectronJS version 9.0.0
wifi card: Intel(R) Dual Band Wireless-AC 3168

Hello. Node-wifi as its name may refer, is only working in node environment. Since you are talking about vue.js I guess you are trying to use node-wifi in the renderer process in your electron application. It is impossible. In electron application, you can use node-wifi only in main process.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Improve actions

[x] Changes have been thoroughly tested to not break existing functionality.
[x] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

Adds support for:

Nested notification action groups.
Different views for notification action groups (button, link, etc.).
Tooltips on actions.
Notification action groups size.
Notification action groups extra attributes.
Outlined notification action groups.
Actions of type badge.

Great work!
With this PR's Bagded Actions, can we add support for passing it as a badge where possible? e.g:
NavigationItem::make('Foo')
  ->badge(
    Action::make('create-foo')
        ->badge()
  )

or
Tab::make('Foo')
  ->badge(
    Action::make('show-foos')
        ->label(3)
        ->badge()
  )

To be honest, that seems quite hacky from your screenshot. 😅
Accepting badge actions in those cases will probably not work out well, as you can't have nested buttons or links.

It its hacky yes, but that's what i have working for now. I think adding a NavigationItem called "Create a Blog" will confuse perople because there's no diff from the items above.
i'll remove the badges if/when #8434 gets merged.

To be honest, that seems quite hacky from your screenshot. 😅 Accepting badge actions in those cases will probably not work out well, as you can't have nested buttons or links.

It its hacky yes, but that's what i have working for now. I think adding a NavigationItem called "Create a Blog" will confuse perople because there's no diff from the items above.
i'll remove the badges if/when https://github.com/filamentphp/filament/pull/8434 gets merged.

@saade If you don't mind me asking, how did you do the design for your sidebar? I have been wanting to do that for a long time... Is this supported in Filament natively?

@andrewdwallo, please continue this discussion on Discord to not cause unnecessary notifications for other people in this pull request. 🙂


Socketcand based CAN logger.

This PR adds a socketcand container to expose CAN bus data to a socket in the Docker network. Also includes can_logger, logging data obtained from socketcand and logging to a CSV file or a Database.

@facastiblancor I  have not had time to really look at this PR, but from the file listing I am concerned that we duplicating socketcand's code here, making getting upgrades / bug fixes difficult.
Should the dockerfile just pull a certain commit of socketcand in the build phase?
Did you mean to include changes to cell_logger?

@facastiblancor Looks like you branched off of bugfix/can-configuration not master. NBD if we merge that branch in first, @abalmos might have a more elegant idea on how to fix that.
Agree about duplicating socketcand's code. Makes it hard to maintain and control. Would like to see pulling the commit via dockerfile or a git submodule

@facastiblancor I have not had time to really look at this PR, but from the file listing I am concerned that we are duplicating socketcand's code here, making upgrades / bug fixes difficult.
Should the dockerfile just pull a certain commit of socketcand in the build phase?
Did you mean to include changes to cell_logger?

Yeah, I'm not entirely confident of copying socketcand's code. If I pull the code using git, then the container would be bloating with lots of dependencies, increasing image size. This was an effort to keep the image size small. Other option could be bundling a binary instead of the source, but that would be way worse.
@aaron97neu  Didn't notice that. That branch is almost ready to merge, however this still needs testing with a full deploy.

Yeah, I'm not entirely confident of copying socketcand's code. If I pull the code using git, then the container would be bloating with lots of dependencies, increasing image size. This was an effort to keep the image size small. Other option could be bundling a binary instead of the source, but that would be way worse.

If files you included are only the ones necessary for what we need, not the whole repo, you may have a point. Curious how crazy these dependencies are. Where did you get those files?

Yeah, I'm not entirely confident of copying socketcand's code. If I pull the code using git, then the container would be bloating with lots of dependencies, increasing image size. This was an effort to keep the image size small. Other option could be bundling a binary instead of the source, but that would be way worse.

Bundling the binary isn't possible because we need to support multiple architectures, but it is sort of the answer.
You should use a multistage Dockerfile, like we do with the python setup. In if the first stage you would git clone socketcand code, install compilers, libraries, etc. Run configure and make.
Then in the second stage you copy the resulting binary and install any libraries that socketcand is dynamic linked to (if any). The first stage could be just normal debian and the second stage debian-slim. I want to say that debian even has a build that comes with gcc, make, etc. for the first stage.
Doing it like this, socketcand code comes from the socketcand repo each time (could be a build arg to determine commit/tag), the binary is built for the current architecture (github actions ensures we build for both arm and amd64), and the containers are minimal (the first stage is thrown away after the build)

One other piece of feedback that could cause major structural changes: I don't think we want to hit postgres with 100s of INSERTs per second. I think can_logger will need to buffer up and do larger inserts.
Something like every N messages or S seconds?
A few inserts a second seems reasonable? @aaron97neu ?

A few inserts a second seems reasonable? @aaron97neu ?

100s inserts/sec maybe, prob not. Would need to see testing.
1s inserts/sec probably, testing still a good idea
I think inserts at a constant rate is a good idea. Implementation would be interesting. Maybe a queue that the main function writes arrays containing can frames to and a write_to_csv/db reads it regularly. Might be a good place to use multithreading or multiprocessing, the later being truly concurrent in cpython

Is this ready for review?

Is this ready for review?

Yes, most of it. However I think it would be better to implement a separate thread to write to the DB. That's what is missing in the last commit.