Add a timeout for running tests

Please provide a possibility to set default timeout for tests (JUnit tests) that executed from Gradle.
Note: this is related to https://github.com/gradle/gradle/issues/1096 but not the same. I would like to set a default timeout for individual tests, not entire Gradle task that runs all tests for a module.
Note:
JUnit's @Test(timeout=X) annotation is unsuitable because it must be place on each test.
JUnit's @Rule annotation is unsuitable because it must be place on each test class.
JUnit's @ClassRule can be used to solve the problem but it's not applicable to Gradle Test task.
See also https://issues.gradle.org/browse/GRADLE-1020

I would really want this.
We have had examples of unit tests that locks up the whole build pipeline for 2h and then timeouts. This would allows us to set a low (like 5s) timeout for unittest classes and get much better/faster feedback of what went wrong.
This should also produce a better error message than what we get when jenkins kills the build due to a timeout.

It will be good if we have some update on this. Need this feature for test execution

An idea on how to do that.
If it is JUnit tests specific and we do not like to use JUnit tools (adding annotations provided by JUnit), maybe it could be done with a gradle plugin using bytecode enhancement.
I might be wrong but I thing it is possible to do so.

any updates on this?!

For JUnit 5 this is already possible with its extension API. For Junit 4 there is RunListeners, which we would just need to support. I don't think we should reimplement what the test frameworks already offer, but instead allow you to leverage their functionality.

Our expectation is that a good solution to orchestrating poorly behaved tests/product behavior would:

DRY application of test timeout policy
Not require individual modification of 1000s of Junit test classes. This is both to save work and ensure that authors of new test classes can't forget to apply the policy.
Identify culpable tests by name
Provide opportunity to collect additional debugging information, such as a thread dump

Forgive my ignorance of Junit 5, @oehme, do you believe it could satisfy those requirements? In the JUnit 5 documentation I've read so far it seems like "extensions" are applied via test-class level annotation, which would mean a mass-refactoring followed by whack-a-mole of new test classes popping up without the required annotation.

Extensions can be registered automatically via a service loader mechanism. This should indeed satisfy your requirements above.

Alright I'm going to give that a try. Thanks for the recommendation, Stefan!

Ah, if only my org didn't have ....looks over shoulder...  JUnit 3 tests still in the wild.
Really, I'd just settle for even a global "test task timeout" (maybe even just a global task timeout).  I don't care that things fail as quickly as possible, only that they actually fail when they've clearly exceeded normal runtimes.

Looking at the above linked issue, I see the existing feature requests and will go +1 over there.  thanks.

@oehme I've been reading Junit5 documentation and doing some experiments.
So far I have exactly the same problems implementing timeouts at the Junit5 level as I do the Gradle level:

The "after" callback is never invoked if the test never terminates
There is no "during" callback or similar designated place to supply mid-execution code
Exceptions thrown from arbitrary other threads are not caught by any exception handler that has the power to kill or mark as failed a deadlocked test

See Junit5 issue Introduce global timeouts for tests
Indeed, Junit5 regresses the meager DRY-ness possible in 4 by making the only inbuilt timeout mechanism one that has to be written into the code of every. single. test. case.
So it does not appear to me to be possible to timeout deadlocked tests or test classes with a Junit Extension.
Perhaps subclassing VintageTestEngine to do exactly the assertTimeoutPreemptively wrapping is what I'll have to do. Of course that introduces a barrier to changing test frameworks or junit5 engines that I didn't want to impose. I haven't really solved the problem if it's easy to elide the timeout and I don't really want to get into the business of policing my peers choices of test frameworks or junit engines.
Please advise - I'm happy to be corrected if I've misunderstood or overlooked something!

I may have misunderstood what is possible with JUnit 5 extensions. I had assumed they would be able to "wrap" a test so that it could be started on a different thread, similar to what the Timeout rule in JUnit 4 does. Looking more closely at the extension API, this doesn't seem possible indeed. Can you give more feedback on this @marcphilipp? Is there some way @KidDaedalus could implement a cross-cutting timeout with an extension? Or is that something only an engine can do?

@KidDaedalus You're correct, that's currently not possible with a Jupiter Extension. There's an open issue to introduce an additional extension point to alter the execution behavior that provides some background on the rationale. In short, extensions should be composable and the engine should not hand over control of test execution to an extension.
However, your idea to let the engine know that it should cancel the execution of a test sounds very interesting! Would you mind opening an issue for the JUnit team to continue the discussion?

So as a workaround you could sublclass the jupiter and vintage extensions and let your colleagues use those. Would this be acceptable for you @KidDaedalus?

After quite a bit of experimenting I couldn't get to a satisfying Junit based solution for this problem.
The VintageEngine is a thin wrapper around all of Junit4, and the bit I'd want to tweak is deep within Junit4. A custom Runner is the most natural place to add this sort of logic... but you can only use one Runner at a time and our tests have a mixture of the basic runner, the jmockit runner, and the spring runner. After going into the weeds on extending JUnit4 I feel like I understand why they wanted to move the direction they did for Junit5's extensible model! But that doesn't leave us any better off.
So I'm trying out two other solutions for this that are different kinds of hacky.
One is a "poison pill" that looks a bit like this, in kotlin (omitting some details for brevity):
class TimeoutEnforcer(
    val testName: String,
    val testCompleted: AtomicBoolean = AtomicBoolean(false),
    val sleepStepMs: Long = 100L,
    val testTimeoutMs: Long = 100000L,
    val onTimeout: () -> Unit = { throw TimeoutException("This is insufficient to terminate the deadlocked test :( ") }
) {
    suspend fun run() {
        var remainingTimeMs = testTimeoutMs
        while (remainingTimeMs > 0) {
            if (testCompleted.get()) {
                break
            }
            if (remainingTimeMs > 0) {
                remainingTimeMs -= sleepStepMs
                delay(sleepStepMs)
            }
        }
        if (!testCompleted.get()) {
            onTimeout()
        }
    }
}

class TimeoutEnforcerPlugin : Plugin<Project> {
    val logger = Logging.getLogger(TimeoutEnforcerPlugin::class.java)
    override fun apply(target: Project) {
        testTask.addTestListener(object : TestListener {
            override fun beforeSuite(suite: TestDescriptor) { }
            override fun beforeTest(testDescriptor: TestDescriptor) {
                val watchdog = TimeoutEnforcer(
                    testName = name,
                    onTimeout = ::poisonPill)
                watchdogMap[name] = watchdog
                launch {
                    watchdog.run()
                }
            }
            override fun afterTest(testDescriptor: TestDescriptor, result: TestResult) {
                println("afterTest $testDescriptor")
                val name = testDescriptor.getCanonicalName()
                watchdogMap[name]?.testCompleted?.set(true)
                watchdogMap.remove(name)
            }
            override fun afterSuite(suite: TestDescriptor, result: TestResult) { }
        })
    }
    fun poisonPill() {
        val threadDump = JstackWrapper().threadDump() // Calls jstack on the current JVM's pid
        // do some processing on the thread dump to find the culpable stacks
        logger.quiet(threadDump)
        exitProcess(-1)
    }
}

I can't do anything to the thread running the test... but I bring down the whole test worker JVM with a System.exit()!
This has a number of unfortunate consequences and fills the logs with errors around the suddenly missing test runner that aren't about the test that failed, distracting developers from the problem in their code and making them think that it's Gradle that has a problem.
So since that isn't ideal, I'm also experimenting with creating a plugin that uses ASM to modify test class bytecode to add a Timeout to any Junit4 class that doesn't already have one.
Anyway, I understand that you very reasonably wish to leave the details of test execution encapsulated within the tools that own that domain. But I do hope that you'll think about how Gradle itself, within its own domain of task orchestration, can be more robust to being asked to orchestrate badly behaving code. A task-level notion of a timeout could have substantially reduced our pain in this area, perhaps something like what I mentioned in #1096

Thank you for that well-weighed feedback @KidDaedalus! There is also a request to limit overall build time (https://github.com/gradle/gradle/issues/5181). Maybe even that would be enough?

I've been playing with https://github.com/Nordstrom/JUnit-Foundation but it has the same limitations around having to set the JUnit test runner everywhere. Will try @KidDaedalus solution and report back with findings. Thanks for sharing!

We are not going to do per-test timeouts, as this is better handled by the test frameworks themselves. However, we are adding per-task timeouts to Gradle 5.0, see https://github.com/gradle/gradle/pull/6643

I just saw the comment from @felipecsl. JUnit Foundation no longer uses a custom runner for activation. It uses byte code generation and attaches via a Java agent. This means that you can enable global timeout management without having to change your test code.

@oehme I think the information I posted will be helpful to many folks still using JUnit 4. The library I refer to enables timeout management, automatic retry of failed tests, and event notifications in Gradle project tests. Where is the best place to publicize this information?


Adding compatibility with biom-format

Biom-format is a commonly used file format for microbiome studies.
It boils down to an hdf5 format of scipy.sparse.csr_matrix that also includes sample / gene metadata.
Paper of the file format is here: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3626512/
Let me know if there is any interest in this. I've already implemented the torch.dataset and will be happy to push in a PR.

Hi,
Thanks for your contribution! I am not familiar with biomformat. Do people use this for scRNA-seq or is it some other kind of data? If so, why is it of interest to the users of scVI? Should we add microbiome datasets URLs to the codebase, as well as a notebook of how to analyze this data with scVI?
I'd be happy to add this to the codebase provided this will be useful.
Best,
Romain

I haven't seen this used for scRNA-seq, but I see no reason why it can't be done.  The biom-format just provided a compressed format for storing sparse matrices (in addition to accompanying feature / sample metadata).
I don't see any problem including microbiome datasets + notebooks.  Is there a preferred location for storing datasets? (i.e. zenodo?)

Hi,
Usually we add the datasets in the scVI-data github repo https://github.com/YosefLab/scVI-data but naturally if those datasets are already hosted online and can be fetched with a wget this is definitely the preferred method (you can look into the Downloadable dataset class). We do this for example for 10x datasets.
We now have a contributed notebook section in readthedocs, so if you want to show how a model of our codebase can be applied to microbiome we will have a look and post it to Colab. One example is https://scvi.readthedocs.io/en/stable/contributed_tutorials/scVI_DE_worm.html
Best,
Romain

I would be happy to integrate this in scVI but a few points:

we are going to refactor the dataset module a bit to have simple read_biom(path) functions
we should not make biom a strict requirement, and can instead just catch an ImportError
we should have a tutorial describing how to use scVI with microbiome data

As @romain-lopez said, it can be a contributed tutorial. @mortonjt, would you be able to make a simple tutorial like the LDVAE one? As well as make the PR after we refactor the dataset module (< 1 month time)?

Hopefully it shouldn't take a month XD.
See pull request here: https://github.com/YosefLab/scVI/pull/675

@mortonjt, so we are creating a new dataset API that relies entirely on anndata. Since it seems pretty easy to go from biom to anndata, I think it would be helpful after we get the new API merged, to edit your tutorial with a function to download and make the biom file into an anndata and then proceed with the rest of the tutorial. Therefore, the BiomDataset class you made should be no longer necessary. Sorry for all the changes! It's probably best to wait at this point and see how our new API will work before fixing this, of course if you're still interested in contributing the tutorial.

Got it. No worries
On Sat, Jun 27, 2020, 12:57 PM Adam Gayoso<EMAIL_ADDRESS>wrote:

@mortonjt https://github.com/mortonjt, so we are creating a new dataset
API that relies entirely on anndata. Since it seems pretty easy to go from
biom to anndata, I think it would be helpful after we get the new API
merged, to edit your tutorial with a function to download and make the biom
file into an anndata and then proceed with the rest of the tutorial.
Therefore, the BiomDataset class you made should be no longer necessary.
Sorry for all the changes! It's probably best to wait at this point and see
how our new API will work before fixing this, of course if you're still
interested in contributing the tutorial.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/YosefLab/scVI/issues/660#issuecomment-650603326, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA75VXI2VZC3E2YRN5LPI3LRYY6JHANCNFSM4MQNXG6A
.

We addressed this by adding a to_anndata function in biom.
https://github.com/biocore/biom-format/pull/845

Great, thanks @adamgayoso !

@mortonjt we've finished most of the large changes for scvi-tools. We would still appreciate a simple tutorial with application to microbiome data, if you're able to contribute it. It would just need to be a google colab notebook that includes data download, model running, etc. Similar to the other notebooks we have in the user guide. Feel free to reach out on gitter (https://gitter.im/scvi-tools/development) if you're interested.

That's good news!!  If it is just a tutorial that shouldn't be a problem -
we have a couple of ongoing projects using scvi; will be more than happy to
share once they are in a shareable state :)
On Tue, Mar 2, 2021 at 11:08 PM Adam Gayoso<EMAIL_ADDRESS>wrote:

@mortonjt https://github.com/mortonjt we've finished most of the large
changes for scvi-tools. We would still appreciate a simple tutorial with
application to microbiome data, if you're able to contribute it. It would
just need to be a google colab notebook that includes data download, model
running, etc. Similar to the other notebooks we have in the user guide.
Feel free to reach out on gitter (https://gitter.im/scvi-tools/development)
if you're interested.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/YosefLab/scvi-tools/issues/660#issuecomment-789462377,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA75VXM5CEQGJ2ZWVZBMQV3TBXG5LANCNFSM4MQNXG6A
.

Hi @adamgayoso thank you for your contribution to biom earlier - we ended up using that in order to benchmark LDVAE.
Our tool can be found here : https://github.com/flatironinstitute/catvae with the LDVAE script here. Paper is here if there is interest.
If there is interest in the Multinomial VAE methodology we implemented, feel free to follow up, I'll be happy chat.


Provision function delegates with dependencies

This may be a bug, or a feature request. When using a delegate function, either as a closure or a named function, I expected the delegate to be provisioned with hinted dependencies as though it were called by execute(). In actuality, it receives a string as an argument -- the name of the class being delegated.
A change to this behavior may have BC issues, if someone is using that string for a centralized provider.
Here is a repo using a closure: https://gist.github.com/GRMule/addd42fe35263b3f518a
And a similar repo, using a named function: https://gist.github.com/Danack/e54e9d9fa84914facb24
My real use-case, I have a database wrapper, and I want to pass in the host, user, password, etc. Those items are coming from a Configuration object. So, I set up a delegate like this for my database class:
$injector->delegate('DataAccessMysql', function (Configuration $config) {
    return new DataAccessMySql(
        $config->get('database.host'),
        $config->get('database.user'),
        $config->get('database.password'),
        $config->get('database.database')
    );
});

I expected my delegate to get the dependency injected, as though I had called it with execute(), but instead, it gets a string with the name of the class. Which, of course, throws an error.
I was able to work around the problem using this, which gives a fair idea of the expected behavior:
    $injector->delegate('DataAccessMysql', function () use ($injector) {
        return $injector->execute(function (Configuration $config) {
            return new DataAccessMySql(
                $config->get('database.host'),
                $config->get('database.user'),
                $config->get('database.password'),
                $config->get('database.database')
            );
        });
    });

Could you try the current dev-master now that #93 is merged and let me know if you get the behavior you expect?

That did the trick! Thanks!


AKS Learn feedback:

Type of issue
Typo
Feedback
Test
Page URL
https://learn.microsoft.com/en-us/azure/aks/learn/quick-windows-container-deploy-portal?tabs=azure-cli
Content source URL
https://github.com/MicrosoftDocs/azure-aks-docs/blob/main/articles/aks/learn/quick-windows-container-deploy-portal.md
Author
@schaffererin
Document Id
4f23e28d-94e6-160a-ec4f-590d22ca167a

Hi, @BertonLan, I'm not seeing any information in this issue that outlines where the typo is. Could you please provide a bit more information so I can get this resolved?

As we've not received follow up on this issue, we're going to close it out. Please feel free to open up a new GitHub issue if you run into any documentation-related issues in the future. Thank you. #please-close


[AutoPR mediaservices/resource-manager] [Portal Generated] Review request for Microsoft.Media to add version 2018-07-01

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3831

(message created by the CI based on PR content)

Initial PR closed


EVM tokens: fix missing token type

this had resulted in the database having zeros in the type column, making the mutate workflow fail when it sees an unknown token type

sample db built after the correction, token_type now correctly says 20


How can I get a Forest API?

Hi,
I am now trying to use pyquil, but from the documentation I find that I need to get an API first. It says that on your website (https://www.rigetti.com/) I can sign up to get one. I entered my email and enterprise, and received an email saying that I am in the waiting list. But till now I still have not get the API token.
So what else can I do?
Thank you so much!

Oh I have found it out myself. After sign up, the token can be created using this link: https://api.slack.com/custom-integrations/legacy-tokens

@yangjy0826 Sorry for the confusion but the latest pyQuil doesn't require an API key. The latest docs to obtain our SDK can be found here: https://pyquil.readthedocs.io/en/latest/

Thank you for your reply! I find in this link that I need to install the QVM and Compiler, but it is only for Linux and MacOS, right? How about Windows? Thank you!


Increase Travis Timeout

If travis doesn't receive any output for 10 minutes it fails the build. Some of our tests are taking almost that long: https://travis-ci.org/SQLStreamStore/SQLStreamStore/builds/426112365#L711

You don't get any build output at all until the whole thing succeeds. 💢

In addition to this, can we also output tests as they run?
https://github.com/dotnet/cli/issues/9229#issuecomment-388643284


Partial helper unclear behaviour

I'm using the partial helper as below to wrap an Async:
const fs = require("fs");
const partial = require("crocks/helpers/partial");
const { appendFile } = fs;
const appendAsync = partial(Async.fromNode(appendFile));
const writeLogAsync = appendAsync("program.log");

I'd expect writeLogAsync to be a Function that, when provided with some other arguments would return an Async Function.
But writeLogAsync is already an Async Function.
I'm not sure if it's my bad or not...I'd though that partial should behave like the following, which, by the way, behaves as I would expect:
const partial = fn => (...firstArgs) => (...lastArgs) => fn(...firstArgs, ...lastArgs);

javascript partial :: (((*) -> c), *) -> (*) -> c
I'm sorry, I should have read the documentation more carefully.
The partial application provided with crocks needs both the function and the first set of arguments at the first invocation while I'd though it required only the function.
Thanks again

Gonna close this issue out if that is okay with you @cristian-gabbanini
If not, please let me know and I can reopen it for you!


state-of-tic-tac-toe

https://exercism.org/tracks/abap/exercises/state-of-tic-tac-toe
wrong/bad icon? this is a standard exercise, it should have a default icon?

You're right. It's the same way for other tracks, e.g., https://exercism.org/tracks/go/exercises/state-of-tic-tac-toe
I created this issue: exercism/website-icons/issues/130

=> https://github.com/exercism/website-icons/issues/130
closing


Update swearwords.json

Words from the list aren't purified without the trailing space. Removed some trailing spaces from the swearwords list.

Hi Jeff, Thank you for fixing this. I'm sorry for not merging this earlier -- we left this repo behind a bit :(.


⚠ Samsung has degraded performance

In ea1f153, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2799 ms

Resolved: Samsung performance has improved in 0adaa35.


fix: add missing init.py so it can be installed as a pip package

find_packages() will not find ldm and its submodules unless __init__.py is present in parent modules. this PR adds the missing __init__.py allowing the repo to be installed and used as a regular pip package via pip install git+https://github.com/Stability-AI/stablediffusion/ and avoiding everyone else having to duplicate all your codebase in other projects.

Related: #269


Additional ctag SF norm corrections

Additional normalization corrections for  ctag SF  added (for more samples).
Plus other minor changes to runner.py script to make it work for me at RWTH cluster.

This PR is ready for review @valsdav . Also @phnattla please take a look at let me know if that still works for you regarding RWTH executor.

Hi @andreypz,
the RWTH executor still seems to work for me.

Hi @andreypz thanks a lot.
About the argparse/click:  we moved to click to have a consistent CLI experience with all the subcommands.
I understand your usecase: what about using glob to resolve the wildcard passed to click in the merge_output script?

The merge_output script is not important for this PR, so I revert the changes here. Please take a look.
I will create a separate issue to deal with wildcards in the merge script.


Fix video removal from playlist

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Closing issues
Fixes https://github.com/avallete/yt-playlists-delete-enhancer/issues/216.

Hi @avallete, can you please take a look at this?

Hey @dnicolson !
This look great to me ! Thank's for contributing !


DITA-OT 4.1.x throw "Error: java.lang.NoSuchMethodError: 'void net.sf.saxon.Configuration.setResourceResolver(net.sf.saxon.lib.ResourceResolver)'"

Expected Behavior
Transform the dita file to specified format.
Actual Behavior
I downloaded DITA-OT 4.1.2, set the environment variable according to the Doc of DITA-OT. It can output DITA-OT version 4.1.2 to the console with dita --version command.
But when I try to transform a dita topic to html5 format, it throws the error below:
Error: java.lang.NoSuchMethodError: 'void net.sf.saxon.Configuration.setResourceResolver(net.sf.saxon.lib.ResourceResolver)'

I downloaded DITA-OT 4.1.1 and try again. it throws the same error.
However, DITA-OT 4.0.0 works correctly, before and after I download DITA-OT 4.1.x.
Possible Solution
I have no idea. I am not a developer.
Steps to Reproduce
The DITA file I transformed is downloaded from GIthub repo: DITA-Mini-Manual.
PS E:\TutorialAndNotes\TC-Standards-and-Tutorials\StructuredAuthoring\DITA\DITA-Mini-Manual> dita --version
DITA-OT version 4.1.2
PS E:\TutorialAndNotes\TC-Standards-and-Tutorials\StructuredAuthoring\DITA\DITA-Mini-Manual> dita --input=concept/oilpressurelight.dita  --format=html5  --output=out/html5
Error: java.lang.NoSuchMethodError: 'void net.sf.saxon.Configuration.setResourceResolver(net.sf.saxon.lib.ResourceResolver)'
PS E:\TutorialAndNotes\TC-Standards-and-Tutorials\StructuredAuthoring\DITA\DITA-Mini-Manual>

Copy of the error message, log file or stack trace
Error: java.lang.NoSuchMethodError: 'void net.sf.saxon.Configuration.setResourceResolver(net.sf.saxon.lib.ResourceResolver)'

Environment

DITA-OT version: 4.1.x
Operating system and version: Windows 10
How did you run DITA-OT?  dita command
Transformation type: HTML5 (but I think other formats will throw the same error)

Hi, about
 set the environment variable according to the Doc of DITA-OT.

what env variable did you set, can you give a link to the docs?
After downloading DITA OT 4.1.2 and unzipping it, did you make any change to its folder? For example try to merge inside it plugins and libraries from an older DITA OT version?
If you "cd" to the "DITA-OT-4.1.2/bin" folder and then in the Command Prompt try again to use the "dita" command to build output does that work better for you?

what env variable did you set, can you give a link to the docs?
The doc page is Installing DITA-OT, I set env variable path to bin folder, as instructed in the section Procedure.

After downloading DITA OT 4.1.2 and unzipping it, did you make any change to its folder? For example try to merge inside it plugins and libraries from an older DITA OT version?
I didn't make any change to the unzipped folder of 4.1.2. I download DITA-OT 4.0.0 before, but rarely use it, and never make any change to version 4.0.0 too.

If you "cd" to the "DITA-OT-4.1.2/bin" folder and then in the Command Prompt try again to use the "dita" command to build output does that work better for you?
It works in the same way:

By the way, I just start to practice DITA-OT. I can build a html5 output from the topic "Oil pressure light" in DITA-OT 4.0.0 with the above command. But 4.0.0 doesn't seem to work correctly with properties file.
args.cssroot, args.css and args.copycss in properties file don't work, whereas args.csspath works well.
That is why I downloaded 4.1.2 to see if a new version is better.

I found the reason why DITA-OT 4.1.x doesn't work:
I downloaded SaxonHE 10-8J about one year ago, set the location of saxon-he-10.8.jar file to env variable Classpath. DITA-OT works correctly after I delete the location of saxon-he-10.8.jar file from env variable classpath.

I'm glad you found the problem, I was looking for a similar path to a Saxon installation in your initial screenshot of the environmental variables list but as I did not see it I did not pursue this possibility.
Probably DITA OT 4.0.0 still worked from the command line as the code in the DITA OT was compatible with Saxon 10. But once we upgraded to a newer Saxon library in more recent DITA OT versions, things stopped working.
@jelovirt how about when we start ANT in the dita.bat we give it the "-noclasspath" parameter? This would isolate the DITA OT process from who knows what classpath values are present on the user's computer.
At the same time this kind of problem does not occur often (maybe once every 2-3 years) because the intersection between people who wanted to try Saxon and work with it and also want to work with the DITA OT might not be that large.
https://ant.apache.org/manual/install.html
 You can stop Ant using the CLASSPATH environment variable by setting the -noclasspath option on the command line.
 This is an easy way to test for classpath-related problems.

@raducoravu - in the software products my company creates, we do similar things in our invocation wrapper scripts to avoid conflicts with the user's environment.

👍  same case reported here: https://github.com/orgs/dita-ot/discussions/4378


extracted out pagination UI into own template and customized

fixes #157
note: for pages where the pagination occurs in a card (on the right side of the page), the layout is not ideal. this will be improved upon.
for example, there is a pagination that occurs in a card in the my-sources page.

This is great! No more pagination copy and paste 👍


SE-0080 (3/5) - Failable initializers for Float->Int

What's in this pull request?
Breaking out from #2742. Adds init?(exactly:) initializers for integer types from float types.
Resolved bug number: (SR-1491)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

Also it looks like one of the trapping cases isn't being handled correctly in the tests w/ is causing a failure.

I think I covered everything. It turns gyb wasn't using the repr version of the floats I was trying to test, which was causing some unexpected behavior.

@swift-ci Please test.

I think I got everything. Still running tests locally, but everything seems fine.

Thank you!  I will look closely tomorrow, but let's get a CI run early:
@swift-ci Please test

@ultramiraculous The CI has errors, would you mind taking a look?
Also, I just wanted to remind you that we have a script, utils/run-test, that allows you to run just one test.

Hah, I actually didn't know about run-tests/didn't notice when it got added, so thanks! I've been hacking together that functionality on my own.

Addressed the nits and moved some helpers into a python module.

@swift-ci Please test

@gribozavr I'm still getting errors about unbalanced #endif's in FixedPointConversion and I can't seem to spot why. There's some errors about use of unresolved identifier 'arch'/unresolved identifier 'x86_64', which I'm guessing are related but I can't seem to spot why they're coming up :-/

@gribozavr - Apologies for dropping the ball here. This should be good to go.

@swift-ci Please test

FWIW: the build failure is unrelated (it's PlaygroundLogger).
Other than the code clarity nitpicks, LGTM.
/cc @gribozavr

Got the nits!

@gribozavr I just dusted off the remainder of this proposal and it's like 50 lines of code. Any chance you could look at this :P

Given that SE-0080 is purely additive, it is possible that we can take this.  However, @tkremenek is the ultimate gatekeeper on that decision after technical review and approval has been done.

I would be strongly supportive of taking an implementation of SE-0080 if we feel comfortable with the implementation and it landed very soon.

Sorry for a delayed review!  The changes LGTM!
@swift-ci Please test

SILOptimizer/copyforward.sil issue has been fixed.  Retrying.
@swift-ci Please test OS X platform


Inquiry about Infinity model release

Hello @iFighting 🤗
I'm Niels from the Hugging Face open-source team. I came across your work on Infinity through Hugging Face Papers (https://huggingface.co/papers/2412.04431).  Your paper is quite impressive!
Your README mentions a plan to release the Infinity-2B model, including checkpoints and inference code.  We at Hugging Face are very interested in hosting this model on our hub (https://huggingface.co/models) once it's ready.  Hosting on Hugging Face offers increased visibility and discoverability for your research, allowing for easier access by the community and enabling integration with other tools and workflows.
We can assist with the upload process and add relevant metadata tags to the model card to maximize its discoverability and impact. Could you provide an update on the expected release timeline? We're excited to see the model released and would be happy to help in any way we can.
Kind regards,
Niels

It will be great if you guys could host Infinity on Hugging Face! We expect to release models (including the tokenizer & transformer) & code in the coming several weeks.

@NielsRogge We have released the training code and models~


Add completion for Language Extensions

First try at resolving #867.
This adds completion for language extensions.
This changes the behaviour of completion generation to only generate completions for language extensions on lines beginning with "{-# LANGUAGE", perhaps we should modify this so it works even if the line just contains "LANGUAGE": {-#LANGUAGE and {-#   LANGUAGE would then also work.
This adds a cachedExtensions field to the CachedCompletions record, which is filled via the Ghc api. Going through GhcMod would be much more complicated, since in ghcmod a nice list of language extensions is squashed into a string, which we'd have to parse back. Instead I just get the list via this
I wasn't sure what kind of completion to give Language Extensions, so I went with CiModule since it seemed the most appropriate

I think this is looking good. Could you also add a test? This is the test for the import module completions:
https://github.com/haskell/haskell-ide-engine/blob/master/test/functional/CompletionSpec.hs#L34-L47
It uses this file for comparisons:
https://github.com/haskell/haskell-ide-engine/blob/master/test/testdata/completion/Completion.hs
You can run the functional tests with:
stack test haskell-ide-engine:func-test

I've added a test to the suite, I've also played around with it on some of my projects and it works quite well

I just tried this, and it works great.
A possible tweak would be to recognise {-# and offer to complete with LANGUAGE or OPTIONS_GHC. and whatever else is valid.

I’ll create a ticket for that


Keyboard layout not saved

Describe the bug
When I change the keyboard layout to "QWERTZ" (French Switzerland in my case) and I close the configuration windows, when I open it again, the configuration is back to "US"
To Reproduce
Steps to reproduce the behavior:

Go to Configuration
Change layout to QWERTZ
Close the windows
Open Configuration again

Expected behavior
QWERTZ must be savd
Desktop (please complete the following information):

macOS version: 10.14.6

thanks for reporting the issue


GROOVY-7909 Calling parents method from trait using Parent.super.method() fail depending on trait declaration order

I made the commit with wrong name, and I will open a PR again.


Update Joi to version 17

Mostly building on @rmothilal work in https://github.com/tlivings/enjoi/pull/85.
allOf is supported through schema.concat
types were replaced with new Joi extensions syntax

@sprootshift thanks for this

Thanks, reviewing...

Thank you. Could you please release a new version? I will then update matching hapi-openapi pull request https://github.com/krakenjs/hapi-openapi/pull/176 to use npm enjoi release.

Will be doing so tomorrow morning thanks.

Published as 7.0


Improved point eval handler constructor v2

Based on https://github.com/ONSAS/ONSAS.jl/pull/255 but filters repeated points.

Codecov Report

Merging #257 (a6b20d2) into main (963cb04) will increase coverage by 0.68%.
The diff coverage is 95.12%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #257      +/-   ##
==========================================
+ Coverage   84.76%   85.44%   +0.68%
==========================================
  Files          40       40
  Lines        1326     1333       +7
==========================================
+ Hits         1124     1139      +15
+ Misses        202      194       -8

Impacted Files
Coverage Δ

src/Meshes/Handlers.jl
91.30% <94.73%> (+22.25%)
:arrow_up:

src/Elements/Elements.jl
67.34% <100.00%> (+1.38%)
:arrow_up:

src/Meshes/Meshes.jl
61.16% <100.00%> (+0.38%)
:arrow_up:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


utile.mixin tries to redefine property

TypeError: Cannot redefine property: .svn
    at Function.defineProperty (native)

This is a part of stack trace I got. It seems to me that a duplicate 'attr' should be skipped so that it doesn't attempt to define it twice.

+1


Improve operator requirements in protocols.

I've written a proposal to formalize the ideas discussed in this swift-evolution thread to explore improvements to operator requirements in protocols.

@allevato I'd like to get this scheduled for next week.  I briefly discussed this with the core team, and they seem to agree that going with the labeled syntax is the best starting point for the qualified operator reference, something like:
(T.-)(prefix: y)
To reference the qualified prefix unary operator.  Otherwise, I think the proposal is ready to go.

@lattner Sounds good. Can you clarify how this would affect the declaration in the protocol itself? Would it still match the style of a global operator:
protocol Foo {
    static prefix func -(value: Self) -> Self
}

with only the call site (or reference site) using the prefix: label? I'll write this up and can iterate over it further if need be.
As an aside, if we pushed the prefix/postfix label down to operator references in general, this actually solves a nice issue where it doesn't seem to be possible to reference one of the two operators as a first-class function:
  1> struct Foo {}
  2> postfix func --(inout value: Foo) -> Foo { print("postfix --"); return Foo() }
  3> prefix func --(inout value: Foo) -> Foo { print("prefix --"); return Foo() }
  4> func f(body: (inout Foo) -> Foo) { var f = Foo(); body(&f) }
  5> f(--)
prefix --

Now reverse the order of lines 2 and 3 and postfix gets printed instead. Using labels at the call site would let someone say T.--(prefix:) or even just --(prefix:) to refer to them explicitly. (Of course, -- is a bad example since it's deprecated, and this is admittedly a very minor edge case.)


JDL Studio could not parse constants declaration

When I paste the content of test file
https://github.com/jhipster/jhipster-core/blob/master/test/test_files/constants.jdl
in JDL Studio.
The following error message emerge out.

Hello, it seems the JDL studio is not up-to-date with the JDL. Can you open a new ticket in JDL studio's issue tracker please? thanks.

JDL studio has been updated with latest version. Please check now @clong365

It's working properly now.
Thanks @deepu105


Translate enum values under a namespace and be exhaustive

Linked to https://github.com/biesbjerg/ngx-translate-extract/issues/188
Using his same example
export enum Foo {
  DAY = "Day",
  NIGHT = "Night",
}

It would be great to be able to translate all enum values under a namespace. Something like
// currently does not work ? Or needs to be done someplace special ?
Object.values(Foo).forEach((value) => {
    marker(`FOO.${value.toUpperCase()}`);
})

Hi @Startouf,
I'm not sure if its doable in those examples due to the fact that your hole code has to be compiled, run through and interpreted in the correct way with various cases.
We were in the same situation as you and what we did was that we created a translate pipe with the markers within.
As an example:
export enum Currency {
  EURO = 'EUR',
  US_DOLLAR = 'USD',
  POUND_STERLING = 'GBP'
}

@Pipe({
  name: 'currencyTranslate',
  pure: false
})
export class CurrencyTranslatePipe implements PipeTransform {

  constructor(private translatePipe: TranslatePipe) {
  }

  transform(value: Currency): string {
    return this.translatePipe.transform(this.interpretValue(value));
  }

  interpretValue(value: Currency): string {
    switch (value) {
      case Currency.EURO:
        return marker('COMMON.CURRENCY.EUR');
      case Currency.POUND_STERLING:
        return marker('COMMON.CURRENCY.GBP');
      case Currency.US_DOLLAR:
        return marker('COMMON.CURRENCY.USD');
      default:
        return '-';
    }
  }
}

A downside of this approach is that you have changes in two files, if you add one enum value.
On the other hand you got the advantage that you can cluster your enum values in your translation files with prefixes (as shown in the example) and you got your business logic and translate logic separated.
Hope that helps or might be an idea.
Greetings Daniel


enable writing iso metadata by default

as per https://developer.android.com/media/platform/hdr-image-format implementations are expected to write both xmp and iso metadata by default.
Test: ./ultrahdr_app

Not that it should block the PR, but the images with both ISO and XMP gainmap metadata seem to be hitting Chromium bug 377620718.

@koto While production Chrome won't render either (even Android-only, no ISO), Canary renders the ISO + XMP images just fine in my testing. As far as I can tell (in my limited testing), there is no value / need to delay this, as the issue with Chrome appears unrelated to ISO as far as I have seen. That issue seems to affect either encoding or both together, and ultimately means we need to hope the Chrome fix moves to production quickly. I have not tested Dev / Beta Chrome channels to see if they have the fix yet.

@koto Latest production Chrome 131 has resolved the gain map bug (works on 131.0.6778.109 if not slightly older, resolved in the past week). I'm seeing Brave works as well (see test #8: https://gregbenzphotography.com/hdr/#tests)

@DichenZhang1 dichen, the changes are ready for review. thank you.


feat: dark type

close #15

:tada: This PR is included in version 1.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Allow setting a UICollectionViewDelegateFlowLayout

This allows setting a flow layout delegate so that we can forward events to clients. This is very similar to #133.

cc @lachenmayer


chore: Fix appveyor setup

On Windows, recent versions of conda require you to actually 'activate' the base environment, not merely adjust your PATH.
(Explained in conda/conda#8836)

Awesome, thanks so much for fixing this!


Improve ruby text object performance

Greatly improves the performance of ruby textobjects
Before:
705-715ms
After:
480-500ms
Commenting out this entire file brings performance down too 420-430ms. Any tips to get a few more ms out of these queries?

The best thing to do would be to port find_best_match to use the native query API (iter_group_results is horribly slow because it construct and deconstruct to many tables) and use find_best_match to simplify the get textobjects call.
https://github.com/theHamsta/nvim-treesitter/blob/3e139eff64972096e23e3c6fcd7fa8ce1f147118/lua/nvim-treesitter/query.lua#L232-L232

@TravonteD @semanticart could you Ruby experts test those queries? I've never used that language.

@npezza93 You can check the query with tree-sitter CLI to see what speed of light we can expect. When nvim-treesitter-textobjects would use the native query API directly it would have roughly that performance.

@theHamsta Happy to. Give me a bit to get that set up and ill report back

@theHamsta sorry, never worked with ruby. Though happy to test ecma related changes next time 🙂

Just saw you in the diffs. Sorry for the annoyance :sweat_smile:

@theHamsta How do i go about telling the cli to use this textobjects.scm file? I have the cli working but not sure how to tell it to look at this file.

@theHamsta  Nevermind. Helps if i use the query command haha.
❯ time tree-sitter query ~/.local/share/nvim/plugged/nvim-treesitter-textobjects/queries/ruby/textobjects.scm app/models/account.rb

tree-sitter query  app/models/account.rb  0.05s user 0.01s system 96% cpu 0.065 total

At some point we also need to achieve the 50ms in this plugin. But thanks that you showed that there's also on CLI a huge difference.

Heres the hyperfine version for a little more accurate numbers
❯ hyperfine 'tree-sitter query ~/Documents/nvim-treesitter-textobjects/queries/ruby/textobjects.scm app/models/account.rb'
Benchmark 1: tree-sitter query ~/Documents/nvim-treesitter-textobjects/queries/ruby/textobjects.scm app/models/account.rb
  Time (mean ± σ):      48.7 ms ±   3.5 ms    [User: 44.0 ms, System: 3.0 ms]
  Range (min … max):    41.3 ms …  58.4 ms    56 runs

❯ hyperfine 'tree-sitter query ~/Documents/nvim-treesitter-textobjects/queries/ruby/textobjects.scm app/models/account.rb'
Benchmark 1: tree-sitter query ~/Documents/nvim-treesitter-textobjects/queries/ruby/textobjects.scm app/models/account.rb
  Time (mean ± σ):     209.2 ms ±  10.8 ms    [User: 201.8 ms, System: 5.1 ms]
  Range (min … max):   194.4 ms … 232.7 ms    12 runs


Floating email actions in message view

Checklist

[X] I have used the search function to see if someone else has already submitted the same feature request.
[X] I will describe the problem with as much detail as possible.
[X] This issue only contains a request for one single feature, not multiple (related) features.

App version
6.901
Problem you are trying to solve
When scrolling down a long email, you eventually scroll to a point that you cannot see the Reply button and other actions. You must scroll back to the top to take an action on the email.
Suggested solution
Posting this here to remember that we need to implement floating actions or some other way to expose these actions while someone is looking at an email, without requiring a user to scroll all the way back to the top of the email to do something.
Screenshots / Drawings / Technical details
No response

I found this issue because I came here to suggest that the reply button in the message view be more conspicuous, because I always hit the compose button first by mistake. A floating action button would solve my problem as well.


storage: writes fail without error

In my application, I am writing thousands of disjoint objects about 32K in size to one bucket per second over several machines.  As one might expect, occasionally a request to the bucket fails requiring a restart.  However, I noticed that my bucket was missing the data for a handful of objects (maybe 1 per 100,000).  My code was not restarting the storage write request since the API was not always returning errors.  Here is a simplified code snippet:
            obj := obj_handle.NewWriter(ctx)
            // write data to buffer -- err is alway nil, bytesbwriten == len(value)
            byteswriten, err := obj.Write(value)

            // close will flush buffer -- err is always nil
            err = obj.Close()

            // see if read value is same as written
            obj, _ := obj_handle.NewReader(db.ctx)
            value2, _ := ioutil.ReadAll(obj)

           // value2 != value (1/100,000 objects approximately)

In my actual code, both reads and writes will retry on failure.  Also, the error was originally seen trying to fetch storage data several minutes after writing.

@stephenplaza if you look at those failed objects in the developers console are they correct or also wrong? Is the value written completely missing, or truncated (or wrong in some other way)?

I ran the test again.  The file exists but is empty.  I see this in my program debug and afterward when looking at the console.
(Right now, I am just doing the inefficient read after write to detect errors.  A re-write of the object (with exponential backup) produces the correct output.  With this conservative approach, I can still load over 10 million objects in under 2 hours and read >1 million objects per minute with this efficient library.)
Is there any issue with concurrency and this package that could cause strange behavior?  The objects written should be disjoint across machines and Go routines, but maybe an error here could cause a strange problem.  Another datapoint is that I am using Go1.5.  Go seems to make a lot of changes to garbage collection and my program often needs to force garbage collection.  Not sure if something strange is going on there.  I mention it because I notice that creating a lot of Writers (a few thousand within 1 minute) surprisingly really blows up memory usage (eventually the memory is reclaimed).

There shouldn't be any concurrency bugs in the library that affect correctness (we've designed it to be safe to upload multiple objects at once, and there are no known data races).
I'm really surprised that creating a lot of Writers blows up memory usage. Yes, each Writer will consume memory while it is open – they all have buffering built in for performance and automatic retries. However, as soon as a Writer is closed (ie. after Close returns) it should drop that memory. When you're creating the few thousand within a minute, how many are concurrently open?

I limit my number of concurrent connections to 100.  Usually I hope for 1-2K requests per second per VM running the application.

I'd expect each Writer to be consuming roughly 32K: it will slurp the whole object into memory before sending it, up to 8MB (DefaultChunkSize in the googleapi package). That's in addition to any overhead from the HTTP package and below.
Do you have an example bucket/object ID you can share (off list is fine) so I can file a bug for the backend team to investigate?

I reran my experiment and loaded data in the bucket: "storagewritebug".  The following object is size 0 (but it shouldn't be 0):
AQAAAGQXAYAAAACAAACOgAAAdQAAAAEAAAAAAw==
With regards to the memory issue, I notice the memory blow-up when NewWriter is called followed by Close even without writing data.

Sorry for the delay in getting back to you. We did find an issue which was causing some small objects to fail to write correctly if there was an error (for example, a dropped network connection or server error) on the first attempt at uploading it. That has been patched, and we'll be adding extra tests to make sure it doesn't come back.
Can you let me know if you're still seeing the issue? It should be fixed from what we can see.

I was away for a bit but will try to test this shortly.  To clarify, if there is a write failure, should an error message be returned to the caller or will the code retry the write?

@stephenplaza We retry writes.
Are you still experiencing this issue?

Closing because there have been no updates from the user.


⚠ Bofrost.at has degraded performance

In 8188987, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2305 ms

Resolved: Bofrost.at performance has improved in b298ea4.


CLI throws:  Unable to retrieve project metadata.

This just popped up when I migrated a project on preview2-final to rtm-26180.
dotnet --info
Version:            2.0.0-preview3-006694
OS Name:     Mac OS X
 OS Version:  10.12
 OS Platform: Darwin
 RID:         osx.10.12-x64
 Base Path:   /usr/local/share/dotnet/sdk/2.0.0-preview3-006694/
Microsoft .NET Core Shared Framework Host
  Version  : 2.0.0-preview3-25507-02
  Build    : cb31faee171130d052245748e11e96b27fd8d00c

dotnet ef runs, but dotnet ef migrations/dbcontext/database all throw this error:
/Users/julialerman/Dropbox/ConferenceStuff/DevTeach/2017/Share/EFCore2Previe
wWebApi/App.WebApi/obj/App.WebApi.csproj.EntityFrameworkCore.targets(20,5):
error MSB3491: Could not write lines to file "/var/folders/8w/97pyy4fd71l1gs
9hl6k4qgmc0000gn/T/ydymgqln.wey". The process cannot access the file '/var/f
olders/8w/97pyy4fd71l1gs9hl6k4qgmc0000gn/T/ydymgqln.wey' because it is being
 used by another process. [/Users/julialerman/Dropbox/ConferenceStuff/DevTea
ch/2017/Share/EFCore2PreviewWebApi/App.WebApi/App.WebApi.csproj]
Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core
project. If you're using custom BaseIntermediateOutputPath or MSBuildProject
ExtensionsPath values, Use the --msbuildprojectextensionspath option.

I do not have any custom msbuild values that I know of.
I removed bin & obj folders, restored & rebuilt but still get this error.
I am also able to reproduce it on this solution: https://github.com/julielerman/OwnedEntityStoreToDbProblem

More data for you:
while stayin on the same version of the SDK, I reverted EF Core to preview3-* and had the same problem. Then to preview2-* and the CLI tools worked as expected.
Here is the csproj file (after I downgraded to preview2):
<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <UserSecretsId>aspnet-App.WebApi-7913C0F3-3B1F-4506-9C1E-9F5ECE9BABFD</UserSecretsId>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.0-preview2-*" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0-preview2-*" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0-preview2-*" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0-preview2-*" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0-preview2-*" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0-preview2-*" />
  </ItemGroup>

</Project>

Couldn't help myself and did some more experimentation. Checking assets, i noticed that I didn't always have the version of EFCore packages that I thought I was getting when fiddling with preview3 version numbers in csproj. So  setting the packagerefers all to rtm-* makes no difference. It's the Tools package that is creating the problem. Anything higher than preview3-* causes the problem. I started explicitly with the first version of the rtm packages: 2.0.0-rtm-26151 and it's failing there.

Investigating this. I hit the issue with rtm-16182.
preview3 worked fine (gave error on DiagnosticSource though)

#8963 (Remove GetTempFileName) appears to have regressed this
cc @jbagga @Eilon @ajcvickers

It is indeed culprit. I checked out packages before that commit went in (from aspnetci since the myget feed does not have packages).
It works when we generated .tmp files. It fails with above error when we started generating using tempfilename api.

Bummer. Let's revert it.

Fixed via #9131
I manually verified with locally built package that it works now.

What was the actual cause of this? That is, why did changing the temp file break?

@smitpatel @bricelam I think it's clear that the change caused the regression, but I don't know why. 🐑 Can one of you explain to us mere managers. 😉

Perhaps...
From https://msdn.microsoft.com/en-us/library/d62kzs03(v=vs.110).aspx
File.Create(string) method Remarks

The FileStream object created by this method has a default FileShare value of None; no other process or code can access the created file until the original file handle is closed.


Suggestion: package declaration file for commonjs packages

Proposal
To better support the development and consumption of node.js modules in TypeScript, I propose that we add the ability to emit a single declaration file for a node.js package. To that end, I suggest we add the following features:

Add a packageName compiler option, used to specify the name of the node.js package.
Add a packageMain compiler option, used to specify the path to the main typescript module for the package.
Add a packageDeclaration compiler option, used to specify the output path of the declaration file for the package.
When the above three options are supplied, along with declaration and either module or a target of ES6, we should emit a single declaration file for the program inputs.

The output for a packageDeclaration would have the following form:

Exports for the main module will be defined inside of an ambient external module that has the name provided via packageName.
Exports for relative modules will be defined inside of an ambient external module that has a name derived from the package name, and the path of the module relative to the nearest package.json file, common directory path, or the current directory.

Example
Given the following sources:
a.ts
import { C } from "./lib/b";
export function func(): C {
	return new C();
}

lib\b.ts
export class C {
}

index.ts
export * from "./a";

And the following command line:
tsc index.ts a.ts lib/b.ts --module commonjs --declaration --packageName sample --packageMain index.ts --packageDeclaration sample.d.ts

You would get the following package declaration output file:
sample.d.ts
declare module "sample" {
	export * from "sample/a";
}
declare module "sample/a" {
	import { C } from "sample/lib/b";
	function func(): C;
}
declare module "sample/lib/b" {
	class C {
	}
}

Out of scope
It would be nice to also be able to emit only the exports visible from the main module, and reduce the overall output side of the declaration file, but not all node.js packages are designed to work that way. Instead, in the future we could investigate an option to choose whether to emit a single ambient module declaration. The proposed approach can be used whether you intend to have a single output module or the ability to reach nested submodules, while the more restrictive approach would alienate some package authors.
It is also out of scope to infer package information from the package.json file, although that may be considered in the future. That might look something like having a package compiler option that can read the package.json file to infer the packageName from the "name" field of the package, and the packageDeclaration from the "typings" (proposed) field of the package. However, its more complicated to derive packageMain as the "main" field of the package will be pointing to the output file and not the original typescript file. We might have to propose a "devMain", or some
other similarly named field, to satisfy this requirement.
As proposed, using packageDeclaration will circumvent regular declaration file generation. We could opt to support both, by writing individual declaration files for each non-declaration input as well as the package-level declaration, though I am not certain whether that would be necessary.
A sample implementation for this proposal can be found in the packageDeclaration2 branch.

:+1:

I've updated the branch in a way that differs slightly from the above proposal, in that packageDeclaration is independent from declaration and can be used separately or together.

Just curious how this would deal with Node.js modules whose public APIs include types from other Node.js modules. E.g.:

express.d.ts references node.d.ts because its API surfaces various http types.
knex.d.ts references both bluebird.d.ts and node.d.ts because its API surfaces both bluebird promises and node events.

That's an area I am still investigating. Right now it depends on how it is referenced in the project. /// <reference/> tags will be preserved, as they are currently. If the declarations are included in the file list they will not be included in the output declaration.
I imagine something like tsd would be useful here.

So if I understood correctly, a scenario might go something like this:

Suppose my-module has types from node.d.ts in its public API
my-module also uses bluebird.d.ts and a few other third party libs as internal implementation details.
I'd therefore like my-module.d.ts to contain ///<reference path="../node/node.d.ts /> to be compatible with DefinitelyTyped/tsd.
But I don't wan't any other ///<ref... comments preserved. Certainly not the bluebird.d.ts ref.
So my file list in tsconfig.json includes all my source files and third party typings except not the node.d.ts typing.
I add something like /typings/my-module/externals.d.ts containing ///<reference path="./node/node.d.ts />, and I add this externals.d.ts to the file list.
I compile with --packageDeclaration et al.
I end up with my-module.d.ts with a reference to node.d.ts but no other references.

The thing I'm not sure about is the concept of the 'file list'. Is that from tsconfig.json as in the example above, or is it the transitive closure of everything reachable from packageMain? If the latter, then node.d.ts will presumably end up in the file list and therefore not in the .d.ts file.

@yortus I don't have a recommendation or best practice yet. I'll have to think on this some this week.  The problem with reference tags is that the paths end up fixed into the declaration file. If you ship a declaration file with these reference tags, you must be 100% sure that those paths will be the same ones that the consumer of the declaration file will use. For common declarations like node.d.ts, there's no guarantee that the consumer will want to use the same path, much less the same version of the declaration.
By file list, I meant the files either supplied to tsc on the command line or through tsconfig.json.

@rbuckton OK cool, looking forward. Yeah the relative reference paths thing is tricky. Definitely Typed has a consistent convention, but its not the only convention out there.

I stumbled on this today.
My proposed syntax would be
some-module.ts
module 'some-module';

export function something() {
  // ...
}
// other stuff ... continue your file like any external module

generated some-module.ts.d should be
declare module "some-other-module" {
    export function something(): string;
    // other stuff
}

Right now, there is no way to say in TS that file is a module with hyphens. Also wrapping whole file in module declaration seems a bit useless so one statement in the beginning could work.

Using the global declare module "foo" will result in pain in the long run

this should be handled today using --outFile by https://github.com/Microsoft/TypeScript/pull/5090

@mhegazy #5090 doesn't work for commonjs and this proposal is for node (commonjs) so I think it's not covered by #5090?

that is correct. thanks @yortus.
This is now not needed after https://github.com/Microsoft/TypeScript/issues/2338

@mhegazy #2338 is about module resolution, this issue is about emitting a .d.ts file. Not sure how related?

@mhegazy #2338 is about module resolution, this issue is about emitting a .d.ts file. Not sure how related?

before module resolution logic picked node packages, there was no way to define a node package except in an ambient declaration, this should not be needed now.
bundling module declarations in one file is supported for System and AMD, but not node, as node packages do not need to be bundled. if this is something you need please elaborate on the details of the scenario.


Modal in Internet Explorer freezes the screen when you click the close button

I'm having an issue with the modal in IE. When i click close, the screen freezes and I cannot click on the buttons. It's the same in the demos here:
https://infomedialtd.github.io/angular2-materialize/#/Dialogs
if you try the modal in IE, once closed it does not work.
Im having this in the console error

Any fix for this?

@ksanchez18 thanks for picking up this bug in IE. I've fixed that now by adding a polyfill for "remove". A new version is building now. Are you able to test it and confirm it's fixed for you as well?

Facing button click issue on iPad too iOS version: 10.3.3 & browser Safari and Chrome both.


Include testing harness/info

Looking into building out a test suite for a language server extension but I'm not really finding info anywhere. The guide says to build out this project as an example but this example doesn't include this info.
is it the same as writing tests for a normal extension?

Stay tunes. We are working on a test client to be able to automate server testing.

Hi.  Any update on this?  I'm looking to adopt this, but would like to have a dedicated harness for the server.

This example is deprecated. Use the language server samples in this repository instead: https://github.com/Microsoft/vscode-extension-samples
@maxhillaert yes, there is no a vscode-languageserver-protocol npm module that allows to implement using a test client with only depending on node.


Python test generation UI action is unavailable in IC

Description
After PR #1545 I cannot run UtBot Python plugin in IntelliJ Community.
In file UTBotJava/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestAction.kt:
if (languageAssistant == null || !accessByProjectSettings(e)) {
    e.presentation.isEnabled = false
} else {
    languageAssistant.update(e)
}

in IC and in python project the second condition is true, but we need to call PythonLanguageAssistant.update(e).
To Reproduce
Steps to reproduce the behavior:

Run the python project in IntelliJ Idea Community
Try to use plugin to generate tests for python file

Expected behavior
UI action with python settings
Actual behavior
I cannot generate tests for python file
Visual proofs (screenshots, logs, images)

Environment
Additional context

@tamarinvs19 Open IDEA settings -> UnitTestBot Plugin -> Enable Experimental Language Support


Code line is not displayed properly

https://github-history.netlify.com/ReactiveX/rxjs/blob/master/index.js

There is a height: 15px; per div, some height tweak should help.

Does it happen always for you? I can't reproduce it

@pomber I believe I saw this happen in one of the frames in the video you posted on twitter too

@pomber I believe I saw this happen in one of the frames in the video you posted on twitter too

I think I fixed that one. It happened when the commit message was long.

Does it happen always for you? I can't reproduce it

i have same problem

Looking into that, it's something related to the zoom in browser (Mac).
Apparently, the 100% zoom in Chrome Canary v74 is not the same in Chrome v72 (Official Build).
My screenshot was Chrome Canary based. Default Chrome is showing it OK (100% zoom).
Your CSS per div now:
{
  overflow: hidden;
  height: 15px;
  transform: translateX(0px);
  opacity: 1;
}

I think some CSS update could fix it.

Thanks, I'll try Chrome Canary later

It happens on current chrome too: https://github-history.netlify.com/llyer/leetcode/blob/master/README.md


WIP Add Safekeeper metrics

Fixes #541

[ ] Wait for #681 to be merged, merge here, choose prefix for common metrics: either safekeeper or wal_acceptor

As discussed with @kelvich , metrics prefix is safekeeper, see #704


Moved pod_update to a pod ginkgo test suite. #3941

@filbranden

Kicking Travis to restart.

Can we keep the same file name and the same test name "TestPodUpdate" ?
The same filename would make it easier to review the code to see what was kept and what was changed...
The name on Describe() is what we're indexing our tests with in Jenkins and also for the cmd/e2e -t parameter, so I'd really prefer if we didn't change test names while converting them...
Thanks!
Filipe

I changed the file name because a ginkgo test suite usually isn't just 1
test and I was creating a file for all the specs that will test pods.
That's also why I used a different name in the Describe() line.  Is the
intention not to move to that format?
There's actually 2 tests in the new file instead of just the singular
one that was in the original file.  I wouldn't say the added test
(submit and remove) is really adding anything that the update test
doesn't cover though.  It probably makes sense to just remove that test.
Is it possible to use something else other than the Describe() entry for
test indexing?  Maybe that's a later step in the conversion?
Rob
On 01/29/2015 03:01 PM, Filipe Brandenburger wrote:

Can we keep the same file name and the same test name "TestPodUpdate" ?
The same filename would make it easier to review the code to see what
was kept and what was changed...
The name on Describe() is what we're indexing our tests with in Jenkins
and also for the |cmd/e2e -t| parameter, so I'd really prefer if we
didn't change test names while converting them...
Thanks!
Filipe
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/3942#issuecomment-72093567.

@rrati Yeah let's do one step at a time please!
We're barely having the ability to collect these JUnit XML reports in Jenkins now, before we talk about renaming tests I want to make sure we're getting useful data from Jenkins. So please keep the test name in Describe() the same as it is now.
Also, if you want to rename files, do that in a separate step. If they files look enough alike git will detect it's a rename, but if you rename it and change a bunch of things in the same commit then it will have a harder time figuring it out...
Baby steps... baby steps.

Actually, Jenkins has no trouble collecting multiple suites right now, unless you think there's some issue in driver.go with outputting them? I really don't mind the conversion being to the final resting place.

FWIW, Jenkins glommed far more onto the string "Kubernetes e2e Suite", so the "description" string out of RunSpecs seems to dictate the intermediate level of its reporting. The "suite" aspect in Gingko's JUnit reporting somehow (we might want to look into this). Regardless, this structure looks fine, and this test actually splits things up into two assertions, which is cool.
LGTM. Kicking Travis.

Please don't merge it as is.
At the very least, the two commits should be squashed together.
I'm also strongly against renaming the file on this same commit. I really want GitHub to detect a file rename and the best way to do it is in its own commit (you could do it before the conversion or after the conversion, that's about the same.)
I'm against the TestPodUpdate -> Pod rename but if you feel strongly about doing the rename then that's fine. But then instead of doing "one off" renames and having old-style and new-style living together for a long time I'd rather have a single rename of everything on its own commit. You could do it now before the conversion if you'd like.
Cheers,
Filipe

I've no problems creating a separate PR for changing the name of the file if that's required.  I think a discussion of the end goal and the steps we'd like to take to get there might be in order.  My assumption has been this ginkgo transition would result in a multiple specs in a single file, ie test suites.  In that situation having "TestPodUpdate" as the name of the suite is misleading since the suite will be testing more than just pod update.  I think a quick hangout could help clarify the steps and end goals here.

At the very least you might want an initial, separate commit that does the rename. It's possible that if you do the git mv in one commit and the changes in another that they can still sit in the same PR.
I actually have nothing against this PR. I'd like to cleanup the file tracking so history isn't lost (so agree with Filipe there), and it looks like Travis is still red (squash your gofmt piece back in?).
Maybe IRC later?

I like what I see here.
Looks like merging #3995 caused a conflict on this one... sorry about that. Would you like to rebase it and bring those changes in? If you'd like, I can do a manual merge of this branch and resolve the conflicts as I do that.
@roberthbailey Do you still have comments on the code? Are you satisfied with the resolution of the ones you had? I think there's still quite a bit of code duplication here but I think I'd be OK merging this one as is now and trying to polish the code in future PRs to prevent us from getting on a standstill with this one...
Cheers,
Filipe

Sorry, I didn't see that my comments had been addressed. Looking now.

I agree that there is still a lot of code duplication that can be cleaned up, but I'll defer to you on whether that should block this getting in. I'm happy with the direction this is taking us (multiple specs per test and making the test groupings make logical sense).

@roberthbailey I addressed some of the issues you raised earlier but didn't want to differ from the originals too much code in this CR given the nature of the changes (filenames, moving content, etc).  I agree with all the comments you made.

@filbranden I'll rebase and push again

@filbranden Rebased branch pushed

Thanks @rrati! Please keep the contributions coming!

No worries. Looking forward to seeing them addressed in a future PR.

+1. Well, +N hopefully. Thanks.

https://github.com/GoogleCloudPlatform/kubernetes/issues/3837


⚠ Bofrost.es has degraded performance

In 072e9f7, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1540 ms

Resolved: Bofrost.es performance has improved in 615a82c after 28 minutes.


matches! is broken (pat_param support)

This fails on the latest nightly:
fn main() {
    matches!((), ()); // unexpected token in input
}

The issue appears to be the new pat_param token in the implementation of matches! that recently landed on nightly std:
macro_rules! matches {
    ($expression:expr, $( $pattern:pat_param )|+ $( if $guard: expr )? $(,)?) => {
        match $expression {
            $( $pattern )|+ $( if $guard )? => true,
            _ => false
        }
    }
}

My recommendation would be to just make pat_param recognized as an alias of pat until this is properly supported.
rust-analyzer v0.2.612
rustc 1.54.0-nightly (1c6868aa2 2021-05-27)

This is a serious regression in nightly and it's important to fix it before the next release.
@matklad, please take a look.

Note that this affects the Rust nightly, not the rust-analyzer nightly


Set rollforward to Major

Hi 👋
Changing the rollforward, to be able to run the tool when you only have .net>6 installed.

I missed the fact there was a global.json file defined. AFAIK it serves a different purpose.
Using a global.json file ensures the SDK used when running CLI commands is of a specific version. Looking at the current config, here it means that even if we're targeting net6, we want to use at least the 7.0.302 SDK. I'm not sure if it is the desired behaviour.
The value we set in the .csproj files configures what runtime is acceptable for the application (because tools aren't self-contained). You can see more at https://learn.microsoft.com/en-us/dotnet/core/versions/selection#framework-dependent-apps-roll-forward


Publish to maven-central

The library should be available through maven central, so that other people can use it to write their tests.

Here is a guide that goes through the steps to publish the artifacts: https://www.jetbrains.com/help/space/publish-artifacts-to-maven-central.html


Default BaseURL is misleading

If URL re-writing is not enabled, the base url in the app config must end with "/#!" or links in emails will not work. (verification email link ends up redirecting to the dashboard, and doesn't actually verify the email)

Thanks!!!


Restarting Extension Hub too Many Times

Type: Bug
Working in Python.
At every save I note many times a pop-up saying that the Extension hub died.
I used mostly Python extensions + standard ones (git, docstring, intellisense, markdown preview)

Some logs:
log.ts:324   ERR Extension host (Remote) terminated unexpectedly. The following extensions were running: ms-python.python, njpwerner.autodocstring, vscode.git-base, vscode.git, ms-python.isort, ms-python.vscode-pylance, vscode.debug-auto-launch, vscode.merge-conflict, eamodio.gitlens, vscode.configuration-editing, vscode.json-language-features, vscode.typescript-language-features
notificationsAlerts.ts:42 L'host dell'estensione è stato terminato in modo imprevisto 3 volte negli ultimi 5 minuti.
log.ts:318  WARN Settings pattern "keyboard.*" doesn't match any settings
console.ts:137 [Extension Host] rejected promise not handled within 1 second: Error: No matching bindings found for serviceIdentifier: Symbol(IInterpreterAutoSelectionService)
console.ts:137 [Extension Host] stack trace: Error: No matching bindings found for serviceIdentifier: Symbol(IInterpreterAutoSelectionService)
	at /home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1414149
	at v (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1414446)
	at m (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1414533)
	at Object.t.plan (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1415600)
	at /home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1407181
	at e._get (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1407090)
	at e.get (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:1405802)
	at a.get (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:474638)
	at h.getSettings (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:141770)
	at t.getPythonSetting (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:624811)
	at /home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:616075
	at Generator.next (<anonymous>)
	at Function.locate (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:616028)
	at Function.getPoetry (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:615911)
	at /home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:588370
	at p.root [as getRoots] (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:588560)
	at p.initWatchers (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:583376)
	at p.ensureWatchersReady (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:562668)
	at p.activate (/home/giuseppe/.vscode-server/extensions/ms-python.python-2022.18.2/out/client/extension.js:2:561826)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
mainThreadExtensionService.ts:79 [[object Object]]No matching bindings found for serviceIdentifier: Symbol(IInterpreterAutoSelectionService)
mainThreadExtensionService.ts:80 Error: No matching bindings found for serviceIdentifier: Symbol(IInterpreterAutoSelectionService)
	at vscode-file://vscode…ension.js:2:1414149
	at v (vscode-file://vscode…ension.js:2:1414446)
	at m (vscode-file://vscode…ension.js:2:1414533)
	at Object.t.plan (vscode-file://vscode…ension.js:2:1415600)
	at vscode-file://vscode…ension.js:2:1407181
	at e._get (vscode-file://vscode…ension.js:2:1407090)
	at e.get (vscode-file://vscode…ension.js:2:1405802)
	at a.get (vscode-file://vscode…tension.js:2:474638)
	at h.getSettings (vscode-file://vscode…tension.js:2:141770)
	at t.getPythonSetting (vscode-file://vscode…tension.js:2:624811)
	at vscode-file://vscode…tension.js:2:616075
	at Generator.next (<anonymous>)
	at Function.locate (vscode-file://vscode…tension.js:2:616028)
	at Function.getPoetry (vscode-file://vscode…tension.js:2:615911)
	at vscode-file://vscode…tension.js:2:588370
	at p.root [as getRoots] (vscode-file://vscode…tension.js:2:588560)
	at p.initWatchers (vscode-file://vscode…tension.js:2:583376)
	at p.ensureWatchersReady (vscode-file://vscode…tension.js:2:562668)
	at p.activate (vscode-file://vscode…tension.js:2:561826)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)

VS Code version: Code 1.73.1<PHONE_NUMBER>f055b99068d3688932416f2346dd3b, 2022-11-09T04:27:29.066Z)
OS version: Windows_NT x64 10.0.22000
Modes:
Sandboxed: No
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

System Info

Item
Value

CPUs
12th Gen Intel(R) Core(TM) i7-12700H (20 x 2688)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
31.69GB (15.86GB free)

Process Argv
--crash-reporter-id a982b0d8-45c6-43e0-93c0-b3c68a968f2e

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu-20.04

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
12th Gen Intel(R) Core(TM) i7-12700H (20 x 2687)

Memory (System)
15.47GB (14.30GB free)

VM
0%

Extensions (28)

Extension
Author (truncated)
Version

vsc-python-indent
Kev
1.18.0

vscode-language-pack-it
MS-
1.73.11090913

jupyter-keymap
ms-
1.0.0

remote-containers
ms-
0.262.3

remote-ssh
ms-
0.92.0

remote-ssh-edit
ms-
0.84.0

remote-wsl
ms-
0.72.0

vscode-remote-extensionpack
ms-
0.23.0

remote-explorer
ms-
0.0.2

sublime-keybindings
ms-
4.0.10

material-icon-theme
PKi
4.22.0

svg-preview
Sim
2.8.3

jinja
who
0.0.8

markdown-mermaid
bie
1.15.2

vscode-intelephense-client
bme
1.8.2

gitlens
eam
13.1.1

svg
joc
1.4.23

vscode-language-pack-it
MS-
1.73.11090913

flake8
ms-
2022.6.0

isort
ms-
2022.8.0

python
ms-
2022.18.2

vscode-pylance
ms-
2022.11.30

php-docblocker
nei
2.7.0

autodocstring
njp
0.6.1

diagramspreviewer
teh
1.0.6

pdf
tom
1.2.0

php-debug
xde
1.29.0

php-intellisense
zob
1.0.11

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyonecf:30548226
pyindex848cf:30577861
nodejswelcome1cf:30587006
2e4cg342:30602488
gswce1:30612156
3d0df643:30613357
dbltrim-noruby:30604474
89544117:30613380

</details>

<!-- generated by issue reporter -->

Can you try uninstalling and re-installing the Python extension? It looks like you may have a bad install.

I did it many times with no success. Hower, the solution has been this:

Open a WSL Terminal (in my case I have an Ubuntu image)
apt-get update && apt-get upgrade
restart VSCode
Voilà

Since the issue seems to have been resolved I'm going to close this issue. Sounds like some weird system interaction.


The futex facility returned an unexpected error code. [1]    47792 abort (core dumped)

No idea what I'm doing wrong. If the error was more descriptive I probably could've gotten it working by now. But...
The futex facility returned an unexpected error code.
[1]    47792 abort (core dumped)  ./TogglTrack

Running Arch Linux 5.9.14-arch1-1
nativefier --version:  42.0.2
npm --version: 6.14.9

I tried googling both lines to no information. Best I can tell is fatux is some kernal level multi threading.... thing. And core dump is just a crash.
Dug though the --help and API Docs page. Nothing about error and crashes.
Dug through the issues pages and couldn't find anything.

@Zerafiall no idea either. Please provide the information requested by the bug report issue template.

Hi @Zerafiall.

Please try with another version of Electron, which you can pass using flag -e
If it still crashes, please come back with the information requested by the bug report issue template, and I'll re-open


Sending a message with the user's ID

Hello,
If I know the Telegram user's ID number and he is in the group, can he send a message to the group via API with the user's ID?
Thanks

I don't understand the question, could you please explain more?
If the user is in the group and has permissions to send a message, they can do that.
If a bot is in the group and is an admin, then the bot can send messages to the group.


Not scraping all content

The scraper reports 8223 photos,195 videos and 14 audios which matches the amount shown on the OF profile media tab, however the entire user profile contains less then 6000 files. This is with a fresh folder and scrape
{
    "config": {
        "main_profile": "main_profile",
        "save_location": "/Onlyfans",
        "file_size_limit": 0,
        "dir_format": "{model_username}/{responsetype}/{value}/{date}",
        "file_format": "{filename}.{ext}",
        "textlength": "0",
        "date": "YYYY-MM-DD",
        "metadata": "{configpath}/{profile}/.data/{model_username}_{model_id}",
        "filter": [
            "Images",
            "Audios",
            "Videos"
        ],
        "responsetype": {
            "timeline": "posts",
            "archived": "archived",
            "pinned": "archived",
            "message": "messages",
            "paid": "messages",
            "stories": "stories",
            "highlights": "highlights",
            "profile": "profile"
        }
    }
}

right now the most likely answer is dupe content.
In a previous version this caused racing issue where when coroutine would block another one. Because they both tried to access the same file name.

right now the most likely answer is dupe content.
In a previous version this caused racing issue where when coroutine would block another one. Because they both tried to access the same file name.
Edit
You can get the send the name via discord
I'm added some debugger statement for the different counts


Works on Read Surface, not on Compose surface

What is needed to get this code to work in the compose surface? I can see it works better when the email is saved as a draft, but wondering what else is needed.
If unsaved, the error message is:

The underlying connection was closed: An unexpected error occurred on a receive.

If saved as a draft it fails on the following line:

var changeKey = xmlDoc.getElementsByTagName("t:ItemId")[0].getAttribute("ChangeKey");

The error from within the XML is as follows:

ErrorInvalidIdMalformed

I've only started to research this, but it would great if you could provide some insight.

I finally resolved my issue. I moved the function within the Office enclosure. Otherwise, it was losing module level variables settings. Works now in both Read and Compose surfaces.

My version:
(function () {
"use strict";
Office.initialize = function (reason) {
    $(document).ready(function () {

        //loads app functions for banner
        app.initialize();

        //saves draft to make sure when code runs it has a valid item id
        SaveDraftIfNecessary();

        _mailbox = Office.context.mailbox;
        var item = Office.context.mailbox.item;
        _item_id = item.itemId;

        //sets event on button
        $('#fowardToGroups').click(function () { sendNow(); });

    });

    // Variables that we'll use to communicate with EWS
    var _item_id;
    var _mailbox;

    function SaveDraftIfNecessary() {
        if (_item_id == null || _item_id == undefined) {
            Office.context.mailbox.item.saveAsync(function (asyncResult) {
                if (asyncResult.error) {
                    app.showNotification("Save Draft", asyncResultSet.error.message);
                }
                else {
                    _item_id = asyncResult.value;
                }
            });
        }
    }

    // This function handles the click event of the sendNow button.
    // It retrieves the current mail item, so that we can get its itemId property.
    // It also retrieves the mailbox, so that we can make an EWS request
    // to get more properties of the item. In our case, we are interested in the ChangeKey
    // property, because we need that to forward a mail item.
    function sendNow() {

        if (_item_id == null || _item_id == undefined) {
            Office.context.mailbox.item.saveAsync(function (asyncResult) {
                if (asyncResult.error) {
                    app.showNotification("Save Draft", asyncResultSet.error.message);
                }
                else {
                    _item_id = asyncResult.value;
                }
            });
        }

        // The following string is a valid SOAP envelope and request for getting the properties
        // of a mail item. Note that we use the item_id value (which we obtained above) to specify the item
        // we are interested in.
        var soapToGetItemData = '<?xml version="1.0" encoding="utf-8"?>' +
            '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
            '               xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"' +
            '               xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
            '               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
            '               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
            '  <soap:Header>' +
            '    <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
            '  </soap:Header>' +
            '  <soap:Body>' +
            '    <GetItem' +
            '                xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"' +
            '                xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
            '      <ItemShape>' +
            '        <t:BaseShape>IdOnly</t:BaseShape>' +
            '      </ItemShape>' +
            '      <ItemIds>' +
            '        <t:ItemId Id="' + _item_id + '"/>' +
            '      </ItemIds>' +
            '    </GetItem>' +
            '  </soap:Body>' +
            '</soap:Envelope>';

        // The makeEwsRequestAsync method accepts a string of SOAP and a callback function
        _mailbox.makeEwsRequestAsync(soapToGetItemData, soapToGetItemDataCallback);
    }

    // This function is the callback for the makeEwsRequestAsync method
    // In brief, it first checks for an error response, but if all is OK
    // it then parses the XML response to extract the ChangeKey attribute of the
    // t:ItemId element.
    function soapToGetItemDataCallback(asyncResult) {
        var parser;
        var xmlDoc;

        if (asyncResult.error != null) {
            app.showNotification("Send to PHI: soapToGetItemDataCallback", asyncResult.error.message);
        }
        else {
            var response = asyncResult.value;
            if (window.DOMParser) {
                parser = new DOMParser();
                xmlDoc = parser.parseFromString(response, "text/xml");
            }
            else // Older Versions of Internet Explorer
            {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = false;
                xmlDoc.loadXML(response);
            }
            var changeKey = xmlDoc.getElementsByTagName("t:ItemId")[0].getAttribute("ChangeKey");

            // Now that we have a ChangeKey value, we can use EWS to forward the mail item.
            // The first thing we'll do is get an array of email addresses that the user
            // has typed into the To: text box.
            // We'll also get the comment that the user may have provided in the Comment: text box.
            var toAddresses = document.getElementById("groupEmails").value;
            var addresses = toAddresses.split(";");
            var addressesSoap = "";

            // The following loop build an XML fragment that we will insert into the SOAP message
            for (var address = 0; address < addresses.length; address++) {
                addressesSoap += "<t:Mailbox><t:EmailAddress>" + addresses[address] + "</t:EmailAddress></t:Mailbox>";
            }
            var comment = "Sending for PHI evaluation...";

            // The following string is a valid SOAP envelope and request for forwarding
            // a mail item. Note that we use the item_id value (which we obtained in the click event handler)
            // to specify the item we are interested in,
            // along with its ChangeKey value that we have just determined near the top of this function.
            // We also provide the XML fragment that we built in the loop above to specify the recipient addresses,
            // and the comment that the user may have provided in the Comment: text box
            var soapToForwardItem = '<?xml version="1.0" encoding="utf-8"?>' +
                '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
                '               xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"' +
                '               xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
                '               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
                '               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
                '  <soap:Header>' +
                '    <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
                '  </soap:Header>' +
                '  <soap:Body>' +
                '    <m:CreateItem MessageDisposition="SendAndSaveCopy">' +
                '      <m:Items>' +
                '        <t:ForwardItem>' +
                '          <t:ToRecipients>' + addressesSoap + '</t:ToRecipients>' +
                '          <t:ReferenceItemId Id="' + _item_id + '" ChangeKey="' + changeKey + '" />' +
                '          <t:NewBodyContent BodyType="Text">' + comment + '</t:NewBodyContent>' +
                '        </t:ForwardItem>' +
                '      </m:Items>' +
                '    </m:CreateItem>' +
                '  </soap:Body>' +
                '</soap:Envelope>';

            // As before, the makeEwsRequestAsync method accepts a string of SOAP and a callback function.
            // The only difference this time is that the body of the SOAP message requests that the item
            // be forwarded (rather than retrieved as in the previous method call)
            _mailbox.makeEwsRequestAsync(soapToForwardItem, soapToForwardItemCallback);
        }
    }

    // This function is the callback for the above makeEwsRequestAsync method
    // In brief, it first checks for an error response, but if all is OK
    // it then parses the XML response to extract the m:ResponseCode value.
    function soapToForwardItemCallback(asyncResult) {
        var parser;
        var xmlDoc;

        if (asyncResult.error != null) {
            app.showNotification("Send to PHI: soapToForwardItemCallback", asyncResult.error.message);
        }
        else {
            var response = asyncResult.value;
            if (window.DOMParser) {
                parser = new DOMParser();
                xmlDoc = parser.parseFromString(response, "text/xml");
            }
            else // Older Versions of Internet Explorer
            {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = false;
                xmlDoc.loadXML(response);
            }

            // Get the required response, and if it's NoError then all has succeeded, so tell the user.
            // Otherwise, tell them what the problem was. (E.G. Recipient email addresses might have been
            // entered incorrectly --- try it and see for yourself what happens!!)
            var result = xmlDoc.getElementsByTagName("m:ResponseCode")[0].textContent;
            if (result == "NoError") {
                app.showNotification("Send to PHI", "Sent!");
            }
            else {
                app.showNotification("Send to PHI", "The following error code was received: " + result);
            }
        }
    }
};

})();

Not sure if this would work for you, and did wonder if I had fouled you code in the first place.


[BULK] - DocuTune - Rebranding of Azure Active Directory to Microsoft Entra

Applying Azure AD rebranding changes as announced on July 11, 2023 and outlined in https://aka.ms/AzureADNewName. Changes are part of the Microsoft-wide rebranding effort.
CorrelationId: 2520d58e-25ff-469e-af14-2834d2a1505e
PointOfContact: @CelesteDG
#docutune

#docutune-draft


Raiden basic information update

Lefteris is not the founder of the Raiden Network

hah I've checked and found Heiko Hees is the founder. Thx for the correction!