Adding Default CSP is a SemVer Major Change

The change 9484ce6198543093ec38f679c2bd8e5b84885fbb is a breaking feature and can cause browsers to suddenly start rejecting files that previously rendered correctly. (Lost a full day because we inadvertently thought it was a misconfigured proxy.)

There are no assets on the redirect page. I'm happy to revert, but can you give an example of what it breaks? Nothing was broken in extensive testing I did, so would love to understand, since it only applies to the default redirect page.

I'll try and come up with a recreate scenario.

We were requesting a page that was hitting the redirect page, then programmatically injecting a number of elements, including script tags. Since this script tags were pointing to a CDN, the page would fail with those errors.
I'm not sure if this is a real issue or not, but we were able to workaround it pretty easily.  (Feel free to close)

Interesting. I thought maybe people could be doing that somehow, but wasn't sure. Usually no web browser will ever possibly render the contents on the redirect page anyway, since the browser redirects as soon as it sees the Location header and then just discards any body content, so I'm still not sure how adding it on the redirect would have resulted in an issue. I want to make sure that we didn't introduce something that is breaking people, can you provide all the following?

Complete code I can run that reproduces the issue.
Complete instructions for how I can reproduce the issue. I assume it will involve browsing with a web browser, so include generally the browser & version.

It's hard to provide the code because we observed the issue in a headless selenium browser in some python code. It seems the headless browser does not follow the redirect.

Weird, because this has been tested in PhantomJS and the redirect was followed, even with the header. I want to make sure that we didn't introduce something that is breaking people, can you provide all the following?

Complete code I can run that reproduces the issue.
Complete instructions for how I can reproduce the issue. I assume it will involve browsing with a web browser, so include generally the browser & version.

It's impossible to provide the code (mostly uninteresting, legacy python). We've worked around the change by not injecting code into the redirect page (which we shouldn't be doing in the first place).


Fast refresh middleware

Sets up fast refreshing of the react app on our server. I installed the necessary packages and performed the necessary configuration. Also cleaned up our package.json scripts.  The page will automatically update on save.

Just need to change the test code I believe

I'm going to close this pull request and open a new one. This one contains updates from the overview-skeleton branch that shouldn't be included here.


Weird objective value output, when only a pre-processing solution is found

Dear BARON.jl Team,
I have the following situation with a complex optimization-problem:

During pre-processing a solution is found, with an objective value of (in this case) 133,26.
Till the MaxTime is reached, no other solution is found.
Calling "objective_value(jumpmodel)" after the optimization is done, gives the result<PHONE_NUMBER>99999993220948674361627976461708441944064.000000
The solution values for the variables are however correct (the ones from the pre-processing).

Unfortunately due to IP-rights, I cannot provide the model, where I discovered this behaviour. However I hope a fix can be found without it.
The problem seems to come from here
BARON.jl -> src->moi->results.jl at line 75
"model.inner.solution_info.objective_value"
Best regards
Ana Constantin

BARON.jl parses the objective value direct from the solution file written by BARON, so I don't know if there's much we can do, especially without a reproducible example.
https://github.com/jump-dev/BARON.jl/blob/90ddf4343ff2351c8523959289db6a5e15d143f3/src/util.jl#L294-L294
To debug, you could set set_attribute(model, BARON..PrintInputFile(), true), and then look in the same directory for an output file and see what it says.

Hello, sorry for the late reply, I had some trouble finding a case that consistently leads to this weird result, since the last update reduced the number of such cases.
I have looked into the tim.lst File and found this value at the position of the objective_value : 0.100000000000E+52.
So yes, it seems to be a BARON-Problem. Thank you for the suggestion where to look. I will take the problem up with the BARON support team.


Keras does not save weights properly

I am using Tensorflow 2.15.1 and, if I use model.save_weights("./dir/mymodel.bin") and subsequently try to load the weights with model.load_weights (in a different process), the model does not return the expected results (when using model.evaluate or .predict).  My model has a custom loss function and metric, but this should not be a problem, since I try to load weights only. Any idea why I get this error?

Could you please try with the Keras 3 version and let us know your observations and possibly some reproducible code. Thanks

I installed Tensorflow 2.16.1, but the it cannot detect the GPUs.

The problem is also with Tensorflow 2.16. Please, run the code here:
https://git.informatik.uni-leipzig.de/celano/dithrax_test


Load all contact pictures by Glide

For issue #2057
Sorry for my carelessness on my last PR.
Use the way in this to load bitmap by Glide (and the cache of Glide still works). So the contact's photo and the fallback pictures are all loaded by Glide now.

Does recipient.photoThumbnailUri in this represent the same value as contactsHelper.getPhotoUri(String) in this when calling loadContactPicture?(I didn't find enough information about ContactsContract.Contacts.PHOTO_THUMBNAIL_URI) If so the code could be simplified.

Quite possibly. I think the core problem is that both com.fsck.k9.helper.Contacts and com.fsck.k9.activity.compose.RecipientLoader query the Contacts system.
RecipientLoader ought to be using com.fsck.k9.helper.Contacts (which is designed to interface between K-9 and Android contacts) instead of accessing  Contacts.lookupContact directly.

@philipwhiuk Thanks for your suggestion! I will work on it later.

@philipwhiuk @cketti I have made some changes roughly in the commit af27f7b :) It is not complete and I just want to ask for some suggestions about whether I am in the right way.
I created a class ContactCursor in Contacts. The ContactCursor class wraps Cursor and exposes some functions for retrieving values and so on.
And since it seems not a minor change to move all operations into Contacts, should I do it in another branch, make this PR only related to Glide and clean the git history?

I like the idea of this, and moving database specifics out of RecipientLoader is also a good idea. Does this interfere with #2264 a lot?

@Valodim @philipwhiuk I moved commits about database to another branch and I would like to fix the issues #2057 and #2337 firstly :) I have made more progress on these two issues and force updated this branch. Now I think these two issues are all resolved.

What I want to point out is that the original getPhotoUri method does not actually work correctly. For example it usually returns a URI rather than null when the contact doesn't have a photo. The code of this method is from this, which is also said wrong by a comment.
I rewrote this method by using PHOTO_URI, which is also the value we adopt for recipient.photoThumbnailUri

@Valodim I have made the required changes. For #502, I implemented gravatar and add the corresponding option in settings, but I think it may take some time to let this part get reviewed and approved. Could you please merge this PR if you approved it, and let me open another PR for gravatar then?

@Valodim Thanks! I have squashed the commits into one.

thanks! :+1:


Remove unnecessary store and unused variable in example19

True, the first store of numIALeft is not needed - maybe the second was only executed conditionally at some point? Not sure...
But this improvement applies to all examples, no?

But this improvement applies to all examples, no?

It probably does. Do you want me to apply this change set to other examples as well? Which ones?

The most recent examples probably, that we run comparisons against: example13 and example18 (in addition to example19) for the standalone cases, and example14 for the integration example (maybe also example17, but we know that this one is broken so it should not be used anyways...)

I applied the change to the other suggested examples as well.


x/tools/gopls: consider avoiding the workspace/configuration request

Right now, gopls uses the workspace/configuration request to resolve configuration of workspace folders.
As described in https://github.com/golang/go/issues/54559#issuecomment-1350216715, it is odd to manage configuration server-side, when all other session state is managed client-side. Furthermore, as described in https://github.com/microsoft/language-server-protocol/issues/972, the workspace/configuration request poses problems for clients, as they need to specialize to various servers.
IIUC, the only reason gopls makes workspace/configuration requests is to support different settings for different workspace folders. In particular, this allows for different sets of build tags per folder, which is a workaround for lacking build tag support in gopls (#29202). I'm not sure whether anyone is actually using this workaround.
We should investigate if we can change gopls' configuration model to simply rely on initialization options and didChangeConfiguration payloads.

IIUC, the only reason gopls makes workspace/configuration requests is to support different settings for different workspace folders. In particular, this allows for different sets of build tags per folder, which is a workaround for lacking build tag support in gopls (https://github.com/golang/go/issues/29202). I'm not sure whether anyone is actually using this workaround.

In VS Code, per-folder setting is an essential part of handling multi-root workspace environment (https://code.visualstudio.com/docs/editor/multi-root-workspaces#_settings). I am afraid dropping per-root folder configuration without an alternative solution will result in more confusion for most VS Code users.
Multi-root workspace feature allows users to create a workspace the users interact with day-to-day in one window. For example, a user can have her small size personal project that depends on a k8s module and the k8s project in one VS Code workspace. In this setting a user may want to enable more expensive analyzers for her own project, but that doesn't necessarily mean she also wants to enable them for all projects in the VS Code workspace. Similarly, a user may want to toggle the new vulncheck scanning feature in one folder, but doesn't want to enable it in all projects in the workspace. Without workspace/configuration, implementing this behavior will be challenging (unless we choose to start a separate gopls instance per each registered folder, which I don't think is great).
My interpretation of https://github.com/microsoft/language-server-protocol/issues/972 is that it is about the protocol design, not about dropping the per-folder configuration feature that relies on LSP workspace/configuration.
As mentioned in https://github.com/golang/go/issues/54559#issuecomment-1350216715 this functionality is controlled by the  workspace.configuration capability, and editors that cannot handle this properly shouldn't advertise the capability.
Re: https://github.com/golang/go/issues/54559#issuecomment-1350216715

The problem is that the documentSymbol result in (3) depends on the configuration returned in (2); we don't produce semantic tokens without packages, and we don't load packages without a Go environment, and we don't have a Go environment without configuration. Therefore, if the configuration request in (2) is blocked, gopls has the choice of either serving a degraded result in (3), or timing out.

I think it's reasonable for language servers to block those requests until the configuration is ready, unless the client indicates the requests are server cancellable (LSP 3.17 severCancelSupport - from https://github.com/microsoft/vscode/issues/161627#issuecomment-1261862757 I guess VS supports that only for semantic tokens). Clients will need to cancel the request after some time or wait patiently depending on their need.


Image Preview Extension page feels empty

Testing #81674
Even compared to our other built-in extensions, I expect a features section describing the basic behavior.
Additionally, are custom editors not surfaced in the "Contributions" tab? Should they be?

dupe of #81741 with additional question

Yes this should be covered by #81741
Can you please open the contributions point as a separate issue

done #81802


Azure Data Factory: Add swagger definition for specifying Spark environment variables in AzureDatabricksLinkedService

Can one of the admins verify this patch?

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

@hvermis

@hvermis Please take a look.

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Automation for azure-sdk-for-node


Omit Target parameters

Is there a way to omit Target parameters? Default arguments are not permitted in tuple types, which allows this type of functionality with functions.
This would become extremely handy when used with PATCH requests.
If default arguments would be permitted, it would look something like this:
public enum SomeAPI {
    case userEdit(name: String? = nil, surname: String? = nil, email: String? = nil)
}

This would allow to update(PATH) only changed values:
Provider.request(. userEdit(surname: "Smith")) { result in
    ...
}

Is there a way to achieve this?

That's not supported by Swift, unfortunately. It seems you can do it by adding an init to your enum, maybe that's an option? https://stackoverflow.com/questions/34456531/optional-parameter-in-enum-case-in-swift

That would enable something like this, but I feel it will make readability worse.
enum Network {
    case userEdit(name: String?, surname: String?, email: String?)
    case search(query: String)
}

extension Network {
    init?(name: String? = nil, surname: String? = nil, email: String? = nil) {
        guard name != nil || surname != nil || email != nil else { return nil }
        self = .userEdit(name: name, surname: surname, email: email)
    }
}

Network.userEdit(name: nil, surname: nil, email: nil) // userEdit(name: nil, surname: nil, email: nil)
Network.search(query: "test") // search("test")
Network(name: "test") // userEdit(name: Optional("test"), surname: nil, email: nil)


Ignore events in contentEditable elements

When using some rich editor (Prosemirror, Lexical, etc...) which is based on contenteditable="true" property, keyboard events during typing there aren't ignored, though should be.

[!WARNING]
I haven't added tests, since JSDOM doesn't support isContentEditable property

event.target is always the top contenteditable block? It will not be a <b> inside contenteditable block?
Could you please increase size-limit limit in package.json by 12 bytes?

event.target is always the top contenteditable block? It will not be a <b> inside contenteditable block?
Could you please increase size-limit limit in package.json by 12 bytes?

Yes, for Prosemirror or Lexical, event happens always on contenteditable block
Done

Thanks!

Thanks. Released in 0.8.3.


Introduce periodic check of CLA labels

/kind bug
What this PR does / why we need it:
This PR introduces a period check of cla labels on open PRs.
It ensures that labels are up to date even when the cla-assistant plugin missed the creation of PRs for various reasons or was applied to an existing repository with open PRs but without cla labels for the first time.
Additionally ci-gardener-triage-robot-cla now waits 1 hour before it creates a "/cla" comment in an PR.
All together this prevents "/cla" comment spam mentioned in issue #86.
Which issue(s) this PR fixes:
Fixes #86
Special notes for your reviewer:
The version numbering was not compatible to prow autobumper. According to the documentation it has to have the format vYYYYMMDD-githash. This is fixed too.

/retitle Introduce periodic check of CLA labels

Please merge PR #88 first to fix the tests.


How to update Apollo Client to v3

Hello,
My Vue app has a super standard setup with vue-cli-plugin-apollo.
It looks like Vue-apollo is compatible with Apollo Client 3. I would like to use it. How can I upgrade?
Thanks in advance!

I recently migrated to Apollo Client 3, It seems to work (at least for my use).
I simply had to :

rewrite all my updateFn to use the new cache api (https://www.apollographql.com/docs/react/migrating/apollo-client-3-migration/#breaking-cache-changes)
take care of immutable cache

Thank you!
And to update the package, did you just update it using NPM?

Unfortunately not... to use Apollo Cient 3 you have to consider the imports updates too : https://www.apollographql.com/docs/react/migrating/apollo-client-3-migration/#updating-imports

In TypeScript I get this error:
30:5 Type 'ApolloClient<NormalizedCacheObject>' is missing the following
properties from type 'ApolloClient<any>': store, writeData, initQueryManager
    28 |
    29 | const apolloProvider = new VueApollo({
  > 30 |     defaultClient: apolloClient,
       |     ^
    31 | });
    32 |

Asked the question here: https://github.com/vuejs/vue-apollo/issues/1059#issuecomment-717360611, cross posting in this ticket.
cc @Akryum


Tofn compatibility fixes

This is a bit of an eclectic PR, which aims at making unknown_order compatible with https://github.com/entropyxyz/tofn. Previously it used a fork of paillier-rs and unknown_order, but I'm trying to bring the required changes back into the source repo. This is just testing the waters, feel free to propose amendment.

add BigNumber::bit_length()
fix a compilation error with WASM (serde_wasm_bindgen::from_value() is the recommended way now instead of value.into_serde())
fix a bug in Rust backend where from_rng() generated randoms of a wrong size when size wasn't a multiple of 8
add BigNumber::prime_from_rng()
add BigNumber::safe_prime_from_rng()
fix the behavior of _random_nbit() in Rust backend (it was generating a random with the highest bit always set)
support text-based/binary formats for BigNumber serialization (as hex for string-based, and as binary for binary). Two questions here: 1) is it important for the serialization to be compatible cross-backends? Because it's currently not. 2) Does it make sense for BigNumber to be signed? If it can be unsigned, that would allow us to fix 1). Currently for GMP and OpenSSL backends I'm adding a sign byte in front of the binary representation because their serialization methods ignore the sign.
Fix incorrect operators used in binops_group macro (seems like a copy-paste artefact, + was used instead of the correct operator)
Made the crate no_std.

Hey, sorry, to bother, but would it be possible to cut a release with this PR?

I will shortly. I'm testing it against existing code to make sure it
doesn't break anything
On Sat, Nov 26, 2022 at 4:05 PM Bogdan Opanchuk @.***>
wrote:

Hey, sorry to bother, but would it be possible to cut a release with this
PR?
—
Reply to this email directly, view it on GitHub
https://github.com/mikelodder7/unknown_order/pull/7#issuecomment-1328128337,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFPIN6KVI42YX4GFAB2NSLWKKJU5ANCNFSM6AAAAAARZ52COQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Different User Table

Hi, How can I install this package if my user table split name field to first_name and last_name?

yes, as long as the database table name is 'users'

I also split my name field into first_name, last_name.  On my user model I have getNameAttribute() return first and last names.  However I've had to add a name column to use ticketit.  (worth it - thanks!)

Is there any updates? This feature is very important and I need it too.


Atom BSOD while trying to search a package/theme

Description
I was searching for config-import-export package when suddenly after hitting enter I got a Blue Screen of Death, after restart , Atom opened in Chrome Developer Tools, so I didn't looked after this bug, here on issues...
After this what I did was to uninstall and re-install Atom. After that I tried to search again other package and got again a BSOD....
Steps to Reproduce

Search a package/theme
Enter
BSOD :)

Versions
Atom    : 1.7.3
Electron: 0.36.8
Chrome  : 47.0.2526.110
Node    : 5.1.1
OS:  Windows 10 64 bits

This means your network card did something problematic, update your drivers. Atom is just the victim in this problem, not the culprit

I didn't have this problem before while installing packages but today occurred... ~
Thanks for replying!

Same thing persistent NETIO.SYS BSOD when trying to access packages.


When exiting ssh session on nerves device, Toolshed's exit function exits with an error code of 255

Describe the bug
When we are ssh into a nerves device, we use Toolshed's exit function to close our ssh connection. The problem is that unlike a normal ssh session closing, closing nerves ssh session looks like an error to our bash shell. E.g. normally when you do ssh remote.server and exit afterwards, if you check echo $? you get 0. But with ssh nerves.local when you give command exit and check with echo $? you get 255. This is the same error code you get if you failed to ssh into nerves device, thus making it impossible for a script to tell whether it failed to make connection with a nerves device or it made a connection and ran everything successfully.
To Reproduce
Overview: ssh into a nerves device and exit, next check the command's status with echo $?. You can follow the commands as:
ssh nerves.local
exit

echo $?

$ 255

Expected behavior
Overview: When we exit from nerves ssh, output of echo $? should be 0. If ssh nerves.local command fails the output of
echo $? should be 255.
ssh nerves.local
exit

echo $?

$ 0

SFTP with nerves works fine so if anyone wants to check that to confirm he can:
sftp nerves.local
ls
exit
$ echo $?
0

Thanks for the report. It looks like there are two issues:

When anything fails with ssh, the exit code is 255 so you can't tell if it's a connection failure or a script failure. I don't know how to fix that other than to parse the ssh output. I.e., have your script print "Successfully connected" at the beginning and check for that. If you must have different exit codes, then that's an issue with ssh.
exit makes ssh return an exit code of 255

As a workaround, use ssh's scripting interface for running commands:
$ ssh nerves.local '
IO.puts("hello")
IO.puts("world")
'
Warning: Permanently added 'nerves.local,<IP_ADDRESS>' (RSA) to the list of known hosts.
hello
world
:ok%
$ echo $?
0

Having said that, I agree that it would be really nice to fix exit. I'm not sure how to signal to Erlang's :ssh application to close the connection successfully from the IEx prompt. It seems like there ought to be a way, but I don't know without digging into Erlang group.erl group leader implementation to see if there is some message that I can send to it. I know that there's not a simple :io_request message that I can send, sadly. PRs would be really appreciated on this.

Thanks a lot @fhunleth for the response. The solution above works. I pasted this here just so that this remains as a pointer and in future someone might be able to fix it. Thing is that commands in bash heredocs shows the output from the device whereas, running using ssh nerves.local 'my commands 1; command 2;'  does give that kind of an output.
I also found that using sftp nerves.local works fine. I think I'll add this info in my original issue post as well.

@herozero777 Do you plan on working on this issue?

I'd like to but I have no idea what is causing this issue or where to look for the solution. I checked the flags that can be passed to Process.exit/2 and they are :kill and :normal only. Using :kill results in an error & using :normal doesn't exit the ssh session (I'm guessing normal flag would mean don't touch the Process.group_leader())
  def exit() do
            Process.exit(Process.group_leader(), :kill)
          end

Apart from this I'm out of ideas.


Strip colours (etc.) from wrangler logs output

Describe the solution
The new wrangler logs are great for debug, but often include contents that make them really hard to parse. Example:

--- 2023-11-22T16:29:48.163Z log
 ⛅ wrangler 0.0.0-08ae28c6
---------------------------

--- 2023-11-22T16:29:48.602Z warn
▲ [WARNING] kj/async-io-win32.c++:982: warning: Bind address resolved to multiple addresses.  Only the first address will be used.  If this is incorrect, specify the address numerically.  This may be fixed in the future.; addrs[0].toString() = <IP_ADDRESS>:62926

wrangler-2023-11-22_16-29-47_041.log
It would be ideal if these ansi colours and other things are removed from the logs output.

We should probably leverage strip-ansi here, which is already a Wrangler dependency


[region-isolation] Only make partial_apply actor derived if we capture an isolated parameter... not just any actor.

Before I couldn't do this since, @sil_isolated was not represented on partial_applies. In the first commit in this commit series, I added support to the frontend so that we now emit partial_applies with sil_isolated parameters.
In the second commit, I use this information to restrict when the partial_apply is considered to be "actor derived" to if the partial_apply parameter is @sil_isolated.
rdar://123881277

@swift-ci smoke test

Problem was that in CaptureInfo we were determining if a value was isLocalCapture by calling CapturedValue::getDecl(). This doesn't work for dynamic self metadata which is never an isolation parameter (it is a metatype) and doesn't have a decl. I am preparing a small addition to this PR with a patch that fixes that issue by adding a new isLocalCapture to CapturedValue that does the correct thing.

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test macOS platform


changed true/false to "true"/ "false" as boolean is still not supported

The following example results in error.
def is_even(number):
  if number % 2 == 0:
    return true
  else:
    return false

def main():
  return is_even(10)

╰─$ bend run filename.bend
Errors:
In definition 'is_even':
Unbound variable 'false'.
Unbound variable 'true'.

Thanks for the PR. I will have a look at it.


Code speedup options

Hi David,
I've been using your code to estimate how many FRBs we could detect with a new survey -- thank you very much for making this available, it is fantastic! (I will be in touch about the science via email once it's a bit better fleshed out).
I had some ideas for speeding up the code, which are in this notebook.
The first is to speed up gen_dm() in CosmicPopulation by using healpy to do the coordinate lookup, instead of sqlite (there is a fair bit of overhead with making multiple sql queries). I just uploaded a precomputed NE2001 and YMW16 healpix maps to PyGEDM, which is essentially equivalent to the sqlite table frbpoppy populates.
The second is to speed up gen_dist() by using interp1d from scipy, to generate interpolation functions that can be used instead of the DistanceTable lookup.
Combined, these should significantly speed up the time taken for CosmicPopulation.generate().
As you'll see in the notebook, the NE2001 models have some disagreement. I'm not sure if this is due to rounding or something else?

@telegraphic - Hi Danny,

I've been using your code to estimate how many FRBs we could detect with a new survey

Have you got the code for your detection rate estimation available somewhere? I'd be interested to take a look at how exactly you're going about it, the assumptions you've made about the input FRB population and whether you're comparing the simulated detection rate of another telescope with your survey's rate (and then looking at the actual numbers provided by real observations to make a prediction).
I can see that frbpoppy has already got an example script for computing detection rates, but some values used are a bit unclear to me (e.g. does 1e4 have a good reference, and does CosmicPopulation.simple take varying spectral burst properties etc. into consideration to give accurate detection rates?).
Do you simply use this script and add your own survey properties to surveys.csv, or are you computing anything more than that?
Thanks a lot in advance!

Hi @0xCoto,
@davidgardenier is of course the expert, and I was intending to get his input when we get more serious about simulations, so please consider below to be of dubious quality:
Here's a gist, current quite basic:
# And setup the survey (this reads from the CSV file, I added a line)
survey = Survey('eda')

# Now generate FRB population
n_source = 5e6
n_days   = 1.0
cosmic_pop = CosmicPopulation.complex(n_source, n_days=n_days)
cosmic_pop.generate()

Output:
cosmic_pop.py | Generating complex population

Then we see what of the cosmic population our survey can see:
# Calculate what we can see
survey_pop = SurveyPopulation(cosmic_pop, survey)

# Print stats
print(survey_pop.source_rate)

for DM in (100, 500, 1000, 2000):
    print("DM smearing  @ %i pc/cm3 [ms]: %2.3f" % (DM, survey.calc_dm_smear(DM)))

print("Fluence Limit [Jy ms]:", survey.calc_fluence_limit(10e-3))

Output:
survey_pop.py | Surveying complex with eda
rates.py      | complex_eda                Days    Sources          %
rates.py      | -----------------------------------------------------
rates.py      | Cosmic Population           1.0    5000000        100
rates.py      | Too late                    1.0    158.556     0.0032
rates.py      | Outside survey              1.0 3545558.9567    70.9112
rates.py      | Outside pointings           1.0          0        0.0
rates.py      | Too faint                   1.0 1453848.9166     29.077
rates.py      | Detected                    1.0   433.5707     0.0087
rates.py      | /Gpc^3                   365.25      83.47          -
rates.py      | Expected                 0.0023          1          -
rates.py      | -----------------------------------------------------
rates.py      |
DM smearing  @ 100 pc/cm3 [ms]: 0.307
DM smearing  @ 500 pc/cm3 [ms]: 1.537
DM smearing  @ 1000 pc/cm3 [ms]: 3.073
DM smearing  @ 2000 pc/cm3 [ms]: 6.146
Fluence Limit [Jy ms]: 1.6970562748477138

For plotting I'm doing things like:
    z  = survey_pop.frbs.z
    n_survey, b_survey = np.histogram(z, bins=20, range=(0, 1))
    plt.plot ...

(or using the in-built web app plotter, which is pretty awesome!)
Not sure if it is the best way to go, but you can edit params of existing surveys before generating populations:
survey = Survey('utmost')
utmost2d_params = d[d['survey'] == 'utmost'].squeeze()
#print(utmost2d_params)
survey.bw = 45.0
survey.bw_chan = 100.0/1024
survey.T_rec = 70.0
survey.beam_size_at_fwhm = 26.0
survey.beam_size = 26.0
survey.gain = 0.21

My understanding is that the code does not directly give you an event rate in FRBs/sky/day, but just tells you what fraction of the simulated population of FRBs is detected. IYou then need to scale this by simulating an existing survey with well-pinned down event rate, e.g. Parkes HTRU;;
survey = Survey('parkes-htru')
survey_pop = SurveyPopulation(cosmic_pop, survey)

As for the surveys, @davidgardenier 's paper has a table comparing them. To me (please correct if I've misunderstood!), there are three models, where 'simple' is a toy model and 'complex' and 'optimal' boil down to two hypotheses:

(non-repeating) FRBs are caused by events which are not like giant bursts from magnetars. We simulate many different spectral indexes and make all burst energies equally probable (between 10^40--45).

FRBs are caused by magnetar giant bursts. We assume a spectral index of -0.4 is obeyed like the GC magnetar, and that a power law of burst energies is followed (there are many more faint bursts than there are bright bursts).

From my simulations at low frequency these have drastic implications for the source counts: the complex model predicts far more detectable FRBs than the optimal model.

Thank you very much for your input, I'll definitely keep everything you mentioned in mind!


Block pull requests if as long as changes are requested

We add a new lgtm/blocked state that makes sure no pull request gets merged while it still has changes requested.

I'm trying to think how to avoid what happened inhttps://github.com/go-gitea/gitea/pull/22664, it blocked the queue and was not ready for merge

Don't think it can really be automated. We could block merge by regular mergers, and admins could merge even with the lgtm bot failing (because of the block).

I understand, maybe we should sync a few PRs in the merge queue, not only the last one

Wouldn't have closed this yet. If admins want the merge block reflected in LGTM bot and are willing to forcibly merge long-blocked PRs that are ready, we could do it.
Otherwise, I guess current situation is fine. A merger should just check the blocks, ask for unblock, and if there's no response within a few days, merge.


Provide Overridable Capabilities/Render Customization

This would allow you to provide a block on the object you want to customize rendering for. NUI would then call this block (if existent) when it attempts to render the object. You could even specify a key and value in the .nss file that NUI doesn't support and then handle it in the override block. More info on this can be found here and here. The implementation for this can be found here.

Why do this on a per-object rather than a per class level? Is there any advantage over class wide renderers?
To me it seems, that if I have to touch every individual object, it provides little improvement over making the changes manually.
I think providing override/extension capabilities on a class level would be the better option.
The first approach that comes to my mind would be turning NUIRenderer into sort of a renderer manager where you could register renderers for a specific class.
I'd change NUIRenderer to provide a single renderView: method, that would choose the appropriate renderer.
You could subclass NUITextFieldRenderer:
@interface UnderlineTextFieldRenderer: NUITextFieldRenderer
@end
@implementation UnderlineTextFieldRenderer
+ (void)render:(UnderlineTextField*)textField withClass:(NSString*)className
{
    [super render: textField withClass: className];
    if ([NUISettings hasProperty:@"textfield-underline-color" withClass:className]) {
        [textField setUnderlineColor:[NUISettings getColor:@"textfield-underline-color" withClass:className] forState: UIControlStateNormal];
    }
}
@end
```

And register this renderer in a fashion similar to this:
```
[NUIRenderer registerRenderer: [UnderlineTextFieldRenderer class] forClass: [UnderlineTextField class]];
```

@Stunner what are your thoughts on this?

Appreciate your thoughts Tim. It's a good thought, however, your suggestion
causes a lot more work to be done by the end user to override a property
(in the single case). The inspiration for creating this feature came about
when my designer wanted to tweak the appearance of a custom text field
(underline text field) and I wanted a fast way to override customization on
a per-instance basis.
Your suggestion for class overridability makes sense for the custom class
case, but is not practical for an all-encompassing overridability feature.
Here is a realistic case: Let's say, for sake of argument, there is a bug
with NUI when rendering a UISwitch's background color property in a
specific view. The user should be able to set the render override block and
override that property on the object of interest. Requiring them to go
about subclassing UISwitch and then registering it with the render manager
is overkill and superfluous.
You bring up a valid point however. That this will cause potential
redundancy in the case of a custom class that is in need of styling. Your
approach makes sense in this case, but for the time being one can assign
the render override block to a variable or instance variable and assign it
to every instance of the custom object. Hopefully this will suffice until
something more elegant can be done about this case.
Considering this override feature is already a fair amount of work and
involves significant changes to the code base, I would like to hold off on
implementing your suggestion for the time being. I want to provide the
capability to override properties at the most granular level first. To
cover all bases so-to-speak. Good suggestion though. Keep the comments
coming.
On Fri, Nov 20, 2015 at 7:46 PM Tim Bodeit<EMAIL_ADDRESS>wrote:

Why do this on a per-object rather than a per class level? Is there any
advantage over class wide renderers?
To me it seems, that if I have to touch every individual object, it
provides little improvement over making the changes manually.
I think providing override/extension capabilities on a class level would
be the better option.
The first approach that comes to my mind would be turning NUIRenderer into
sort of a renderer manager where you could register renderers for a
specific class.
I'd change NUIRenderer to provide a single renderView: method, that would
choose the appropriate renderer.
You could subclass NUITextFieldRenderer:
@interface UnderlineTextFieldRenderer: NUITextFieldRenderer
@end
@implementation UnderlineTextFieldRenderer

(void)render:(UnderlineTextField*)textField withClass:(NSString*)className
{
[super render: textField withClass: className];
if ([NUISettings hasProperty:@"textfield-underline-color" withClass:className]) {
[textField setUnderlineColor:[NUISettings getColor:@"textfield-underline-color" withClass:className] forState: UIControlStateNormal];
}
}
@end

And register this renderer in a fashion similar to this:
[NUIRenderer registerRenderer: [UnderlineTextFieldRenderer class] forClass: [UnderlineTextField class]];
@Stunner https://github.com/Stunner what are your thoughts on this?
—
Reply to this email directly or view it on GitHub
https://github.com/tombenner/nui/issues/317#issuecomment-158584244.

If you already have the custom underline text field, what is there to tweak on a per instance basis? Why would you not want to apply these changes to all of the underline text fields in your app? How many of these UnderlineTextFields do you have in your app?
I do see a similar case in one of our ours. Our designer has chosen to make UITextField placeholders italic. I would estimate that we have around 20 to 40 of those in our app. Setting this custom block on every single one of them would not be practical. Currently we're crawling through the view hierarchy to make this change on every single text field. Note, that we haven't subclassed UITextField (even though that would probably have been the cleaner option, without NUI per-class custom rendering).
When there is a bug in NUI that is so easy to fix, I would expect the user to do that and file a pull request. NUI is an open source project after all.
I do get your point though: With my approach you wouldn't have to subclass UISwitch. You would only have to subclass the UISwitch renderer. And I wouldn't call subclassing a renderer to change render behavior overkill.
I would only apply this sort of styling when using multiple instances of a view. I still haven't understood, why when you only have one single object, you would need to do such changes in a NUI renderer block?
Why not just call
[textField setUnderlineColor: [NUISettings getColor:@"textfield-underline-color" withClass:className]
                    forState: UIControlStateNormal];

directly on the object?

Please have a look at cedbe2989e95be44b1be27922be498b7846caa3e on my custom-renderers branch.
I've made some changes to NUIRenderer as outlined above. Turns out these changes can actually clean up the class a bit.
Let me know what you think of this.
Note, Just in case that might not be clear: I'm not trying to take the overridability on a per-object basis away from you ;)
I'm only trying to understand your reasoning behind it, as the use case isn't quite clear to me yet.
There may very well be legitimate reasons to integrate both approaches into the framework simultaneously.

cedbe29 is also WIP.
Before this would be ready for a pull request, it would of course need some refactoring, additional test coverage for the renderer selection and a Readme update.
Also, I would probably provide deprecated versions of the unused methods I removed, just in case someone is calling them from outside of the framework.

Hi guys! I will like to help more in the project but I don't want to do something that it's being already done. What do you think if we update the Roadmap wiki section?

By that you mean adding this discussion to the roadmap? Or what exactly do you have in mind?

Because this project has been a bit abandoned I think it could be good to update the roadmap wiki section with some possible development that could be merged in the future or some that we'll like to implement.
As I said I'll like to help more but I don't know where even I've to start and it's difficult for me to have a big picture of what @Stunner and you have in your hands heh :stuck_out_tongue_closed_eyes:
What do you think?

To be honest, besides the 0.6.0 Milestone we haven't really been doing much planning so far.
I've updated the Roadmap about the next releases and added a few things where I think that contributions would be extremely helpful.
@Stunner please extend the roadmap if there is anything else that comes to your mind.

Perfect! Thanks @timbodeit

A valid use case for being able to override on a per-instance basis is as follows:
Say you have a UILabel that you want to change the font/size/line break settings (line number, word wrap mode) on based on the length of the text in the UILabel. Overriding how that given instance of the UILabel is rendered is necessary in order to achieve this level of customizability with NUI.
Additionally, in the project I was using we adopted using NUI while in the middle of development. So we would style certain aspects of the app. As a result there were some things that NUI was able to do and some things NUI wasn't rendering correctly. In that case, having the ability to customize the appearance for a certain instance really came in handy, which was a real breath of fresh air for a fast moving team. Even having the ability to tell NUI to not style a particular instance of an object is really powerful.
I admit @timbodeit's suggestion of overriding the renderer for custom objects is the more elegant solution. But I strongly prefer more control over elegance wherever possible.
The assumption that people will contribute back to this project whenever they find a bug, I feel, is an incorrect assumption. The people that actually bother to go through the motions of issuing a pull request back to the original fork is rare. In my experience most of my coworkers don't really care about giving back to the FOSS community which I feel is a shame, but is a topic for another discussion. Whenever me or my coworkers experienced an issue with a library we were using, I would make a fork, we would alter it for our purposes and merely move on. I would have to go out of my way whenever I had "free" time to bring those changes of ours up too adequate enough standards so that I may issue a pull request back to the original fork.
This is why manual overriding is beneficial for the project, even if its not the "right" way. I feel we should strive to make the library be usable above all else first and foremost. This will only gain us more users, and thus more collaborators which is beneficial for any open source project.
You do bring up good points @timbodeit and I would really like to provide overridability at two levels, the class level, and the instance level.

Say you have a UILabel that you want to change the font/size/line break settings (line number, word wrap mode) on based on the length of the text in the UILabel.

I would go about this by subclassing UILabel (overriding setText).
In my eyes, the nui renderers job is to apply the style defined in the stylesheet to an object.
We should give the user an easy way add custom attributes to the stylesheet. Overriding existing attributes is also something that the user should be able to do. If it makes sense, also on the per-object level.
Handling other changes to the view, that are unrelated to the stylesheet, is in my opinion not the job of the NUI renderer.

[...] there were some things that NUI was able to do and some things NUI wasn't rendering correctly.

Things that don't apply to the entire class but are relevant to only one single object? Can you give an example?

Even having the ability to tell NUI to not style a particular instance of an object is really powerful.

You can already do that by setting nuiClass to none.

The assumption that people will contribute back [...] is an incorrect assumption.

Let me clarify a bit: I do know, that many people do not contribute back.
What I was meaning to say is that I'm unwilling to make an additional effort on our side, so that it is easier for those people not to contribute.
Therefore a problem, that should be solved with a pull request, to me doesn't count as a positive example of why we would need customization endpoints of any kind.

You have good points. To be honest I haven't had the chance of using NUI extensively enough to be able to back my stance (with obscure edge cases). Let's go about it your way for now, and we can throw in my method later if we find the need to down the road. I personally just prefer the ability to have control over objects at a very granular level.


support deeplink navigation

Task/Issue URL: https://app.asana.com/0/488551667048375/1206775412000490/f
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#4259  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @cmonfortep and the rest of your teammates on  Graphite


Only focused panel/editor should have solid border line for active item

This is an expansion for my previously reported issue (#145563). Sometimes it is really hard to determine which part of the program has focus. Let say that we have opened the primary side bar with Open Editors and Folders, two editors in two groups, the secondary side bar with Search and the bottom panel, like this:

There are several parts of the program in this screenshot that have solid border line for the active item: two editor tabs, one bottom panel tab and one item in the Search panel. Guess which one of them has focus?
I suggest that only focused one has solid border line, and for the others to have dotted border line.

This one will be trickier to do since each area shows different states (views, editors, panels, etc.)
cc @bpasero @sbatten for ideas

I think we only have the concept of an "active thing" for editors, not elsewhere. I.e. there is always an active editor even when focus is in the explorer.

Are you referring to keyboard focus, or active view? We do have the latter concept already. Note the orange outline on the explorer view here. Any view should have that behavior even if moved to a different area.

Based on the other discussion in the other issue, it seems like this is more about the HC theme having specific issues surrounding the contrastBorder's usage since elements appear to be focused even in a resting state. E.g. the tab and terminal tabs here:

We have active and focused views. In the GH theme, we use orange for an active tab in the panel or activity bar, but we have blue for keyboard focus. In high contrast we use orange for both with different shapes, but that doesn't always translate to obvious differentiation.

Guys, thank you very much for your responses.
@daviddossett I am talking about keyboard focus. I am sorry for my ignorance, I am relatively new to VBCode. Would you please explain what do you mean by "active view"? When I open e.g. two or more editors in one group, only one of them could be "active". If I open several groups, each one of them will have one "active" editor. Is that what you call as "active view"?
No matter how many editor groups you have opened, and no matter if you have displayed the bottom panel or not, only one of them could have keyboard focus. But looking at these orange border lines in Dark High Contrast theme, it is hard to tell which one of them has keyboard focus. As you know, all high contrast themes have these border lines around tabs. If you ask me I would use them in non-high contrast themes as well, but that is just my opinion.
By the way, on that screenshot, the Search panel has keyboard focus, although both tab editors and tab in Terminal panel has solid border line.
Maybe it is problem because VSCode is using the same "focusBorder" color setting in themes for all these elements: active item in the Search panel, border line for tabs and even active matched item in the editor after search. Maybe it could help if you introduce some more color settings available for themes.
@sbatten What do you mean by GH theme? Is that GitHub? GitHub Dark High Contrast has blue border line both around tabs and around focused item in the Files/Search panels. GitHub Dark (non-high contrast) doesn't have border line around tabs; it has orange line above active tab, but that line could be defined by theme even in high-contrast themes with "tab.activeBorderTop" (that I am using in my own high-contrast theme to differentiate which group has focus).
@bpasero I am not sure that you have only "active thing" in editors. If you open e.g. Files and Search panels at the same time, next to each other, they both could have one item selected as "active", but only one of them will be focused. Or none of them, if you give focus to editor, in which case they both will have dotted line around the active item, as I mentioned in #145563.

I hacked together a quick fix that I believe mirrors the list behavior as described. Thoughts?

Active editor group, active tab:

Inactive editor group, active tab:

Thank you very much! Yes, that's it, but I cannot see from these screenshots what happens to the border line when all editors lose focus. Do you implemented my suggestion in #145563 where one active tab always has solid border line even if none editor has focus? And what about border line of the tab in bottom panel?
I don't understand about the mentioned issue with the hovered elements. It seems to me that hovering over the tabs works fine with dashed lines and maybe that thing with drag&drop would be just nitpicking.

Do you implemented my suggestion in #145563 where one active tab always has solid border line even if none editor has focus?

Yeah, this is basically that. It's only scoped to the editor groups at the moment and doesn't implement anything new for other areas like the panels.
Just so I make sure I'm understanding correctly, is this what you're looking for? I.e. the active states in each area use a dotted border if selected. Selected states for focused areas use a solid border:

That screenshot would be fine if your left group has focus and right group has hovered tab since it has dashed border.
Here is one detailed example, if you don't mind. Let say that I have two groups with editors, one bottom panel and three panels in side bars, as is the case on my screenshot.

when I give focus to the left group, its active tab should have solid border line; the active tab in right group, the tab in bottom panel, and selected files in all three panels in side bars should have dotted lines;
when I give focus to the right group, everything is the the same as in 1, except that tabs in groups will swap solid/dotted lines, as in your previous animated screenshot;
when I give focus to the bottom panel, its tab should have solid border line; the active tabs in both editor groups and selected files in side bars should have dotted lines;
if I give focus to any file in the side bars, it should have solid border line; the active tabs in both editor groups and tab in bottom panel should have dotted border line.

That screenshot would be fine if your left group has focus and right group has hovered tab since it has dashed border.

Ah, that was my mistake. It should be dotted, not dashed since it is active but the editor group is not. Your examples make sense to me and align with my thinking. Updating the screenshot for reference:

I'll wait for any other input here. As pointed out earlier I think we'll need some universal way for each area to know if it's in focus or not. I'm not sure if that's the case today but others can chime in.


Wrong background color on non square album cover in dark mode

In dark mode the non square album covers are still filled in white, leading to a strange display

Isn't it possible to to fill the empty space in transparent to avoid this kind of issue?

From what I understand of the code you use the cover from LMS that has already the white margins, so I guess there is not much you can do on las-material side...

If you double-click (or right-click and select 'Show image') on the cover in the bottom toolbar - does the image shown also have the white bars?

Yes it has the white bars.

Then it is LMS that is supplying the white bars. Nothing I can do here.

What resizing parameters are you using? LMS can render with transparent padding, but it requires the correct parameters. @werdeil can you check the same album in the Default skin to see whether you get the bars there, too?

That's odd: I checked some of my non-square album covers. But none of them would show a white border: in Default the cover would be served in its original ratio, in Material slightly cropped, to make it square:
Default:

Material:

As you can see in the second image the cover got cropped on the side. But no white border.

My full apologies to you @mherger and @CDrummond, this issue was indeed in the cover embedded on the file and not on LMS side.
I'm really sorry for that, thanks a lot for the quick replies and keep up the good work on LMS !


Artifcats when plotting SCQT results.

See here: https://github.com/jmerkt/rt-cqt/pull/4
Requires python bindings and plotting for debugging.
Testing of different sample rates and block sizes.

It's worth examination anyways, doing a proper test in python, as I never did this for the sliding implementation. The comment in my code was, if I remember correctly, because of a different issue earlier and I forgot to delete it.

I've started testing here. So far I could not reproduce your the original issue, but found some output attenuation issue when re-synthesizing:

Well that looks a lot better than my implementation :).
I've messed around a bit with using all the samples of each block as you mention in your comment.
The diagonal line on below spectrogram is from an exponential frequency sweep from 32.7032Hz to 15804.3Hz, the outer most frequencies according to getOctaveBinFreqs.
It looks great except for the part after 80000 samples. I'm not sure what's happening there but chances are it's because of some mistake from my part.

When I plotted the spectrum of a sine wave with constant frequency of 15804.3Hz the result is as I'd expect, a line at the bottom of the image.

I didn't use Pybind as I dread having to set it up, instead I wrote some extremely gross code to write the CQT results to stdout and do some text wrangling in Python.
I combined the different sampling rates by just repeating samples for the undersampled cases, which isn't exactly by the rules but it gives a nice enough result I believe.
C++
for (unsigned i_block = 0; i_block < nBlocks; i_block++)
    {
        for (unsigned i = 0; i < blockSize; i++)
        {
            double t = (i+i_block*blockSize)*(1/samplerate);

            // exponential growth from 32.7Hz to 15.804KHz: https://www.desmos.com/calculator/eff93byluq
            double f = std::pow((1+9.4398654e-5), i+i_block*blockSize) + 31.7032;

            audioInputBlock.at(i) = sin(t*2*M_PI*f);// + (t>1)*sin(t*2*M_PI*32.7032) + (t>1.5)*sin(t*2*M_PI*15804.3);
        }

        cqt.inputBlock(audioInputBlock.data(), blockSize);

        for (unsigned i_octave = 0u; i_octave < OctaveNumber; i_octave++)
        {
            const size_t nSamplesOctave = cqt.getSamplesToProcess(i_octave);
            CircularBuffer<std::complex<double>> *octaveCqtBuffer = cqt.getOctaveCqtBuffer(i_octave);
            for (unsigned i_tone = 0u; i_tone < BinsPerOctave; i_tone++)
            {
                octaveCqtBuffer[i_tone].pullBlock(cqtDomainBuffers[i_octave][i_tone].data(), nSamplesOctave);
                for (size_t i_sample = 0u; i_sample < nSamplesOctave; i_sample++)
                {
                    std::complex<double> sample = cqtDomainBuffers[i_octave][i_tone][i_sample];
                    std::cout << sample.real() << "+" << sample.imag() << "j" << " ";
                }
                std::cout << std::endl;
                octaveCqtBuffer[i_tone].pushBlock(cqtDomainBuffers[i_octave][i_tone].data(), nSamplesOctave);
            }
            std::cout << std::endl;
        }
    }

Python
nOctaves = 9

octaves = []
with open("../output.txt") as f: # output from cpp was piped to this file
    lines = f.readlines()
    octave = []
    for l in lines:
        samples = []
        if l == "\n": # next octave
            octaves.append(np.concatenate(octave, axis=0))
            octave = []
        else:
            numbers = l.strip().split(" ")
            for n in numbers:
                samples.append(complex(n.strip().replace("+-", "-")))
            octave.append(np.array(samples).reshape((1, -1)))
new_octaves = []
for octave in range(nOctaves):
    new_octaves.append(np.concatenate(octaves[octave::nOctaves], axis=1))
octaves = new_octaves # a list of arrays, each of shape (tones, samples)

composite = octaves[0]
for i in range(1, nOctaves):
    # https://www.appsloveworld.com/numpy/100/13/how-to-interleave-numpy-ndarrays
    composite = np.concatenate((np.dstack([octaves[i] for _ in range(2**i)]).reshape(octaves[0].shape), composite), axis=0)

plt.imshow(np.abs(composite), aspect='auto', interpolation='bilinear')

Thanks for your help with further looking into it!
Sine sweeps look good for me too, so I guess the forward transform is working pretty good.
I will continue debugging the backward transform.


[GUI2] Module contents editing and synchronization

Pull Request Description
Added bidirectional synchronization of module edits with language server. All document edits made by any of the Yjs peers are sent to language server to apply to the file. Any local file changes cause reload, which is synchronized back to Yjs by finding a diff.

(as usual, no real comments on architecture. i don't think there are many changes in that area here anyway)


add package scanner to repo

Codecov Report

Merging #38 (21677e4) into main (a5d58b2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #38   +/-   ##
=======================================
  Coverage   89.73%   89.73%
=======================================
  Files          22       22
  Lines         565      565
=======================================
  Hits          507      507
  Misses         31       31
  Partials       27       27

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a5d58b2...21677e4. Read the comment docs.


[Bug] az artifacts universal download fails on centos

Referencing issue from Azure CLI extension repo
https://github.com/Azure/azure-cli-extensions/issues/623

This issue happens on python 2.* versions which is not supported for azure cli. I would recommend updating the python version to 3.* which is required to run az cli universal commands. Let me know if you still see this issue.


FR: Add arrange grid actions that take into account dotted/triplet

Currently we have

SWS/AW: Toggle dotted grid
SWS/AW: Toggle triplet grid

But when these are engaged, actions like

Grid: Set to 1/2
Grid: Set to 1/4
etc...

are set to off and instead these are used:

Grid: Set to 1/3 (1/2 triplet)
Grid: Set to 1/6 (1/4 triplet)
etc...

Would be nice to have a dedicated set of SWS actions that report toggle state no matter if one uses dotted and triplet grid. Cycle actions editor can't be used here because it would need IF that looks at 3 commands, and currently it can only look at 2 commands. Maybe it can nest commands - I will probably try that approach and let you know so maybe this FR becomes moot.
It would also be nice to have a dedicated action
-SWS/AW: Toggle swing grid
so it toggles dotted and triplet SWS actions off automatically (that would make the behavior same as the MIDI editor which is much more natural than current Arrange implementation)
P.S.
When one uses Swing grid, there are no problems here. I guess Cockos should fix this on their end, but maybe someone in SWS also wants to see this fixed so sharing here

Agreed, huge +1

added in SWS v2.12.0

Woah, aweomse nofish! Any ETA for an alpha?

v2.12.0 (and later) is already out as public beta for a while. :P
https://www.sws-extension.org/download/pre-release/
It's just that this issue was still open so I closed it now.

Ah my bad. I thought this is about NextGrid()!

Incidently I've just worked on this too. :)
If you're interested in testing (which would help) grab the build from here:
https://github.com/reaper-oss/sws/pull/1449#issuecomment-722523516
and post in that issue what you find.
Thanks.

Hey nofish, of course I will test this, very happy you already released a test build this!

Oops, sorry for deleting your comment (a glitch on my side) :)

No worries 😆


[Forwardport] MachineHealthCheck Object not deleted properly

Forwardport for :https://github.com/rancher/rancher/issues/46236

Validated the issue on v2.10-b6023c4eee4114bb49b9492072b7ffec46a08a23-head

Created v1.30.2+rke2r1 RKE2 node driver cluster with Auto Replace value set to 1 on AWS for 2 machine pools(1-cp and 1-etcd).
Validated machinehealthchecks objects created for both the machine pools in local cluster.

Tested the two different scenarios of changing the Auto Replace value. All the scenarios passed for k8s v1.30.2+rke2r1. Following scenarios were tested.

Case 1 updating Auto Replace value one by one.
Case 2 updating Auto Replace value simultaneously.

Since the machinehealthchecks objects are working as expected. Closing the issue.


add support for x-oauth2 auth mechanism

as specified at https://developers.google.com/talk/jep_extensions/oauth
A mutually-exclusive auth mechanism extension api is forthcoming, if extensions don't belong in romeo

Coverage decreased (-0.8%) to 75.258% when pulling 3c708c992ba8b76f54a726f255dc7d586c51394e on jbr:x-oauth2-auth-mechanism into 64e7d373321bb1cf025079700820fc7a6a8a2f1f on scrogson:master.

Definitely interested in #21. With the changes I've proposed, I think you could take this simple bit of code and make a romeo_oauth2 package or we could just add it as an example in the README.


Submit form on enter key but the first option is selected

I'm using select2 for my website search field to search for products available on site, and i'm loading closest product based on user search term and loading products as select2 option while user typing in search field.
    var search = $(".search").select2({
    multiple: true,
    ajax: {
        url: '/api/cat/search',
        dataType: 'json',
        delay: 250,
        data: function (params) {
            return {
                q: params.term, // search term
                page: params.page
            };
        },
        processResults: function (data, params) {
            // parse the results into the format expected by Select2
            // since we are using custom formatting functions we do not need to
            // alter the remote JSON data, except to indicate that infinite
            // scrolling can be used
            params.page = params.page || 1;

            return {
                results: data.items,
                pagination: {
                    more: (params.page * 30) < data.total_count
                }
            };
        },
        cache: false
    },
    escapeMarkup: function (markup) {
        return markup;
    }, // let our custom formatter work
    minimumInputLength: 1,
    templateResult: formatRepo, // omitted for brevity, see the source of this page
    templateSelection: formatRepoSelection,// omitted for brevity, see the source of this page
    tags: false,
    maximumSelectionSize: 1,
    minimumResultsForSearch: -1,
   });

I want two functionality: 1- If user click on an option, redirect to that product page like : www.myexample.com/product/{product_id}. Achived by using
search.on("select2:select", function (e) {
$val = $(this).val();
if ($val % 1 === 0) {
    window.location = '/product/' + $val;
}
 });

2- If user press enter i want to search for user text.
$('.select2-selection').on('keyup', function (e) {
if (e.keyCode === 13) {
    var $element = $(".search"); // the element that Select2 is initialized on
    $(this).closest('form').submit();
}
});

 $('#searchForm').submit(function (e) {
    $val = $('.select2-search__field').val();
    $(this).attr('action', '/search&' + $val);
 });

The problem -

Enter key pressed before options are loaded via ajax works fine and trigger search
but If the options are loaded typically the first option is highlighted and by pressing enter search will NOT be triggered

This appears to be a usage question, rather than a bug report or feature request.  Please see our contributing guidelines.
Usage questions should be discussed on the forums instead.

i have the same issue and i am using 4.0.8, could anyone please help me to resolve the same issue.


Rubyify flattening script

https://trello.com/c/JV9rjSnw/109-look-at-making-the-flattening-script-a-more-long-term-solution-2
Based on @cbaines 's script in https://github.com/alphagov/smart-answers/pull/3131 make flattening country outcomes easier with a rake task.
Tested with recent output for Ecuador generated by original bash script, produces the same output according to git.

Thanks @kevindew, very helpful. I think I've covered your comments now.


All event handlers will be skipped when mousedown event is fired because...

... of return false
When selecting a already selected item and then focussing the
text input part of the select does not open the dropdown
Only happens on inital load.
To test go here http://brianreavis.github.io/selectize.js/ and go to the Max Items demo. Click Wyoming to select it and then directly after click inside the textfield to the right of it. The dropdown does not open. You first have to unfocus the selectize and click in it again to open the dropdown.

What browser are you using? I can't reproduce this in Chrome

I've just reproduced it using these steps on Linux with Firefox or Chrome. And on Windows with Chrome, Firefox and Internet Explorer.
To recap what I do exactly.
I open http://brianreavis.github.io/selectize.js/
Scroll down till I see the "States:" select that contains California and Wyoming.
I click once on the word Wyoming.
I click on the white space on the right next to Wyoming inside the text field.
The dropdown does not open.
When you do the same steps but don't click Wyoming once it works perfectly.

I am also experiencing this issue.  Its quite inconvenient for our users.

If you're interested, I have this bugfix tested on a wide variety of users and it works as advertised.


Ability to show diff without whitespace changes

There is an '-b' option for git diff. It's extremely useful when you are fixing code formatting. With this option you can easily notice the actual different without whitespace refactoring.

+1 here

when in diff view, how do I activate a "shortcut toggle"? I can't find this.
can't we just have -b, -w as config options? I'd also love to see whitespace ignored in status view


Issue with JP2 (JPG-2000) image

I have a couple of JPEG-2000 images that can't be converted by imgproxy. It will give the  "Source image type not supported" error.
ImageMagick converts them without any problems.
Is it because imgproxy doesn't support JPEG 2000? Or is there an issue with the images?
Here is an example of an image that will give this error:
https://www.dropbox.com/s/l9l7bi3k5t4668a/img.jpg?dl=0
And I have included more information about the file.
Any thoughts?
Thanks,
Marco
root@0a293fe0fe2f:/app# identify -verbose img.jpg
Image: img.jpg
Format: JP2 (JPEG-2000 File Format Syntax)
Mime type: image/jp2
Class: DirectClass
Geometry: 2086x2071+0+0
Units: Undefined
Colorspace: sRGB
Type: TrueColor
Base type: Undefined
Endianess: Undefined
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Pixels: 4320106
Red:
min: 13  (0.0509804)
max: 255 (1)
mean: 219.527 (0.86089)
standard deviation: 54.3338 (0.213074)
kurtosis: 1.51581
skewness: -1.81752
entropy: 0.685798
Green:
min: 8  (0.0313725)
max: 255 (1)
mean: 206.131 (0.808357)
standard deviation: 68.4111 (0.268279)
kurtosis: 1.49448
skewness: -1.82655
entropy: 0.703963
Blue:
min: 9  (0.0352941)
max: 255 (1)
mean: 200.6 (0.786667)
standard deviation: 54.8693 (0.215174)
kurtosis: 1.54437
skewness: -1.8299
entropy: 0.693616
Image statistics:
Overall:
min: 8  (0.0313725)
max: 255 (1)
mean: 208.753 (0.818638)
standard deviation: 59.2047 (0.232175)
kurtosis: 1.75247
skewness: -1.83274
entropy: 0.694459
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 2086x2071+0+0
Dispose: Undefined
Iterations: 0
Compression: JPEG2000
Orientation: Undefined
Properties:
date:create: 2020-08-20T12:30:02+00:00
date:modify: 2020-08-20T12:30:02+00:00
signature: 0f38ac08937aa7eddbdf7cbb08d0ff7111b9ac4c4cb3bcdf995cbbb3f5e6fcc2
Artifacts:
filename: img.jpg
verbose: true
Tainted: False
Filesize: 1.02961MiB
Number pixels: 4.32011M
Pixels per second: 4.90921MB
User time: 0.860u
Elapsed time: 0:01.879
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org

That's right, JP2 is not supported by imgproxy. Since libvips doesn't support JP2, the only currently possible way to load it is to use ImageMagick. I try to minimize its usage, and since I doubt that JP2 is somehow popular now, I'd rather not add its support to imgproxy.
Of course, there is always an option to add JP2 support to libvips, but I don't think it worth it.

Tx. I'll use ImageMagick as fallback.

I've hit the same problem with jpg2000 images... @mcjansen were you able to solve that with the ImageMagick included in the standard imgproxy docker container? It looks like it includes ImageMagick, but I wonder is there a setting you toggled with an env var or something to make jpg2000 images hit imagemagick instead of libvps or did you solve it with a separate image magick instance?

In my setup, all incoming images are first processed by ImageMagick. And after that processing step, they are served via imgproxy. ImageMagick is running in another container.


[SDK] Fail when using any integrations that aren't connected yet

@likawind and @hsubbaraj-spiral as lead reviewers.
Describe your changes and why you are making these changes
A couple SDK improvements in this:
The integration.describe() method now shows the status and the error if the integration failed to connect:

Methods on integrations that are decorated with @validate_is_connected() will not be allowed to be executed if the integration is not properly connected:

The same thing applies for when we set the engine of an operator to an invalid integration.

Related issue number (if any)
Loom demo (if any)
Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@likawind re-requesting review to sync on a path forward for the decorator.


New version: Cisco.CiscoWebexMeetings version <IP_ADDRESS>

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

@stephengillie Are you able to please approve this?

/AzurePipelines run

Yes - I want to run it through the pipelines again to make sure there's no SmartScreen error, but I'll make sure it goes through.

Hi @PckgrBot,
This manifest adds Apps and Features entries that aren't present in previous PR versions. Should these entries also be added to the previous versions?
(Automated response - build 582.)

Hi @,
This manifest adds Apps and Features entries that aren't present in previous PR versions. Should these entries also be added to the previous versions?
(Automated response - build 586.)


tracing: UUID -> Hex

The major open source tracing libraries/standards, including Zipkin,
OpenTracing, and OpenTelemetry are all using 128-bit hex id for traces
and 64-bit hex id for spans. So change our uuid trace/span id to hex id.
cc: @spladug @praxist

Is that essentially almost equivalent to a UUID and just changes the representation format or is it more nuanced?

For the trace id, yes (when we used uuid we have to chop off the hyphens so they are essentially just 128-bit hex)
For the span ids, they are half of what we used before in UUID version (when we used full uuid version the zipkin collector we used will chop them in half anyways).


Interactive bar animation and scrolling improvements

Task/Issue URL:
https://app.asana.com/0/856498667320406/893432868851070
https://app.asana.com/0/856498667320406/1126337473600500
Description:

Interactive animation of top/bottom bar based on the scrolling progress.
Tweaks to long press & bottom tap gesture recognizers to minimize impact on scroll responsiveness.

Steps to test this PR:
Following scenarios should work:

Hiding bars when scrolling downwards.
Revealing bars when scrolling above top of the view.
Revealing bars when decelerating toward the top.
Revealing bars when tapping on the bottom area of the screen.
Revealing bars when tapping on top of the screen.
Revealing bars on navigation.
Hiding/showing bars when zooming in/out.
Hiding disabled when web page viewport is smaller than screen (e.g: ddg lite).
'Tiny' swipes should work.
Long press contextual menu should work.

Internal references:
Software Engineering Expectations
Technical Design Template

Thanks @brindy, I've made some tweaks following your comments.


First key stroke not captured in FireFox browser

I have noticed that in firefox it does not record the first keystroke in a cell, when the cell is activated with a keystroke.  It appears to be working ok in other browsers that I have checked.

I have the same problem, and I couldn't find a solution even when I tried to edit the js file.

Still no answer ?


Adjust brightness/contrast/saturation options adjust contrast only

Adjust brightness/contrast/saturation options adjust contrast only.
Each option adjusts the contrast of the image.
For reference please see how the options work in https://pixlr.com/editor/

@rsinghal We have compared them with
https://pixlr.com/editor/ and they have some major differences. Are those tools fully implemented?


Rough flow

[ ] Write the test helper

[ ] Port all the plugins(in the order of importance) (https://github.com/coala/corobo/milestone/4)

[ ] Create all the new plugins(https://github.com/coala/corobo/milestone/5)

[ ] Topic Modelling(https://github.com/coala/corobo/milestone/6)

/cc @Udayan12167

Not important now, should be opened in gitlab.com/coala/GSoC-2017 instead


Suggestion: Customization of skills and unlocking recipes

It would be great having the ability to add custom skills through a configuration file by defining the icon from an item or potion effect and name it. Let's say for example an Alchemy skill:
Icon: "Minecraft:brewing_stand"
Name: "Alchemy"
or
Icon: "minecraft:bow"/"mod:gun" /(Night Vision effect icon)
Name: "Marksmanship"
To add more variety to skills for specific items and concepts from various modpacks.
For recipes, it would be to have an item's recipe locked behind a skill level and will only show up when the requirements are met.

With the way I coded this adding custom skills would be impossible, unless I do a complete rewrite of the whole thing, so sadly I won't be adding custom skill support. For recipes, do you mean not letting the player craft an item which is locked and can't be used by that player? If so, I could probably add that with a config option (by default it will be off).

Oh about the custom skills, there is a messy workaround - You could try to make a resource pack that replaces the icons of skills and their names in the language file. And then add those resources to the modpack with Open Loader or a resource pack.

Dear Majikdev,
Can you please tell me which name parameter need to be off ? I have the same issue and can be helpfully to disable it.
Thank you

Dear Majikdev, Can you please tell me which name parameter need to be off ? I have the same issue and can be helpfully to disable it. Thank you

Are you trying to change the appearance of skills? What part of the post are you talking about?

I refer to this post :
"With the way I coded this adding custom skills would be impossible, unless I do a complete rewrite of the whole thing, so sadly I won't be adding custom skill support. For recipes, do you mean not letting the player craft an item which is locked and can't be used by that player? If so, I could probably add that with a config option (by default it will be off)."

Ah, I see. So he added it into the mod?


chore: add wrapper for keycloak

Description
Please explain the changes you made here.
Which issue(s) does this PR fix

Fixes #?

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

This needs to be merged first: https://github.com/backstage/community-plugins/pull/1816


SEG-25

What does this PR do?
Tracks the setSiteType event based on the device: "m FOR MOBILE OR t FOR TABLET OR d FOR DESKTOP"
Are there breaking changes in this PR?
No.
Any background context you want to provide?
Earlier initialise of criteo was not setting device type.
Is there parity with the server-side/android/iOS integration components (if applicable)?
Yes, difference in device type.
Does this require a new integration setting? If so, please explain how the new setting works
No.
Links to helpful docs and other external resources
https://support.criteo.com/s/article?article=202806891-Criteo-OneTag-on-your-homepage&language=en_US

@CarlosMecha Resolved the PR comments.

Closing this PR as it's merged to upstream.


laravel5.2 composer无法下载upload的问题（后面使用的人请注意）

Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for yangyifan/upload v0.1 -> satisfiable by yangyifan/upload[v0.1].
- Conclusion: remove qiniu/php-sdk v7.1.3
- Conclusion: don't install qiniu/php-sdk v7.1.3
- yangyifan/upload v0.1 requires qiniu/php-sdk v7.0.* -> satisfiable by qiniu/php-sdk[v7.0.0, v7.0.2, v7.0.3, v7.0.4, v7.0.5, v7.0.6, v7.0.7, v7.0.8].
- Can only install one of: qiniu/php-sdk[v7.0.0, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.2, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.3, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.4, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.5, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.6, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.7, v7.1.3].
- Can only install one of: qiniu/php-sdk[v7.0.8, v7.1.3].
- Installation request for qiniu/php-sdk (locked at v7.1.3) -> satisfiable by qiniu/php-sdk[v7.1.3].
Installation failed, reverting ./composer.json to its original content.
如果出现上面部分下载的信息，解决办法，直接修改composer.json，手动加入"yangyifan/upload":"v0.1"，然后再composer update 即可。

composer require "yangyifan/upload:v0.1 这样不能下载？还是说你没有加版本号？


[AutoTVM] Merge extract_from_program to the multiple version

This PR merges extract_from_program and extract_from_multiple_program since they are basically the same so we should not maintain two functions. The major motivation is that there are some bugs/outdated code in extract_from_multiple_program that result in crash.
A unit test is added as well to cover extract_from_multiple_program.
@eqy could you review this PR? Thanks.

lgtm

Thanks. Can you help merge it?


Inline content item resolver provided an invalid HTML 5 fragment

Inline content item resolver provided an invalid HTML 5 fragment

https://github.com/Kentico/kontent-delivery-sdk-net/blob/4e28e3352577e3ee016de3c65e48a646e2775943/Kentico.Kontent.Delivery/ContentItems/InlineContentItems/InlineContentItemsProcessor.cs#L130
Check if the message can be any made more detailed. E.g. include information on whether the content was retrieved successfully.
Repro steps: clone the repo and mess up the https://github.com/alanta/Memoirs-Theme/blob/main/Resolvers/QuoteResolver.cs

With respect to Kontent.Statiq, it would be nice if this type of error can somehow be published while loading the items from Kontent so they can be reported during site generation. I'm thinking of a hook (like an event) that can be subscribed to so that errors can be reported as they occur.


conditional 'if' doesn't work with ChildrenRenderer

Problem
When using ChildrenRenderer<T> (instead of Children), then the conditional if doesn't seem to work.
Steps To Reproduce
#[function_component(Bar)]
fn bar() -> Html { html!() }

#[derive(PartialEq, Properties)]
struct FooProperties {
    pub childern: ChildrenRenderer<Bar>,
}

#[function_component(Foo)]
fn foo(props: &FooProperties) -> Html {}

#[function_component(Example)]
fn example() -> Html {
  let some_switch = false;
  html!(
    <Foo>
        <Bar/>
        if some_switch {
            <Bar/>
        }
        <Bar/>
    </Foo>
  )
}

Expected behavior
I would expect this to work the same way as with Children.
Environment:

Yew version: 0.20.0
Rust version: 1.67.1
Target, if relevant: wasm32-unknown-unknown
Build tool, if relevant: trunk

Questionnaire

[x] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

It looks like a possible workaround is to use:
#[function_component(Example)]
fn example() -> Html {
  let some_switch = false;
  html!(
    <Foo>
        <Bar/>
        { if some_switch {
            Some(html_nested!(<Bar/>))
        } else { None } }
        <Bar/>
    </Foo>
  )
}

The issue is discussed more in depth in #3256. Please continue the discussion there


[UI] - Button to Request for Demo

Current Behavior

We need a design for a button on our landing page for users to be able to request for a demo of playground.
Figma File for the design:
https://www.figma.com/file/5ZwEkSJwUPitURD59YHMEN/Layer5-Designs?type=design&node-id=15366%3A21875&t=gG1zmA4QEZZHi8XX-1

Acceptance Tests

Mockups

Contributor Guides and Handbook

🎨 Wireframes and designs for Meshery UI in Figma
🖥 Contributing to Meshery UI
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

I would like to work on this issue

Go ahead @yash37158

@yash37158 this button is required on the layer5.io landing page.

@yash37158 you can follow this figma file:
https://www.figma.com/file/5ZwEkSJwUPitURD59YHMEN/Layer5-Designs?type=design&node-id=15366%3A21875&t=gG1zmA4QEZZHi8XX-1

can somebody assign me this issue, would love to work on it

Go Ahead @ranjanmangla1

@yash37158 i wil need edit access t the figma file to able to work on this issue

Yeah you can get access for the Figma design @ranjanmangla1

Closing this issue as completed via https://github.com/layer5io/layer5/pull/4612


Remove pre-content-sync cordova.js files

This stuff is no longer needed I don't think: https://github.com/phonegap/connect-phonegap/tree/master/res/middleware/cordova
What about this hammer stuff?
➔ ack hammer
.bithoundrc
4:    "res/middleware/hammer/**",

.eslintignore
2:res/middleware/hammer/*

res/middleware/hammer/hammer.js
4: * http://eightmedia.github.io/hammer.js
11://# sourceMappingURL=hammer.min.map

spec/middleware/browser-inject.spec.js
20:    it('should not inject hammer.js', function(done) {

@timkim @surajpindoria can either of you confirm we are safe to remove both:

res/middleware/cordova stuff
res/middleware/hammer stuff

I also love how the one bit that actually does anything with hammer is a test that checks that we don't include hammer 😆

I think you are safe to remove both. I'm trying to remember what we used hammer.js for... I think it was for windows stuff.

Hammer was the old way of handling the touch events, 3/4 finger taps. I believe it was Windows


Add 'Run' + 'Explore' sections

This content is important for people and currently very hard to reach
and know about.
Preview:

This came up today in NG.learn

It would be nice if there was a link to https://run.dlang.io/ on the dlang website - preferably under Resources drop-down menu or similar.
Or is there somewhere and I am just missing it?
I have bookmarked it for myself, but it would be better for newbies if it was also easily accessible from the website.

I think that if we are to link to DFmt/DScanner/DCD, then those pages should contain a list of editor/IDE integrations (or, if not the projects' READMEs, then a wiki page listing them). But DCD etc.'s READMEs really should contain or link to a setup guide.

Fair point.
Well, IDE and editor already include links to all existing plugins, so I went with the easy way out and removed the links to formatting, linting and completion:

cc @mdparker @CyberShadow
One further idea would be to add a third button beside "Edit" "Input" "Run" called e.g. "Open Online IDE" that opens run.dlang.io with the chosen code snippet.

This came up in the NG again today<EMAIL_ADDRESS>CC @CyberShadow as this is blocked on your approval.

I was wondering whether D also has a 'reliable' source code formatter.
(reliable being a key word there).

So a point could be made for adding the links back, but let's go step by step.

One further idea would be to add a third button beside "Edit" "Input" "Run" called e.g. "Open Online IDE" that opens run.dlang.io with the chosen code snippet.

You mean like the button on the right for the snippets in Phobos?

Sure, this shouldn't be too difficult.

Sure, this shouldn't be too difficult.

https://github.com/dlang/dlang.org/pull/2239
https://github.com/dlang/dlang.org/pull/2240

Preview:

One thing to keep in mind is that the more information is put on a web page, the harder it becomes to notice / find any information on it. Ideally, information would be placed there, where users are expected to look for it. The front page may not be that place.

Fair point. For comparison with other languages, I like how well structured https://www.python.org is.

Perhaps promoting and expanding the "Tools" menu in the top navigation? While "Resources" does a sufficient job of vaguely yet encompassingly describing its menu contents, it doesn't exactly catch the eye.

Hmm, that's tricky because we can't arbitrarily add new menu items. I think we are already at the limit:

I would love something structured like the overview at the DWiki, but that's a lot more work than this PR and as everyone else seems to like the idea, I'm going ahead and merge this now.

FYI DAutoTest gives a 500 for the preview:

http://dtest.dlang.io/artifact/website-6297ccb4876888b57018018760e9a202e3e5ed19-5813c0939931340a94d86a3d43f8df25/web/index.html
(the diff is working though)
(also I'm not sure why the std.exception changes pop up in the diff now, but I assume that's because an earlier build of master failed.)

FYI DAutoTest gives a 500 for the preview:

Oops, fixed (stray git cat-file process from before a cache cleanup).


TextRenderShapeTest: test for nonzero dimension instead

As mentioned in #62 the dimension of the text has changed. So I guess it is better to check if the dimension of the text shape is not zero.

@nnamua Rebased.


Fix tile display issues with ArcGIS map  layers

Fix tile display issues for layer tiles not covering the entire tile tree and TileMap service is not available.
Derive minimum LOD from the minimum scale.
Use 'fullExtent' metadata to get cartoRange of layer when getFootPrints request doesn't include data extent.
For some reasons, ArcGIS Online  returns the content type 'image/png;charset=UTF-8' instead of 'image/png' for some tiles... tile data is perfectly valid png, but we were ignoring it.

Run ImageTests. Email @DStradley if you don't know how to do that.

Make sure ImageTests is run against your latest changes please. ("Make sure all tiles from level 1 are range checked too").

@pmconne I requested a new test run right after my commit.

@mergifyio backport release/3.2.x

@pmconne Could not find any major issue in image test.


[PeerAddressManager] Purge peers.json of IPs older than a certain date.

After we have merged the new PeerAddressManager, we need to implement a method whereby we potentially purge the peers.json file from IPs older than a certain date. Otherwise, the file will just grow indefinitely.
Revisit/Update this issue after #650 and #671 has been merged.

How is core doing, do they purge?


Fix overlay2 sub directory whiteouts

Sub directory whiteouts are not being properly created on diff for overlay2. This causes docker commit and docker build to create bad layers with ignored whiteouts and an extra aufs whiteout which is kept around. This change ensures the whiteout prefix is only set on the base file name.
Split into 2 commits, first commit adds unit test to demonstrate failure. Second commit has fix.
Closes #23863

LGTM

applying cherry-pick label, but up to @tiborvass to decide

LGTM

Isn't this breaking bisect at that commit? :/


feat: add tabContentContainerStyle

I added a tabContentContainerStyle prop, so I can align these tabs by my self

@satya164 Done!

@nervouself there are conflicts in your PR. you need to rebase against master

I'd open a new PR #687 ,Thanks!


Publish plugin to Open VSX Registry

We’re using Gitpod for development, and it uses VS Code Browser.
You can’t install directly Plugins from the Microsoft VSCode marketplace. Instead, you need to install the Plugins from the Open VSX Registry. For that to work, the Plugin creator, need to publish their Plugin to this Open source registry.
The publishing seems quite easy - the only thing is, you need to create an account there to publish: Publishing Extensions · eclipse/openvsx Wiki · GitHub
Github Action: GitHub - HaaLeo/publish-vscode-extension: GitHub action to publish your VS Code Extension to the Open VSX Registry or Visual Studio Marketplace.

Hi @mmailaender thanks for the suggestion. Here's the extension on open-vsx registry: https://open-vsx.org/extension/gencay/vscode-chatgpt. I will try to keep it in sync with the vs-code official marketplace. If I get traction here, I will consider automating it!


Implement sosreport role for log collection

Replace ci_script action with a "sos" log collector. By using industry-provided standard, we ensure that collected logs adhere to standards.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

It is not creating sos.conf file correctly. Needs further investigation.

@dasm sosreport provides an option --config-file to Specify alternate configuration file.  We can use this option and generate sos.conf during roles execution?


Fix fallback for non-mapped Unicode char on v2

Same as https://github.com/SpiderLabs/ModSecurity/pull/1609 but for ModSec version 2.

Closing this. Further details at: #1609.


Proposal: Back-to component

A 'back to...' component, to provide a link for the user to anchor to a different part of a page, intended to be used in conjunction with table of contents where the table of contents are not 'sticky' in mobile view. Thus offering an opportunity to return to the table of contents.
Acceptance criteria
Given a website user on a mobile device
When they navigate to the end of a section
Then they can return to the table of contents
Image

Use on ONS website
go template
icon
css
instantiated example

Links to #1599

Closing as duplicate of #1599


Generate an automatic implementation of TryFrom and Into for C-style enums

I would like to propose that the compiler generates an automatic implementation of TryFrom<{Integer}> and Into<{Integer}> for C-style enums. Now I don`t know if they are actually called C-style enums by the community, but I am referring to these types of enums.
enum CStyleEnum {
    Variant1 = 10,
    Variant2 = 20,
    //....
    Variant10 = 100,
}

One cool thing about C-style enums is that you can convert them to any integer type (u8,u16, etc.) using as syntax:
asssert_eq!(CStyleEnum::Variant10 as u8, 100); //this works

However, C-style enums do not auto implement the Into<{Integer}> and TryFrom<{Integer}> traits like other Integers do (i16, u16, etc.), but I think they should. Since C-Style enums are just a subset of all Integers, I think all the common methods of converting them to Integers and converting Integers to C-Style enums except converting Integers to C-Style Enums with the as keyword(example below) should be supported by the compiler.
assert_eq!(100 as CStyleEnum, CStyleEnum::Variant10); //This should NOT work,
let n1: isize = -100; // Even Though this does
let n2: usize = 100;
assert_eq!(n2 as isize, n1);

Into<{Integer}>
//an automatic implementation of Into<{Integer}> would reuse all the logic defined for the lines below
//impl of Into for C style enums
let into_num = CStyleEnum::Variant2 as u8;
let into_num = CStyleEnum::Variant2 as u16;
let into_num = CStyleEnum::Variant2 as u32;
let into_num = CStyleEnum::Variant2 as u64;
let into_num = CStyleEnum::Variant2 as i8;
let into_num = CStyleEnum::Variant2 as i16;
let into_num = CStyleEnum::Variant2 as i32;
let into_num = CStyleEnum::Variant2 as i64;
let into_num = CStyleEnum::Variant2 as usize;
let into_num = CStyleEnum::Variant2 as isize;

//look at all those automatic conversion implementations, made by the compiler, it would be
//really nice if it went the other way with Into and TryFrom
let variant = CStyleEnum::Variant1;
let into: u8 = variant.into();
assert_eq!(into, 1u8); // I would like for this to work since its logically equal to the above lines using the `as` syntax

I think The auto-impl of Into<{Itegers}> would make sense since the C-style enum explicitly states that you want states to map to some sort of number. Anyways, the most important part of my proposal in the TryFrom<{Integer}> auto-implementation.
TryFrom<{Integer}>
//it would be very, very nice to have an automatic implementation of TryFrom for this type
let try_from = CStyleEnum::try_from(100)
assert_eq!(Ok(CStyleEnum::Variant10), try_from);

//this is much less boilerplate than the following:
impl TryFrom<{u8}> for CStyleEnum {
    type Err = ();
    fn try_from(value: u8) -> Result<Self, Self::Err> {
        match value {
            10 => Ok(CStyleEnum::Variant1),
            20 => Ok(CStyleEnum::Variant2),
            100 => Ok(CStyleEnum::Variant10),
            _ => Err(()) //idk what sort of useful error you can put for this operation since there is only one point of failure
        }
    }
}

Imagine If this CStyleEnum that I`ve been reusing for these code examples has more than 3 variants, or if I had made multiple C-style enums in my codebase, it would be a real eyesore to look at all those manual TryFrom implementations, and a waste of time to write a macro for something so trivial, and probably unnecessary to bring in an external crate with a macro to implement the TryFrom for me like Strum, since the compiler already logically does this for conversions between numbers, e.g. this is What a TryFrom would look like for u8:
//logically, this boilerplate is very similar
//im sure the std does this some different way, but this is probably one of the ways it could
impl TryFrom<i8> for u8 {
    type Error = ();
    fn try_from(value: i8) -> Result<Self, Self::Error> {
        match value {
            value if value > 0 => Ok(transmute(value)) //some sort of bitshifting to turn the i8`s internal
                                                        //bits into the bits of a u8
            _otherwise => Err(())
        }
    }
}

The drawbacks of this would be if for some reason, the developer would want a different TryFrom implementation for their C-Style enum, but maybe the rust compiler could let the developer implement it themselves, like an ovveride, or instead the developer could opt-in to the compilers implementation via a #[derive(TryFrom)] for their C-Style Enum.
Conclusion
Anyways, this is just a small Quality Of Life change for Rust, which abstracts a bit of boilerplate away from the developers (us), therefore making our experience better, I think the magnitude of this change is similar to adding a (#[derive(Default)] for enums)[https://github.com/rust-lang/rfcs/pull/3107]

dk if I should turn this into an RFC or not, I was working with C-Style Enums for a DNS project and found converting from and to bytes with C-Style Enums to be far too much boilerplate for the complexity of the logic defined by them.

sounds good as long as you have to opt-in, e.g. via #[derive(Into, TryFrom)]

for reference OP submitted an actual RFC at #3604.

Why do we specifically want Into and TryFrom instead of a dedicated, probably auto trait for these conversions (like the safe-transmute APIs)?

well, for one, those dedicated traits are already proposed in other RFCs 🙃 (AsRepr, FromRepr @ rust-lang/rust#86772 ← #3040, #3046, not yet implemented)