Open Next [Week|Day] Doesn't Create New File

To replicate behavior I was seeing in my customized plugin, I created an new, empty test vault, installed only periodic-notes and default settings, then create a note for today and this week
When trying to select either "Periodic Notes: Open next weekly note" (or "... next daily note"), nothing happens. Should the plugin be creating the new file?

I would like this to work that way too!

Is this a something that has been requested before? I just came here to request this feature! That if the next day doesn't exist, the plugin would create the file, I might have a look to see if I can create a PR

Giving this some additional thought, I like how the implementation cycles through only created entries and prefer the current behavior. If there is a gap, I don't want a bunch of days to be created when going forward or backward through the entries.
If I really need to create an entry for tomorrow, I've added links to my template and can click to create a new file (although it may take some manual movement to place it in the right directory):
## Footer

- Yesterday: [[Day<% tp.date.now("DDD-ddd_DDMMMY", -1) %>]]
- Tomorrow: [[Day<% tp.date.now("DDD-ddd_DDMMMY", 1) %>]]

I'm going to go ahead and close this issue. If implemented, I imagine it might be a new shortcut to create a file if not found


Option to share to different discord channels, or specify more than one discord webhook

Is your feature request related to a problem? Please describe.
I have several campaigns i run through discord and it would be helpful to quick share information to the correct place.
Describe the solution you'd like
A quick and dirty way to achieve this would probably be able to specify more than one webook with a string name to specify which webhook we want to use when using the share command.

I've got some ideas on how this could go. I'll see if I can find some time to work on it soon. Thanks for the request!

Wondering if you have had any luck/time on this?

Unfortunately, I haven't had the time to work on the plugin. But the current roadmap is to release a cleaned-up version (no functional changes, mostly updating dependencies). I could see this enhancement coming right after.

A big thanks to @WafuRuns for knocking this one out. Apologies it took me so long to review + release.


Memory limit capacity

Describe the bug
Creating an app and website
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-vqyu6jfa
Validations

[X] Please make your project public or accessible by URL. This will allow anyone trying to help you to easily reproduce the issue and provide assistance.

Steps to reproduce
1
Expected behavior
No memory limit
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Mobile Safari/537.36
performance.memory = {
  "totalJSHeapSize": 42100000,
  "usedJSHeapSize": 42100000,
  "jsHeapSizeLimit": 521000000
}

Additional context
Error:
out-of-memory: RuntimeError: unreachable
    at wasm://wasm/a36bee7a:wasm-function[10]:0x1f9f
    at wasm://wasm/a36bee7a:wasm-function[7]:0x1e60
    at _0x2e513f (https://zp1v56uxy8rdx5ypatb0ockcb9tr6a-oci3.w-credentialless-staticblitz.com/filesystem-worker.c8c182a3.js:1:351974)
    at _0x37b71a (https://zp1v56uxy8rdx5ypatb0ockcb9tr6a-oci3.w-credentialless-staticblitz.com/filesystem-worker.c8c182a3.js:1:352709)
    at async _0x313909._initSlabAsync (https://zp1v56uxy8rdx5ypatb0ockcb9tr6a-oci3.w-credentialless-staticblitz.com/filesystem-worker.c8c182a3.js:1:355285)
    at async _0x313909.create (https://zp1v56uxy8rdx5ypatb0ockcb9tr6a-oci3.w-credentialless-staticblitz.com/filesystem-worker.c8c182a3.js:1:353132)
    at async _0x37556f.init (https://zp1v56uxy8rdx5ypatb0ockcb9tr6a-oci3.w-credentialless-staticblitz.com/filesystem-worker.c8c182a3.js:1:493823)

import StockPerformanceChart from '@/components/StockPerformanceChart'
import MarketingCampaigns from '@/components/MarketingCampaigns'
import KeyMetrics from '@/components/KeyMetrics'
export default function DashboardPage() {
return (

Dashboard

)
}


Add install support for external targets (headers+libs, QPBO)

Hello!
This PR is related to an issue that I believe has been in 'TODO status' for some time (see the conversation here), i.e. add support for the local installation of headers and libraries of external/3rd-party dependencies along with the OpenGM headers. This is a tentative solution which only currently affects the QPBO code, and which could be fairly easily extended to other 3rd party library projects handled in the 'external' directory.
In short, the modifications to the CMakeLists first allow external library headers to be exported to a temporary directory along with other CMake binary outputs, and be installed along with the OpenGM headers later. Due to the change in location of these headers, some #include statements have been updated throughout the project. For QPBO, this means translating all the previously broken "QPBO.h" includes to "opengm/inference/external/qpbo/QPBO.h", which will now be properly resolved when parsed outside the main project. This also required the regeneration of the QPBO code patch for v1.3 of the zip archive, which generates a lot of empty changes (patch of patch, Git has some issues with that it seems).
Next, since most 3rd-party libraries are not header-only, the installation should also comprise their implementation code. This is addressed via a new option in the project's top-level CMakeList ("INSTALL_EXTERNAL_LIB", off by default), which, when activated, will gather the source files of all external libraries into one big library target ("opengm-external"). This target can then be easily exported during installation, and easily parsed by 3rd-party find module scripts.
Overall, while the stats might show that there are a lot of changes in this PR, these are mostly lightweight (patch of patch, and some whitespace cleanup). I personally tested this branch on some of my code which used the QPBO library outside the main project, and did not encounter any issues.
Also, for those interested, here is a module script I wrote which can be used in other CMake projects to import OpenGM, Gurobi, and CPLEX, as well as the new "opengm-external" library (optionally) all at once.
Let me know if there's anything wrong!

Hi Pierre,
thanks for your PR, I will have a deeper look into it soon when I am done with other merges.
Our idea for the external libraries was to shift them into a separate project (https://github.com/opengm/opengm-externals) and remove this part from the opengm-project.
Furthermore, there can be side-effects with other external libs. So I would like to fix this for all external libs at once.
Best Jörg

Alright, I might push the remaining changes for the other external libs on this fork in the upcoming weeks as I keep on working on my own stuff. For now, I tested these modifications with all but FastPD, and they did not seem to cause any problem.
The external repo is also a good idea; the CMake scripts could be configured to pull the external code in as a submodule, and build it in-tree based on some configuration option. Could be the object of another PR!


[Snyk] Security upgrade github-pages from 193 to 194

This PR was automatically created by Snyk using the credentials of a real user.![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to fix 1 vulnerabilities in the rubygems dependencies of this project.
Snyk changed the following file(s):

docs/Gemfile
docs/Gemfile.lock

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Heap-based Buffer Overflow SNYK-RUBY-NOKOGIRI-7164639
  170

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

🎉 Snyk hasn't found any issues so far.
✅ code/snyk check is completed. No issues were found. (View Details)


Crash when supplying image to IndicatorInfo

Environment: XLPagerTabStrip, Xcode 8.2.1, iOS 9.3
Xcode console output of stack trace: fatal error: unexpectedly found nil while unwrapping an Optional value
When implementing protocol IndicatorInfoProvider and returning an instance of IndicatorInfo with an image, a crash occurs when trying set the image to the the imageview of the buttonbarcell.
Here is a screenshot of where the crash occurs:

Here is how I implemented the IndicatorInfoProvider protocol:

Thanks :]

Same Issue with me.
Please Help.

Look at ButtonBarViewCell.xib:
It has an outlet for an imageView, but no actual UIImageView was added to the cell.

Thanks!
Adding imageView in the cell and connecting the outlet worked for me.

There are 2 modes, "text only" mode, and "text + image" mode.
If you only need one of those modes, then you're fine, but if you need both modes in the same app, like me, you have to play around with the constraints to support positioning in each mode.

Take a look how YoutubeExampleViewController is created. Basically it extends from aseButtonBarPagerTabStripViewController which is a generic view controller that allows to specify the bar menu collection cell, in this case YoutubeIconCell.
I didn't document this because it's hard to connect interface builder view controller with a generic view controller class since the vc type is not suggested in the xcode IB editor.
You have to let the library knows how to load the bar item cell by specifying  buttonBarItemSpec property.
buttonBarItemSpec = ButtonBarItemSpec.nibFile(nibName: "YoutubeIconCell", bundle: Bundle(for: YoutubeIconCell.self), width: { (cell: IndicatorInfo) -> CGFloat in
                return 55.0
        })

we need also to set up the cell by overriding:
    override func configure(cell: YoutubeIconCell, for indicatorInfo: IndicatorInfo) {
        cell.iconImage.image = indicatorInfo.image?.withRenderingMode(.alwaysTemplate)
    }

Notice that  the first parameter type is the base view controller generic type.

the rest is pretty much the same.
Hope it's helps

How to do programmatically?


allows Application helper methods to be available in partials rendered from engine

I wanted to use helper methods for Font-Awesome-Rails in my style guide partials.  However they weren't available to the partial for some reason.  I ended up tracking it down to this instantiation of a new view context as opposed to using the ApplicationController's view context.

Looks like the dependencies and Ruby version need to be yanked forwards into the modern era!


destroy event created even after before_destroy callback stop destroy process

Hi,
I have a got a model like this
class Article < ActiveRecord::Base

  before_destroy :validate_not_published

  def validate_not_published
    if self.published?
      self.errors[:base] << "errors.cannot_delete_published_article"
      return false
    end
    true
  end
end

And when the callback prevents the article to be destroyed, paper_trail still creates the versions with the even destroy. Is this as intended or is this a bug? I would expect to not have a new version created.
If this can speeds things up, here are the test I would expect to validate
context "when before_destroy prevents form destroying" do
  setup do
    @article.new(title: "test", published: true)
    @article.destroy
  end
  should "not create a new version" do
    assert_not_equal @alerticle.versions.last.event, :destroy
  end
end

Using:
ruby "2.3.1"
gem 'rails', '~> 5.0', '>= <IP_ADDRESS>'
paper_trail (5.2.2)

In rails 5, aren't you supposed to throw :abort instead of returning false?

Hi Loic, can you please try to reproduce the issue using our bug report template? Thanks.

Thank you I was looking to something similar in the readme. I actually forked the project and started adding a failing test but didn't manage to set up the DB. I'll try that.

Oh good, I'm glad I mentioned it then :) the template makes setup sooo much easier.

OK thanks, This is not related to paper_trail directly but when using in the model both paper_trail and the gem paranoia (for soft deletion, I know it's redundant with paper_trail features...).
The test was failing when adding paranoia and passing with just paper_trail in the model. I'll close the ticket.
Thanks for your time and your bug report template.

@loicginoux - did you ever figure out how to get this working while using both paranoia and paper_trail?
Personally, I prefer using paranoia for soft-deletion so that you can still join on and interact with associated records that have been archived. You can technically restore soft-deleted data using paper_trail but if you want to work with the data without restoring it it's more cumbersome.

@jeffcarbs Sorry I can't remember the solution I implemented and can't find it in the code...


ensure all connections are closed on switch stop

I'm using why-is-node-running to inspect what's causing node to keep running after ipfs.stop() is called. I think the "latency-monitor" one is a red herring as these timeouts are unref'd:
There are 32 handle(s) keeping the process running

# Timeout
/Users/alan/Desktop/test/node_modules/latency-monitor/dist/LatencyMonitor.js:163 - this._emitIntervalID = setInterval(function () {
/Users/alan/Desktop/test/node_modules/latency-monitor/dist/LatencyMonitor.js:141 - that._startTimers();
/Users/alan/Desktop/test/node_modules/libp2p-connection-manager/src/index.js:53  - this._latencyMonitor = new LatencyMonitor({
/Users/alan/Desktop/test/node_modules/libp2p/src/index.js:157                    - this.connectionManager.start()

# TCPWRAP
/Users/alan/Desktop/test/node_modules/libp2p-tcp/src/index.js:30                 - const rawSocket = net.connect(cOpts)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:79 - const conn = transport.dial(addr, (err) => {
/Users/alan/Desktop/test/node_modules/async/timeout.js:86                        - fn.apply(null, args);
/Users/alan/Desktop/test/node_modules/async/internal/initialParams.js:11         - fn.call(this, args, callback);
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:86 - }, this.dialTimeout)(callback)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:41 - this._dialWithTimeout(transport, addr, (err, conn) => {

# TCPWRAP
/Users/alan/Desktop/test/node_modules/libp2p-tcp/src/index.js:30                 - const rawSocket = net.connect(cOpts)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:79 - const conn = transport.dial(addr, (err) => {
/Users/alan/Desktop/test/node_modules/async/timeout.js:86                        - fn.apply(null, args);
/Users/alan/Desktop/test/node_modules/async/internal/initialParams.js:11         - fn.call(this, args, callback);
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:86 - }, this.dialTimeout)(callback)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:41 - this._dialWithTimeout(transport, addr, (err, conn) => {

# TCPWRAP
/Users/alan/Desktop/test/node_modules/libp2p-tcp/src/index.js:30                 - const rawSocket = net.connect(cOpts)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:79 - const conn = transport.dial(addr, (err) => {
/Users/alan/Desktop/test/node_modules/async/timeout.js:86                        - fn.apply(null, args);
/Users/alan/Desktop/test/node_modules/async/internal/initialParams.js:11         - fn.call(this, args, callback);
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:86 - }, this.dialTimeout)(callback)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:41 - this._dialWithTimeout(transport, addr, (err, conn) => {

# TCPWRAP
/Users/alan/Desktop/test/node_modules/libp2p-tcp/src/index.js:30                 - const rawSocket = net.connect(cOpts)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:79 - const conn = transport.dial(addr, (err) => {
/Users/alan/Desktop/test/node_modules/async/timeout.js:86                        - fn.apply(null, args);
/Users/alan/Desktop/test/node_modules/async/internal/initialParams.js:11         - fn.call(this, args, callback);
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:86 - }, this.dialTimeout)(callback)
/Users/alan/Desktop/test/node_modules/libp2p-switch/src/limit-dialer/queue.js:41 - this._dialWithTimeout(transport, addr, (err, conn) => {

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# TLSWRAP
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# HTTPPARSER
(unknown stack trace)

# Timeout
/Users/alan/Desktop/test/ls-bug.js:33 - setTimeout(() => log(), 10000)

# Timeout
/Users/alan/Desktop/test/node_modules/latency-monitor/dist/LatencyMonitor.js:268 - this._checkLatencyID = setTimeout(function () {
/Users/alan/Desktop/test/node_modules/latency-monitor/dist/LatencyMonitor.js:257 - that._checkLatency(); // Start again ASAP
/Users/alan/Desktop/test/node_modules/latency-monitor/dist/LatencyMonitor.js:281 - cb();

Example script:
const IPFS = require('ipfs')
const Path = require('path')
const Os = require('os')
const log = require('why-is-node-running')

const ipfs = new IPFS({ repo: Path.join(Os.tmpdir(), `${Date.now()}`) })

ipfs.on('ready', async () => {
  const files = Array.from([1, 2, 3], i => ({
    path: `test-file-${Date.now()}-${i}`,
    content: Buffer.from(`data ${Date.now()} ${i}`)
  }))

  const res = await ipfs.files.add(files, { wrapWithDirectory: true })

  console.log('Added files:')
  console.log(res)

  const { hash } = res[res.length - 1]

  const ipfsPath = `/ipfs/${hash}`
  console.log(`Copying from ${ipfsPath}`)

  const mfsPath = `/test-dir-${Date.now()}`
  console.log(`Copying to ${mfsPath}`)

  await ipfs.files.cp(ipfsPath, mfsPath)

  console.log(`Directory listing of ${mfsPath}:`)
  console.log(await ipfs.files.ls(mfsPath))

  await ipfs.stop()
  setTimeout(() => log(), 10000)
})

There are timeouts in latency-monitor, but all refs are removed on shutdown. There are private methods on the latency-monitor for turning off the timers, ideally we'd be able to shut those down, but it shouldn't be an issue for this.
The TCPWRAP logs are due to open dial attempts. I think we need to make sure Switch is cancelling dials as best it can when shutting down. I didn't see these locally since I didn't have active dials, but it should get addressed regardless. The new state machine updates may help us with that.
TLSWRAP and HTTPPARSER appear to be ipfs related, as best I can tell right now. I've got the libp2p internals for the example above replicated without ipfs, except for the data exchange, and I am not seeing the either of those logs.

@alanshaw it looks like the TLSWRAP and HTTPPARSER logs go away when preloading is disabled on ipfs.

Preloading requests are tracked and canceled when the node is stopped https://github.com/ipfs/js-ipfs/blob/master/src/core/preload.js#L76-L81. Unless something has changed in a new Node.js version I don't think these are problematic as that code hasn't changed now for 3 months.
This is a very recent change. I noticed because all the examples here used to exit when done but now don't :(

Okay, I can replicate that now with the read+write iterator example. It looks like if the node is running long enough and attempts to stop there may be several queued dial calls, even if switch is stopped. I'm looking into making the queue abortable.

After look at this more there are a few things we're going to need to make sure are happening for graceful shutdowns, several of which aren't currently happening.

[ ] 1. Shutdown all listeners to prevent incoming dials.
Right now shutting down some listeners causes all existing connections to close ungracefully, which will throw errors. Related to https://github.com/libp2p/js-libp2p-switch/issues/251.
[ ] 2. Clear dialing queues so no new dials will happen.
[ ] 3. Close all open and dialing connection.
We can currently close open connections fairly easily, especially muxed connections. We need to add abort logic to the transports so that we can abort new connections.
[ ] 4. Prevent dials when the switch is starting/stopping/stopped.
Right now the dialer doesn't care what state the switch is in; it needs to. The latest state machine update should make this easy.

This has marginally improved with 0.41.3. Closing out in progress dials is the major issue left to resolve.

@jacobheun can you post the links to the PRs that are solving the isses you listed in https://github.com/libp2p/js-libp2p-switch/issues/281#issuecomment-432624680?

I added issues that were missing to complete this work and updated the todo list in the comment, https://github.com/libp2p/js-libp2p-switch/issues/281#issuecomment-447384312. There are several issues that need to be completed for in progress/queued dials, so it's still a significant amount of work left.
The marginal improvement was the result of a fixed bug where not all connections were being properly closed, https://github.com/libp2p/js-libp2p-switch/pull/291. They are now being tracked better, and are also closing the underlying duplex stream, which they weren't previously doing.


Pass PowerShell aliases down to posh-git TabExpansion autocomplete function

I have PS aliases for git, defined as such:
function git-branch-delete { git branch -D $args }
Set-Alias gbd git-branch-delete

function git-checkout { git checkout $args }
Set-Alias gco git-checkout

The $args represents a branch name, which posh-git would typically autocomplete. However, since aliases are not passed down to posh-git, autocompletion doesn't work.
I monkey-patched this functionality myself, using the technique described in this SO answer:
function TabExpansion($line, $lastWord) {
    # aliases that have some form of tab autocomplete functionality
    # NOTE: ADDED POST-INSTALL BY USER
    $line = $line -replace '^gco ', 'git checkout '
    $line = $line -replace '^gbd ', 'git branch '
    # end aliases

    # rest of the function...
}

It'd be super rad if posh-git could somehow retrieve existing PS aliases related to git functionality like this and patch it into posh-git's autocompletion functionality.
I prefer to use PS aliases over git aliases, primarily for brevity - I'm able to do gcm instead of git co or similar.

Working through open issues and realized that I never commented. This is a great idea and I would totally accept a PR for a generalized version of this.

I can easily see aliases working, but functions are tricky.
For aliases, we just need to insert (Get-Alias $alias).Definition somewhere.
Assuming we have
function git-checkout { git checkout $args }
set-alias gco git-checkout

I have no idea how I would interpret that. Would I grab the ScriptBlock to do a find/replace? But what if it's multiple lines? What if I executed something in the ScriptBlock? Well we can't run the function as is because we aren't ready to execute. We still want tab completion. But what if the function returned a string? Assume
> function git-checkout { "git checkout" }
> set-alias gco git-checkout

Then we could run the following:
$command = (Get-Alias $alias).Definition
if (Test-Path Function:/$command) {    # Check if the command is actually a function
    $command = & $alias    # execute
}

Since we are now only dealing with strings we could just create a "dictionary file", kind of like from Export-Alias.
Thoughts?

posh-git wouldn't be responsible for executing the function, we just need to tease out the definition.
You can get the function definition like this. I would try a regex to match the definition on git <args> $args, then swap the match in before expansion.

What would you do if there were multiple lines in the definition?

What would you do if there were multiple lines in the definition?

Similar to how we parse $lastBlock, I think you'd want to match between [;|]. I haven't tested it, but something like "(^|[|;])\s*(?<cmd>$(Get-AliasPattern git).* \`$args)\s*($|[|;])", then Expand-GitCommand $matches['cmd'].
This would be a great opportunity to TDD handling different function definitions. 😀

Hi, I have a git alias of dt for difftool and in posh-git 0.7.3 I was able to make it run simply by putting dt anywhere in the GitTabExpansion.ps1 where difftool was
someCommands = ... 'diff','difftool','dt','fetch', ...
Handles git diff/difftool

Actually I found something, but I'm not sure how to address.
My git alias is dt = !sh -c 'git difftool --no-prompt $2 ${1+-- "$1"}' - and in GitTabExpansion($lastBlock) $lastBlock = "git dt" in 0.7.3, but in 1.*, it is "!sh -c 'git difftool --no-prompt $2 ${1+-- "$1"}' -".
I'm not sure how to address trying to fix that.  Any ideas on your end?

I would grab this, since I realized something similiar some months ago.

I'd also love to see this! I alias git to g out of laziness, and I only just now realized that that was the reason I can't tab-complete branch names anymore.

@jrusbatch: I'd also love to see this! I alias git to g out of laziness, and I only just now realized that that was the reason I can't tab-complete branch names anymore.

If g is a normal PowerShell alias (i.e. Set-Alias g git) it should Just Work™. Are you finding that not to be the case?

@dahlbyk Correct. Although, I was declaring my alias with New-Alias -Name g -Value git -Option Private in my Profile.ps1. After removing -Option Private the tab completion functionality works. I don't remember why I specified that option so I think I'm good for now. Thanks!

@dahlbyk I have the exact same setup, i.e. having Set-Alias g git in my $profile and tab completion with g worked in beta2 and beta3 but now broken in beta4. Simply does nothing if I type g fet<TAB>.

Also, if I set the UseLegacyTabExpansion to $True it starts to work again.

@szelpe Your bug is a little different since you alias directly to the git executable as opposed to aliasing to a custom function.  You can submit a new issue?
It turns out PowerShell's built-in Register-ArgumentCompleter does not take into account aliases to native apps that have registered completers.  I think the fix for this is pretty easy.

@szelpe Your bug is a little different since you alias directly to the git executable as opposed to aliasing to a custom function. Can you submit a new issue?
It turns out PowerShell's built-in Register-ArgumentCompleter does not take into account aliases to native apps that have registered completers. I think the fix for this is pretty easy.

Sure: https://github.com/dahlbyk/posh-git/issues/769

Implemented via PR #779.  Thanks @csc027!

How can do that?

I use the same alias, but this library won't help you on its own. It needs another layer to make it work, like an auto-completer that calls another auto-completer?

$scriptBlock = {
     param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)

     Expand-GitCommand 'git checkout -b '
 }

Register-ArgumentCompleter -CommandName gcob -ScriptBlock $scriptBlock

@MisinformedDNA
Thanks but It doesn't autocomplete from last word
I mean
gcbo mas
It should complete it to gcob master

Try this:
$scriptBlock = {
>     param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
>
>     Expand-GitCommand "git checkout -b $commandName"
> }
> Register-ArgumentCompleter -CommandName gcob -ScriptBlock $scriptBlock

@MisinformedDNA Thank you and it's working fine
but can you please explain it? and if I need to create multiple custom commands, do I need to create multiple script-blocks?
I mean, I need to create

gco => git checkout
gcob => git checkout -b
gp => git push

like this
Now my profile
function gcob {
    param ($commandComplete)
    git checkout -b ${commandComplete}
}

$scriptBlock = {
     param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
     Expand-GitCommand "git checkout -b $commandName"
}

Register-ArgumentCompleter -CommandName gcob -ScriptBlock $scriptBlock

Yes, you need separate script blocks for each one.

@MisinformedDNA gotcha!
Thanks for helping

I find that passing in a parameter doesn't work correctly in certain scenarios. For instance, if you run this:
function gl {
    param ($commandComplete)
    git log $commandComplete
}
$scriptBlock = {
    param($wordToComplete, $commandAst, $cursorPosition)

    Expand-GitCommand "git log $wordToComplete"
}
Register-ArgumentCompleter -Native -CommandName gl -ScriptBlock $scriptBlock

gl-<TAB>

You will get

gl -commandComplete

Instead, I use:
function gl { git log @args }
$scriptBlock = {
    param($wordToComplete, $commandAst, $cursorPosition)

    Expand-GitCommand "git log $wordToComplete"
}
Register-ArgumentCompleter -Native -CommandName gl -ScriptBlock $scriptBlock

NOTE: I've also explicitly set the native parameter (even though it is implied) and changed the names of the script parameters to reflect the native parameters.

The code below works well for me. It will complete the parameter of git subcommand or subsubcommand correctly.
function RegisterGit {
  Invoke-Expression -Command "function global:$($args[0]) { git $($args[1]) @args }"
  $tab = [Scriptblock]::Create("
    param(`$wordToComplete, `$commandAst, `$cursorPosition)
    `$cmdline = `$commandAst.ToString().Replace(`"$($args[0])`", `"`")
    if (`$wordToComplete.Length -ne 0) { `$tail = '' } else { `$tail = ' ' }
    Expand-GitCommand `"git $($args[1]) `$cmdline`$tail`"
  ")
  Register-ArgumentCompleter -CommandName $args[0] -ScriptBlock $tab
}

# define function gst to execute git remote, and register the tab completer for it.
RegisterGit gr "remote"


cmd/internal/obj/arm64: is the doc wrong?

I found that the example that document below may be wrong.
https://github.com/golang/go/blob/2551324cd01b295915c10c6d3d06625676401610/src/cmd/internal/obj/arm64/doc.go#L16
I think that right part assembly miss a operand, maybe the right GNU assembly instruction is :
	ADC R24, R14, R12          <=>     adc x12, x14, x24

I think you're right. Mind sending a CL? Thanks.


Remove branches on successful PR

Hi, @haroonshafique-lm , i think branches should be removed once they are in master. Otherwise there is too much clutter. You can delete branches after a merge by pressing the button for delete branch. You can still do that for closed merges.

Deleted all temporary and merged branches.


inconsistency with semicolon

Challenge http://www.freecodecamp.com/challenges/waypoint-use-rgb-to-color-elements-red has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
there seems to be an inconsistency with the requirement of a semicolon to pass a challenge.
this passed

this also passed

The semicolon is not required for the last rule, although it's a good practice to use it

yes, unfortunately this is not something we can enforce as it technically is valid html.

oh i see. ok thanks!


Add validation for new user fields

Description
The new user fields phone number and company need to be validated in javascript (front-end) and python views (backend). For now the only way to add/change these fields is in the account information screen so this is the only place it should be checked
Tasks

Add validation for the fields in account_information_sub_script.js
Add new validation functions to common_functions.py in utils folder
Validated new fields in account_information_sub_page_view

Closed with pull request #192


RTN17с as a part of 0.9

Please review and merge if everything looks good.

I was not aware that RTN17c changed.  Are you sure there are not already existing tests for this?

Ok, fine, but it does feel like we're perhaps testing all the permutations when in reality testing if custom fallback hosts are used does not need to be tested with every other permutation of ClientOptions because we should be reasonably confident that the logic to inject custom fallback hosts is in one place and thus applies globally.

@mattheworiordan please let me try to describe what I think on this...
Current PR is based on RTN17b where I've added an ability for ARTRealtime object to use custom fallback hosts, also in RTN17b PR  I've added test to cover or an array of ClientOptions#fallbackHosts is provided requirement.
Well, here I'm trying to cover 2 cases with my tests:

retry custom fallback hosts in random order after checkin if an internet connection is available (my test based on existing default fallback hosts test),
check if fallback hosts feature disabled if an empty array is provided, I did such test for ARTRest, but because we are on ARTRealtime page now, so I decided to add it for ARTRealtime too.

So in my understanding this PR has at least 2 reasons to live, but I could be wrong.
I guess you want me to combine current logic and tests with RTN17b PR and close this PR?
Could you give me a hint in which way should I move forward here please?

retry custom fallback hosts in random order after checkin if an internet connection is available (my test based on existing default fallback hosts test),

Fine, but this seems overkill when really we should know that setting the fallback host options simply updated the defaults used by the client library and does not result in an entirely new codepath.  Whether the default fallback hosts or custom fallback hosts are used, it should not affect anything other than which hosts are used.

check if fallback hosts feature disabled if an empty array is provided, I did such test for ARTRest, but because we are on ARTRealtime page now, so I decided to add it for ARTRealtime too.

Ok, fine, that makes sense, a quick test for that is good.

So in my understanding this PR has at least 2 reasons to live, but I could be wrong.

Perhaps, but I would argue the first point is overkill.  Leave it and merge if existing already though, no need to do more work if it adds test coverage.

@EvgenyKarkan I've changed the base of the pull request to master. Please do that going forward.

Rebased and tests are passing.


! Package pgfbase Error: Unsupported color model `'. Sorry.

Here is a minimal example that fails to build on my machine.
\documentclass[t,10pt]{beamer}

\usepackage{moeptikz}

\begin{document}

\begin{frame}
\centering
\begin{tikzpicture}[x=1cm,y=1cm]
	\node[router] (inet) at (0,0) {};
	\node at (inet) {Internet};
	\node[router] (r1) at (.5,0) {};
	\node[router,minimum size=5mm] (r2) at (3,0) {};
	\node[switch, minimum size=10mm] (s1) at (5,0) {};

	\foreach \x in {1,2,3} {
		\node[router,label=right:{PC\,\x}]
			(c\x) at ($(s1)+(+2.8,2.6-1.3*\x)$) {};
		\draw[black,line width=1pt] (c\x) -- (s1);
	}

	\draw[black,line width=1pt] (s1) -- (r1);

\end{tikzpicture}
\end{frame}

\end{document}

The error is
! Package pgfbase Error: Unsupported color model `'. Sorry.

See the pgfbase package documentation for explanation.
Type  H <return>  for immediate help.
 ...

l.29 \end{frame}

With an older version of moeptikz, which required tumcolor, it worked fine.

When I add the following to the preamble
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{moeptikz}

and comment all three
\tikzset{get stroke color}

and all three
\tikzset{replace fill by stroke color/.expand once=\pgfsavedstrokecolor}

it compiles. The result is a grey-scale image.

Outdated version of texlive.


fix #48 line endings for windows

Force line endings to LF for sh files on windows

thanks for this fix. tested out and no issues on linux


Client not responding to message actions - fixed by quitting and re-opening client

After having the Sphinx Client open for a while, this issue came up where it doesn't respond to clicks on message actions like Play media or the 3-dots for reply/boost functions.
Seems to be fixed when I quit and re-open the client.
MacOS version: 13.2.1
Sphinx Client: Version 1.1.0 (249)
https://user-images.githubusercontent.com/5913805/225432412-0a6127d7-5435-4e13-843f-d8f3ae35e097.mov

@tomastiminskas I think this points to a more general problem people described which is some kind of memory leak occurring.
I think it's possible we have retain cycles becoming an issue. We can fix this by using more weak references in our view models etc.

Definitely something related to memory management. I can take a look at this.


Can you please share the slack workspace?

I tried to join the slack as given in readme but could not, so can you please share the workspace name?

@VeeranjaneyuluToka Please find the updated link
https://opendrivelab.slack.com/join/shared_invite/zt-2ft3dfjoz-6XErfBts4s_8Fen88wO4Jg#/shared-invite/email


Feature/cmdb retrieval

This branch adds the ability to query the ourcloud backend for ci data in several ways.
It also exposes these new functions in test-calls from within the /oc/ api-set

lgtm


dstu3 FhirInstanceValidator has depdency to fhir.r4 modules

The class org.hl7.fhir.dstu3.hapi.validation.FhirInstanceValidator in the hapi-fhir-validation release 3.3.0 has package dependency to r4 classes.
Is this correct?
import org.hl7.fhir.r4.context.IWorkerContext;
import org.hl7.fhir.r4.formats.IParser;
import org.hl7.fhir.r4.formats.ParserType;
import org.hl7.fhir.r4.terminologies.ValueSetExpander;

This is correct, yes.
We use a single validation codebase (the R4) codebase to validate both DSTU3 and R4 content in order to increase maintainability.
This is causing an issue?


align info extension and settings on updated specification

https://github.com/microsoft/OpenAPI/blob/main/extensions/x-ms-kiota-info.md

[x] remove parsing the maturity level from open API description
[x] add classname and namespace and mediatypes parsing from the description
[x] use the media types as an override when nothing is provided by the CLI user (structured media types)

related https://github.com/microsoft/OpenAPI/pull/4


Benchmark JPG/PNG compression with hub and without hub

🚨🚨 Feature Request
Benchmark JPG/PNG compression with hub and without a hub to check if the hub adds serious overhead/bottleneck. Fix overhead if there is one.
Is your feature request related to a problem?
A benchmarking script is required to be able to compare raw compression performance vs ours.
If your feature will improve HUB
We need fast and efficient image compression to not have bloated datasets.
Description of the possible solution
We use custom numcodecs to do PNG compression (different branch though).
Benchmark should be added to be sure that it compresses optimally or fix the issue

The imagecodecs can be a better alternative to this with prebuilt algorithms.
Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, compression, and decompression functions for use in the tifffile, czifile, and other scientific image input/output modules.
Decode and/or encode functions are implemented for Zlib (DEFLATE), ZStandard (ZSTD), Blosc, Brotli, Snappy, LZMA, BZ2, LZ4, LZW, LZF, ZFP, AEC, LERC, NPY, PNG, GIF, TIFF, WebP, JPEG 8-bit, JPEG 12-bit, JPEG SOF3 (LJPEG), JPEG 2000, JPEG LS, JPEG XR, JPEG XL, PackBits, Packed Integers, Delta, XOR Delta, Floating Point Predictor, Bitorder reversal, and Bitshuffle.
@edogrigqv2
https://pypi.org/project/imagecodecs/


Update 3.4_Advanced_Widget_Testing_Topics.md

scroll has been depreciated according to my flutter version [Flutter 3.7.0 • channel stable and later]

Can you verify why the build failed @Abdulrasheed1729

It is because --shell-escape was not enabled for latexmk in the ci file. I have fixed that in bbea830.


load instances_train2017.json error

AttributeError: 'NoneType' object has no attribute 'shape'
load training data by  coco/annotations/instances_train2017.json, how to load?

Make sure your img_path is correct and the folder containing all training images. Also avoid unusual characters in the path.

could you provide sample format?
original instances_val2017.json as following:
{"info": {"description": "COCO 2017 Dataset","url": "http://cocodataset.org","version": "1.0","year": 2017,"contributor": "COCO Consortium","date_created": "2017/09/01"},"licenses": [{"url": "http://creativecommons.org/licenses/by-nc-sa/2.0/","id": 1,"name": "Attribution-NonCommercial-ShareAlike License"},{"url": "http://creativecommons.org/licenses/by-nc/2.0/","id": 2,"name": "Attribution-NonCommercial License"},{"url": "http://creativecommons.org/licenses/by-nc-nd/2.0/","id": 3,"name": "Attribution-NonCommercial-NoDerivs License"},{"url": "http://creativecommons.org/licenses/by/2.0/","id": 4,"name": "Attribution License"},{"url": "http://creativecommons.org/licenses/by-sa/2.0/","id": 5,"name": "Attribution-ShareAlike License"},{"url": "http://creativecommons.org/licenses/by-nd/2.0/","id": 6,"name": "Attribution-NoDerivs License"},{"url": "http://flickr.com/commons/usage/","id": 7,"name": "No known copyright restrictions"},{"url": "
"area": 10359.753850000001,"iscrowd": 0,"image_id": 494869,"bbox": [197.42,321.09,91.36,198.79],"category_id": 1,"id": 2153738},{"segmentation": [[443.64,207.7,454.51,210.29,453.77,204.9,452.51,201.42,451.55,196.25,451.7,191.44,448.6,187.01,445.49,185.31,443.05,184.72,442.17,186.05,441.58,191.22,441.8,196.76,442.46,198.98,443.79,202.68,444.01,206.15]],"area":<PHONE_NUMBER>999999,"iscrowd": 0,"image_id": 248334,"bbox": [441.58,184.72,12.93,25.57],"category_id": 1,"id": 2154032},{"segmentation": [[285.74,322.35,278.61,322.35,260.29,335.58,262.32,377.32,279.63,403.78,299.99,427.0,348.85,427.0,365.13,427.0,332.56,392.59,439.44,412.95,494.41,414.98,523.93,380.37,516.81,362.05,495.26,339.64,507.32,333.61,549.56,334.47,553.87,305.16,529.74,252.29,509.91,213.5,505.6,195.4,495.26,176.44,476.3,158.34,480.61,127.88,467.68,100.3,434.92,87.37,409.93,98.58,388.38,132.19,390.97,155.46,398.72,170.12,408.2,189.08,419.41,203.73,436.65,208.91,425.44,254.59,422.86,283.9,431.48,289.07,432.34,295.11,421.13,302.86,403.89,309.76,395.27,313.21,404.76,335.62,402.17,347.68,391.83,348.54,305.63,346.82,291.84,341.65]],

could your training data format as like yolov5 training data format
https://github.com/ultralytics/yolov5 ?

could your training data format as like yolov5 training data format
https://github.com/ultralytics/yolov5 ?

Sorry, nanodet currently only support COCO format annotation. You may try to convert yolo format dataset to voc. Then use voc2coco to get a COCO json annotation.
https://github.com/hai-h-nguyen/Yolo2Pascal-annotation-conversion
https://github.com/yukkyo/voc2coco

@RangiLyu thank you very much!


Added support for DateOnly and TimeOnly in MongoDB

Summary of the changes (Less than 80 chars)

Added support for DateOnly and TimeOnly in MongoDB

Closes #4648 (The type of the member Date of the declaring type TransactionSummary is unknown)

@PascalSenn Of course, I’ll work on them 😉

@PascalSenn When working on the DateOnly tests I've noticed MongoDB C# driver still doesn't support DateOnly and TimeOnly times, there's an open request here. Not sure how long it will take them to include it in the driver so the only way I see for the tests to pass is to create a custom Mongo Serializer until they add support for it, this should be called in the constructor for the tests, like so:
public MongoDbFilterVisitorDateOnlyTests(MongoResource resource)
{
	Init(resource);

	var dateOnlySerializer = new DateOnlySerializer(true);
	if (!BsonClassMap.IsClassMapRegistered(typeof(Foo)))
	{
		BsonClassMap.RegisterClassMap<Foo>(cm =>
		{
			cm.AutoMap();
			cm.MapMember(c => c.Bar).SetSerializer(dateOnlySerializer);
		});
	}
}

This RegisterClassMap will have to be called for developers willing to support those types anyway.
I personally don't like to do this kind of workarounds in the tests. I would rather prefer to leave the tests prepared without such a workaround and when they support it, we can merge this PR. What do you think?

@daviddesmet hmm i see, i personally do not mind the specific setup in the tests. I don't think we need to specify each property, i think it's enough to register the serializer for the type
From the issue on Jira

BsonSerializer.RegisterSerializer(new DateOnlySerializer());
--

internal class DateOnlySerializer : StructSerializerBase<DateOnly>
{
   ....
}

@PascalSenn sounds good, I will make the changes and update my PR.

@PascalSenn I've added the DateOnly tests, feel free to check them out while I work on the TimeOnly tests.
Btw, would you also want me to add tests for comparisons? Like greater than, less than, etc?

@davidsmet this looks very good! Will review ist ASAP!

@PascalSenn aye! Let me know if you also want the comparisons tests. Btw, you mentioned another Smet :P

@PascalSenn What's the format for passing a TimeSpan in the query? Afaik is ISO8601 but I'm still getting
TimeSpan cannot parse the given literal of type `StringValueNode`.

I've tried with below queries without any luck:
{ root(where: { bar: { eq: \"06:30:00\" } }){ bar } }

{ root(where: { bar: { eq: \"06:30:00.000\" } }){ bar } }

{ root(where: { bar: { eq: \"6:30:00\" } }){ bar } }

{ root(where: { bar: { eq: \"6:30:00.000\" } }){ bar } }

It was my pleasure!

/AzurePipelines run


0.10.0 JS support for generating ES6 modules

This serves all current needs but is likely missing edge cases that we don't currently incorporate. There aren't any unit tests for this yet either, but they would go under lib/js_es6, which is currently just a copy of lib/js.

Merged to unblock creating an npm package. Still needs review.


Today not working after clear

I checked out your demo and noticed an immediate issue. If I hit clear and then Today - the calendar loses styles - for example weekends are no longer red. Clicking Today again will actually "choose" it in the calendar and puts the styles back.
I'm on Chrome

fixed


zork on cloud can be contacted from outside on port 9000

Because the zork container runs with --net=host, it turns out Zork can still be contacted, unencrypted, on port 9000 from outside localhost.
Possible solutions:

have run_cloud.sh add some iptables rules
docker run arguments magic
have zork itself only accept connections from localhost

#3 is easiest because it's a one-liner in the source. However, it's not a great solution for developers. Prefer #2 if we can figure something out...

Can you add an iptables rule to drop everything that isn't from localhost?

Yep but that won't survive server restarts.

Indeed, and you mentioned it as the first solution and I completely skipped over that!

:-)
I was all excited about forwarding a range of UDP ports to the container but ran into two issues:

Containers start extremely slowly when a range is large, as it is for WebRTC.
Container start fails if any of the ports is in use -- my system has a ton of random processes running on high UDP ports.

So, I've come up with an iptables-based solution that survives reboots: run iptables inside the container. Sending a pull request to you now.

Fixed by:
https://github.com/uProxy/uproxy-docker/pull/45


[yasd] Connection refused

Please answer these questions before submitting your issue. Thanks!

What did you do? If possible, provides a simple script and debug step to reproduce the problem.
php -e bin/hyperf.php start 提示
[yasd] Connection refused

What did you expect to see?

What did you see instead?

What is your machine environment used (show your uname -a & php -v & gcc -v) ?

你用nc命令看看能不能连上

你用nc命令看看能不能连上

嗯嗯，好了，原因是phpstorm开启监听的时候没起作用，重启ide就好了，多谢大佬

嗯嗯，好了，原因是phpstorm开启监听的时候没起作用，重启ide就好了，多谢大佬


setSlug not working in buzzard

Due to the changes in buzzard, setSlug should take the slugs from context.params.route[slug] instead of context.params[slug]

Could you submit a PR? Thanks.

Closed via https://github.com/feathersjs-ecosystem/feathers-hooks-common/commit/3f923136ded2e5a1a5ce23e38cd96253b19b1525


⚠ Processors has degraded performance

In ef566e7, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 87 ms

Resolved: Processors performance has improved in e47a888.


losses  are zero during training on custom dataset

this is the output after running oneformer model on custom dataset  for panoptic segmentation
dice loss and contrastive losses are zero  after 4999 iterations.
any help  @praeclarumjj3
wandb: Run summary:
wandb:              data_time 0.00161
wandb:            eta_seconds 72805.84595
wandb:                     lr 0.0001
wandb:                   time 0.46956
wandb:          train/loss_ce 0.00051
wandb:        train/loss_ce_0 0.00188
wandb:        train/loss_ce_1 0.00058
wandb:        train/loss_ce_2 0.00071
wandb:        train/loss_ce_3 0.00056
wandb:        train/loss_ce_4 0.00058
wandb:        train/loss_ce_5 0.00056
wandb:        train/loss_ce_6 0.0005
wandb:        train/loss_ce_7 0.00065
wandb:        train/loss_ce_8 0.00066
wandb: train/loss_contrastive 0.0
wandb:        train/loss_dice 0.0
wandb:      train/loss_dice_0 0.0
wandb:      train/loss_dice_1 0.0
wandb:      train/loss_dice_2 0.0
wandb:      train/loss_dice_3 0.0
wandb:      train/loss_dice_4 0.0
wandb:      train/loss_dice_5 0.0
wandb:      train/loss_dice_6 0.0
wandb:      train/loss_dice_7 0.0
wandb:      train/loss_dice_8 0.0
wandb:        train/loss_mask 0.0
wandb:      train/loss_mask_0 0.0
wandb:      train/loss_mask_1 0.0
wandb:      train/loss_mask_2 0.0
wandb:      train/loss_mask_3 0.0
wandb:      train/loss_mask_4 0.0
wandb:      train/loss_mask_5 0.0
wandb:      train/loss_mask_6 0.0
wandb:      train/loss_mask_7 0.0
wandb:      train/loss_mask_8 0.0
wandb:       train/total_loss 0.00719

Hi @sahityabonumaddi, you might need to check for any bugs in your code while setting up the custom dataset. Or there might be some overfitting. I can't help you just by looking at the zero-loss values.


Vickel: Watch 363596350

Vickel requests the watch of the watch_number 363596350. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


Add a column property to PKToken.

This records the position of the token within the current line.

I suspect this has the same problem as [pkToken lineNumber] where it is wrong while parsing.
See:

Issue https://github.com/itod/pegkit/issues/22
Issue https://github.com/itod/pegkit/issues/48


DDP-spawn on LSF cluster (multi-node) should not be supported

🚀 Bug
DDP-spawn on multi-node configurations where processes get spawned externally should not be supported.
To Reproduce
Running with
Trainer(strategy="ddp_spawn", num_nodes>1, devices=...)

on LSF is currently faulty but should not be supported.
Expected behavior
Should not be supported. Two options:
A) Raise an error and suggest to use strategy="ddp".
B) Fall-back to DDP. A similar check already exists for SLURM:
https://github.com/Lightning-AI/lightning/blob/d2840a20bd27a0a86fc59ba54d94543e63523133/src/pytorch_lightning/trainer/connectors/accelerator_connector.py#L616-L619
I suggest to go with B) as we already do it with the other environments.
Additional context
Originally reported on Slack.

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Lite: enables pure PyTorch users to scale their existing code on any kind of device while retaining full control over their own loops and optimization logic.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, fine-tuning, and solving problems with deep learning.

Bolts: Pretrained SOTA Deep Learning models, callbacks, and more for research and production with PyTorch Lightning and PyTorch.

Lightning Transformers: Flexible interface for high-performance research using SOTA Transformers leveraging PyTorch Lightning, Transformers, and Hydra.

I think this fall-back logic is a bit faulty. I would prefer to do (A) and even update the previous logic to also error-out.

@awaelchli and @carmocca  Quick question you want to fallback to option (A) correct? I.e raise a warning and set strategy to DDP, right?
Do you have any specific warning in mind ?
If you could divulge some details I can write a fix and create a PR :)
I can take this up if this is open :)

@Atharva-Phatak I show the fallback logic in the description above, LSFEnvironment needs to be added to these checks there. That's the quick fix to align the logic with other environments where we fall back to "ddp".
I wouldn't say that the logic is faulty, just brittle, and easy to miss updating when adding a new environment.
I would definitely go for the quick fix (fallback) first (for both Trainer and Lite). Then, the error handling can be investigated.

@awaelchli Essentially right now we just set strategy to DDP right? So we need to implement LSFEnvironment class something like TorchElasticEnvironment right ?

@awaelchli Thanks for clearing that I though LSFEnironment was not implemented :p

@awaelchli I am adding the as you mentioned. I also understand the I would have to @mock.patch.dict environment variables.
Could you verify these environ params and let me know if they are right ? I am not sure of couple of them. If you could help me out that would be amazing.
@mock.patch.dict(
    os.environ,
    {
        "LSB_JOBID" : "1",
        "LSB_DJOB_RANKFILE" : "", #Not sure about this.
        "JSM_NAMESPACE_LOCAL_RANK" : "1",
        "JSM_NAMESPACE_SIZE" : "20",
        "JSM_NAMESPACE_RANK" : "1" #Not sure about this.
    }
)

Yes, looks ok. These are the env variables that need to be set such that LSFEnvironment.detect() returns True, which is useful for such a test.

@awaelchli Perfect, so its okay if I keep LSB_DJOB_RANKFILE as ""?

I encourage you to try to study the code, write the test according to your expectations, and run it to see what happens. In this instance, the best way to learn is to do it :)


[WIP] Refactor Feedback for AB test for Insights

⚠ Work in progress - do not merge

Currently the variation displayed is selected by the variant URL parameter - this is only a temporary implementation for use during development
No effort has yet been put into making the refactored component accessible, performant or completely functional
No tests yet

What

Refactor feedback to use a data-driven state machine
Add two alternate feedback multi-step workflows

Why

The Insights team wants to conduct a multivariate test of the Feedback component. The variations they want to test are branching multi-step workflows. The existing component does not support branching, so this change implements a data-driven state machine to model the existing workflow and the two new variations.
Visual Changes

The existing component remains unchanged visually

Before
After

Closing as this work was abandoned


new page, "consuming open source"

how to avoid errors

copy and rename
cross check

What is the exact issue can anyone please elaborate?,  so that I can analyze and work on this open issue

its quite some work and need to be formalized, I've assigned the issue to myself

Ok If you want some collaboration we can discuss on this Thanks


Remove TestClient

cc @anurse \ @Tratcher

Removing it for now since it's broken on the CI. @anurse can revive this later if he deems it necessary.


Add Julian to the list of Korifi approvers in the CF on K8s working group

Thanks, @davewalter ! It'd be great to follow the promotion process in https://github.com/cloudfoundry/community/blob/main/toc/ROLES.md#promotion-to-approver, even just as a formality. /cc @gcapizzi @georgethebeatle

Thanks, @davewalter ! It'd be great to follow the promotion process

As I read that promotion process, the first step was to create a PR (which is this PR, I think) and then we need 2 approvers unless a TOC member merges it, which they can do without any approvers.
Does that sound right?

Yep, that's right about needing 2 👍 's from area approvers, and I'd be happy to merge if the WG leads are unavailable. https://github.com/cloudfoundry/community/pull/368 is an exemplary example of the contribution evidence that corresponds to the approver role criteria.

Merging as a proxy for @gcapizzi and @georgethebeatle .


DOCS: update release features for v1.09 in README - add k_diffusion samplers note

I hate doing this kind of thing sooo much, but my partner keeps telling me to be "more of a self-promoter" (job-wise)...
Also, a few people on the SD Discord wanted to use the other samplers, so simply in terms of making it more visible...

I'm terribly sorry to have neglected to enter your changes in the ChangeLog! Just too many pull requests to keep track of!

No worries at all! I’m a code-slinger by day; I know how hectic it can get 😉


How do I attach log files to cURL calls?

As per title. Keep in mind that I need to append the contents of the file to the json's "content" tag.

Hello @ddengster,
Thanks for submitting a GitHub issue! We are very sorry that you are running into this problem. In order to better serve you, as this does not present itself as a library specific issue, we would like to ask that you reach out to our support team at https://support.sendgrid.com.
Thank you!
SendGrid DX Team


Cookie not available in JS or Laravel

I've just installed the package on a fairly simple Laravel app however after setting up and enabling fastlogin, when I try to login it can't seem to access the "X-FastLogin" cookie, either in the actual JS or when dd-ing $request

I can see that it's there in the cookies section of inspect element but if I run alert(Cookies.get('X-FastLogin')) on click, it returns undefined

Looking into it a bit more it seems it's because the cookie is set as "HttpOnly"
I'm not sure if this is an issue with the package or my app setup though

I've also just noticed I'm supposed to be getting the XSRF-TOKEN... It's been a long day

Okay SO
Apologies for this thread it's a mess but this is the full error I'm getting when posting to /fastlogin/login/details
exception: "TypeError"
file: "/home/ploi/dev.myboard.co-deploy/dev.myboard.co/01072021_203247/vendor/web-auth/webauthn-lib/src/PublicKeyCredentialDescriptor.php"
line: 49
message: "Webauthn\\PublicKeyCredentialDescriptor::__construct(): Argument #2 ($id) must be of type string, null given, called in /home/ploi/dev.myboard.co-deploy/dev.myboard.co/01072021_203247/vendor/m1guelpf/laravel-fastlogin/src/Http/Controllers/FastLoginController.php on line 78

Closing in favour of #14


/version endpoints: display base tables and branch table

Does this change require that mixer + website are updated together?

Yep, updated mixer submodule


List of containers with networkID filter is not working (docker ps --filter "network=nwID")

Description
docker ps --filter does not work for partial network ID.
Steps to reproduce the issue:

Created a network dk0
[root@datta-bastion-dns docker]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
f5c40491da47        bridge              bridge              local
2968b0850d98        dk0                 bridge              local
0d4ed75c8c6c        host                host                local
e6919f3b8d9a        none                null                local

Create a container with a network in #1.
docker run -it -d --net=2968b0850d98 busybox sh

Filter with same network
docker ps --filter "network=2968b0850d98"

Note: Filter with full networkID worked.
Describe the results you received:
able to create container with network ID ( Partial ID ) which is shown in 'docker network ls'
# docker ps --filter "network=2968b0850d98"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Observed Empty output
Describe the results you expected:
docker ps with filter should show container with network ID "2968b0850d98"
Output of docker version:
Client:
Version:      1.12.3
API version:  1.24
Go version:   go1.6.3
Git commit:   6b644ec
Built:
OS/Arch:      linux/amd64
Server:
Version:      1.12.3
API version:  1.24
Go version:   go1.6.3
Git commit:   6b644ec
Built:
OS/Arch:      linux/amd64
Output of docker info:
Containers: 3
Running: 3
Paused: 0
Stopped: 0
Images: 64
Server Version: 1.12.3
Storage Driver: overlay
Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.36.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.797 GiB
Name: datta-bastion-dns.cisco.com
ID: 7ZBB:T5UR:R7FN:ZMZS:DG4R:26W5:GOW7:5CV4:CDCE:GQ54:LVXV:OQPK
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 29
Goroutines: 43
System Time: 2016-11-22T19:57:40.567435847Z
EventsListeners: 0
Username: dattatrayakumbhar04
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
<IP_ADDRESS>/8

It's OK to use full network ID or network name to filter.
But can not use the short network ID.
from src/github.com/docker/docker/daemon/list.go:441
func includeContainerInList(container *container.Container, ctx *listContext) iterationAction {
......

    networkExist := fmt.Errorf("container part of network")
	if ctx.filters.Include("network") {
		err := ctx.filters.WalkValues("network", func(value string) error {
			if _, ok := container.NetworkSettings.Networks[value]; ok {
				return networkExist
			}
			for _, nw := range container.NetworkSettings.Networks {
				if nw.EndpointSettings == nil {
					continue
				}
				if nw.NetworkID == value {
					return networkExist
				}
			}
			return nil
		})
		if err != networkExist {
			return excludeContainer
		}
	}
}


Record and display the upload time of user files

This PR records the time when users upload their files and displays it. Moreover, users are allowed to sort files by upload time, ascending or descending.
The database schema has changed -- a new column "upload_time" is added to the table file. The corresponding ALTER TABLE command is: ALTER TABLE file ADD COLUMN upload_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP.
Demo:
(before)

(after)

Please make sure the jooq generated is based on your mysql that contains the latest ddl. For example the workflow_executions table has changed in a recent PR

can you make the files sort by time desc by default (newest first). In the meantime, can you also make the workflow and project seciton sort by time desc to be consistent?
can you also add the corresponding alter table statement in the PR description?

Thank you for reviewing. I have made the change to let it sort by time in descending order by default. Also, I added the ALTER TABLE SQL to the PR.

can you make the files sort by time desc by default (newest first). In the meantime, can you also make the workflow and project seciton sort by time desc to be consistent?
can you also add the corresponding alter table statement in the PR description?

Thank you for reviewing!
I have made the change to let it sort by time in descending order by default. Also, I added the ALTER TABLE statement to this PR.


API documentation has not been updated to v3 yet

The documentation referenced in the readme (api.muzei.co, which redirects to the wiki has not been updated to v3, and still documents the legacy v2 API.
The full API reference hasn't been updated either.
Additionally, the changelog in that same wiki is still at v2.3.

Yep, still trying to figure out what should happen to all of that. You can download the full API reference from the release page

We've updated api.muzei.co to point to the new staged documentation (which has been rebuilt as part of the Muzei API 3.4.0-alpha01 to be built in Kotlin with dokka).
We're not updating the wiki pages anymore.


Changes to declaration from John Willams

Could we add in some (slightly edited) introductory copy at the top of the supplier declaration page that says:

You must complete this declaration for your services to be eligible for G-Cloud 7 submission.
2. The links aren't working in the hint text. If we can't fix, let me know and I'll change the format in the hints.

Can we change the link at the bottom to say 'Return to G-Cloud 7 application'?

‘Terms of participation’ header => G-Cloud 7 essentials

Exactly the same as current q56, we need to add a why box for questions 41-53
If you responded yes to any of questions 41-53, please provide details of any mitigating factors that you think should be taken into consideration.

Change order of questions 3-5
5 => 3
3 => 4
4 => 5

Move question 24 (trading name SQ1-1k) up to below SQ1.1cii
It becomes question 14

Page header change
Company information => About you

On the following page:
https://preview.development.digitalmarketplace.service.gov.uk/suppliers/frameworks/g-cloud-7

Make supplier declaration
Agree to the terms of the bid, provide supplier information and confirm eligibility.

:+1:


docs(toh-6/ts): minor edits and enhancements

Changes to prose:

Complete TODO item of displaying heroes.component errors.
Mainly copyedits.
Add of block statements so that prose can be used on Dart side.
Show excerpt and briefly explain of changes (previously missing):

app/hero-detail.component.html
app/heroes.component.ts error handling

Add missing file to changed/added files listing and makeTabs

`toh-6/ts/app/in-memory-data.service.ts,
toh-6/ts/sample.css

Code changes:

Mainly copyedits
Renamed heroes.component.ts delete to deleteHero to match
naming of other methods

Contributes to #1628.

@kwalrath @Foxandxss @johnpapa @wardbell : ready for review. As usual, because of the addition of blocks causes changes in indentation, it is best to review changes by ignoring whitespace, like this. Please see the original PR comment for a description of changes (besides copyedits).

The copyedits look reasonable to me, but I'll leave the content review to the TS experts.

I left two comments on the prose, but the rest are good to me 👍

@kwalrath @Foxandxss : thank you both for reviewing this.
@naomiblack : it would be great if this could be merged before @johnpapa starts carving out the CLI editions.

I was reviewing my notes and noticed I had forgotten to remove an unnecessary change to a .css, relative to toh-5 (new #docregion that wasn't used). I just pushed a commit with that change.

Is sample.css ever explicitly mentioned in the tutorial? I only realized it existed after I noticed that my delete buttons didn't look like they do in the examples. In fact, styling the delete button is all that file does.

@kwalrath : rebased.
Hi @Adam-Meisen : while it is true that sample.css is not mentioned in the prose, using a sample.css file is a convention followed in other chapters in the Dev Guide and the Cookbook.
It may make sense, as you have proposed, to merge the sample.css styles into one of the component's styles, but before doing so it may make sense to determine if there was a reason for doing it the way it is now.

But then why does the file just appear at the end of part 6 without being
mentioned? Why does a stylesheet linked to in index.html contain contain
rules specific to a single component?
On Jun 26, 2016 1:46 PM, "Patrice Chalin"<EMAIL_ADDRESS>wrote:

@kwalrath https://github.com/kwalrath : rebased.
Hi @Adam-Meisen https://github.com/Adam-Meisen : while it is true that
sample.css is not mentioned in the prose, using a sample.css file is a
convention followed in other chapters in the Dev Guide and the Cookbook.
It may make sense, as you have proposed, to merge the sample.css styles
into one of the component's styles, but before doing so it may make sense
to determine if there was a reason for doing it the way it is now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/angular.io/pull/1686#issuecomment-228615870,
or mute the thread
https://github.com/notifications/unsubscribe/AA-2UEbc8v1U4TSHpWeeTgnjfqwgKrYWks5qPskRgaJpZM4I4yIc
.

Adam: btw, I agree with your observations, including the idea of eliminating the sample.css file as you have proposed already. I was just suggesting that we (docs team, including myself) first take a broader look to understand why the current approach exists both for this chapter and the other chapters. (As to the lack of mention of sample.css, that could be quickly fixed by adding an appropriate sentence to the prose.)

Sorry if I came off as accusatory, I agree with you.
If it helps, sample.css first appeared in e4db340464f5955670c0ce4e61587875a7d334b3 (merged in PR #1066) and has not been touched by any commit since. It seems that either no one noticed it in the PR, or no one thought it was worth mentioning.

No worries (I could have been clearer from the start). Thanks for that info.

Any objections to me merging this change? @Foxandxss?

Works for me.


Upgrade Keycloak version to  22.0.0

can we upgrading Keycloak to version 22.0.0 and Spring Boot to version 3.1.1

O Will take a look. You can send PR too

See #7

@ebremer did the update... thanks!


CAP Operator

EPIC
Since Cloud Foundry gets installed on top of CaaSP, the best way to install it, it would be using an operator.
CAP installation controller
As a customer of CAP and CaaSP, I want to install and update CAP using an operator. For example:
1. kubectl create -f cloudfoundry_crd.yaml
2. kubectl -n cloud-foundry create -f cloudfoundry_cr.yaml

An operator will be deployed onto the CaaSP cluster and install CAP. This controller can be written by the CaaSP team.
CAP update controller
As a customer of CAP and CaaSP, I want to update CAP using an operator. For example:
1. kubectl -n cloud-foundry edit cloud-foundry-cluster # or kubectl patch
2. Change the version from X to Y
3. Update the object by saving the changes

The operator will reconcile and update CAP for you. This controller can be written by the CAP team.
How to do it

Create a new repository in Github and setup the CI system for Go projects.
Create a CRD cloudfoundry_crd.yaml that defines what CAP means for CaaSP.
Create an example cloudfoundry_cr.yaml with the appropriate values for CAP installation.
Document the fields and the values the customer can select.
Write an operator either kubebuilder or operators-sdk
Write individual controllers for this operator (e.g. one controller for installation, and one for updates)
Developers submit PR including unit-tests written in Ginkgo to make yourself familiar with kubernetes upstream. If you have dependencies, mock them (e.g. gomock).

If there is an error that can be fixed automatically the controller will reconcile either immediately or after a couple of seconds (you can specify it). If the error cannot be fixed by the controller, it will stop reconciling.

I don't see the need for an operator and controller to install CAP. I do see one for updating it though.
Why do you need an operator to install CAP? What problem does it solve?
Note: There are other tools to build operator if necessary, though those two are popular.

Using operators for installing/managing software on top of Kubernetes is the de-facto best practice for production kubernetes deployments. If you provide enterprise software that gets installed on-top of CaaSP, such us (Prometheus, Elastic, whatever) without using operators, you have to have really really good documentation and hope the customers are following it to the point. The proposal is about having a CAP operator. What controllers this operator will have it's up to you and your customer needs. Usually, all controllers start with the installation, hence I proposed it.

This is already being worked by SUSE, IBM, SAP and others with the cf-operator. More here

Awesome, thanks @flavio . I sure hope it's not only installing :)


Calling setlog successively with different filenames does not actually open new files

Hello again! I have written a script that auto-opens FIT files from various subdirectories in a directory and cycles through them and starts imexam for me, allowing me to use tasks. I have set the script to log anything I do to a log file. I would like to have different log files for every image, but even though I update the log file name for each new image, it doesn't actually save to that new file (even though it prints a message saying it does).
My code:
XPA_METHOD = whatever_it_is

v = imexam.connect(XPA_METHOD)

imgdirlists = [ ['path/to/folder', ['img1.FIT', 'img2.FIT]],
                          ['path/to/folder2', ['img3.FIT', 'img4.FIT']] ] # etc

for sublist in imgdirlists:
    imgnames = sublist[1]
    curdir = sublist[0]
    if sublist[1]:    # makes sure the directory isn't empty, e.g. a top-level
        for image in imgnames:
            path = "{}/{}".format(curdir, image)
            v.load_fits(path)
            # set the log file name. use of [:-4] just omits the .FIT extension.
            v.setlog(filename="{}_sky".format(image[:-4]), on=True)
            v.imexam()
            # I tried the following to see if it helped, but it did not.
            v.setlog(filename="{}_sky".format(image[:-4]), on=False)
    else:
        pass

This puts out a file with the name of the first image I started on, filled with data like this:

_run_imexam
Current image /path/to/the/photo/14-57-57-755.FIT
(task results 1)
(task results 2)
...
_run_imexam
Current image /path/to/the/photo/14-57-41-217.FIT
(task results 1)
(task results 2)
...

The goal of course is to have each of those image lines and their results be in separate files. I tried looking at the util.py and connect.py code to see if I could fix it myself, but I'm afraid I don't know much about logging, and it wasn't clear to me where the issue was. It seems to be maybe related to the caveat in the docstring for set_logging:

Notes
-----
basicConfig defaults to opening the file in append mode
There's still an issue here that if the user deletes the
log file and then continues on with functions which log
information, no new file is opened again and nothing gets written

Has this been noticed by others, or are there any suggestions as to fixing it?
thank you!

@emcangi you're still on my radar, just swamped at the moment.  I haven't spent a ton of time messing with the logging in this package, but I have a couple ideas and will get back with you as soon as I can.

It's no rush at all. I'm studying for the physics GRE anyway, so my project is going slowly as it is. :)

@emcangi  the logging should be fixed on the current master, will do an official release tomorrow. Check it out when you have time and let me know if it's working for you.

Thanks! I am just getting around to this. I updated today but I am now getting an error where I'm no longer able to load my files into DS9 anymore. Has something changed in load_fits? The error looks pretty buried:
Using directory /home/mypathname, image 14-41-57-630.FIT
/home/mypathname/14-41-57-630.FIT None 1
Traceback (most recent call last):
  File "collect_skystats.py", line 119, in <module>
    v.load_fits(path)
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/connect.py", line 373, in load_fits
    self.window.load_fits(*args, **kwargs)
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/ds9_viewer.py", line 1177, in load_fits
    self.set(cstring)
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/ds9_viewer.py", line 666, in set
    self.xpa.set(param, buf)
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/xpa_wrap.py", line 19, in set
    super(XPA, self).set(param.encode('utf-8', 'strict'), buf)
  File "wrappers/xpa.pyx", line 176, in xpa.xpa.set (wrappers/xpa.c:2487)
  File "wrappers/xpa.pyx", line 146, in xpa._set (wrappers/xpa.c:1920)
xpa.XpaException: XPA$ERROR Unable to load fits  /home/mypathname/14-41-57-630.FIT[1] (DS9:ds9 7f000101:32848)

In particular the line "/home/mypathname/14-41-57-630.FIT None 1" looks like it's being generated from some code that isn't mine. I'm not sure what it indicates.
I can't test the updated logging function until I get past this, unfortunately!

Re: attaching file. Theoretically, according to this GitHub doc, you can zip the FITS first, before attempting to attach, as long as it does not exceed size limit.

@emcangi I'm guessing it's your fits file, you could stick it on Box somewhere too, I haven't been able to replicate this with any of my fits files.  Have you tried opening the file directly with DS9 first? Also, what version of DS9 are you using?

yup--and the files opened just fine in version 0.5.2, so I reverted to that version to continue working for now.
DS9 version is apparently 7.4 and is part of the stsci package in astroconda (everything I have is installed and managed in an astroconda/anaconda environment). are you using version 7.5? I see it's available on the website but doesn't seem to be available to astroconda.
I'm attaching an example of one of my FIT files here. They're generated by some camera software associated with this camera, and I haven't been super impressed by the documentation/software capabilities for various Orion cameras, so.... eh. Wouldn't be surprised if the FIT format is wrong.
problemFITfile.zip

huh, 0.6.2 (conda update imexam=0.6.2) seems to work, def upgrade to that and give it a go at least loading this file. I see the fail on 0.6.3, but don't see the change affecting the image loading, lemme look around a bit...

Update to v0.6.3 and try this:  a.load_fits('21-5-57-172.FIT',extver=0), your image is a simple fits image with no extensions and the data and global together, I updated code around detecting simple fits. Let me see if I can make it smarter..

It does indeed open successfully now, though I now have a different error:
Saving imexam commands to '14-41-57-630_sky'

Press 'q' to quit

2	Make the next plot in a new window
a	Aperture sum, with radius region_size
b	Return the 2D gauss fit center of the object
c	Return column plot
e	Return a contour plot in a region around the cursor
g	Return curve of growth plot
h	Return a histogram in the region around the cursor
i	Modified stat display function, displays all the same stats that are normally displayed in imexamine's 'm' task
j	1D [Gaussian1D default] line fit
k	1D [Gaussian1D default] column fit
l	Return line plot
m	Square region stats, in [region_size],default is median
r	Return the radial profile plot
s	Save current figure to disk as [plot_name]
t	Make a fits image cutout using pointer location
w	Display a surface plot around the cursor location
x	Return x,y,value of pixel
y	Return x,y,value of pixel
Current image /home/emc/GoogleDrive/Phys/Research/BothunLab/SkyPhotos/NewCamera/3January2017/3Jan-2/11/400microsec/14-41-57-630.FIT
Traceback (most recent call last):
  File "collect_skystats.py", line 114, in <module>
    v.imexam()
  File "/home/emc/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/connect.py", line 141, in imexam
    self._run_imexam()
  File "/home/emc/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/connect.py", line 213, in _run_imexam
    self.exam.set_data(self.window.get_data())
  File "/home/emc/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/ds9_viewer.py", line 1044, in get_data
    data = filedata[extname, extver].data
  File "/home/emc/anaconda3/envs/astroconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.py", line 196, in __getitem__
    idx = self.index_of(key)
  File "/home/emc/anaconda3/envs/astroconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.py", line 519, in index_of
    raise KeyError(key)
KeyError: (None, 1)

This was for a different image--I tried the one I sent you but apparently I have some other issue with my code where it fails to open the file when I am selecting them manually (normally it loops through a directory with a bunch of nested directories). This might take me a bit to hammer out.

Checked with the image I sent--same error as above:
Current image /home/mypath/21-5-57-172.FIT
Traceback (most recent call last):
  File "collect_skystats.py", line 95, in <module>
    v.imexam()
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/connect.py", line 141, in imexam
    self._run_imexam()
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/connect.py", line 213, in _run_imexam
    self.exam.set_data(self.window.get_data())
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/imexam/ds9_viewer.py", line 1044, in get_data
    data = filedata[extname, extver].data
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.py", line 196, in __getitem__
    idx = self.index_of(key)
  File "/home/myusername/anaconda3/envs/astroconda/lib/python2.7/site-packages/astropy/io/fits/hdu/hdulist.py", line 519, in index_of
    raise KeyError(key)
KeyError: (None, 1)

This looks like it's still having trouble reading the FIT file, although I have had success using the hdulist stuff myself to throw together simple plots. Hmm...

Some more background; the FITS file in question is a lying liar that lies ;) In truth, it's not actually violating the FITS standard to set EXTEND = True and then not have extensions, but it's not friendly.
In [4]: fits.info('21-5-57-172.FIT')
Filename: 21-5-57-172.FIT
No.    Name         Type      Cards   Dimensions   Format
  0  PRIMARY     PrimaryHDU      10   (640, 480)   uint8

In [5]: fits.getval('21-5-57-172.FIT',ext=0,keyword='EXTEND')
Out[5]: True

If there are other issues with your FIT file not be standard that could be problematic too...oh, I see your updated comment.  For the error above ... edit your FIT image to set NEXTEND = F and see if the astropy.io.fits is happier...

Apologies, I'm not quite sure what you mean by EXTEND/NEXTEND and how I might edit those. I am but a lowly student and still fairly new to FITS :). Is it EXTEND or NEXTEND? Is there a standard for editing FITS? It doesn't display properly in my text editor.
I'll have to come back to this after class. Thanks again for your help with this, I really appreciate it.

No worries... here's an example using astropy.io.fits
from astropy.io import fits
image=fits.open('21-5-57-172.FIT', mode='update')
image[0].header['EXTEND']=False
image.close()

# double check
fits.getval('21-5-57-172.FIT','EXTEND')

Now the image has the EXTEND keyword set as False.
NEXTEND is the keyword which tells fits readers how many extensions they might expect from a multi-extension fits files. Fits files with only data attached to the primary header are referred to as simple fits files. Here's an example of a multi-extension fits file:
In [9]: image=fits.open('iacs01t4q_flt.fits')

In [10]: image.info()
Filename: iacs01t4q_flt.fits
No.    Name         Type      Cards   Dimensions   Format
  0  PRIMARY     PrimaryHDU     235   ()
  1  SCI         ImageHDU        81   (1014, 1014)   float32
  2  ERR         ImageHDU        43   (1014, 1014)   float32
  3  DQ          ImageHDU        35   (1014, 1014)   int16
  4  SAMP        ImageHDU        29   (1014, 1014)   int16
  5  TIME        ImageHDU        29   (1014, 1014)   float32

In [11]: image[0].header['EXTEND']
Out[11]: True

In [12]: image[0].header['NEXTEND']
Out[12]: 5

Where if I wanted to get the data array which is from the 5th extension:
image[5].data  # reference it directly
data5 = image[5].data  # copy to a different variable

** watch out because this links back to the original data array so changes
you make to data5 happen to image[5].data

In [16]: data5[0]
Out[16]:
array([<PHONE_NUMBER>7,<PHONE_NUMBER>7,<PHONE_NUMBER>7, ...,<PHONE_NUMBER>7,
<PHONE_NUMBER>7,<PHONE_NUMBER>7], dtype=float32)

In [17]: data5[0,0]
Out[17]: 227.93692

In [18]: data5[0,0] = 100

In [19]: image[5].data[0,0]
Out[19]: 100.0

Thanks! I guess I realized I haven't gone through the FITS documentation very thoroughly.
It now works that I set EXTEND to F. There is no NEXTEND in my files.
I guess now I have to write another script to manage the FITS files...! T_T

@emcangi I'm not sure what else your script is doing, but my next update should fix the errors you had with loading this fits file (as is, without changing the EXTEND keyword or specifying the zero extension) and with the get and set data functions.

My apologies for the delay on this again. I tested version 0.7 and I am now getting a different error and DS9 is unable to connect:
Traceback (most recent call last):
  File "collect_skystats.py", line 19, in <module>
    ds9data = imexam.list_active_ds9()
  File "/home/my_site-packages_path/imexam/util.py", line 85, in list_active_ds9
    except xpa.XpaException:
NameError: global name 'xpa' is not defined

Sounds like maybe some variable was changed somewhere?

ugh! This was totally my fault when I was adding logic for windows users.  Pushing an update in the next few minutes....

Everything is working perfectly now!
I hit a minor bump when I noticed that logging stopped working entirely with my user-defined imexam task (I call it 'i': it reports all the possible stats one can get out of the 'm' task). I discovered the cause was that when I defined the task, I imported logging and then called logging.info(mymsg). After digging into imexamine.py, I discovered the correct way to do it to work with the imexam module was to call self.log.info(mymsg) instead.
I'm not sure where I originally got the idea to call logging.info(mymsg). I'm also not sure if maybe this was the reason all commands were only going to one file. If it is... I'm sorry to have sent you down a wild goose chase! But I suppose some other improvements to the code occurred, so at least there's that. :)
Just in case you are interested, here is my function which reports all the stats that 'm' reports, but simultaneously.
def all_m_stats(self, x, y, data=None):
    """
    reports all the statistics available with the 'm' task simultaneously,
    operating on a box with side region_size.
    The statistics are mean, std, median, min, max.

    :param x: the x location of the object
    :param y: the y location of the object
    :param data: numpy array, the data array to work on
    """
    import numpy as np

    if data is None:
        data = self._data

    region_size = self.report_stat_pars["region_size"][0]

    dist = region_size / 2
    xmin = int(x - dist)
    xmax = int(x + dist)
    ymin = int(y - dist)
    ymax = int(y + dist)

    stat = getattr(np, 'mean')
    stat2 = getattr(np, 'std')
    stat3 = getattr(np, 'median')
    stat4 = getattr(np, 'min')
    stat5 = getattr(np, 'max')

    cols = "SLICE   NPIX   MEAN   STD   MEDIAN   MIN   MAX\n"
    box = "[{}:{},{}:{}]  ".format(xmin, xmax, ymin, ymax)
    area = "{}  ".format(region_size)
    sr1 = " {}  ".format(stat(data[ymin:ymax, xmin:xmax]))
    sr2 = "{}  ".format(stat2(data[ymin:ymax, xmin:xmax]))
    sr3 = "{}  ".format(stat3(data[ymin:ymax, xmin:xmax]))
    sr4 = "{}  ".format(stat4(data[ymin:ymax, xmin:xmax]))
    sr5 = "{}".format(stat5(data[ymin:ymax, xmin:xmax]))
    pstr = cols + box + area + sr1 + sr2 + sr3 + sr4 + sr5

    print(pstr)
    self.log.info(pstr)

thanks again!

@emcangi You can also set the 'm' key  stat to use the scipy.stats.descibe function, which returns all the stats at once :)    Use set_plot_pars("m","stat","describe")
Now the output should look like this:
pressed: m, report_stat
[551:556,653:658] describe:
nobs: 25
minmax: (0.51326549, 0.85604763)
mean 0.6851165890693665
variance: 0.00780616095289588
skew: 0.05719175934791565
kurtosis: -0.47930471400886976

additionally, if you also want median you can set_plot_pars("m","stat","median") and call on the same location again.  But as you've done above, you can write your own function and attached it to an unused key in the imexam loop as well :)

also, thanks for being such a great tester :)   Yes, I changed the way the logging was being done for more consistency, to allow stream and file logs to run separately and turned on and off correctly , but also to move all the print statements over to the logs. logging.info() speaks to the general logging, but self.log.info() speaks to the one attached to the imexamine object you're using.  Let me know if you run into any other oddities!

Ugh! I swear I read the documentation but I somehow missed that capability of set_plot_pars. XD
Thanks for helping, I know a lot of support for scientific programming packages is outside of normal job duties. Not sure if this is the case with you, but I do appreciate the amount of work that goes into OSS either way.


Add SPOC to the Talk to other users FAQ

Add SPOC to the Talk to other users FAQ

This is another way to crosslink and let users know developers exist


Logging calls does not appear in console when running locally in 1.9.0 using ApplicationInsights preview packages

How to reproduce:

Create a function app using the template for .NET6 Isolated in VS2022
Bump Microsoft.Azure.Functions.Worker to 1.9.0 and add a reference to Microsoft.Azure.Functions.Worker.ApplicationInsights (applies to any 1.0.0-preview version up to 3)
Add Application Insights logging in Program.cs:

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Hosting;

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults(builder =>
    {
        builder
            .AddApplicationInsights()
            .AddApplicationInsightsLogger();
    })
    .Build();

host.Run();

Run the function app. The template includes a HTTP trigger function "Function1" (unchanged from template):

using System.Collections.Generic;
using System.Net;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;

namespace consolelogger
{
    public class Function1
    {
        private readonly ILogger _logger;

        public Function1(ILoggerFactory loggerFactory)
        {
            _logger = loggerFactory.CreateLogger<Function1>();
        }

        [Function("Function1")]
        public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req)
        {
            _logger.LogInformation("C# HTTP trigger function processed a request.");

            var response = req.CreateResponse(HttpStatusCode.OK);
            response.Headers.Add("Content-Type", "text/plain; charset=utf-8");

            response.WriteString("Welcome to Azure Functions!");

            return response;
        }
    }
}

Access the HTTP endpoint. Observe that there's no trace of the LogInformation-call in the console:

Downgrading Microsoft.Azure.Functions.Worker to 1.8.0 and Microsoft.Azure.Functions.Worker.ApplicationInsights to 1.0.0-preview2 works:

Using Microsoft.Azure.Functions.Worker version 1.8.0 and Microsoft.Azure.Functions.Worker.ApplicationInsights to 1.0.0-preview3 causes the HTTP request to hang infinitely at Executing 'Functions.Function1' .... (This may be a separate issue.)
Workaround: explicitly adding console logging via the ConfigureLogging extension method:
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

var host = new HostBuilder()
    .ConfigureLogging(loggingBuilder =>
    {
        loggingBuilder.AddConsole();
    })
    .ConfigureFunctionsWorkerDefaults(builder =>
    {
        builder
            .AddApplicationInsights()
            .AddApplicationInsightsLogger();
    })
    .Build();

host.Run();

I'm having exactly the same problem, adding loggingBuilder.AddConsole() solves it, but I think this is not how it should work

@elsand is the workaround with pre2? With pre3 it does not work at my end ;-(

@MO2k4 It works for me using the latest preview packages at the time of writing (Worker 1.11.0-preview2, Sdk 1.8.0-preview2, Insights 1.0.0-preview). The output is not very readable though, but I suppose one could add a custom formatter.
But I'm expecting this is considered a bug, these workarounds shouldn't really be necessary.

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Hosting;

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults(builder =>
    {
        builder
            .AddApplicationInsights()
            .AddApplicationInsightsLogger();
    })
    .Build();

host.Run();

This is by design. Console logger was never added in the code above. I think what you are looking for is Host.CreateDefaultBuilder().ConfigureFunctionsWorkerDefaults(...), this call will add ConsoleLogger by default.


Chore: Bump Go version in mod file

Description
Changes proposed in this pull request:

Bump Go version to 1.22.0 in Kyma-metrics-collector.

Related issue(s)

/hold


first attempt at deepl.com translated from french to english, with some manual formatting fixes for JS

closes #47

Hi, thanks for the pull request
I have 2 questions:

is it the result of the automatic translation or have you changed it afterwards?
have you reviewed all the questions? Since I'm not a native English speaker I think I should trust your English :)

Hi, thanks for the pull request
I have 2 questions:

is it the result of the automatic translation or have you changed it afterwards?

have you reviewed all the questions? Since I'm not a native English speaker I think I should trust your English :) The brig/brick mistake makes me think all the questions should be manually reviewed before merging

Automatic translation, with manual review after. I'm working on a more automated process with manual review to translate the rest.
What is the best structure for i18n? Is it separate questions folders by language or a language property in the question or something else?

What is the best structure for i18n? Is it separate questions folders by language or a language property in the question or something else?

I think it would be easier to separate files in language-specific folders, so that a French only speaking contributor can navigate to a folder and look at all the questions in French. I can take care of this matter while introducing English, once we have enough questions (I would say 50 is a minimum to make the app useful to users)

PS: I've put your name on the AboutScreen, where main contributors are listed. If you prefer your name not to be displayed, feel free to remove it or ask me to do it

closing in favor of https://github.com/sallesma/timeout-ultimate/pull/56 which does not require a rebase


message_view: For message sent by current user, always scroll into view.

Now whenever the bottom of the feed is visible, we always scroll to the message/s just sent by the current user, updating the selected message if necessary.
Scroll behaviour for messages sent by other users remains unchanged.
Fixes: #23298.
Screenshots and screen captures:
Before sending:

New message scrolled into view on sending:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Hm, how does it determine how far to scroll. E.g., I got this much blank space sometimes, but a much narrower strip other times.

This is after sending a message that was long enough to stretch the compose box, in case that's relevant.

I believe it scrolls an amount equal to the height of the newly added messages.

Just bumping this up @alya

Hm, this isn't what I was imagining, but it actually feels pretty reasonable when I test it. Let's try it out on CZO and go from there.

Merged, thanks @N-Shar-ma!


Support Promptsource-integrated evaluation in NeoX evaluate.py / eval_adapter.py

What specifically do we wish to support? Loading the models? Something else?

Ah apologies thought that I linked #697 to this! Will make the issue title more descriptive
We wanted to be able to run NeoX's evaluate.py using the Promptsource-integrated fork so that we could evaluate on whatever prompt we wanted, e.g. for SuperGLUE T5's prompts or for P3 datasets if we do multitask finetuning in NeoX.
This might not be immediately relevant if we can get t5x on GPU working though.

Preempted by up streaming prompted evaluation in the Eval Harness.


Invalid escape of error descriptions

Commit:
https://github.com/spring-projects/spring-security-oauth/commit/0f43bb8c0de8be261479dc5d88926821f55468ca
Github Issue:
https://github.com/spring-projects/spring-security-oauth/issues/889
According to the IETF: OAuth2 RFC

error_description
OPTIONAL.  Human-readable ASCII [USASCII] text providing
additional information, used to assist the client developer in
understanding the error that occurred.
Values for the "error_description" parameter MUST NOT include
characters outside the set %x20-21 / %x23-5B / %x5D-7E.

A single quote ' character %x27 is being escaped with &#39. The HTML escape is incorrect.

Thanks for the report @fhanik. Would you be interested in submitting a PR?


Replace question mark with help desk emoji

Updates the question-mark usage on the contributor listing itself. Keep record of old usage for people implementing the prior version. As it is the only one I left that in a separate column at the end, but we might want to keep a general record around elsewhere per version maybe? I just added it so we don't forget it and people can easily find its meaning still.
This is what it looks like rendered: https://gist.github.com/ligthyear/a3147ff03cbf0a891367
Fixes #35

This looks good to me!

@kentcdodds ready for merge.

Thanks @ligthyear! Anyone else wanna double check this? Thanks!

Merged!