Adding Chinese simplified translation

Changes proposed:

Adding Chinese simplified translation of the docs

Maybe I can improve it.

Sure 👍  Any help is appreciated.

@Astrian @PxSonny This is awesome. I love the fact that more people are translating it. Maybe u guys can help finish this as well. My team finished translating it a while back but i never get the time to edit the files and upload them.
https://docs.google.com/document/d/1Z4_IkjJj3lvI69KVGzrWTkwKCUGrbDhiBtSltw3uOR8/edit

@Skillz4Killz I see but I think it's messy so much 😂 Maybe I can re-translate it with GitBook

Maybe let's not re-translate haha but finalize everything using my PR and @Skillz4Killz document. How does GitBook work? It can be based on a fork of a repo?

@PxSonny Same as GitHub but Git the book. I will review the Google Docs and try to improve it
Sent from my OnePlus ONEPLUS A5000 using FastHub

Yes please improve away. I am happy to see others also want to help translate it.
How about using GitHub pages instead of GitBooks? We can create a branch in the repo that will allow us to be able to maintain every language of the docs right inside this very repo.

@Skillz4Killz Great idea.

@Skillz4Killz Let's do that. How do we get started? I can translate into French too ^^

@genexp How does using GitHub pages in a separate branch here in the repo to store all the different versions of the translated docs sound?
@PxSonny I already sent up French as well a while back. Would love any help updating it though and fixing anything we may have missed.

@Skillz4Killz Yes, if you have any document I can have a look on it.

I'm a bit on edge about merging translations. Can we add something to say translated documents may be out of date? There are likely going to be cases where translated documents are out of date with their English counterparts as this is a community effort.

https://shimo.im/doc/vj48YTpy0CwUHp0v?r=V9GZ4/
Just translated some little part of the document, and I will continue to translate it

@DominicGunn Yea that can easily be added at the top of the docs. But to be honest aren't English docs also outdated as well? It's kept by the English community just as the other languages will be kept by their community.
@PxSonny https://github.com/madglory/gamelocker-vainglory/pull/164
I'm not sure where the files went but I uploaded them there and realized how much work and time to took me to do that.

English is the official language for standards and documentation and should always be the primary source, I'm with Dom.

Yeah, I don't see any harm adding a disclaimer: "the documentation can be outdated, please check English one for most up-to-date" in the different translation.
@Skillz4Killz Oh I see. I'll get the files from your commit and check it. :+1:

Sounds awesome!
On Wed, Aug 23, 2017 at 10:22 PM, Sonny Alves Dias<EMAIL_ADDRESS>
wrote:

Yeah, I don't see any harm adding a disclaimer: "the documentation can be
outdated, please check English one for most up-to-date" in the different
translation.
@Skillz4Killz https://github.com/skillz4killz Oh I see. I'll get the
files from your commit and check it. 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/madglory/gamelocker-vainglory/pull/255#issuecomment-324514155,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAADMCXYUoguRCXtYDdz_mwAdiiUUTSIks5sbN5RgaJpZM4O-Eji
.

--
Brian Corrigan
Managing Partner / Principal Engineer at MadGlory
https://www.linkedin.com/company/2657284
Wb: http://madglory.com http://www.madglory.com/
Tw: @madglory
Ph:<PHONE_NUMBER>

Anyone know to make Slate hosted on github pages? Ive been looking into it but it actually requires running scripts and hosting it locally so I am not sure how to set up the GitHub Pages. Does anyone know how to set that up with Slate?

Hey @PxSonny can you see #299 and #301.  I think this will help get this shipped!  Thanks for pushing us!

Ok, I spoke to @PxSonny offline on this.  We've committed the main translations, so we can now let this one follow that format.


[WIP] Keys api post

TODO:

[x] Aren't crashes in validate_request supposed to return something other than 500? Add test.
[x] Do we want to capture keys actions? (tc testing)
[x] Does reporting need an update? This doesn't interact with reporting to my knowledge...
[x] Rename #keys_state.ejson to #keys_state.key_data like every other object
[x] Why is it #keys_state and not #key_state?
[ ] Eunit tests (specifically what #keys_state.type is)

Opening non-WIP PR


Can I use only GAPLESS to fill the gap?

Dear Developer
Excuse me, I already have a genome at the chromosome level, so I just want to try filling gap with GAPLESS. Do you think it's okay?

In the gapless.py there is a parameter org_scaffold_trust that is by default set to "basic". If you set it to "blind", it should only fill gaps. I did not pull this parameter through to the program parameter level, yet. I will do this, but currently I am changing flats, so it will likely not happen before the end of the month. Thus, if you want it fast you have to change it directly in the python file.

Thank you for your enthusiastic guidance. I will immediately give it a try and compare it with LR_ Gapcloser, TGS-gapcloser results.

@XXH123a  Hi,  could you share the compare result?

also just want to use gapless to fill gap only.


Fixed symbol conflicts with ELSE, fixed MSVC compilation of funbuff

Tim, may you exclude cyclone's pink and just use the one from else?

Or is it q problem when using cyclone/pink~?

It's a problem in general to have functions with the same name in both ELSE and cyclone, because Pd will always use the function that was loaded first. So if there are any implementation differences between the two at some point, that could lead to strange problems. And of course it's necessary for it to compile in plugdata. And yeah, you can use both [else/pink~] and [cyclone/pink~] in plugdata.

So if there are any implementation differences between the two at some point, that could lead to strange problems.

they are exactly the same! Only issue I can think of is if someone is using [cyclone/pink~]


workflow long assigned

https://cmsweb.cern.ch/reqmgr2/fetch?rid=vlimant_task_EXO-RunIISummer16DR80Premix-01801__v1_T_170105_224426_9870 is sitting in assigned for no apparent reason since 15 days

This is failing exactly in the same code as the issue #7441, though the reason is different.
It's failing to acquire one block that is not completed anywhere yet:
https://cmsweb.cern.ch/phedex/datasvc/xml/prod/blockreplicas?block=/AxialMonoW_Mphi-1500_Mchi-1_gSM-0p25_gDM-1p0_v2_13TeV-madgraph/RunIISummer15wmLHEGS-MCRUN2_71_V1-v1/GEN-SIM%234c5a8e68-8fb3-11e6-8d67-001e67abefa8
since it has no location, it fails in this line (that is fixed in master):
https://github.com/dmwm/WMCore/blob/1.0.23.pre3/src/python/WMCore/Services/DBS/DBS3Reader.py#L666

sorry for the duplicate then. looked like a different reason will pass on to TT @sidnarayanan

I don't know why it hasn't been registered into LogDB though:
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/WorkQueue/WorkQueue.py#L1126
the fact that the database is completely empty looks suspicious as well...

Hi all,
1 file has been invalidated [1]. I was not receiving github notifications. I just subscribed.
Let me know,
Sebastian.
[1] /store/mc/RunIISummer15wmLHEGS/AxialMonoW_Mphi-1500_Mchi-1_gSM-0p25_gDM-1p0_v2_13TeV-madgraph/GEN-SIM/MCRUN2_71_V1-v1/70000/BE186F53-7590-E611-9181-0242AC130004.root

@sebastianpulido, no worries, I send this by email to TT

Please re-open for
prozober_task_HIG-RunIISummer16DR80Premix-00209__v1_T_170120_180043_4823
pdmvserv_task_BPH-RunIISummer16DR80Premix-00010__v1_T_170112_142010_6077
pdmvserv_task_HIG-RunIISummer16DR80Premix-00209__v1_T_170105_140314_3378

prozober_task_HIG-RunIISummer16DR80Premix-00209__v1_T_170120_180043_4823

Block not complete anywhere:
https://cmsweb.cern.ch/phedex/datasvc/xml/prod/blockreplicas?block=/TTToHplusToWZprime_WToENu_ZToMuMu_MH-140_MZ-5_13TeV-madgraph/RunIISummer15wmLHEGS-MCRUN2_71_V1-v1/GEN-SIM%23b1026b82-91f8-11e6-8fc0-001e67abf518

pdmvserv_task_BPH-RunIISummer16DR80Premix-00010__v1_T_170112_142010_6077

same:
https://cmsweb.cern.ch/phedex/datasvc/xml/prod/blockreplicas?block=/BuToKstarJpsi_BMuonFilter_SoftQCDnonD_TuneCUEP8M1_13TeV-pythia8-evtgen/RunIISummer15GS-MCRUN2_71_V1-v1/GEN-SIM%2389263f0c-8a2e-11e6-b48c-002590494fb0

pdmvserv_task_HIG-RunIISummer16DR80Premix-00209__v1_T_170105_140314_3378

same:
https://cmsweb.cern.ch/phedex/datasvc/xml/prod/blockreplicas?block=/TTToHplusToWZprime_WToENu_ZToMuMu_MH-140_MZ-5_13TeV-madgraph/RunIISummer15wmLHEGS-MCRUN2_71_V1-v1/GEN-SIM%23b1026b82-91f8-11e6-8fc0-001e67abf518
@sebastianpulido I think these 3 are up to you

Hi all, I believe 1 block is reported twice? I invalidated 2 files.
Thanks for reporting it Alan!

@prozober can you please clone with black list, until we have the fix deployed and until such blocks are properly handled in invalidation by tt
@mcremone FYI

Hi all, I missed 1 file, no more missing files for datasets
https://cmsweb.cern.ch/phedex/datasvc/perl/prod/missingfiles?block=/TTToHplusToWZprime_WToENu_ZToMuMu_MH-140_MZ-5_13TeV-madgraph/RunIISummer15wmLHEGS-MCRUN2_71_V1-v1/GEN-SIM%23*
https://cmsweb.cern.ch/phedex/datasvc/perl/prod/missingfiles?block=/BuToKstarJpsi_BMuonFilter_SoftQCDnonD_TuneCUEP8M1_13TeV-pythia8-evtgen/RunIISummer15GS-MCRUN2_71_V1-v1/GEN-SIM%23*
Sebastian.

@sebastianpulido can you please summarize what are the blocks left with no files (those that we should blacklist) if any ?

There is no need to cancel/blacklist any of these 3 workflows. Those blocks have > 1 files and they completed at their destination. All 3 workflows were already acquired by GQ.


Refresh tokens issue in scheme jwt with custom foreign keys

So, when I try to refresh an user token show a query exception:
error: column tokens.userid does not exist
Method try to access userid (all in lowercase) in tokens table, but the correct is userId.
This error show only in generateForRefreshToken.
Code example bellow.
//Model definition
class User extends Model {
  static boot () {
    super.boot()
    this.addHook('beforeCreate', 'User.hashPassword')
 }
  tokens () {
    return this.hasMany('App/Models/Token', 'id', 'userId')
  }
}

//controller
async refreshToken ({ request, auth }) {
    const refreshToken = request.header('x-refresh-token')
    return await auth.generateForRefreshToken(refreshToken)
}

Did u modified the default foreign key?

In token scheme? Yes. I use auth method for attempt with refresh token and work correctly.
This error was throw when executing this method on Lucid Serializer.
https://github.com/adonisjs/adonis-auth/blob/develop/src/Serializers/Lucid.js#L158

Can u share the database you are using?

I'm using PostgreSQL

Okay, so that seems to be the issue, PostgreSQL converts keys to lowercase when not in double quotes ".
Lemme see what best I can do in this case


Expose objects factory to Settings scripts

With Settings plugins and Settings extensions becoming more popular it is expected that more build and configuration logic will migrate to settings scripts.
And while it is possible to access an ObjectFactory service from a settings script, it is cumbersome, relies on non public API for service lookup and the provided ObjectFactory is not able to inject the most commonly requested services.
The closest replacement is extensions.create but it has the side-effect of registering the extension with the Settings object which is not always desirable.
For perspective, here's how one could add a configuration cache friendly background action to the Gradle Enterprise plugin configuration Today using only public API:
import com.gradle.scan.plugin.BuildScanExtension

plugins {
    id("com.gradle.enterprise") version("3.4")
}

open class MyBackgroundAction @javax.inject.Inject constructor(
    val rootDir: File,
    val execOperations: ExecOperations
) : Action<BuildScanExtension> {

    override fun execute(buildScan: BuildScanExtension) {
        println("rootDir: $rootDir")
        println("execOperations: $execOperations")
    }
}

gradleEnterprise {
    buildScan.background(
        extensions.create<MyBackgroundAction>("myBackgroundAction", rootDir)
    )
}

Is serviceOf<ObjectFactory>() a sensible workaround?

Hey @ducrohet, we'll look into adding the missing API soon, in the meantime, regular settings plugins can use service injection:
                open class SettingsPlugin @javax.inject.Inject constructor(
                    val objectFactory: ObjectFactory
                ) : Plugin<Settings> {
                    override fun apply(settings: Settings) {
                    }
                }

Yes, that's what we just ended up doing.

the workaround in https://github.com/gradle/gradle/issues/14171#issuecomment-978783602 seems to work fine as well.
Looks like these work fine directly in settings.gradle.kts
serviceOf<ExecOperations>()
val objects = serviceOf<ObjectFactory>()

This is going to be solved as part of a more general #13121.


⚠ Jenkins Plugins Artifactory has degraded performance

In 09542e2, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2875 ms

Resolved: Jenkins Plugins Artifactory performance has improved in b18c5aa after 1 hour, 14 minutes.


Use compression when appropriate (add auto mode)

Some file types aren't great for compression such as those that are already compressed, like zip files, most non-raw media formats etc.
In these cases, compression actually increases file size as well as time taken

Could change the checkbox to be a radio button of on/off/auto and add an internal map of file types to ignore compression for

Did not include radio button, changed checkbox text to "Auto-compress" and added a compression blacklist based on file extension


Fixed Circuit Outline

Fixes #972
Describe the changes you have made in this PR -
Added The round outlines in the User Project Cards.
Screenshots of the changes (If any) -

Coverage remained the same at 84.266% when pulling 13a8006f395d595e5150f79647c97060bf4fa396 on Shivansh2407:patch-27 into 0499c088b162e52aa8bbe2dbaf68a002beef5c0c on CircuitVerse:master.

@nitin10s and @tachyons Please review 👍

Done @nitin10s . See the updated screenshot below :

Please review 👍

@nitin10s and @tachyons Review 👍

I have updated the PR with requested changes. Please review and merge @tachyons .

@tachyons and @nitin10s review please 👍

@shivansh2407  make it rounded-0 no need to add extra class

@Shivansh2407 make it rounded-0 no need to add extra class

Yes, I also got the same Idea . Thanks @yash15601 will make updates soon.

@tachyons Done 👍 .Please review and Merge


Search Section in blog page is not good

Search Section is not good
As In the blog page of your website search section UI is not good. Which creates difficulty to user for using the search in blog page given below is the screenshot of the bug.

As I can create a better search section which creates ease to the user. I am the Contributor GSSOC23 if you like the bellow design then assign it to me so that i can start working on it.

Hey..I liked this design..pls improve the search bar in blogs page!

Hey is it done?? Pls submit your PR within two days !!

I will submit this.today positively


migration script for multiple plans in firebase

Summary

Wrote a migration script to support new data type Plan
Associates all current plans with default name "Plan 1"

Test Plan

Test with dev courseplan firebase to see if in user-semesters, plans:

is an array with one plan
the plan has name "Plan 1"
the plan has all old semesters in the semesters field.

Everything looks good and shoudl work properly. Just one thing - I don't know if it's necessary to keep the console log statements still, and if we do want to keep it, would it be possible to follow the eslint instructions? I found a website with how to do it: https://eslint.org/docs/latest/rules/no-await-in-loop


Need the bpe codes files for applying bpe to a new file.

Could you please share the bpe codes file?
Or could you please tell us how many bpe symbols you learn?

have you solve this problem？ I met the same problem, iwslt16  data in test seems not take bpe

Have you solve this problem？


Gene names in IMA dataset

Your method is very innovative, and the cell features obtained have wide applications in downstream tasks. We downloaded the data from the IMA dataset through the provided link but noticed that gene names are represented by numbers. Could you please provide a dictionary mapping these numbers to the corresponding gene names?

Thanks!
For the IMA dataset, the .X slot is the UCE embeddings. There are no gene names / expression data in that anndata.

Could you please also provide the gene expression data that generated IMA_sample.h5ad?


Sentry timeouts don't work on our server

How do you use Sentry?
Self-hosted / on-premises
SDK version
4.5.0
Steps to reproduce
We have an application, which we develop in Docker environment.
We added three options to Sentry configuration in sentry.yaml file:
    options:
        attach_stacktrace: true
        send_attempts: '%env(int:SENTRY_RESEND_ATTEMPTS)%'
        http_connect_timeout: '%env(int:SENTRY_HTTP_CONNECT_TIMEOUT)%'
        http_timeout: '%env(int:SENTRY_HTTP_TIMEOUT)%'
        environment: '%kernel.environment%'
        error_types: 'E_ALL & ~E_NOTICE & ~E_DEPRECATED'
        release: '%kernel.environment%'
        integrations:
            - 'Sentry\Integration\IgnoreErrorsIntegration'

Our values are:
SENTRY_RESEND_ATTEMPTS=0
SENTRY_HTTP_CONNECT_TIMEOUT=1
SENTRY_HTTP_TIMEOUT=2

We tested these timeouts in Docker environment and all response times from our backend application were correct.
But when we deployed this application to our server they seems to be ignored.
We tested Sentry timeout with some page with sleep(10); to get response after 10 sec.
This approach worked in Docker, but does not work on the server: we need to wait these 10 seconds for Sentry, but it should be quit after 2 seconds (timeout limit reached).
Can you help us in finding what we are doing wrong?
Expected result
Sentry timeout should work as expected.
Actual result
We need to wait for e..g 10 seconds for page, which simulates Sentry.

The defaults are applied by the underlying PHP SDK here https://github.com/getsentry/sentry-php/blob/3.x/src/Options.php#L25-L35.
Hence I'm wondering why you see a 10 second timeout, it almost feels like that the env vars you set on production somehow set these options to null.

@cleptric thanks for your reply
I forgot  to mention that our application uses Symfony framework and uses following configuration file (sentry.yaml):
sentry:
    dsn: '%env(SENTRY_DSN)%'

#    If you are using Monolog, you also need these additional configuration and services to log the errors correctly:
#    https://docs.sentry.io/platforms/php/guides/symfony/#monolog-integration
    register_error_listener: false

    options:
        attach_stacktrace: true
        send_attempts: '%env(int:SENTRY_RESEND_ATTEMPTS)%'
        http_connect_timeout: '%env(int:SENTRY_HTTP_CONNECT_TIMEOUT)%'
        http_timeout: '%env(int:SENTRY_HTTP_TIMEOUT)%'
        environment: '%kernel.environment%'
        error_types: 'E_ALL & ~E_NOTICE & ~E_DEPRECATED'
        release: '%kernel.environment%'
        integrations:
            - 'Sentry\Integration\IgnoreErrorsIntegration'

We try to simulate 10-second delay of Sentry application to check if timeout values are working as expected.
Our application connects to SMTP server and if it rejects our request, an error is sent to Sentry.
In that case, with high traffic, we killed Sentry some time ago and want to prevent it from happening again.
We can increase 10-second delay to 15 or 30 seconds... we just chose 10 at the moment.

The Symfony SDK uses the PHP SDK under the hood https://github.com/getsentry/sentry-symfony/blob/master/composer.json#L31, so I just wanted to point out where the default values are coming from. I assume something is wrong with your production server, as the config values are correctly applied in my tests.
If you are generally concerned about the overhead the PHP SDK is introducing to your request times, I recommend running a local Relay next to your application https://docs.sentry.io/platforms/php/guides/symfony/performance/#improve-response-time.
This decreases the roundtrip time, and even if your on-premise instance is not accepting any events, the local Relay will still respond with a 200 status code.

You mentioned it was working in Docker but not in your production environment.
Did you try setting the raw values in your sentry.yaml instead of using environment variables?

Hi there.
Yes, I tried setting raw values in sentry.yaml, but they didn't work for me (they were not been applied on the server).
I'm not sure if it could help you, but when I was debugging the issue:

in file vendor/sentry/sentry/src/Client.php:

I got locally in Docker:

captureEvent() :: 2023-11-13T20:35:20.235179 :: start
captureEvent() :: 2023-11-13T20:35:22.240692 :: Operation timed out after 2001 milliseconds with 0 bytes received for "https://beta.somewebapp.pl/api//store/".
captureEvent() :: 2023-11-13T20:35:22.240692 :: Symfony\Component\HttpClient\Exception\TransportException

and on the server:

captureEvent() :: 2023-11-13T21:14:14.218842 :: start
captureEvent() :: 2023-11-13T21:14:16.222341 :: The promise was rejected
captureEvent() :: 2023-11-13T21:14:16.222341 :: GuzzleHttp\Promise\RejectionException

Please try to update the SDK composer update -W sentry/sentry-symfony as you're running a quite old version of the SDK.

Closing due to inactivity.


Avoid annoying log: _last_checkpoint range=0- -> errored: NotFound

What type of enhancement is this?
User experience
What does the enhancement do?
Now the server continuously print the following warning, which is annoying
2023-03-31T06:58:28.229448Z  WARN opendal::services: service=fs operation=read path=system/information_schema/0/0_0000000000/manifest/_last_checkpoint range=0- -> errored: NotFound (persistent) at read => entity not found

Context:
    service: fs
    path: system/information_schema/0/0_0000000000/manifest/_last_checkpoint
    range: 0-

Source: No such file or directory (os error 2)

Implementation challenges
Better to supressing this log

It's printed by OpenDAL. Already submit an issue https://github.com/apache/incubator-opendal/issues/1820


Added German Translation

DO NOT MERGE! NOT READY

I marked this as a draft, when you're ready to merge just hit the "Ready for review" button.


Name property of a focusable element must not be null (Equation input)

A team member will update this issue with more details soon.

This is your friendly Microsoft Issue Bot. I created this issue automatically as requested by a team member.


strassen algorithm in java

although there are faster algorithms for small matrices ,strassens algorithm is the fastest algorithm for much larger matrices and thus i would like to add this extremely important algorithm to this project

Sorry this algorithm has been implemented in all four languages


wait-for-postgress container in migrate pod does not pick externalDatabase.existingSecret

Chart version: v0.3.2
App version: v0.3.1
migrate pod stuck in pending state if using externalDatabase.existingSecret.
externalDatabase:
  existingSecret: "openfga-secrets"
  existingSecretKey: "OPENFGA_DATASTORE_URI"

migrate pod stuck with following error.
nc: bad address ''
Waiting for postgres...
nc: bad address ''
Waiting for postgres...
nc: bad address ''
Waiting for postgres...
nc: bad address ''
Waiting for postgres...
nc: bad address ''

After a few tests, I couldn't reproduce your issue. Be sure to properly fill the value of the secret  from externalDatabase.existingSecretKey, it is expecting a full postgresql URI, you can find below the example I was running to assert your issue. It seems to be a misconfiguration, if you still have the issue please provide more information so I can fix it.
The steps I followed:

Installing bitnami/postgresql chart
Create a secret named openfga-secrets containing the postgresql full uri: postgres://postgres:irfBV5SqSY@postgresql:5432/postgres
Deploying openfga with the below command:

helm upgrade --install openfga ./openfga/ \
   --set externalDatabase.existingSecret="openfga-secrets" \
   --set externalDatabase.existingSecretKey="postgres-uri"

@AlexandreBrg I was passing the full postgresql uri in the same format. I tried it twice and it didn't worked. My database is on AWS RDS but I think that should not make any difference.
I will give it another try and will come up with more details.

I close as we don't have more details on this issue.


Solid start error

Hi everyone
I'm using the @iconify/solid package on a solid start project, but I'm facing this error:

Anyone already have this issue?

Can you create a reproduction? That screenshot is useless, cannot do anything with it and cannot even understand where error is.


Update strings.xml in values-ta

Tamil strings for Settings page & Nostr Address

Please ignore this - there seems to be an error though I can't spot it.
Will check & submit a proper file later.
Thanks!


Thanks for the report!
This broke in https://github.com/emilk/egui/pull/4556 due to new login in Label. I'm on it.


difference in tweets

Issue Template
Please use this template!
Initial Check

[QUESTION]

I am wondering if you have ever notice that there is difference between recorded numbers in twitter and output numbers from twint tool, I notice that in favorite, media and tweets and ,with a consideration that some tweets has been removed, or posts from private accounts still there is a clear difference between them!
Thank You

Make sure you've checked the following:

[] Python version is 3.6;
[] Updated Twint with pip3 install --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint;
[] I have searched the issues and there are no duplicates of this issue/question/request.

Environment Details

Using OS

May you provide an example? (like with which user, etc.)
Thank you in advance!

sure, I will get you back soon as i took the screen shots..

for followers I just seen another issue and you label it a twitter flow
tried with @TEDTalks
for likes got "3184"

for media got more than original number! "5764"

did this simultaneously on

Thank you for your time

About likes, it could be that your target liked tweets of private accounts, which are protected and not visible to everyone. Otherwise Twitter may have just blocked your requests
About media, that's quite strange. Did you get this issue with other users too?
-------- Messaggio originale --------
On 17 Giu 2019, 03:40, Arwa ha scritto:

for followers I just seen another issue and you label it a twitter flow
tried with @tedtalks
for likes got "3184"
Screen Shot 2019-06-14 at 6 52 32 AM
for media got more than original number! "5764"
Screen Shot 2019-06-14 at 6 52 46 AM
did this simultaneously on
Screen Shot 2019-06-14 at 6 52 53 AM
Thank you for your time
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

yes,
tried with Journalism2ls, got 4708 out of

on

at the end of cod I got this in terminal

Timeout error is about a connection issue, not Twint
I'll dig deeper as soon as possible
Thanks for reporting
-------- Messaggio originale --------
On 18 Giu 2019, 06:48, Arwa ha scritto:

yes,
tried with Journalism2ls, got 4708 out of
Screen Shot 2019-06-18 at 7 31 43 AM
on
Screen Shot 2019-06-18 at 7 32 10 AM
at the end of cod I got this in terminal
Screen Shot 2019-06-18 at 7 46 54 AM
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


refactor: add useQuery on whoami endpoint request

📝 (authContext.tsx): Add useGetUserData hook to fetch user data and update user state in AuthProvider component
📝 (use-get-user.ts): Refactor useGetUserData hook to use mutation function for fetching user data and handling success and error cases in a more structured way

I think we can make all this login and autologin code declarative using useQuery, and remove the useEffect in the app.tsx, what do you think?

I think It's a good try!
But I think this PR and the PR #3148 should go to main first so I can work on that!


unable to run tessel 2

Each time I start the tutorial and type t2 run led.js I start getting ERR! Node version mismatched for USB Drivers. and nothing working as it should.

Hey, did you manage to fix this?

Hey, did you manage to fix this?

The answer is there:

Each time I start the tutorial and type t2 run led.js I start getting ERR! Node version mismatched for USB Drivers. and nothing working as it should.

You likely installed t2-cli with an older version of node, and have since upgraded. The version of node you're using now does not match the version of node that you had when the usb drivers were first installed.

The answer is there:

Each time I start the tutorial and type t2 run led.js I start getting ERR! Node version mismatched for USB Drivers. and nothing working as it should.

You likely installed t2-cli with an older version of node, and have since upgraded. The version of node you're using now does not match the version of node that you had when the usb drivers were first installed.


Auto updater for mac

I have noticed there is not an auto updater for mac.  I have coded one up and would be willing to share.  What are yalls plans for updates for mac?  The way this one works that I wrote is you just pull down the zip file and you gotta open the zip file and drag the new app into Applications.

@jsloyer we do use the Electron auto updater framework (Squirrel for Mac).

@bpasero it looks like there are some methods missing in the code base to do this, http://electron.atom.io/docs/api/auto-updater/.  Are you all copying in some methods to handle the updates or how does that work?  Also as of electron 0.34.0 the electron auto updater is available on windows now.  any thoughts on replacing https://github.com/Microsoft/vscode/blob/b24be3a8cefb387df045d465936285656f2fe44e/src/vs/code/electron-main/auto-updater.win32.ts with it?

@joaomoreno can chime in on the questions.

@bpasero, @joaomoreno I figured it out.
Since electron now supports an installer for windows, will vscode switch to that and replace [auto-updater.win32.ts]?

@jsloyer unlikely, we have moved away from Squirrel for Windows a long time ago and use a scriptable installer instead.

I don't understand the OS X part of this. We do have auto updates.
For Windows, we moved away from the official Electron's solution into our own a while ago, and we're pretty happy with it.


Bindings for Stash

Hi. Thanks for the amazing library. This is my first attempt to write something using Rust FFI (and I've never written anything in pure C), so I'll appreciate any help and guidance.
This PR is not ready yet. I created it just to make everyone know that I'm working on it.

[x] Impl everything from https://github.com/libgit2/libgit2/blob/master/include/git2/stash.h and make it compile.
[x] Write tests and make it work.
[x] Format and lint the code.
[x] Make CI tests pass.

@alexcrichton this PR is ready for review.

@alexcrichton done.

@alexcrichton done

Thanks to both of you for this library. I was building a little project with this branch and was surprised to find stash_foreach took a mutable reference. First time writing with this language, but perhaps this is a bug?

@aaronschif this is not a const pointer. https://github.com/libgit2/libgit2/blob/master/include/git2/stash.h#L219
So potentially libgit2 may change something internally.

@alexcrichton Thanks for the advises! I've learned a lot from this PR. The latest notes are fixed.

Looks great to me, thanks again for the PR @s-panferov!


Dealing with violations of the cross-chain model

If new state would create inconsistency in model, trigger an alert and incident response mechanism.
Requirements:

If invalid state is created: do not send transaction. Trigger an alert to the user.
If invalid state is received,  Trigger an alert to the user and trigger the incident response mechanism (next issue)
Explore what are the situations where 1) and 2) might happen in the light of our cross-chain model.
Reinforce cross-chain model with considerations from this presentation (please also check their slides).
Implement creation of the model and monitoring in the light of some suggestions in 4)

I will do this task.


Provide integration with external kafka topics to provide sort of Kafka Streams alternative.

Having a dependency to RocksDB in order to build a database reminds me that Kafka Streams is working the same way.
Would it be possible to provide streaming semantics on top of Kareldb ?
Also would it be possible to provide sort of debezium system on top of KarelDB to stream database changes to the outside ?

Thanks for the questions.  For streaming, I would recommend trying KSQL (https://www.confluent.io/product/ksql/) instead.
To consume database changes, it's as easy as creating a KCache instance and implementing a custom CacheUpdateHandler (https://github.com/rayokota/kcache/blob/master/src/main/java/io/kcache/KafkaCache.java#L112)


Improve readme

[x] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

Fix JF_GIT_API_ENDPOINT documentation
gitlab -> GitLab
_JF_USER -> JF_USER
Reformat according to conventions

Should we add it to the templates as well?
What about GitHub?

# [Optional, default: https://github.com]
# API endpoint to GitHub
# JF_GIT_API_ENDPOINT: https://github.example.com

@talarian1 following your comment, I created a new PR for GitHub: https://github.com/jfrog/frogbot/pull/53


Feat Implementation for issue#1017

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Prompts input migration from div contentEditable to a more accessible TextArea custom component
custom Input component with default tw classes to make the inputs across frontend DRY

Why was this change needed? (You can also link to an open issue here)
As highlighted in issue#1017: "Reduce redundancy, ensure consistency, improve maintainability, enhance code quality, and clean up the codebase."

Other information:
closes: https://github.com/arc53/DocsGPT/issues/1017

hi @utin-francis-peter
The PR looks good, just a few comments.

Do you think instead of hasSilverBorder prop could there be a variant defined like an enum to choose from.
Could checkout the AntD props for Input component as a reference maybe (https://ant.design/components/input)

Noticed this small resize issue when changing screen dimensions
https://github.com/arc53/DocsGPT/assets/47355538/4150a775-49e9-4c5e-b86e-faee4b5c86f5

Thanks for the review, @siiddhantt.
Based on the current design, hasSilverBorder prop encapsulates border-silver dark:border-silver/40 styles. There's also a border-jet border-b-2 and border-gray-5000 dark:text-silver that isn't accounted for yet with props as they're not used in multiple locations yet.
Considering these, what options do you propose for the variant prop? Also, would you advise a camelCase or ALLCAPS style be used  for the options so they act as an enum?

Considering these, what options do you propose for the variant prop?

@utin-francis-peter would something like variant?: 'silver' | 'jet' | 'gray'; be good just for the border color? Something like that maybe.

It does sound cool.
Perhaps the prop could be colorVariant instead?

One note before merging, is lets not create a component for input box from conversation.tsx for a few reasons:

Its better to create separate component for it if it will be needed
We keep our normal input box cleaner and easily reusable
Will create conflicts with other PR's that are currently active

So in a scope of this PR, lets not touch conversation.tsx
Thank you!
Kind Regards,
Alex

One note before merging, is lets not create a component for input box from conversation.tsx for a few reasons:

Its better to create separate component for it if it will be needed
We keep our normal input box cleaner and easily reusable
Will create conflicts with other PR's that are currently active

So in a scope of this PR, lets not touch conversation.tsx
Thank you! Kind Regards, Alex

Hi, Alex.
During the first iteration I created a TextInput component which rendered a textarea element. While attempting to use it across the application, I noticed I was over-engineering and stopped.
In the next iteration I created separate custom Input and TextArea components for separation of concerns. The Input replaced all input elements, while the TextArea replaced the div contentEditable in Conversation.tsx file.
Do I move out TextArea component and its use in the Conversations.tsx file into a seperate PR?

Yes, lets move it for now as we have few PR's open that will change it.
We can make those changes later on once all pr relating to that TextArea are mergerd.
Ill give you a ping

Yes, lets move it for now as we have few PR's open that will change it. We can make those changes later on once all pr relating to that TextArea are mergerd. Ill give you a ping

Please a quick one, Alex:
Do I leave the textArea component and its type definition as it is in the branch; but not use the component in the Conversations.tsx file?
So it's there but not used in the specified file until all PRs using the current div contentEditable are closed?

I missed it myself, seems like we have 1 warning
src/components/TextArea.tsx(2,10): error TS2305: Module '"./types"' has no exported member 'TextAreaProps'.

I missed it myself, seems like we have 1 warning src/components/TextArea.tsx(2,10): error TS2305: Module '"./types"' has no exported member 'TextAreaProps'.

Arrgggghh.
So sorry, Alex.

No worries at all!


Can't override site_name setting

On Modx 2.3.1-pl, I can't override "site_name" setting simply by setting "site_name" key on client config.
Is there something I'm doing wrong ?
[Edit] It seems that it does not override it, only in the manager, for example, on the dashboard. If I use the setting in my client view, it works fine.

I tried to deal with this too with no luck, but I've found an easy way to completely change the setting you wish to. Let's assume you have option called "site_name" in ClientConfig. Rename it to something like "website_name". Now you just have to add the following code inside your ClientConfig plugin:
...
$newname = $modx->getOption('website_name');
$sitename = $modx->getObject('modSystemSetting', 'site_name');
$sitename->set('value', $newname);
$sitename->save();
...
break;

Now every time when you change "website_name" inside ClientConfig, the real "site_name" setting updates as well. That's it!

In 1.4 with the change per #109/#115, overriding the site_name also works. I didn't try overriding the emailsender, but I suppose that'll work now too.


fix issue 98

issue 98

We need to create PRs with clear title, clear description and link to issue.
Please fix it


test: improve coverage for i18n

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

Comparison is base (5e11771) 78.87% compared to head (4462010) 78.92%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #942      +/-   ##
==========================================
+ Coverage   78.87%   78.92%   +0.04%
==========================================
  Files          46       46
  Lines        4085     4085
==========================================
+ Hits         3222     3224       +2
  Misses        724      724
+ Partials      139      137       -2

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


Fix typos

Everyone's fixing them, but I still see a few. Here you go.
The commas after "e.g." are the norm in American English.
NOTE: on line 169 is "please visit our viewer walk-through" - I could not figure out if there's a place you wanted to point the user. Future work?

The link should be https://docs.nerf.studio/en/latest/quickstart/viewer_quickstart.html

Thanks @erich666!

The link should be https://docs.nerf.studio/en/latest/quickstart/viewer_quickstart.html

Thanks, and I leave it to you to add this in.

The link should be https://docs.nerf.studio/en/latest/quickstart/viewer_quickstart.html

Thanks, and I leave it to you to add this in.

Awesome, I'll go ahead and merge then. Thanks.


Misleading README?

Full disclosure, I don't work for Cloudflare but have been trying to learn the uses of KV.
On your readme you write:

You should not use this session store in production. Cloudflare Workers KV is eventually-consistent. So It is not suitable for session manager.

I think this is misleading. Reading the Cloudflare website they do say the data is "eventually-consistent" but they also say:

KV achieves this performance by being eventually-consistent. Changes are immediately visible in the edge location at which they are made, but may take up to 60 seconds to propagate to all other data centers.

So for session storage that is meant only for one user in one location (which is a very common use case), their data will always be consistent for them.  In addition Cloudflare recommends it for usage for integrations like Remix. https://blog.cloudflare.com/remix-on-cloudflare-pages/.
If I'm missing something please let me know but I just want to help others learning about KV what it's true limitations and features are.

In my experince, I could not read latest data immidately after write data. (if I'm correct, I have needed to wait a few seconds). It read write to same edge location.
As a result, I added the sentence to README.
It may be a bug of  express-session-cloudflare-kv.

but why did you create this repo in the first place if CF KV is not suited for session because of its non-consistency?


As a Validator I want my runner to start automatically so I can be sure my node is bootsafe and easy to set up.

Acceptance Criteria:

Starting Runner Go routine when the validator starts
Runner Go routine should print to screen that it’s up

Closing as shipped.


Overflow problem!

I wanted to give it a try. But I noticed that there was no slipping down. Should it be like this?
Or is there really something wrong? :)

Yes this is an error.🥲
This project is a small project for those with a lot of experience right now. 😅
Normally a 2nd page is required, but I haven't been able to add such a feature yet. only single page is supported.
I'm sorry you encountered this problem. 😔

I hope you improve it. It's very nice.


Set -o pipefail so errors propagate through piping

This prevents the pipe syntax in the $TAP_OUTPUT branch from masking the underlying pytest failure.
Reference: http://redsymbol.net/articles/unofficial-bash-strict-mode/

Thanks for taking care of this, maybe we will catch errors now


Is it possible to adapt BLAKE3 to use 60-bit words?

HVM has fast 60-bit native words, and slightly slower 64-bit boxed words. A close example would be Ocaml, which has unboxed 63-bit numbers, and only boxed 64-bit numbers. We're looking for the fastest hash function on HVM. Keccak is great, but it uses 64-bit words on its internal states, so, our best bet, so far, is to port it from implementations that use 32-bit numbers, such as JavaScript. That would be sub-optimal. What about Blake? I wonder if it would be possible to implement it using 60-bit words in its internal states, without having to emulate 64-bit words. It would be a different function, but that is fine. Is there any guideline on how to do so safely? Any reference implementation or pseudocode which is parametric on the word size?

This is the first time I have heard of it, I will check it out. At a quick glance... it compares its speed to GHC? Being faster than Haskell's GHC is not a difficult task... Welp. OCaml is great, I think it is multi-threaded now? In any case, what would you like guidelines on exactly? Generally, there is a famous book named Cryptography Engineering by Bruce Schneier, Niels Ferguson, and Tadayoshi Kohno. It has a chapter named Implementation Issues. That is definitely worth a read. It will explain you why exactly my next statement is correct.
Anything JavaScript is sub-optimal and outright absurd in this area, in my humble opinion. I think Ada/SPARK is the best we have so far with its formal verification and whatnot. I do not want to dig into it but here is a PDF about Ada/SPARK that is still relevant today, although a bit dated. If you want new stuff, just check the AdaCore blog. You can do simple tasks with Ada/SPARK such as proving that images will always be successfully encoded!
Speaking of massively parallel... I recently read a lot about parallelized hashing via j-Lanes and j-Pointers tree modes with applications to SHA-256. It provides us parallelization opportunities in a hashing process that is otherwise serial by nature, which results in having a performance advantage on modern processor architectures. It is definitely not new, but worth looking into.
FWIW I am not shilling Ada (perhaps a bit); they are actually supporting Rust. For example take a look at this.
By "Blake", did you really mean BLAKE? As in, BLAKE1?

Is there any guideline on how to do so safely? Any reference implementation or pseudocode which is parametric on the word size?

No, changing the word size would be more like designing a brand new hash function than a simple parameter change. Here are some of the issues that you'd need to consider if you wanted to do this, off the top of my head. I'm sure the other authors can point out more that I've missed:

BLAKE3 inherits the guts of its compression function (particularly the part called "G") from ChaCha, which also uses 32-bit words. There are bitwise rotations in there that are closely related to the word size, and changing the word size would mean picking new rotations. This was done for BLAKE2b, which uses 64-bit words. The rotations you choose have a big impact on both security (you need to ensure good mixing) and performance (most platforms don't directly support bitwise rotation, and you need to think about what's efficient to emulate). I don't have much experience with the cryptanalysis you need to do for the security side of this, but I think it involves a fair amount of trial and error; other folks can describe this part better than I can. It might also turn out that the ChaCha way of doing things just isn't a great fit for word sizes that aren't a power of two?
Increasing the word size means increasing the overall state size, so you need to do more work to get good mixing. That means you need to increase the number of rounds in the compression function. Compare the 10 rounds of BLAKE2s to the 12 rounds of BLAKE2b. BLAKE3 followed the round reduction recommendations from JP's Too Much Crypto paper, so a 64-bit version of BLAKE3 would probably use 8 rounds (see section 5.3 in that paper). My guess is that a 60-bit-word version would also want 8 rounds, but that's just a guess, and this might depend on the rotations too.
BLAKE3 permutes the message words in between each round, using a fixed permutation. That permutation was chosen by analyzing a bunch of candidates and picking the one with the lowest "differential probability trail". (See section 7.4 of the BLAKE3 paper.) I'm not sure whether changing the word size would require repeating that analysis, and BLAKE2 did use the same permutations for both 32-bit and 64-bit words, but I'd want to be careful here.
The BLAKE3 keyed mode takes a 256-bit key, which is exactly the same size (and which goes in the same place) as the 8-word "chaining value". 60-bit words would probably mean 480-bit chaining values. Would you want to use a 480-bit key? You could consider defining the key to be 256-bits and then padding it with 0's internally, trading away some theoretical extra security in exchange for a much more convenient and less footgunny API. Asking users to pad the key themselves would mean that lots of them fail to preserve collision resistance on the key, which probably doesn't matter in most use cases (see also HMAC), but it's not ideal.
You'd need to decide whether to keep a power-of-two chunk size for the tree mode, or whether to pick a size that's a multiple of your state size. Power-of-two chunks are convenient for implementing tree traversal/building logic, but even multiples are more efficient. This is a tricky tradeoff, and I think doing a good job here would mean building multiple versions and doing a lot of benchmarking. (See also section 4.4 of the KangarooTwelve paper.) Note that the chunk size of BLAKE3 is tuned to be as small as reasonably possible, which assumes that the implementation is using SIMD to hash parent nodes in parallel, so you need to have SIMD optimizations working before you do these benchmarks.
Speaking of which, the SIMD implementations assume the word size in many places, and they'd probably need to be rewritten from scratch. You're already looking at a rewrite if you're porting things to a new platform, but the new implementations might have less in common with existing ones, so a high-performance port might be more difficult.

So in short, there are some technical and security-sensitive issues that come up if you try to change the word size, and beyond that some issues where moving away from the 32-bit "sweet spot" leads to some awkwardness. If you're in the business of designing new hash functions, it could be an interesting project. But if you know that's not the business you want to be in, then I don't think it's feasible.

@odiferousmint It is actually very hard to beat GHC; otherwise it wouldn't be the fastest lazy functional compiler in the world! Also, I meant BLAKE3 (it is the latest revision, right?). Regardless, thanks for the comments. Interesting points overall.
@oconnor663 Thanks, extremely good answer. Yes, I'm definitely not in the business of designing new hash functions! If some existing hash function had a parametric word size, it would probably be a great choice for HVM (and an output of 240 bits, key sizes of 480 bits, etc. would be expected). But I get that modifying BLAKE3 with that in mind is clearly not a trivial task; bad luck.


Multiple tasks in the same server may cause OOM in distributed mode with GPUs

Following the official tutorial of distributed TensorFlow, we find that the ps and works will use the first GPU by default which may cause OOM in distributed mode.
If we don't set CUDA_VISIBLE_DEVICES, all the ps tasks may see all the GPUs and use the first one by default. And when I start all the ps and worker processes, OOM occurs and ps uses most of GPU's memory even though no job running.
Is that possible to optimize the algorithm of scheduler for more intelligence, such as using CPU for ps task and place operations in different GPUs instead of the first one?
One of the solution is specifying CUDA_VISIBLE_DEVICES for each task. Or we can use with tf.device() which may be only use for model parallel in distributed mode.
Environment info
Operating System:
Ubuntu 14.04

Installed version of CUDA and cuDNN:
(please attach the output of ls -l /path/to/cuda/lib/libcud*):
# ls -l /usr/local/cuda/lib64/libcud*
-rw-r--r-- 1 root root   322936 Aug 15  2015 /usr/local/cuda/lib64/libcudadevrt.a
lrwxrwxrwx 1 root root       16 Aug 15  2015 /usr/local/cuda/lib64/libcudart.so -> libcudart.so.7.5
lrwxrwxrwx 1 root root       19 Aug 15  2015 /usr/local/cuda/lib64/libcudart.so.7.5 -> libcudart.so.7.5.18
-rwxr-xr-x 1 root root   383336 Aug 15  2015 /usr/local/cuda/lib64/libcudart.so.7.5.18
-rw-r--r-- 1 root root   720192 Aug 15  2015 /usr/local/cuda/lib64/libcudart_static.a
-rwxr-xr-x 1 root root 61453024 Jun 30 04:17 /usr/local/cuda/lib64/libcudnn.so
-rwxr-xr-x 1 root root 61453024 Jun 30 04:17 /usr/local/cuda/lib64/libcudnn.so.4
-rwxr-xr-x 1 root root 61453024 Jun 30 04:17 /usr/local/cuda/lib64/libcudnn.so.4.0.7
-rw-r--r-- 1 root root 62025862 Jun 30 04:17 /usr/local/cuda/lib64/libcudnn_static.a

If installed from binary pip package, provide:
0.9.0

Your observation is correct.  It is a deliberate design choice that a TF process will, unless instructed otherwise, use visible GPUs in order, and attempt to use all of the memory on each device.  This approach can work well when processes sharing a server are in a virtual environment that makes visible only the GPUs that the process is permitted to use.  As you note, setting a different value for CUDA_VISIBLE_DEVICES in each process is a similar solution.
Unfortunately, there's no single best solution for distribution, and TF does not attempt to provide one.   Packing multiple ps shards and worker shards onto a single server is a convenient way of distributing, particularly if one has a large virtualized server farm, but if you really care about maximizing performance it may be necessary to customize your model to a particular server architecture, and run one process per server, where each process is aware of all the GPUs on that server and potentially takes advantage of local communication between them.  This kind of approach would involve the with tf.device() construct you noted.
It's probably feasible to do a somewhat more effective job of scheduling Ops onto devices than TF does at the moment, but doing so is actually a pretty hard problem.  Although we've looked into this, we've continued to find that a little bit of attention from the programmer when setting up the model and execution plan is usually sufficient for a good solution.

Thanks for confirming and detailed explaination 😃
TensorFlow is flexible enough with CUDA_VISIBLE_DEVICES and with tf.device() to archive any architecture. We are also looking forward to the optimization of scheduling. Maybe adding the rule of using CPU for ps and placing operations randomly in all GPUs for worker could help, especially for beginners.


[Feature Request] Add v7 to FFmpeg Version setting list

Currently, FFmpeg version 7.0.1 (2024-05-26) is available for download on gyan.dev. However, ScreenToGif on the Extras tab of the Options window only offers options v4, v5 and v6.

Yes, need supports for FFMpeg v7, because some options is deprecated/broken in v7 and encoding crashing...


fix anisotropy docs

Updated the docs for "Anisotropy parameter" - some of the links to examples were not quite right in PR #178 (*). Added a better description of the two PyAbel methods for determining the anisotropy parameter. Added missing example_linbasex.rst and example_anisotropy_parameter.rst doc files.

Renamed examples/example_PAD.py to example_anisotropy_parameter.py, a slightly more descriptive name.

Updated examples/example_linbasex.py to plot speed and speed*anisotropy-parameter in the one figure. The latter tends to be the format produced by some other programs that calculate anisotropy-parameter vs radial coordinate. Here is the output produced by the example:

Note, I took a short-cut (cheat) in simply plotting Beta[0]*Beta[1] (class attribute arrays) and reduced the  threshold value setting.  In fact, @geber-t's original jupyter code yields Beta[2] and Beta_norm[2] (index corresponds to the polynomial order). The un-normalized Beta[2] would be the correct array to return. However, this means messing with returns, and class attributes in PyAbel (and I am a little time poor at the moment). In the end the user wants Beta_norm[2], but this does not always look pretty, and may scare them away from using PyAbel if the output does not look as good as that from other codes. This example illustrates that PyAbel is able to produce familiar output.
This PR originated from a collaborator data comparison, where their data was presented in the form of speed x anisotropy-parameter. At that point, some of the "odd" stuff in @geber-t's original code became clearer to me.  ;-)
(*) My apologies, in principle these minor code (and doc) changes could have been added to PR #178. I was keen to hit the green button, and had not thought enough about this particular aspect.
PR open for discussion ...

@DanHickstein I am about to head off on a 3 week vacation. If ok with you I will merge this PR, to remove any future bottleneck.  I promise not to repeat history and immediately re-open an new PR ;-)
This PR fixes some missing "anisotropy" docs, and changes the anisotropy parameter plot of the example_linbasex.py providing a diagram similar to seen with other inverse Abel transform codes. This example is more as an illustration. example_GUI.py has also been modified  to return the anisotropy parameter vs radial-pixel, in the case where the linbasex inverse Abel transform is selected.
I thought about passing back class attributes corresponding to the un-normalized, and/or un-convolved Beta arrays, but the tuple return interface in linbasex.py becomes somewhat messy, and the outputs may not be all that useful.
In the future there is plenty to do in tidying up the PyAbel code, and making the interface/parameter more user friendly. On my return, I or anyone else for that matter, may create a new issue about this.

Sure! Go ahead and merge!
On Thursday, August 4, 2016, Steve Gibson<EMAIL_ADDRESS>wrote:

@DanHickstein https://github.com/DanHickstein I am about to head off on
a 3 week vacation. If ok with you I will merge this PR, to remove any
future bottleneck. I promise not to repeat history and immediately re-open
an new PR ;-)
This PR fixes some missing "anisotropy" docs, and changes the anisotropy
parameter plot of the example_linbasex.py providing a diagram similar to
seen with other inverse Abel transform codes. This example is more as an
illustration. example_GUI.py has also been modified to return the
anisotropy parameter vs radial-pixel, in the case where the linbasex
inverse Abel transform is selected.
I thought about passing back class attributes corresponding to the
un-normalized, and/or un-convolved Beta arrays, but the tuple return
interface in linbasex.py becomes somewhat messy, and the outputs may not
be all that useful.
In the future there is plenty to do in tidying up the PyAbel code, and
making the interface/parameter more user friendly. On my return, I or
anyone else for that matter, may create a new issue about this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PyAbel/PyAbel/pull/180#issuecomment-237754766, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABDnVPQAZZlSy9U658jY6edN5SnNNkZeks5qcsGagaJpZM4JV5Av
.

--
Daniel D. Hickstein
<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>


Rename Wait.Until

Based on feedback from Mark, something like Poll.UntilNoExceptions (or something like that) is more indicative of the actual functionality being carried out. It has the dual purpose of also getting us away from a Selenium naming convention I originally used back when we had a dependency on Selenium for this.

Resolved with #25


About 3D bounding box calculation problem

According to the calculation of the get_3d_box() function, the 8 corner coordinates of the detection box are obtained.
Why is it necessary to use the T1 matrix for a transformation to get the correct corner coordinates?
What does this T1 matrix mean?
(x,y,z) is not the reference radar coordinate system?
T1 = np.array([[0.0, -1.0, 0.0, 0.0],
               [0.0, 0.0, -1.0, 0.0],
               [1.0, 0.0, 0.0, 0.0],
               [0.0, 0.0, 0.0, 1.0]]
              )
box3d_pts_3d[:, 0:3] = self.get_3d_box((l, w, h), ry,(x,y,z))
box3d_pts_3d = np.dot(np.linalg.inv(T1), box3d_pts_3d.T).T

Hi, I'm not sure about the code but the above transformation matrix is a typical LiDAR (front-left-up) to  camera (right-down-front) coordinates.


Reading Error for Commented RINEX files - v1.9.0

Hey guys, I am using georinex to read some RINEX files from IGS (International GNSS Service). It is working really well and I would like to thank you for providing such a tool.
However, there are some .obs files with a few comments in the middle of the file (not only in the header). See for instance the following RINEX file, at the following line regarding to the observations at 1 hour:
file: ftp://cddis.gsfc.nasa.gov/gnss/data/daily/2013/359/13o/mana3590.13o.Z
line: 13 12 25  1  0  0.0000000  4  5
You will find  some strange comments, such as:
13 12 25  1  0  0.0000000  4  5
MANA (COGO code)                                            COMMENT
0.000      (antenna height)                                    COMMENT
+12.14896250 (latitude)                                       COMMENT
-86.24899354 (longitude)                                     COMMENT
0077.169      (elevation)                                        COMMENT
As far as I have detected, georinex is not reading correct such files. It reads the observations bellow the comments and says that such obsearvations are related to the time obtained in the comments plus 30 seconds (or any other interval). However, the next time is also at 1 hour. As a result, georinex is shifting all times when we find this problem.
Indeed, this strange lines are not suposed to be there, so it is a bug in the RINEX files. I have seen this kind of comments since many years ago, which are obtained due to the use of TEQC when generating RINEX files. Despite being a bug, some files have this comments..
I do not know if this would be easy to solve in georinex..
Thanks anyway!

Hey,
I am part of the IGS community and will report the file. This behavior is highly uncommon.
I don't see a need to implement this.
If you have any questions concerning IGS your welcome to contact me.
Best Regards
Volker

Hello Volker, thanks for the feedback.
This does not only happens with IGS files. I have shown this example because of the free access to the data!
Sorry for the inconvenience.
Regards!

I updated my original answer.

This bug was fixed in GeoRinex v.1.10.0, Thanks for reporting this issue for a previous GeoRinex release. The fix is to upgrade to latest GeoRinex release.


Adding Cukenfest to bullet list

WDYT about, ultimately, having three bullets one for each of BDDK, CukeUp and CukenSpace?

@theo-england can you see what I did to fix it?
Each event needs two lines, like this:
.announcement-text.text-center
  a> href="https://cucumber.io/events/my-new-event" My amazing new event

The first line makes the bullet, and the second line makes the link inside it. Indentation is super-important in these slim templates, so the second line must be indented two characters in from the first line. Also, all the events must be at the same level of indentation.


Make channel shutdown safe

…se, but there's times where it has to be), we need to hold a reference to it when we schedule the shutdown task.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Add a regression test for this

A regression test for this could be to have a handler that calls channel_shutdown() from each of its own handler->shutdown() and handler->delete() functions.

That wouldn’t help In this case. Channel tasks are canceled at shutdown. In this case, the channel is already shutdown and would never be canceled.


chore: fixed validation of Python API installation instructions

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


refactor lorem Data

This modification is done in reference to #569.

Hey, I will fix the tests and push. I didn't notice the changes in the CMake file, so in my system, tests were not built

In the lorem.cpp file:

I have changed the word() function to return string_view.

In other functions like words() and sentence(), a vector of string is created because the StringHelper::join() function expects std::vector<std::string> as a parameter. Since my modifications the word() function returns string_view, I am converting these string_views to strings in order to add them to the vector.

I was thinking we could create a vector of string_view and add another overloaded StringHelper::join() function that takes a vector of string_view as an argument. This function will join string_views to form string.

What do you think about this?

Good idea with overlosding, we can implement it :)


A good idea to promote ways of security on the Internet

Hamed has put a checklist with very good references here :
https://github.com/hameds/security-checklist-fa
I think it is a good idea to dedicate a part of this project or use it in landings

You can see the checklist at this address:
https://amn.hamed.blog/


Error with component import

Hi,
Got an error when serving my Angular 6 application with angular2-multiselect-dropdown component:
Log:

ERROR in ./node_modules/angular2-multiselect-dropdown/angular2-multiselect-dropdown.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: C:\workspace\components\structured-filter\node_modules\angular2-multiselect-dropdown\angular2-multiselect-dropdown.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format (https://goo.gl/jB3GVv).

Solved by importing component .ts files in tsconfig.json ;)


Use cmake_package to link against LLVM

Currently, we are using the same approach as the llvm-sys package to facilitate linking against LLVM, replicating a lot of their 'build.rs' in the process. The process uses the llvm-config binary to find the necessary libraries and include directories to link against LLVM.
This method has some downsides, mainly not being able to find the binary if it is not in the PATH and llvm-config not properly reporting that FFI needs to be linked. We noticed that these problems do not occur for the CMake build of the C++ Nyxstone library. This commit introduces the cmake_package crate to use CMake's find_library function to find the LLVM libraries.
The approach of cmake_package seems a bit brittle, but it seems to be the best way to include CMake targets without moving the entire build to CMake, which I personally would like to avoid. What are your thoughts on this @pkoppe & @g0ldminer?

LLVM 15 does not seem to report its include directories via a target, but via the LLVM_INCLUDE_DIRS variable. Additionally, cmake_bindings does not work under apple devices. I'm closing this for now and will investigate using cmake for the entire build process at a later date.


Filter Missing from Columns that are Initially Hidden

Expected behavior and actual behavior:
Expected: A column that is initially hidden ("hide" attribute present in DOM when created) will show its filter box when picked via the column chooser.
Actual: A column that is initially hidden ("hide" attribute present in DOM when created) has no filter box when picked via the column chooser. Note that this used to work (worked in pre-refresh, though unsure whether the refresh itself was related).
Steps to reproduce the problem:
Create a complex table type with one or more columns that are initially hidden - "hide" attribute in DOM. Use the column chooser to show the column. Example code snippet:
<px-data-table
	page-size="20"
	striped
	enable-column-resize
	enable-column-reorder
	table-cells
	table-columns
	show-column-chooser filterable sortable>

	<px-data-table-column name="displayName" label="Tag" filterable sortable ></px-data-table-column>
	<px-data-table-column name="tagNameInFeed" label="Source Tag" filterable sortable></px-data-table-column>
	<px-data-table-column name="decimals" label="Decimals" filterable sortable hide></px-data-table-column>
</px-data-table>

Environment:
Chrome 61.0.3163.100
Windows 7
Screenshots:
Arrows point to columns added via the column chooser:

Closing due to age and release of https://www.predix-ui.com/#/elements/data-grid/px-data-grid


"Invalid pagination token given" on @key query

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
No response
Region
No response
Amplify Console feature
No response
Describe the bug
Unlike the default pagination on a table which works fine, paginating on the defined index does not work, indeed the nextToken that comes back from the server is Invalid for the next call here is the error the error ->  "Invalid pagination token given"
For Example:
type Work
  @model
  @key(
    name: "folksOpenToWork",
    fields: ["openToWork"],
    queryField: "folksOpenToWork"
  ){
 id: ID,
 name: String
 openToWork: String!
}

if you query on folksOpenToWork and try to paginate you get the error.
Amplify Cli: 4.13.4
Expected behavior
Paginate like a default table.
Reproduction steps
Add an index to a @model and then try to paginate on that.
Ex:
type Work
  @model
  @key(
    name: "folksOpenToWork",
    fields: ["openToWork"],
    queryField: "folksOpenToWork"
  ){
 id: ID,
 name: String
 openToWork: String!
}

Build Settings
No response
Additional information
No response

Hey @anoroozz :wave: apologies for the delay! Have you since migrated to use the new GraphQL Transformer v2? The new transformers has many improvements including improved index changes and explicit directives for an enhanced data modeling experience with relationships https://docs.amplify.aws/cli/graphql/data-modeling/

Hey @anoroozz :wave: just wanted to follow-up to my previous message and see if you were still experiencing this issue?

Closing due to inactivity


Flush functionality

Hi guys,
I tried to create some row:
$viewsTest->setPage('1');
$viewsTest->setPrevPage('2');

$this->getEntityManager()->persist($viewsTest);
$this->getEntityManager()->flush();

and I see this exception:
Crate\PDO\Exception\UnsupportedException : Unsupported functionality
Looks strange and it was not sufficiently informative.
I check WriteTest.php https://github.com/crate/crate-dbal/blob/master/test/Crate/Test/DBAL/Functional/WriteTest.php and I see what they write insert query like a PDO style. But I don't want to use PDO style, I want to use ORM style :slightly_smiling_face:
How I can make INSERT query through DBAL?

@RomanGorbatko ORM style API's are implemented by the Doctrine ORM project while DBAL provides only a query abstraction level on top of PDO. This is why our DBAL project does not include ORM style tests as this is out-of-scope of any DBAL implementation.
After playing around with Doctrine ORM using the crate-dbal driver, I could not reproduce your issue.
Can you please provide more information like the full $viewsTest model definition and the crate, crate-dbal, doctrine-dbal and doctrine-orm versions you're using?

@seut
thanks for the reply!
my issue is resolved now.
In my case, I used $dtCreate->getTimestamp() for timestamp column type.
I have studied the source code of TimestampType and just replace getTimestamp() to new DateTime() for DateTime type casting.
Please just close my issue.

@RomanGorbatko Great, good to hear, will close then.


rename simulator plugin to wrappedplugin

We will expand simulator plugin not only for simulator, but for other purposes. So, rename it to appropriate name.
https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/scheduler/plugin/plugins.go#L238

/kind feature

/kind cleanup
/remove-kind feature


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/62956

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/85446

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/89200

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/98549

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/105072

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/105390


fix: add shiki to special case list

Adds shiki to the special case list so grammars will be traced and loaded correctly when deploying.

@styfle thank you for the feedback! I updated the input/output files to reflect the real-world usage. However, for some reason I'm still having trouble with tests not passing.

@souporserious I pushed a change which should fix it

@styfle woot, that looks great, thank you! 🙏  I can't tell why the test is still failing, but I'm wondering if we need to account for themes as well since I believe shiki will look for the theme in the example use since it's specifying nord.


chore(ShareButtonComponent): refactor share-button.component

replace DOM manipulation by a "template" approach
replace ngOnInit by ngOnChanges. Closes #34
remove ElementRef, Renderer classes
add an external template file
fix and complete component tests

Coverage increased (+0.5%) to 96.726% when pulling 3fe860b77b2acf5bac31c0950835a48c9284a481 on tinesoft:chore_refactor_sb_component into 8f0959830b670a14ccc132d1e56af700a075b83a on MurhafSousli:master.


Questions about the implementation

Hi,
What are the purposes of past_key_values and past_embeds in your GPT-v2 agent? I didn't see past_embeds being fed to the transformer model but it is saved within h_0. For past_key_values, is it used because we don't have to recompute them, given the weights of the model do not change during inference?
https://github.com/twni2016/Memory-RL/blob/main/policies/seq_models/gpt2_vanilla.py

I have another question about the observation of T-Maze. It seems that the x-position of the agent is not encoded, and the intermediate positions are encoded as [0, 0] https://github.com/twni2016/Memory-RL/blob/main/envs/tmaze.py#L105. May I ask why this type of encoding is chose?

Hi, thanks for your answer. Another question in the TMaze Active domain. It seems that the ambiguous_position flag is chosen, which makes the domain more challenging. Is that version used in the experiment section of the paper?

Hi, thanks for your answer. Another question in the TMaze Active domain. It seems that the ambiguous_position flag is chosen, which makes the domain more challenging. Is that version used in the experiment section of the paper?

Yes, we use this setting in both Passive and Active T-Mazes.

Another thing is the reward function seems to be history-based, kind of non-standard, i.e., R(s, a, s'). The episode length is set to be the episode length of the optimal policy, which I think might make the problem harder. Can you elaborate on these choices?

History-dependent reward

We define memory length in reward function R(h,a). We may re-define it in "standard form" of reward function R(h,a,o') that incorporates next observation. If we allow more steps the Passive T-Maze, then it has a Markovian reward that only depends on (o,a,o'). Nevertheless, the transition function P(o' | h,a) has a memory length of horizon now. Thus, the memory length in reward and transition can somewhat be exchanged, depending on problem formulation.

Is history-dependent reward non-standard?
If we consider the reward function in the form of R(h,a), then many memory-based tasks have history-dependent rewards (e.g. POP Gym, see the task analysis in our appendix).

Will more steps make the problem easier?
Maybe, but I don't think this matters much, as it also increases the steps of exploration.

Thanks, about the history-based reward function, do you know any references that standardly define it for POMDPs? I also have another question relating to the implementation of DRQN. In TMaze, the episode always contains non-dummy data. When DRQN is applied to other domains when the episode can be shorter than the max length, what and where should I change DRQN for those cases? I imagine the masks of dummy data will be used to account for those dummy data when calculating the RL losses.

Hi, I cannot find where you feed the attention mask at the input. Can you tell me which part of the code you feed it?

How do you run the recurrent SAC for continuous actions in this repo? I couldn't find the instructions to run

@hai-h-nguyen I'm working on open-sourcing the code on continuous control experiments, which is written in JAX (although it should be straightforward to write it in PyTorch). I will push the code to another branch as it was developed in a separate repo.

Sorry for the delay. I have uploaded the code and the logged data in a new branch.
I wanted to switch to the jax implementation for all the experiments including discrete and continuous control, since gpt was run much faster in jax than pytorch for long sequences (but not for short sequences). However, I found I cannot reproduce the results between jax and pytorch codes in discrete control, so I have to revert back to pytorch version for discrete control. This was a twisted story..


Maintain include filer ordering (required for GLEW)

I'm working on a project that use GLEW for handling OpenGL features/dependencies. I get errors when building, the include files seem to be reordered, which is a problem for GLEW.
error: gl.h included before glew.h

And if I check the generated .cxx-file I see that the order is wrong.

//a.cpp
#include <gl.h>

//b.cpp
#include <glew.h>

// unity .cxx file generated by cotire
#include "a.cpp"
#include "b.cpp"

If this is the situation then you should add a.cpp and b.cpp in a different order in the original cmake target.

Yes, this resolves it. Tnx!


Handle canceling of streamSubscriptions

do you know if there is a linter rule to enforce closing subs?

do you know if there is a linter rule to enforce closing subs?

https://dart.dev/tools/linter-rules/cancel_subscriptions ?


Add drop_last=True to the DataLoader

This prevents a crash at the end of an epoch where the number of samples isn't divisible by the batch size.

Thanks for the PR!
FWIW, I haven't seen any crash when # of samples isn't evenly divisible by the batch size in both the single GPU and multi-GPU training cases. I'm assuming the crash can be attributed to differences across PyTorch versions.

Thanks for the PR!
FWIW, I haven't seen any crash when # of samples isn't evenly divisible by the batch size in both the single GPU and multi-GPU training cases. I'm assuming the crash can be attributed to differences across PyTorch versions.

Ahh OK, I think it failed on the stack command in the dataset, so maybe I had exactly 1 more than divisible or something and the stack was failing. In any case drop_last did the trick for me.
Thanks for the great implementation!


Move scheduler overview from docs/design/ to docs/devel/

Per our conversation yesterday.
@thockin  @erictune

LGTM

LGTM


Doesn't work with Visual studio subscriptions

Step 5 doesn't work with Visual studio subscriptions. How can one use one's Visual studio subscriptions for Azure Devops billing? I'm currently getting the below error.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4f717dae-91b5-276f-2f87-4b98331fb303
Version Independent ID: e6e9d3b1-c00d-24d2-5667-58b4822df718
Content: Change Azure subscription used for billing - Azure DevOps Services
Content Source: docs/organizations/billing/change-azure-subscription.md
Product: devops
Technology: devops-billing
GitHub Login: @chcomley
Microsoft Alias: chcomley

@Ayanmullick -- Ayan, thank you your follow-up, and my apologies for the immense delay in responding.
@chcomley -- Chrystal, please look into this issue.

@parsamzand can you please help us with this issue? Thanks so much.

@parsamzand can you please assist with this issue? Thank you!

Hi @Ayanmullick, I've confirmed with our PM that you can't use Azure Credits from VS subscriptions to pay for Azure DevOps. We have it documented in our Billing FAQ for reference. Thank you for posting your question. Have a great day!

Hi @Ayanmullick, I've confirmed with our PM that you can't use Azure Credits from VS subscriptions to pay for Azure DevOps. We have it documented in our Billing FAQ for reference. Thank you for posting your question. Have a great day!

I understand that @chcomley . However, I'm not trying to pay for licenses using Visual studio Credits. I just want for the org to show up in that subscription for ease in Azure management and visibility with other related resources for an ADO org.


Add a test for parallel builds, fix race conditions due to the shared conda cache

Fixes #548.

Description

This pull request:

Tests whether parallel builds are working by spawning N jobs and checking whether these complete faster as they would do sequentially.
Fixes race conditions causing dependencies being overwritten on concurrent builds. This is due to the package cache not being atomic, which is a conda upstream issue. This issue got exposed thanks to the new test added in this PR. Here are the relevant issues from the upstream repo, but they were closed without any solution or not yet addressed:

https://github.com/conda/conda/issues/9447
https://github.com/conda/conda/issues/5997
https://github.com/conda/conda/issues/7741

I had to increase timeouts of some unrelated tests because the parallel builds test creates multiple jobs, so it might now take longer for the job scheduler to go through those before jobs matching the thing being tested actually start executing.

More about the mentioned race conditions:

The main issue, which was causing ~50% of jobs to fail when running the new test, is because conda created repodata_record.json with the channel field set to "<unknown>". This was mitigated by creating the said file in conda-store after extracting the package tarball, which causes conda to skip this step. The jobs were failing because channel is one of the fields used when matching packages in the cache against the provided specification. In the specification, channel was never "<unknown>", so conda failed to find the proper package in the cache and attempted to download it without any locking mechanism (because the cache in conda is not atomic). If multiple builds had the same dependencies, they were racing each other while trying to download "missing" packages into the cache, so the cache got corrupted because the builds were overwriting the same dependencies, which caused build failures. You can verify that the cache has no packages with an invalid channel by using the following command: find -L /opt/conda/pkgs -name repodata_record.json -exec grep -rnIH --color unknown {} \;.
However, that wasn't enough to completely mitigate the problem. conda-store has locking, but it's only done during the action_fetch_and_extract_conda_packages step, per package. In other steps during the build process, such as installing the lockfile, we call into conda, which knows nothing about this lock and can cause issues. Even with the  repodata_record.json fix described in (1), there's still a potential race condition where conda might check the extracted package directory before the json file was created there. Or it might check whether the tarball is extracted before conda-store had a chance to extract it and start extracting it on its own. To mitigate this, I download the tarball, extract it, and create the json file in a temporary directory, which I then move into the shared package cache. There's still a tiny race window during the rmtree and move operations because it cannot be done with one atomic syscall. However, that's the best we can do for now. The said race window is tiny, so unlikely to cause serious issues in practice. I also had to be careful with how I use the shutil operations so that they wouldn't cause failures if a job fails and stale data is present in the cache. This was discovered on the Windows CI builder because it has the extended prefix test that's expected to fail, which was causing subsequent jobs to fail as well. This was reproducing all the time (or maybe most of the time) on the Windows builder.
Similarly, there was a race condition in the symlink helper, which conda-store calls at the end of the build process. Multiple build jobs were racing each other while trying to remove the existing target file and create the symlink, which caused build failures. Because it's only done by conda-store, this is easy to fix by making this whole process atomic by using a filelock. The filelock package is a spinlock, so builds will continue trying to create the symlink until they eventually succeed. This symlink issue was maybe reproducing once for every 10 jobs.
I also had to create the magic file in the cache because sometimes it's not yet created when the download action is running. Without the magic file, cache queries would fail even if repodata_record.json files have proper channels specified.

Pull request checklist

[x] Did you test this change locally?
[ ] Did you update the documentation (if required)?
[x] Did you add/update relevant tests for this change (if required)?

Additional information

How to test

To test parallel builds:

set c.CondaStoreWorker.concurrency = 1 in tests/assets/conda_store_config.py
run docker compose up --build
once the server is running and accepting connections, run PYTEST_ADDOPTS="-vvv -k test_create_specification_parallel_auth --capture=no" pytest tests/test_api.py in a different terminal
the test should fail with an assert because builds take too long
set the concurrency value to 4 (the default), the test should succeed.

To test the caching issue:

switch to the main branch
run the test from this PR with c.CondaStoreWorker.concurrency = 4
at least one of the builds should fail (status 'FAILED')
when I was testing this, I saw something like 50% of the builds being in the 'FAILED' state in the admin web UI
in the build logs, the errors should look similar to this:

ERROR:root:/opt/conda/pkgs/psutil-5.9.0-py310h5eee18b_0.tar.bz2
ERROR:root:Error with archive /opt/conda/pkgs/traitlets-5.7.1-py310h06a4308_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message was:
ERROR:root:
ERROR:root:failed with error: [Errno 2] No such file or directory: '/opt/conda/pkgs/traitlets-5.7.1-py310h06a4308_0.tar.bz2'
ERROR:root:/opt/conda/pkgs/wheel-0.41.2-py310h06a4308_0.tar.bz2
ERROR:root:Error with archive /opt/conda/pkgs/comm-0.1.2-py310h06a4308_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message was:
ERROR:root:
ERROR:root:failed with error: [Errno 2] No such file or directory: '/opt/conda/pkgs/comm-0.1.2-py310h06a4308_0.tar.bz2'
ERROR:root:/opt/conda/pkgs/jupyter_core-5.5.0-py310h06a4308_0.tar.bz2
ERROR:root:Compressed file ended before the end-of-stream marker was reached
ERROR:root:
ERROR:root:
ERROR:root:PathNotFoundError: /opt/conda/pkgs/psutil-5.9.0-py310h5eee18b_0.tar.bz2
ERROR:root:InvalidArchiveError("Error with archive /opt/conda/pkgs/traitlets-5.7.1-py310h06a4308_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message was:\n\nfailed with error: [Errno 2] No such file or directory: '/opt/conda/pkgs/traitlets-5.7.1-py310h06a4308_0.tar.bz2'")
ERROR:root:PathNotFoundError: /opt/conda/pkgs/wheel-0.41.2-py310h06a4308_0.tar.bz2
ERROR:root:InvalidArchiveError("Error with archive /opt/conda/pkgs/comm-0.1.2-py310h06a4308_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message was:\n\nfailed with error: [Errno 2] No such file or directory: '/opt/conda/pkgs/comm-0.1.2-py310h06a4308_0.tar.bz2'")
ERROR:root:PathNotFoundError: /opt/conda/pkgs/jupyter_core-5.5.0-py310h06a4308_0.tar.bz2
ERROR:root:EOFError('Compressed file ended before the end-of-stream marker was reached')

Chris mentioned to me offline that there's some locking code in action_fetch_and_extract_conda_packages, which runs before this. I'll investigate why that doesn't work and report back.

I think we should merge this as is. There's no regression when using temporary per-build caches, which this PR introduces.
There are two problems with existing code in main:

conda-lock always downloads and extracts dependencies regardless of whether they are in the cache or not, so caching was never working, and there's no way to control that
this download and extraction process is not atomic in conda, so multiple builds write over each other, which corrupts packages in the cache causing build failures.

Here is an example chain of calls:

action_install_lockfile (conda-store)
python -m conda_lock install ... (calls into conda-lock)
click_install
install
do_conda_install
mamba create ... (calls into mamba)
/opt/conda/bin/mamba
main (from mamba.mamba)
_wrapped_main
do_call
create
install
explicit(args_packages, prefix, ...) (from conda.misc)
pfe = ProgressiveFetchExtract(fetch_specs) (from .core.package_cache_data)
pfe.execute()
where fetch_specs looks like this:

[MatchSpec("main/linux-64::_libgcc_mutex==0.1=main[md5=013d3f22cd3b87f71224bd936765bcad]"),
MatchSpec("main/linux-64::ca-certificates==2023.12.12=h06a4308_0[md5=78b3ba713700dac5e7ea2617e6d165d2]"),
MatchSpec("main/linux-64::ld_impl_linux-64==2.38=h1181459_1[md5=9508af80612e4fa1b5d1abb43ca7e63c]"),
MatchSpec("main/noarch::tzdata==2023d=h04d1e81_0[md5=f5eda80e3454526141a2246c21b060ee]"),
...
]

self.prepare() (in ProgressiveFetchExtract)
self.make_actions_for_record (based on the provided fetch_specs)
self.cache_actions and self.extract_actions are populated and look like this:

CacheUrlAction<url='https://conda.anaconda.org/main/linux-64/python-3.11.7-h955ad1f_0.tar.bz2', target_full_path='/opt/conda/pkgs/python-3.11.7-h955ad1f_0.tar.bz2'>
CacheUrlAction<url='https://conda.anaconda.org/main/linux-64/attrs-23.1.0-py311h06a4308_0.tar.bz2', target_full_path='/opt/conda/pkgs/attrs-23.1.0-py311h06a4308_0.tar.bz2'>
...

ExtractPackageAction<source_full_path='/opt/conda/pkgs/python-3.11.7-h955ad1f_0.tar.bz2', target_full_path='/opt/conda/pkgs/python-3.11.7-h955ad1f_0'>
ExtractPackageAction<source_full_path='/opt/conda/pkgs/attrs-23.1.0-py311h06a4308_0.tar.bz2', target_full_path='/opt/conda/pkgs/attrs-23.1.0-py311h06a4308_0'>

there are the same packages which were downloaded to cache by action_fetch_and_extract_conda_packages before
do_cache_action and do_extract_action are called
cache_action.execute and extract_action.execute are called
CacheUrlAction and ExtractPackageAction are called (see conda/conda/core /path_actions.py
CacheUrlAction.execute:

target_package_cache = PackageCacheData(self.target_pkgs_dir)
self._execute_channel(target_package_cache, progress_update_callback)

download (from ..gateways.connection.download)

ExtractPackageAction.execute:

extract_tarball (from ..gateways.disk.create).

Looking at this chain of calls, I see no way to skip the download/extraction process.

@jaimergp Tania asked that you review this one. Please take a look, thanks!

Jaime and I talked about this offline:

I need to look into why caching is not happening in ProgressiveFetchExtract, this shouldn't take more than 3 hours

there's some code that prepares the actions before execute is called, in prepare
prepare calls make_actions_for_record and  that's where the cache could have been used, but it doesn't happen for some reason

see calls to PackageCacheData and md5 checks there, it should return None, None if the cache is working

I explained what the test does and why it's this way, it was agreed that it can stay as is
I need to create an issue for long-term plans in conda-store. Jaime said it's not great that we rely on separate tools that know nothing about each other, which causes issues like this. I've been told there are plans to make conda more useable as a library
per-build temporary caches, like the ones proposed in this PR, is a no-go because it breaks how conda is supposed to be used, which will lead to problems

so the plan is to make global cache usable again. And if that's not possible, then the issues need to be addressed elsewhere, maybe upstream.

Status update:

I fixed the main issue that was causing 50% of builds to fail at random when running in parallel. That was due to tarballs that only have info/index.json, so info/repodata_record.json was created inside conda, with channel set to an invalid value, which never matched the real spec. That caused downloads to happen during lockfile installs, outside of the action where we have locking. And since there's no builtin locking in conda, builds having the same dependencies caused entries in the cache to be overwritten and corrupted.
I fixed an issue that appeared right after I fixed the first one, due to the magic file sometimes missing in the cache.
I fixed a race condition in the symlink helper that also appeared shortly and was repro'ing once in a while.
I still need to test properly, so there might be other issues.

@jaimergp PTAL. See the updated comment in the PR description. I document all issues and fixes there.


Faucet url enhancenment

update faucet url #463

@bassemmagdy could you please resubmit? for some reason it was automatically closed... thanks!


Inserted Expect assertions.

Description

Checklist

[ ] Read Contribution guidelines
[ ] Added tests for new features or bugfixes

Related Issue

This change does not provide much additional value, and actually the second added expectation is incorrect.
While we appreciate contributions and patches, please first either file an issue or look through the open issues before issuing a pull request so that we can have a conversation about potential changes coming to the project.


"Project Map Data to Cross Section" tool fails to open and python errors

Hi all,
I'm learning to use the "Project Map Data to Cross Section" tool for the first time, but I'm running into some errors. The first is that I downloaded the most recent version of the toolbox, v2.12.2, and when I double click on the cross section tool it gives me a "Tool has failed to open" message. When I hover over the error message it gives me this additional message: "Error HRESULT E_FAIL has been returned from a call to a COM component." Is this happening with anyone else?
Second, I tested a few of the older versions and the next one that allowed me to use the tool was 2.10.4. With this toolbox I was able to input all my parameters, but I got back a couple of python errors. I've included a screenshot of the parameters I used and the errors I received. I'm not very familiar with python and I'm new to this tool, so if anyone has any insight or suggestions for things to try that would be greatly appreciated!
Thank you,
Holly

First try the cross section tool on this branch. I have been keeping it separate from the main toolbox until I get more reports of bugs.

 She had the same error when using the one Evan linked in the previous comment, too. I'm not sure if that helps a ton, since it's been several months, but I just wanted to share what happened and what worked for us!
Cheers,
Keilee

Hi Keilee,
Thanks for the response! We also have since upgraded to a version of pro 3.0 and it resolved our issue with this tool.
Thanks,
Holly