FtpCommandException: Code: 550 Message:  Unable to find file

FTP OS: OS/400
FTP Server:  IBMOS400FTP
Computer OS: Windows 11
FluentFTP Version: 40 / 41
Framework: .NET 6
Hi - it seems there is an problem when an FTP Server contains files which contains whitespaces. See screenshot:

Donwloading the files results in an exception, while the real problem is that the ListItem does not contain the correct name, see screen:

var listing = client.GetListing();
var listItem = listing.FirstOrDefault(l => l.Name.StartsWith("B0001417017"));   // but real name is B0001417017 J
if (listItem != null)
{
client.DownloadBytes(out byte[] data, listItem.Name);
FtpCommandException: Code: 550 Message:  Unable to find file /kundenftp/ku0021250/download/B0001417017
Logs :
AutoConnect()
AutoDetect(True, False)
Connect()
Status:   Connecting to ***:21
Response: 220-QTCP at holter.ad.holter.at.
Response: 220 Connection will close if idle more than 5 minutes.
Status:   Detected FTP server: IBMOS400FTP
Command:  AUTH TLS
Response: 431 Requested security mechanism not available at this time.
Command:  USER ***
Response: 331 Enter password.
Command:  PASS ***
Response: 230 KU0021250 logged on.
Command:  FEAT
Response: 211-Feature listing follows:
Response: AUTH TLS
Response: AUTH GSS
Response: CCC
Response: PBSZ
Response: PROT
Response: ADAT
Response: ENC
Response: MIC
Response: CONF
Response: 211 End of feature listing.
Status:   Text encoding: System.Text.UTF8Encoding+UTF8EncodingSealed
Command:  OPTS UTF8 ON
Response: 501 OPTS unsuccessful; specified subcommand not recognized.
Command:  SYST
Response: 215  OS/400 is the remote operating system. The TCP/IP version is "V7R4M0".
Status:   Listing parser set to: IBMOS400
SetWorkingDirectory("/kundenftp/ku0021250/download")
Command:  CWD /kundenftp/ku0021250/download
Response: 250 "/kundenftp/ku0021250/download" is current directory.
GetListing(null, Auto)
Command:  PWD
Response: 257 "/kundenftp/ku0021250/download" is current directory.
Command:  TYPE I
Response: 200 Representation type is binary IMAGE.
OpenPassiveDataStream(PASV, "LIST /kundenftp/ku0021250/download", 0)
Command:  PASV
Response: 227 Entering passive mode (212,183,28,50,77,81).
Status:   Connecting to ***:19793
Command:  LIST /kundenftp/ku0021250/download
Response: 125 List started.
+---------------------------------------+
Listing:  MARKUSP          8192 22.10.03 20:24:41 *DIR       datanorm/
Listing:  SICHERN           319 22.09.20 17:00:58 *STMF      B0220920.001
Listing:  SICHERN           319 22.09.20 17:08:41 *STMF      B0220920.002
Listing:  SICHERN           319 22.09.21 04:37:36 *STMF      B0220921.001
Listing:  SICHERN           319 22.09.21 04:37:36 *STMF      B0220921.002
Listing:  SICHERN           319 22.09.21 04:37:37 *STMF      B0220921.003
Listing:  SICHERN           319 22.09.21 04:37:37 *STMF      B0220921.004
Listing:  SICHERN           461 22.09.21 11:21:11 *STMF      B0220921.005
Listing:  SICHERN           502 22.09.21 11:56:49 *STMF      B0220921.006
Listing:  SICHERN           685 22.09.21 16:16:18 *STMF      B0220921.007
Listing:  SICHERN           502 22.09.22 04:37:04 *STMF      B0220922.001
Listing:  SICHERN           319 22.09.22 04:37:05 *STMF      B0220922.002
Listing:  SICHERN           461 22.09.22 04:56:42 *STMF      B0220922.003
Listing:  SICHERN           318 22.09.22 07:41:14 *STMF      B0220922.004
Listing:  SICHERN           460 22.09.22 07:41:15 *STMF      B0220922.005
Listing:  SICHERN           649 22.09.22 09:15:42 *STMF      B0220922.006
Listing:  SICHERN           318 22.10.04 14:11:30 *STMF      B0221004.018
Listing:  CHRISTOPHJ       1239 22.09.22 17:32:36 *STMF      B0001386562
Listing:  SICHERN           649 22.09.23 04:40:10 *STMF      B0220923.001
Listing:  SICHERN           319 22.09.23 09:59:56 *STMF      B0220923.002
Listing:  SICHERN           319 22.09.23 14:18:47 *STMF      B0220923.003
Listing:  SICHERN           318 22.09.26 04:33:47 *STMF      B0220926.001
Listing:  SICHERN           319 22.09.26 04:33:47 *STMF      B0220926.002
Listing:  SICHERN           319 22.09.26 04:33:47 *STMF      B0220926.003
Listing:  PIERRED          3815 22.09.26 10:08:34 *STMF      B0001417017 J
Listing:  SICHERN           321 22.09.26 13:31:10 *STMF      B0220926.004
Listing:  MAVE             6204 22.09.27 17:05:58 *STMF      B0001408836

@noxe Send me an email at<EMAIL_ADDRESS>

I sent you what to do...

sorry - dont understand - what do you mean?

ah sorry - you mean the "  client.Execute("SITE LISTFMT 1");"
i did not thought about that this would be the same issue - because the other one was about the directory name.
just testet it - and using SITE LISTFMT seems to work also here!

You should have gotten an email with my email contact info

@noxe<EMAIL_ADDRESS>


What's WeChat

WeChat is a free messaging and calling app that connects over a billion people around the world. It is available on iOS, Android, Windows, and MacOS. With WeChat, you can enjoy features like group chats that support voice and video calls, sharing photos, videos, and stickers. It also offers additional functionalities such as social media, mobile payment, and more.


How would you use this in Rider?

Are there any specific instructions, or should I just use ubik in this case?

Hi there @retendo, unfortunately there is no Rider support 😞 I would love to implement one but I haven't had to time to investigate building those (Rider plugins are entirely different beasts) so for Ubik is the way to go 💯


Gatsby netlify upgrades

Update to Gatsby 3.
We apparently used an outdated version of gatsby when we first started this project, and it hasn't been an issue until storybook brought some newer dependencies like webpack 5. The storybook additions have been pushed to another branch.
This change brings significant loading time and performance improvements, an overhauled image plugin, improved graphql handling.
Fixes breaking change of fmImagesToRelative preprocessing in the gastby build stage, cleans several warnings, and ensure styling is properly rendered in previews.

Confirmed working with promo codes, google ads, and completed signup when directed to staging.


Add slice

Adding a slice kwarg to Eiger Handler. backwards compatible.
This is to satisfy a new mode we are trying in the acquisition from EIGER detectors.
dscan_manual([eiger4m_manual], start, stop, num, steps)

The problem is that currently, for every point in a scan, two files are generated:
-rw-rw-r--  1 softioc chx  88K Apr 26 13:49 db283daf-7526-4aa1-9399_830_data_000001.h5
-rw-rw-r--  1 softioc chx  87M Apr 26 13:49 db283daf-7526-4aa1-9399_830_master.h5

The first contains data but the second is overhead involving information on the detector.
Thus to read a file, all a handler needed to know was the file prefix and sequence number (i.e. "830").
Now, a dscan saves all events in the same hdf5 linked file group (i.e. we only have one 'master' file per set of events now). This requires a new keyword argument, the slice number which I define to be image_slice effectively done here.
I could have written two separate handlers but since there are almost no differences, I've combined them into one. I have however, added a new handler spec named AD_EIGER_SLICE just in case.

Works on this:
from databroker import Broker
from eiger_io.fs_handler import EigerHandler

db = Broker.named("chx")

db.reg.register_handler("AD_EIGER2", EigerHandler)
db.reg.register_handler("AD_EIGER_SLICE", EigerHandler)

uid_manual = 'eab6ec58-864d-46af-8c29-67005de840b0'
uid_normal = '57ada663-a663-4cf6-8667-daaf7b7744e6'

imgs_manual = db[uid_manual].data('eiger1m_manual_image')
imgs_normal = list(db[uid_normal].data('eiger4m_single_image'))[0]

changed image_slice naming to frame_num. Also had to change CHX profiles here.


tag proposal: podcast:rerun

Apologies in advance if this is not how it is done - nothing worse than management trying to be hip amongst the coders.
As an avid listener, I think the most irritating moment is when you start your podcast app, get on the road and realise another bloody rerun has been added to your feed. Now I'm on my bike and forced to waste time listening to something I know rather than learning something new.
If episodes could be tagged "rerun" and a podcatcher could learn to ignore those...well that would be sweet :).

I, too, get annoyed by reruns unless I never heard the original. For example, the late Ask Me Another did some reruns that were only a few months old and I hated that because I knew those episodes. But their feed doesn't go very far back, so when they did a rerun from a couple years ago, it was completely new to me and I did enjoy that one.
Do you think a rerun indication should include a date? This could allow a podcast app to ignore all reruns newer than N years.

I like this idea. It’s nice to have binary flag type indicators in the items like this that do simple things to make the app behave better. Love it.

Re-runs traditionally get lower listenership anyway, so curious why we might want to make that more so for the podcaster, by giving apps the chance to suppress them.
Let's say I use a podcasting app that won't display a re-run if I've listened to the original episode. If as a listener, I expect my podcast episode each Thursday ... won't I be confused when I don't see one?
Thinking through use cases here. I'm also wondering if this just couldn't be solved by seasons/episodes not just being numerical values.

Let's say I use a podcasting app that won't display a re-run if I've listened to the original episode. If as a listener, I expect my podcast episode each Thursday ... won't I be confused when I don't see one?

Yes, I can see the potential confusion there. It could be grayed out, marked as a rerun, and not auto-downloaded.
But thinking about your work with NPR, I think you might really want the ability for listeners to skip reruns if they want, because it would result in more accurate ad stats.
Take me, for example. My Overcast is set to auto-download all new episodes. But when I see by the title or hear in the intro that the episode is a recent rerun, I delete it without listening further. I was counted as a listener, but I didn't listen at all. Thus, the consumption and ad stats would be inaaccurate.

Of course, ads are normally different in a rerun than a first-play and there are other reasons for publishers to rerun. I enjoyed a rerun recently from Freakonomics Radio - but to me, it wasn't a rerun, just a new episode I'd not heard before. It was accompanied by a new introduction setting it in context, too.
Now, I guess can see the argument for:
<podcast:rerun guid="https://example.com/this-guid-for-the-original-episode" />
....where an episode that is materially the same as a previous one could be marked as a rerun. A pod-catcher would note that I've already listened to the original episode, and therefore mark this as listened-to only if I've listened to the original episode. It would also not auto-download it. Or perhaps it might just mark it as "This is a re-run of a show you heard in July 2018". As a listener, that might be quite good.
But, I can also see a conversation with a publisher going like this:
"So, you want me to spend development time on this, and then you want me to add an additional piece of production workflow, so that... we can earn less money and get fewer downloads?"
I would also suggest that relatively few podcast publishers do reruns: so I'm not sure this is good value for effort.
(On a wider thought - wouldn't it be good if a wiki-style index allowed me as a listener to tag this show as a rerun? Or allowed me to tag this show as being "about chickens" or "funny" or "features Ben Affleck", even if the original podcast publisher couldn't be bothered? So we end up with an additional layer of data for all podcast episodes.)

I really like @jamescridland's GUID suggestion!
But I also agree that, while nice, I think this could be a DOA feature, unfortunately.

(On a wider thought - wouldn't it be good if a wiki-style index allowed me as a listener to tag this show as a rerun? Or allowed me to tag this show as being "about chickens" or "funny" or "features Ben Affleck", even if the original podcast publisher couldn't be bothered? So we end up with an additional layer of data for all podcast episodes.)

Yes, that would be nice, but there would need to be a some moderation. Otherwise, liberals could mark conservative podcasts as misinformation or disinformation, and conservatives could do the same to liberal podcasts. Any kind of crowd-sourced tagging would have to be only suggestions. Otherwise, it's opening up to abuse (malicious or spamming).


'SeleniumScreenshot' object has no attribute 'css'

Hi, I tried using table_converter = 'selenium' and received the following error:
'SeleniumScreenshot' object has no attribute 'css'
The error is coming inside the def run(self, html) block. I had copy pasted the code in the _screenshot file that was posted by @wosantos95 for exporting table images using selenium. @waterbear1996
Any help with this would be appreciated. Thanks.
Originally posted by @ksaxena26 in https://github.com/dexplo/dataframe_image/issues/79#issuecomment-1523369991

@ksaxena26 please give me a minimal test case for this issue and I'll deal with it.

test_data.xlsx
screenshot py alt code.txt
def format_table(styler, dataframe, colmap, colmap_vmax):

    styler.format(formatter = lambda x: "{0:.2f}%".format(100*x), na_rep='', precision = 0)
    styler.format(formatter = lambda x: "{0:.2f}".format(x), subset = 'Disb Amount', na_rep='')

    styler.background_gradient(cmap = colmap,
                               axis = None,
                               vmin = dataframe.iloc[:, 1:].min().min(),
                               vmax = colmap_vmax)

    styler.set_properties(subset = 'Disb Amount', **{'background-color': 'white',
                                                     'color': 'black'}, overwrite=False)

    styler.set_table_styles([{"selector": "th", "props": "line-height: 8px;"},
                             {"selector": "td", "props": "line-height: 8px; padding: 0.5"},
                             {'selector': 'td', 'props': 'text-align: center; font-size: 11px;'},
                             {'selector': 'th', 'props': 'font-size: 11px;'},
                             {'selector': 'th', 'props': 'column-width: 50px'},
                             {"selector": "th", 'props': "background-color: white; text-align: center"},
                            ], overwrite = False)

    styler.set_table_styles({'Disb Amount':[{'selector':'td', 'props':'font-weight: bold;'}]
                            }, overwrite=False)

    styler.highlight_null(null_color='white')

    return styler

test_data = pd.read_excel('test_data.xlsx', index_col=0)
test_data.index = test_data.index.strftime("%b'%y")
styler_obj = test_data.style.pipe(format_table,
                                  test_data,
                                  'RdYlGn_r',
                                  0.27)

dfi.export(styler_obj, 'styled_table.png', table_conversion="selenium", max_rows=-1)

The error comes at the last line in dfi.export. I have also attached the screenshot.py file that I am using.

This is a problem with your modified code.
If you move to official version which already support selenium, it works well.

BTW, I suggest latest matplotlib converter released in v0.1.11,
dfi.export(styler_obj, 'styled_table_mpl.png', table_conversion="matplotlib")

This warning is all right, matplotlib is a re-implemented and simulate way of html to image and very limited css properties are supported.
But it works very well in most case.


feat: allow adding annotations to ServiceAccounts

This PR fixes #425
Checklist

[x] I have signed the CLA
[x] I have updated/added any relevant documentation

Description
What's the goal of this PR?
This PR allows to add labels and annotations to ServiceAccounts created and managed by rbac-manager.
What changes did you make?
The changes include:

an API extension to allow labels and annotations optionally
parser and matcher changes to pass the metadata to the created objects

What alternative solution should we consider, if any?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Christian A. Wolf seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@sudermanjr can you please reopen this PR and the issue #425 ?


how does the create work

i do not understant how the create in the docs work im rendering a node wich is a folder and i have an icon to add a file and one to add a folder i want when i click on one it redender an input where the user can add his name but i cant find a way to do it the shortcuts with the a key dont work either can someone please explain to me how

so lil update if someone need it so in order to access to the default create we need to provide an initial data not date= but if ur like me and have to use data i have a solution maybe if u need it  : so the idea is when on create i add an object to my data with id named temporary and then i get the node from the tree where id is temporary and put it in edit mode so like this the input will be triggered then on submit u will in fact rename the object with the name that the user provides and with the real id  if someone have a question  im here <3 good luck


[BUG] Incorrect path for files in sub-folder

Describe the bug 🐛:
First of all, thank you for your great library! Been using this for almost a year and it's been really helpful!
But while testing I realized that there's a bug for the files in a sub folder. No issue with files that are not in a folder.
To Reproduce:

I added "Test.doc" in Download/testing
handlePath OZ returned an incorrect path: /storage/emulated/0/Download/Test.doc

Expected behavior:
Returned path should be:
/storage/emulated/0/Download/testing/Test.doc
Screenshots:

Smartphone (please complete the following information):

OS: Samsung s22+, Android 12, Target SDK: 32
HandlePath OZ version: 1.0.7

Additional context:
Note that there's no issue with local files that are not in any sub-folder. Cloud files work fine too.
I think have something to do with "msf". Underlined in red have the issue, the rest are working fine:

Hello, sorry for the response time, unfortunately I didn't have more time to work on this project. Thank you for the feedback and for showing interest in it.
If you are still using it, feel free to make any changes to it.


Use a local JSX namespace

Starting with TypeScript 2.8 it is possible for modules to have a locally scoped JSX namespace. This allows using different JSX implementations in a single project.
Right now it is not possible to use jsx-dom and React together, as the type definitions for both put JSX into the global scope. This PR enables that particular use-case. (@types/react still uses the global scope, but it is enough if one implementation doesn't.)
As an example, preact also migrated to a locally scoped JSX namespace a while ago.

@dmitri-gb Thanks a lot!

Published as 7.0.0-beta.4.


Deprecation Warning when using as npm module

the dependency babel-preset-es2015 as been deprecated, more info here.
Anyone importing gl-matrix via npm modules, will be importing the src as specified on package.json "module" property ("module": src/gl-matrix.js)
This causes a warning in the terminal console. not breaking change, but creates some annoyance to some users.
Should be an easy fix to substitute the babel-preset-es2015 to the new babel-preset-env.
Creating a PR shortly

PR at https://github.com/toji/gl-matrix/pull/268

Did anyone had a chance to review this?


New disable_all_formatting config option

This pull request adds a new Boolean configuration option called disable_all_formatting, which causes rustfmt to skip all formatting in all files.
This option could be useful for someone who:

Has configured their text editor to automatically run rustfmt when saving a Rust source file, and,
Is editing source files in a Rust project that's not set up to use rustfmt.

Currently, in that scenario, the programmer will often inadvertently format lots of Rust code—even code unrelated to what the programmer is working on. The programmer must then undo all the formatting changes while keeping their intended changes.
Whereas, with the new disable_all_formatting option, the programmer can drop this .rustfmt.toml into the project's top-level directory and avoid formatting unrelated sections of code.
disable_all_formatting: true

At the risk of piling onto this one, I just wanted to say that I've run into this problem a few times now, and was mildly astonished that no current resolution exists.
I've enabled Rust.vim with let g:rustfmt_autosave = 1, which works fine for my own projects or any others that have a rustfmt.toml. However, when I come across a project not setup for rustfmt, there doesn't appear to be any way to avoid accidental reformat-the-world situations except for me to reconfigure Rust.vim. The proper course of action is probably to convince the project owner to support rustfmt, but it'd be nice to have an escape hatch to temporarily avoid having to shave that yak by just creating a local rustfmt.toml with a disable directive in it. I came here thinking to submit a PR for it, but it turns out that this timely one was already here.
Onto the color of the shed: the naming of disable_all_formatting seems to be a little redundant given that you're already tweaking an option in rustfmt.toml and we know that rustfmt's raison d'être is formatting. Something more succinct like just disable might be enough.

Does anyone else have an opinion about the config option name? @brandur recommends shortening it from disable_all_formatting to disable. Either is fine by me.

Thanks for the changes!
I don't think either name for the option is ideal, but I can't think of a better one.

FWIW, I don't feel too strongly about it either. If no one feels too strongly one way or the other, I'd defer to the author of the patch.


Should switch statements be used over union types with different members?

Consider this example:
/* @flow */

type Breakfast = { timeEaten: "morning", toastSlices: 3 };
type Lunch = { timeEaten: "afternoon", sandwiches: 1 };
type Dinner = { timeEaten: "evening", potatoes: 5 };

type Meal = Breakfast | Lunch | Dinner;

// 1
function getFoodAmount(meal: Meal): number {
  if (meal.timeEaten === "morning") {
    return meal.toastSlice;
  } else if (meal.timeEaten === "afternoon") {
    return meal.sandwiches;
  } else if (meal.timeEaten === "evening") {
    return meal.potatoes;
  } else {
    return 0;
  }
}

// 2 ???
function getFoodAmount2(meal: Meal): number {
  switch (meal.timeEaten) {
    case "morning":
      return meal.toastSlices;
    case "afternoon":
      return meal.sandwiches;
    case "evening":
      return meal.potatoes;
    default:
      return 0;
  }
}

// 3 ???
function getFoodAmount3(meal: Meal): number {
  switch (meal.timeEaten) {
    case "morning":
      return meal.toastSlices;
      break;
    case "afternoon":
      return meal.sandwiches;
      break;
    case "evening":
      return meal.potatoes;
      break;
    default:
      return 0;
  }
}

(1) works as expected
(2) fails with the following error:

12:      	return meal.toastSlice;
                      ^ property `toastSlice`. Property not found in
12:      	return meal.toastSlice;
                 ^ Breakfast

(3) fails with the following error:

41:         	break;             ^ unreachable code
44:         	break;             ^ unreachable code
47:         	break;             ^ unreachable code

I understand why 2 and 3 fail, but it does mean that without $FlowFixMe statements, I can't think of a way of using a switch statement in this type of scenario.
This type of scenario might occur when typing a redux reucer. The official docs demonstrate using a switch statement without error: https://flow.org/en/docs/react/redux/#toc-typing-redux-reducers
Is there a way of rewriting the above code to use a switch statement without errors? Or should I just stick to a big if statement here? Thanks!

Derp, typo'd.


Improvements in SNe handling

For sncosmo and snana objects

fix cache handling
report error when mjd is None

@jchiang87 Code to handle NaNs in the mag correction arrays have been added.  This PR is ready for review.

The gaia CI test is failing because load_collection is being called with the skycatalog argument left at its default value of None, and I added code in BaseObject to use the logger instance created by instances of SkyCatalog.  I don't think that should be allowed (None for skycatalog argument) but at the moment it's not being enforced.
I can take that code out of BaseObject and put in SnanaObject, which is the only place it's needed currently, but I'd rather update test_gaia_objects to call load_collection with a real SkyCatalog instance (and also modify load_collection to complain when that argument is None).

I've added the warning for missing mjd to SnanaCollection.init( )
Do you think it's necessary for Sncosmo as well?  For something which people are unlikely to use?  It's a little more work since there is no SncosmoCollection class yet, but doable if you think it's necessary.
With that possible exception all issues you raised have been addressed.

Ready for review


⚠ Jenkins Plugins Artifactory has degraded performance

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

HTTP code: 200
Response time: 1376 ms

Resolved: Jenkins Plugins Artifactory performance has improved in bd63756 after 25 minutes.


Issue with module augmentation seems to be happening again

Environment

Operating System: Linux
Node Version:     v20.13.1
Nuxt Version:     3.12.2
CLI Version:      3.12.0
Nitro Version:    2.9.6
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
You can simply clone this repository, open in VS code and navigate to playground-authjs/pages/index.vue and mouse over on auth key. The type is not correctly augmented.
Describe the bug
The MiddlewareMeta is not recognized by definePageMeta macro. This issue happened in the past and it is happening to me now.
The modification that was made here does fix the issue: #397 but it was rolled back by @danielroe here #582
I have this issue on other modules as well and augmenting from #app/../pages/runtime/composables does work.
@danielroe, do you mind trying again the latest version of this repo?
using #app

using #app/../pages/runtime/composables

Additional context
No response
Logs
No response

It would be a good idea to add a type test to this repo if this is occurring, to ensure it doesn't happen in future.
I suspect the issue is that rightly or wrongly we are augmenting it in Nuxt like this:
https://github.com/nuxt/framework/pull/2858/files#diff-df395205486536ffc90235a4d30334e7d53ea5519d778996ac209cdc5e26a53dR106
I can investigate whether we can update this in Nuxt to augment PageMeta from #app instead. Would you provide a minimal reproduction outside of this repo (without using sidebase auth), and raise it in https://github.com/nuxt/nuxt directly? 🙏

@danielroe I will open a repro, thank you.

Hi @trc-mathieu
Thanks for (re) opening an issue for this! I would love to follow along with the issue created in the Nuxt repo and then follow-up and fix the issue in our module based on the outcome.
Otherwise, we can always revert the change to ensure the types work correctly again, but I would propose to wait and bit and see if any news happen 🤗


gcc compiler incorportated into Cano

works wonderfully, however currently it is just running once, so it does not constantly check for any changes in the files, returns any errors into error.txt, and the return code into success.txt

Thanks!


sudo apt-key add - is being deprecated

Hello Team! sudo apt-key add - is being deprecated and if you follow along with your documentation you will get warnings when doing so on Debian based systems.
Please find the now current method using 3rd Party docs here: https://wiki.debian.org/DebianRepository/UseThirdParty

Justin

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

ID: 25943cc5-9927-5ca7-b9db-4c1d398726c5
Version Independent ID: ae5bf48b-26cf-b5c8-22c8-68fa9a70258f
Content: Linux Software Repository for Microsoft Products
Content Source: WindowsServerDocs/administration/Linux-Package-Repository-for-Microsoft-Software.md
Product: windows-server
Technology: administration
GitHub Login: @victorcheng7
Microsoft Alias: wscontent

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


PHP ^8.0 Compatibility

This PR includes support for PHP >= 8.0, resolving all type errors and deprecation warnings.
This is not compatible with < 8.0 and I’m not really sure it should be.  Firstly, the mixed type isn’t supported in versions prior to 8.0, and 8.1 has strictly typed interfaces that require the mixed return type.  We’d have to implement a custom namespaced shimmed interface instead of the core interfaces, update any logic that is typed or checking for instances of this interface, and then hope there aren’t any other side-effects in user-land from reliance on those interfaces.
I should further add that PHP 7.3 is no longer receiving security updates - it's unmaintained.  And, 7.4 will be unmaintained next year.
It appears evident that there is a lot of nullable behavior tied to business logic throughout the lib.  It's quite unfortunate.  I was able to strictly type and enforce in many places.  However, in others, there were some business logic decisions that had to be made.  And without greater knowledge of how some of these classes are instantiated and used, these decisions were typically permissive.
I’ve gone ahead and conformed with your code-sniffer rules @dereuromark.  I will say though, I disagree with the requirement to include a docblock with PHP 8.1.  Going forward, now that we have support to fully type a function, they are self documenting.  If a function doesn’t require additional comments, for the function - itself, it’s arguments, return value, throws, etc - a docblock shouldn’t be required.
This PR actually took significantly more time than I expected.  There were a lot of little things, especially to get all the tests passing.
The docs need updating to make clear only PHP 8.0 and greater is supported.  I didn’t see them in the repo.  It’d be nice to have the docs in the repo with a static site generator.  I’ve used docusaurus on other OSS libs.
Closes #1795

Isn't it a bit too early for this?
Propel was always a bit more on the conservative side of PHP dependency to allow also older projects to still be compatible with latest release.
So at this time, we are PHP7.3+ but we could discuss to at least keep the latest minor of 7.x, so PHP7.4+ maybe.
One more release at least here, and in a few months we could still discuss 8.0+ then?

Isn't it a bit too early for this? Propel was always a bit more on the conservative side of PHP dependency to allow also older projects to still be compatible with latest release. So at this time, we are PHP7.3+ but we could discuss to at least keep the latest minor of 7.x, so PHP7.4+ maybe. One more release at least here, and in a few months we could still discuss 8.0+ then?

@dereuromark I have no problem with continuing to target ^7.4.  Do you have suggestions on how that's going to be achieved though?  I outlined the issue in the original comment:

Firstly, the mixed type isn’t supported in versions prior to 8.0, and 8.1 has strictly typed interfaces that require the mixed return type. We’d have to implement a custom namespaced shimmed interface instead of the core interfaces, update any logic that is typed or checking for instances of this interface, and then hope there aren’t any other side-effects in user-land from reliance on those interfaces.

We will not be able to add any such types, thats fine though.
We can do that once we cross that bridge, it should be still before declaring a stable version so that we can actually add this in semver compliance.

@dereuromark here is an example.  Maybe I'm missing something here.
https://www.php.net/manual/en/class.iterator.php
As you'll notice, this interface for PHP 8.1 requires a mixed return type.  In order for classes that implement this interface to be compatible, they must also implement this return type.  However, the mixed return type wasn't introduced until 8.0.

Yes, but since we do 7.4+, you can just omit impossible types.

@dereuromark when you say use attributes, are you suggesting an attribute or an annotation?  I haven't used attributes yet, as we're just upgrading to PHP 8, ourselves.  I'm not aware of how you'd use an attribute to declare a return typing for a method.  Do you have any info on that?
As for an annotation, no - that won't work b/c PHP doesn't parse annotations, they're just comments.

See this
Only that it should be using FQCN, so #[\ReturnTypeWillChange]

@dereuromark I see - thanks.  I'll give it a go, targeting ^7.4 for this PR.  Is there anything else preventing this from being merged in?

Codecov Report

Merging #1805 (09a72be) into master (c15e360) will decrease coverage by 19.31%.
The diff coverage is 63.63%.

@@              Coverage Diff              @@
##             master    #1805       +/-   ##
=============================================
- Coverage     87.85%   68.53%   -19.32%
- Complexity     7817     7838       +21
=============================================
  Files           281      281
  Lines         22712    22189      -523
=============================================
- Hits          19953    15208     -4745
- Misses         2759     6981     +4222

Flag
Coverage Δ

5-max
68.53% <63.63%> (-19.32%)
:arrow_down:

7.4
68.53% <63.63%> (-19.32%)
:arrow_down:

agnostic
68.53% <63.63%> (-0.01%)
:arrow_down:

mysql
?

pgsql
?

sqlite
?

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

Impacted Files
Coverage Δ

src/Propel/Common/Config/Loader/IniFileLoader.php
94.23% <ø> (ø)

src/Propel/Common/Config/XmlToArrayConverter.php
100.00% <ø> (+6.89%)
:arrow_up:

src/Propel/Generator/Manager/MigrationManager.php
0.00% <0.00%> (-95.59%)
:arrow_down:

src/Propel/Generator/Manager/ReverseManager.php
0.00% <0.00%> (-72.23%)
:arrow_down:

src/Propel/Generator/Model/Database.php
67.32% <ø> (-5.29%)
:arrow_down:

src/Propel/Generator/Platform/SqlitePlatform.php
57.47% <0.00%> (-35.52%)
:arrow_down:

...rc/Propel/Runtime/DataFetcher/ArrayDataFetcher.php
0.00% <0.00%> (-88.00%)
:arrow_down:

src/Propel/Runtime/Util/PropelModelPager.php
0.00% <0.00%> (-65.63%)
:arrow_down:

...c/Propel/Runtime/Collection/CollectionIterator.php
7.50% <4.54%> (-49.26%)
:arrow_down:

...c/Propel/Runtime/Collection/OnDemandCollection.php
10.52% <20.00%> (-52.64%)
:arrow_down:

... and 179 more

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 c15e360...09a72be. Read the comment docs.

@dereuromark Let me know if anything else is needed.

@mringler What do you think?
I think the changes look good so far and show a general improvement towards the type safe future we would like to see.
A good first step - of many to come.

Any second review please? So we can move forward?


Order methods by the call order

Class based views appear to call methods in a particular order. The link below shows a 'method flowchart', which makes it easy to understand CBV.
https://docs.djangoproject.com/en/1.8/ref/class-based-views/base/
Could you please consider ordering methods in CCBV.co.uk in the order they are called prior to rendering the view?
Thanks.
PK

Hi @polarise,
That's an interesting idea, thanks. Our original plans for the site included graphs with this information, but we never really managed to come up with something workable.
I don't know how we could get that information using our current method of code inspection. We could of course populate the DB by hand, but I can't help but feel that that would be both time consuming and error prone. Perhaps there's a way that we could automate getting the information from the django docs with intersphinx (as we do for the documentation links)?
I am a little concerned that the "method flowchart" for View only lists three of the six methods we have listed on ccbv.

Yes, evidently the method flowcharts are incomplete. In fact, there aren't any method flowcharts for the other more complex views (otherwise I wouldn't have made this request).
Thanks for your reply, anyway.

A method flowchart would assume a linear flow through the methods, which there is not. I'm not convinced there's much merit. If you can draw an example of what it should look like then great.


[release/v1.7] Remove changelogs not related to v1.7

What this PR does / why we need it:
As we usually do, remove changelogs not related to v1.7 on release/v1.7 branch.
Which issue(s) this PR fixes:
xref #2890
What type of PR is this?
/kind cleanup
/kind documentation
Does this PR introduce a user-facing change? Then add your Release Note here:
NONE

Documentation:
NONE

/assign @kron4eg

/approve
/lgtm


Support for online changes of index granularity

It'd be nice to have an ability to change index granularity in ClickHouse with a query, like:
ALTER TABLE foo SET INDEX GRANULARITY = 4096

Only new and merged parts will get new granularity setting, but it seems a lot easier than what one has to do now to change index granularity.
cc @vavrusa, @dqminh

@ztlpn Could that work with the new CREATE TABLE syntax?

Currently we use fixed index_granularity for some arithmetic when reading data.
Worth to note, that it's better to have variable size (adaptive) index granularity.
For example, it's better to place "marks" not after each n-th row, but after some amount of data in bytes.
If we do it, it will be possible to also have different index_granularity in different parts.
This requires very accurate code modifications and introducing new format for .mrk files to keep track of number of rows per mark.
An alternative variant is to allow different but fixed index_granularity per each part. Although this looks simpler at first glance, there are some details.

Adaptive index granularity is avaliable since 19.7 and is default since 19.11


add update_usage_plan api for apigateway

Reporting Bugs
Apigateway has plans. The update_usage_plan is not implemented.

I want to implement this feature. I downloaded the code following the steps given in the how to contribute guide. I want to know how to run a single test file?

Hi @rajendersaini, to download the required dependencies:
make init
To run one test (file) :
pytest -sv tests/test_apigateway/test_apigateway.py
pytest -sv tests/test_apigateway/test_apigateway.py::method_name

Thanks, @bblommers  - my code is ready. Just need to send the PR. I am not sure why tests in other components are failing besides API gateway.

@bblommers  - how to push the branch? I do not have permission!

Hi @rajendersaini, you can fork moto, and create a new branch in your own fork. You should then be able to create a PR.

https://github.com/spulec/moto/pull/3727 - @bblommers

This is now part of moto >= 2.0.1.dev291


Build(deps-dev): Bump webpack from 5.69.1 to 5.70.0 (#3012)

Pull request opened by the merge tool on behalf of #3012

Processing this pull request

An unexpected error occurred while processing this pull request. The request might have been partially processed. Caused by: GitHub API query failed: got errors in response: [{'type': 'UNPROCESSABLE', 'path': ['createPullRequest'], 'locations': [{'line': 2, 'column': 9}], 'message': 'A pull request already exists for inmanta:dependabot/npm_and_yarn/webpack-5.70.0.'}]

Processing this pull request

An unexpected error occurred while processing this pull request. The request might have been partially processed. Caused by: GitHub API query failed: got errors in response: [{'type': 'UNPROCESSABLE', 'path': ['createPullRequest'], 'locations': [{'line': 2, 'column': 9}], 'message': 'A pull request already exists for inmanta:dependabot/npm_and_yarn/webpack-5.70.0.'}]


Importing pandas dataframes does not assign timestamp correctly

Even this sample code provided in the docs is broken:
`
df = pd.DataFrame({
'id': pd.Categorical(['toronto1', 'paris3']),
'temperature': [20.0, 21.0],
'humidity': [0.5, 0.6],
'timestamp': pd.to_datetime(['2021-01-01', '2021-01-02'])
})
with Sender('localhost', 9009) as sender:
sender.dataframe(df, table_name='sensors')
`

I've tried various things, including sending a UNIX timestamp, UNIX timestamp converted to microseconds, nanoseconds, etc.

You end up in this situation when:

Creating the table in advance with a designated timestamp column.
Not telling tye python client which column is the designated timestamp column.

To resolve, specify at='timestamp'.
See: https://py-questdb-client.readthedocs.io/en/latest/examples.html#pandas-basics
Also, here are the API docs:
https://py-questdb-client.readthedocs.io/en/latest/api.html#questdb.ingress.Buffer.dataframe
Same matter, btw, if you use the .row API.
Why this happens:
The Python client produces messages in the ILP protocol. In the protocol the designated timestamp is sent as a special field with nanosecond precision instead of microsecond precision.


Disorder in the Floating window

From this picture, the value displayed in Floating window of 'USE_START PER DAY' and 'TESTPOOL' are disordered.
And here is the configuration:

duplicate of https://github.com/stormpython/heatmap/issues/48


Pruned clocks and failure of full-sync replication

The vector clock on an object will increase in size for every new vnode_id which attempts to co-ordinate a PUT for an object.  The increase is limited by the pruning limits - young_vclock, old_vclock, small_vclock and big_vclock.  The primary limit is the small_vclock which will cause an object hitting this limit (50 unique vnodes by default) to be pruned.
The pruning will normally cut back by 1 entry only - i.e. a clock that has reached a size of 51 will be pruned back to 50.  There are some controls which may prevent this pruning - young_vclock, old_vclock - but by the defualt the big_vclock also being set to 50 means that clocks will remain at this limit.
In one key situation, pruning is disabled.  When an update is a consequence of read_repair - the clock will not be pruned, so objects can be persisted with clocks longer than 50.
In a multi-cluster scenario, after read repairs there can be a circumstance where some objects have clocks of length > small_vclock on one cluster, but of length == small_vclock on another.
If there is now an attempt to full-sync between the clusters, the delta can be detected - but when the object is dispatched from the cluster with the dominant (longer) clock, the receiving cluster will prune the inbound clock ... and the delta will persist.  In this case, the objects are the same, but the full-sync mechanism cannot determine they are the same - so continuously discovers differences.
Clocks being at the pruning length is more likely to occur on very long-lived clusters which have been subject to lots of leaves/joins - but as many users have been running Riak for > 10 years this is increasingly probable.

There is a workaround to "touch" (i.e. GET, then PUT back the object) all objects which have exceeded the prune size.
i.e.
{ok, CH} = riak:local_client().
TouchFun = fun({B, K, _C}) -> {ok, Obj} = riak_client:get(B, K, CH), ok = riak_client:put(Obj, CH) end.
QueriesFun = fun(Bucket) -> lists:map(fun(I) -> {fetch_clocks_range, Bucket, all, {segments, lists:seq((128 * I) + 1, 128 *  (I + 1)), small}, all} end, lists:seq(0, 511)) end.
TouchGreaterThanFun = fun(B, M) -> lists:foreach(fun(Q) -> lists:foreach(TouchFun,lists:filter(fun({_B0, _K0, C0}) -> length(C0) > M end, element(2, riak_client:aae_fold(Q, CH)))) end, QueriesFun(B)) end.
TouchGreaterThanFun(<<"clinicalsRecord">>, 50).

This is only possible when tictacaae is enabled, to allow for aae_folds.

It should be noted that read-repair will also override any sibling limit, so this can also lead to full-sync discrepancies.  Hitting sibling limits is an indication of a broader fault, whereas pruning clocks is eventually inevitable, and so this is the primary concern.


[Feature Request] Disable Serenity upon startup

Problem
Serenity is turned on by default when starting/relaunching Obsidian, obscuring all text except the words in the 'spotlight' effect.
I love the plugin for writing, but I find this default often gets in the way for other note-taking purposes or when trying to quickly reference something from my vault.
Proposed Solution
Either a toggle in settings for whether Serenity should be turned on at startup or having Serenity only turn on when the user prompts it would be great :)

Kepano, too bad you don’t know anyone on the Dev team to approve this for the general public…😉.


feat: Describe palette, minor color adjustments

First of all, thanks for creating this Slack theme and sharing it in the Everforest wiki, it looks great! (I'm one of the three maintainers of the Vim color scheme.)
I would like to suggest the addition of the table below to the README to document what colors of the original palette were used in this theme, and their possible variations where relevant:

Hex
Identifier
Usages

#1E2327
bg0 (30% shade)
Active Item Text

#2B3339
bg0
Column BG

#445055
bg3
Top Nav BG, Hover Item

#7A8478
grey0
Active Item, Top Nav Text

#D3C6AA
fg
Text Color

#BD6769
red (18% shade)
Mention Badge

#83C092
aqua
Active Presence

Additionally, since I wasn't able to figure out where the colors for active/mention of this theme originated from in relation to the Everforest color palette, I included a suggestion to replace them with either an original or a shade of one of the colors of the actual palette. This is mostly for fidelity and documentation purposes. I'm fine reverting that change if you don't like it, and explain how the current #7C8377 and #B67073 were chosen.
Before/after:

hei, thanks, I think I got the original palette from https://github.com/niivu and probably the change in color happened there. I will add a screenshot with the new colors as well for documentation and posterity.


Add regkey to WCOW to deal with containment for GNS compartment changes

A change was added recently to GNS that will be backported to Vb and possibly 19H1 and RS5 that changes how network compartments are created to fix an issue with accessing smb shares in hypervisor isolated containers. To ease the worries
of this breaking anything the change will be put behind a registry key (that is only set by us) so that the change won't impact docker and can be optionally toggled off by us through this annotation.

Signed-off-by: Daniel Canter<EMAIL_ADDRESS>

@kevpar You were out, but this is what we landed on for containment of the GNS change until the next round of backports to 19h1 and RS5. GNS checks against this key being present, and if present it will use the new logic.


[BUG]: useless field in package.json

Package Scope

Package name: all package
Describe the bug

{
  "name": "@toss/assert",
  "version": "1.0.4",
  "sideEffects": false,
  "exports": {
    ".": {
      "require": "./src/index.ts",
      "import": "./src/index.ts"
    },
    "./package.json": "./package.json"
  },
  "main": "src/index.ts",
  "scripts": {
  },
  "dependencies": {
    "@toss/utils": "workspace:^1.0.4"
  },
  "devDependencies": {
    "typescript": "4.8.3"
  },
  "publishConfig": {
    "access": "public",
    "exports": {
      ".": {
        "require": "./dist/index.js",
        "import": "./esm/index.mjs",
        "types": "./dist/index.d.ts"
      },
      "./package.json": "./package.json"
    },
    "import": "./esm/index.mjs", // here
    "main": "dist/index.js",
    "module": "./esm/index.mjs",
    "types": "dist/index.d.ts"
  },
  "gitHead": "..."
}

I think "import": "./esm/index.mjs", field is not official field, and not used in anywhere.
I checked this in node and npm.  But I couldn't find any explanation about the field.
It seems that even webpack and rollup are not using "import" field of package.json.
What's the purpose of the "import" field ?
Check please :D

@raon0211

May I make a pull request about this ?

of course, how can I help you?

We should remove all import fields in our package.json.

OK :D


Hey Agraboso, are you still interested in maintaining this project?

Hey @agraboso - are you still interested in maintaining this project?
It looks like you're active on Github.
Thanks!

@peterpme Are you interested? I haven't done any JS in a while, haven't kept up with the breakneck pace of the ecosystem. I had help at one point, but that person disappeared...

Hey @agraboso,
Yes. I'm actively using this library. I've since forked it myself, but it takes a lot of effort for folks to find what they're looking for when they don't know it's there!
Let me know how you'd like to move forward 😄
Thanks

@peterpme I just pushed a couple of commits to the next branch — nothing major, just updating dependencies, but it is movement.
I want to act on the following:

#58: Given that browsers are slowly implementing fetch, I think we should remove isomorphic-fetch as a dependency and explicitly request users of the library to polyfill fetch. This would also fix #75 and make testing easier in general.
#78: Passing the whole store instead of getState is trivial and has use cases.
#80: I had never thought of this, but I wholeheartedly agree that redux-api-middleware should be transparent to non-RSAAs.
#26: Network errors should probably result in failure FSAs rather than errored request FSAs. I haven't thought this through though (and I can't quite recall what the problem was that I alluded to in #25). What are your thoughts?

There are, of course, quite a few other issues and pull requests that I'd like to address, but let's take things one step at a time.
Most importantly: what have you done with redux-api-middleware? I see you've forked it, but I cannot see any commits on your fork.

@agraboso could you provide a new npm release so that fixes like removal of isomorphic-fetch can be installed the standard npm way? Would be awesome!

@seb0zz I will do so soon. My latest commits were a bit rushed and I want to make sure things work before pushing a new version to npm. It would help if you could test it and let me know if everything works for you or whether something seems to be broken.

Trying to make the beta version of redux-api-middleware#next rolling on my project to test it, I ran
(r)npm install --save "git+https://github.com/agraboso/redux-api-middleware.git#next"
and I get the following error:
Requiring unknown module 'redux-api-middleware'. [...]
Although the package.json does contain "redux-api-middleware": "git+https://github.com/agraboso/redux-api-middleware.git#next", and this only happens when I npm install the beta version
Did I make a mistake while installing a beta version? Does it require a different import?

@agraboso Are you still planning to publish a pre version to npm?

I'm having the same issue as @CoteViande , npm installed any of the commits on next causing this..

I think this is the cause: https://github.com/npm/npm/issues/3055. I'm able to work around this by cloning redux-api-middleware, running npm install in the cloned directory, and then running npm install ../redux-api-middleware -S in my project directory. This ensures the prepublish  step is run. It'd be great if the 2.0.0-beta.1 package could be published in some capacity soon.

How can I get involved in the project? There are PRs that needs to be merged, new releases to be made and npm to be updated... Who has access to the project? @agraboso

Any updates on this? I'd like to also have these issues fixed. We need someone to maintain this project, or at least provide us with some small fixes.

https://github.com/agraboso/redux-api-middleware/issues/124


[#718] CSR and Private Key Generation + Storage

Taiga ticket => https://taiga.maykinmedia.nl/project/maykin-intranet/issue/718

Codecov Report
Attention: Patch coverage is 50.63291% with 39 lines in your changes missing coverage. Please review.

Project coverage is 81.33%. Comparing base (0b70bbf) to head (2cd2dfb).

Files
Patch %
Lines

simple_certmanager/admin_views.py
34.48%
38 Missing :warning:

simple_certmanager/validators.py
83.33%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (0b70bbf) and HEAD (2cd2dfb). Click for more details.
HEAD has 7 uploads less than BASE

Flag
BASE (0b70bbf)
HEAD (2cd2dfb)

8
1

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #35       +/-   ##
===========================================
- Coverage   92.47%   81.33%   -11.15%
===========================================
  Files          10       12        +2
  Lines         226      300       +74
  Branches       40       28       -12
===========================================
+ Hits          209      244       +35
- Misses         13       52       +39
  Partials        4        4

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

Let's close this one.
It has been cut in #39 and #40


Change referenceName to referenceId

When performing searches on the Variants or Features endpoints the referenceName field allows the client to define which contig to search on. This is problematic because reference names are not required to be unique, and it is not immediately clear how to form the "referenceName" field. Is it "1" or "chr1"? This is further complicated by the fact that references can belong to multiple Reference Sets.
By using the referenceId in its place we ensure that each request is against a specific reference and we get better guarantees about the relationships in the data. The Reads API properly makes this distinction:
https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/readmethods.avdl#L26

+1, this is a big inconsistency in the API.
This is related to:  https://github.com/ga4gh/schemas/issues/593
David Steinberg<EMAIL_ADDRESS>writes:

When performing searches on the variants or feature's endpoints the
referenceName field allows the client to define which contig to search on. This
is problematic because reference names are not required to be unique, and it is
not immediately clear how to form the "referenceName" field. Is it "1" or
"chr1"? This is further complicated by the fact that references can belong to
multiple Reference Sets.
By using the referenceId in its place we ensure that each request is against a
specific reference and we get better guarantees about the relationships in the
data. The Reads API properly makes this distinction:
https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/
readmethods.avdl#L26
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
You can view, comment on, or merge this pull request online at:
https://github.com/ga4gh/schemas/pull/616
Commit Summary
• Change referenceName to referenceId
File Changes
• M src/main/resources/avro/alleleAnnotationmethods.avdl (15)
• M src/main/resources/avro/sequenceAnnotationmethods.avdl (2)
• M src/main/resources/avro/sequenceAnnotations.avdl (3)
• M src/main/resources/avro/variantmethods.avdl (2)
• M src/main/resources/avro/variants.avdl (2)
Patch Links:
• https://github.com/ga4gh/schemas/pull/616.patch
• https://github.com/ga4gh/schemas/pull/616.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub*

Within a referenceSet the referenceNames need to be unique, of course - this was explicit in an early version of the schema.
The same reference may be in different referenceSets, and may (unfortunately) have different names in those different sets.  This is just the truth - it is called
chr1 by some people and 1 by others.  The human genetics user community will never convert to using accession numbers or other lengthy identifiers in place
of chromosome names.
If you want to use ids then you must be able to query by name to find the id, so that when I look for 1:214217-412291 I can find the referenceId
for the reference for chromosome 1.  Using the name as the identifier within Position and other structures that are unambiguously within a referenceSet
avoids this additional lookup, and to my mind makes things more transparent and clearer, but if you want it the other way then OK.
I am concerned that the core design, over which there was a lot of careful thought by people with a lot of experience of representing genetic data, is being
or has been mangled by layers of these sorts of decisions that are being made piecemeal without joint oversight and buy-in.
Richard

On 28 Apr 2016, at 00:50, Mark Diekhans<EMAIL_ADDRESS>wrote:
+1, this is a big inconsistency in the API.
This is related to:  https://github.com/ga4gh/schemas/issues/593 https://github.com/ga4gh/schemas/issues/593
David Steinberg<EMAIL_ADDRESS><EMAIL_ADDRESS>writes:

When performing searches on the variants or feature's endpoints the
referenceName field allows the client to define which contig to search on. This
is problematic because reference names are not required to be unique, and it is
not immediately clear how to form the "referenceName" field. Is it "1" or
"chr1"? This is further complicated by the fact that references can belong to
multiple Reference Sets.
By using the referenceId in its place we ensure that each request is against a
specific reference and we get better guarantees about the relationships in the
data. The Reads API properly makes this distinction:
https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/ https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/
readmethods.avdl#L26
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
You can view, comment on, or merge this pull request online at:
https://github.com/ga4gh/schemas/pull/616
Commit Summary
• Change referenceName to referenceId
File Changes
• M src/main/resources/avro/alleleAnnotationmethods.avdl (15)
• M src/main/resources/avro/sequenceAnnotationmethods.avdl (2)
• M src/main/resources/avro/sequenceAnnotations.avdl (3)
• M src/main/resources/avro/variantmethods.avdl (2)
• M src/main/resources/avro/variants.avdl (2)
Patch Links:
• https://github.com/ga4gh/schemas/pull/616.patch
• https://github.com/ga4gh/schemas/pull/616.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub*

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub https://github.com/ga4gh/schemas/pull/616#issuecomment-215266594

--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.

changing that to a -1, sorry when I first looked at it; I though I added reference id; now I see it replaces reference name with id in searches.  This does not solve the problem of multiple names, because you
still have to look up the id.
We need to address the inconsistencies with the API's use of names vs ids as a whole.

There are two issue here, somewhat related:

The multiple commonly used names for chromosomes.  We can't
fix chr1 vs 1 and need to support a list of names.  Using id
doesn't address this issue.

The design of the API appears to be the all object linkage
is done by id, not name.  So when one object references
another, it is by id.  When one finds an object initially by
name, then goes from object to object via id.  Id is really
an server-local pointer.  I found this very weird, but I
maybe WEB APIs are done this way.  I am guessing at this
design paradigm from talking to people, it's not documented,
so I could be wrong.

The API is inconsistent, sometimes objects are linked by name,
sometimes by id.  The API does not require chromosome name to be
unique.  This is nuts, but that is what the GA4GH API explicitly
states.
We need to do a major architectural review of the API.  It is
inconsistent and the documentation is still inadequate.
Richard Durbin<EMAIL_ADDRESS>writes:

Within a referenceSet the referenceNames need to be unique, of course - this
was explicit in an early version of the schema.
The same reference may be in different referenceSets, and may (unfortunately)
have different names in those different sets. This is just the truth - it is
called
chr1 by some people and 1 by others. The human genetics user community will
never convert to using accession numbers or other lengthy identifiers in place
of chromosome names.
If you want to use ids then you must be able to query by name to find the id,
so that when I look for 1:214217-412291 I can find the referenceId
for the reference for chromosome 1. Using the name as the identifier within
Position and other structures that are unambiguously within a referenceSet
avoids this additional lookup, and to my mind makes things more transparent and
clearer, but if you want it the other way then OK.
I am concerned that the core design, over which there was a lot of careful
thought by people with a lot of experience of representing genetic data, is
being
or has been mangled by layers of these sorts of decisions that are being made
piecemeal without joint oversight and buy-in.
Richard

On 28 Apr 2016, at 00:50, Mark Diekhans<EMAIL_ADDRESS>wrote:
+1, this is a big inconsistency in the API.
This is related to: https://github.com/ga4gh/schemas/issues/593 <https://
github.com/ga4gh/schemas/issues/593>
David Steinberg<EMAIL_ADDRESS><EMAIL_ADDRESS>writes:

When performing searches on the variants or feature's endpoints the
referenceName field allows the client to define which contig to search on.
This
is problematic because reference names are not required to be unique, and
it is
not immediately clear how to form the "referenceName" field. Is it "1" or
"chr1"? This is further complicated by the fact that references can belong
to
multiple Reference Sets.
By using the referenceId in its place we ensure that each request is
against a
specific reference and we get better guarantees about the relationships in
the
data. The Reads API properly makes this distinction:
https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/
https://github.com/ga4gh/schemas/blob/master/src/main/resources/avro/
readmethods.avdl#L26

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

You can view, comment on, or merge this pull request online at:
https://github.com/ga4gh/schemas/pull/616
Commit Summary
• Change referenceName to referenceId
File Changes
• M src/main/resources/avro/alleleAnnotationmethods.avdl (15)
• M src/main/resources/avro/sequenceAnnotationmethods.avdl (2)
• M src/main/resources/avro/sequenceAnnotations.avdl (3)
• M src/main/resources/avro/variantmethods.avdl (2)
• M src/main/resources/avro/variants.avdl (2)
Patch Links:
• https://github.com/ga4gh/schemas/pull/616.patch
• https://github.com/ga4gh/schemas/pull/616.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub*

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub <https://github.com/ga4gh/
schemas/pull/616#issuecomment-215266594>

--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub*

@diekhans So maybe someone could provide a list of occurrences of both, linking by "id" and linking by "name"? But anyway, should be "id" (and is documented like that in the metadata docs ...).
(I personally find the "search by name/alias, link by id" not so weird ...)

From my perspective “id" should be treated like an opaque handle, specific to the particular server you are talking to,
to facilitate repeated interaction, so like a pointer.
Whereas “name” is something with external meaning, so can be used as an entry point for search, for display back to
users, and for export of results, for example into BAM or VCF but also potentially linking across different GA4GH servers,
which would have their own different ‘id's for the same thing.  I note that MatchMaker Exchange can only work if people
use externally meaningful names rather than server-specific ids.
There is a case that since the ids are really private to the server, one should minimise their use in the interface.
After all they don’t mean anything to the client.  Of course this is only possible when the names are guaranteed to
behave as unique identifiers, but that is required to be the case for References (though whether we can really
enforce that in the current model is not clear - we could in the original model by construction).
Once we get into this topic of names being good identifiers we get concerned with scope.  Think about variable names in
software.  When we write and debug a program, we want to use and see meaningful variable names, not memory
locations as in assembly code, and the same name may end up as a different location in different compiled and executed
systems (compare to different ids in different GA4GH servers).  We control name clashes with scope.  We haven’t thought
much about scope in GA4GH, perhaps because we haven’t thought much about the write interface to the server, nor about
compatibility (consistency?) across severs, though no doubt there will be many servers.
Richard

On 2 May 2016, at 17:51, Michael Baudis<EMAIL_ADDRESS>wrote:
@diekhans https://github.com/diekhans So maybe someone could provide a list of occurrences of both, linking by "id" and linking by "name"? But anyway, should be "id" (and is documented like that in the metadata docs https://github.com/ga4gh/schemas/blob/biosample/doc/source/api/metadata.rst#common-attribute-names-and-formats ...).
(I personally find the "search by name/alias, link by id" not so weird ...)
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/ga4gh/schemas/pull/616#issuecomment-216290445

--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.

@richarddurbin Yes, agreement here. Implementation-wise, I am all for a general solution where:

id is whatever format is used locally, guaranteeing uniqueness, stable links/pointers
name is locally and "context based" unique (NCBI36.1; GSM198179)
aliases (¿aternativeNames? ...) provides alternative names that have been used for the same data representations (hg18 ...)

In principle, for the genome editions one could enforce/request a specific value space, to which queries etc. could be converted. But this would have to be maintained through GA4GH, and wouldn't be feasible with regard to non-human genome space. And it wouldn't work as a general data structure, for different types of records.
So, IMO id + name + aliases. And id for referencing, name and aliases for search/matching.

In my view

id is like a foreign key in SQL, which can be auto-incremental and is not long-term stable.
We talked about symbol before. It still deserves its place. A symbol usually does not contain spaces or special characters. We may require it to be unique within a scope. For example, HGNC defines gene symbols; compilers may have symbol table – in C, variable and function names are all symbols, but keywords (e.g. for/break/continue) are not.
A name is just a string, which is often full-text indexed for search. HGNC takes this way as well.

There is a case that since the ids are really private to the server, one should minimise their use in the interface.

In the SQL world, ids are often joined away. Users may completely ignore id values. GA4GH does not have a concept of "join". We have to expose ids in almost every API. This complicates the meaning of id.

We haven’t thought much about scope in GA4GH

There was a discussion before. I believe some symbols should be unique within a certain scope, but others think this adds unnecessary constraints.

The analogy to foreign key is perfect and it's intention is to
be used in that way.  One can jump from object to object very
easily with id, but it's two steps if you come in with a `name'.
Very analogous to join.
IMHO it would have been clearer to have symbol' rather than name' and then `description'.  The id vs name has proved ver
I believe this PR should be to add referenceId to referenceName
rather than replace it.
Heng Li<EMAIL_ADDRESS>writes:

In my view
• id is like a foreign key in SQL, which can be auto-incremental and is not
long-term stable.
• We talked about symbol before. It still deserves its place. A symbol
usually does not contain spaces or special characters. We may require it to
be unique within a scope. For example, HGNC defines gene symbols; compilers
may have symbol table – in C, variable and function names are all symbols,
but keywords (e.g. for/break/continue) are not.
• A name is just a string, which is often full-text indexed for search. HGNC
takes this way as well.
There is a case that since the ids are really private to the server, one
should minimise their use in the interface.

In the SQL world, ids are often joined away. Users may completely ignore id
values. GA4GH does not have a concept of "join". We have to expose ids in
almost every API. This complicates the meaning of id.
We haven’t thought much about scope in GA4GH

There was a discussion before. I believe some symbols should be unique within a
certain scope, but others think this adds unnecessary constraints.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub*

I've updated this PR to include both referenceName and referenceId in the search methods. I also added referenceName to SearchReadsRequest, as it is a lone case of accepting referenceId, and not referenceName.

After reviewing this, I believe the best pattern is to remove the need for server specific IDs in favor of using reference name everywhere.


Use Strict SameSite mode for temp data cookies

Reacting to https://github.com/aspnet/HttpAbstractions/pull/843 Last time @rynowak and I spoke about this and it seemed that a Strict SameSite attribute is appropriate since we expect the usage to be initiated with only same-site requests. Will there be any scenarios where we would want to send this cookie along during a cross-site request?

I can't think of any reason why we'd want another domain to be able to use the cookie cross-domain. :shipit:


Fix ground polyline with dynamic color

Fixes #6925
This is the same thing we do for other static geometry types, we must have just missed putting it in for ground polyline

Thanks for the pull request @hpinkos!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

Code looks good. Can you add a test?

Thanks @bagnell, this is ready

@bagnell fixed

Thanks 👍


fix: temporarily limit numpy version due to bug in datasets

see https://github.com/huggingface/datasets/pull/6976 for more information

Checklist

[x] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.

@x-tabdeveloping, @isaac-chung, @imenelydiaker, @Muennighoff, @orionw just at'ing you guys such that you know this. Will merge it to avoid failing tests on other PRs


Pretty Print debug watch list

Hello, I would like to add a way to pretty-print the watch list from the debugger instead of showing it in one line.

I'm not sure if this feature is available but I've been googling and I couldn't find relevant answers online. I also tried searching it on the issues and no relevant answer. I might be missing something here. sorry for the ignorance. Thank you!

It's a string, and since we don't know how to interpret it, we can't really do any pretty printing. I'd recommend watching a variable that has this value parsed into an object, or copying the string into a file and pretty printing it manually.


Add bfs

Have you read the Contributing Guidelines on Pull Requests?
Yes
(Write your answer here.)
Description
Added Graph traversal algorithm of Breadth-First Search in C.
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#1725
(Write your answer here.)

@srimani-programmer. Kindly review this

@srimani-programmer. Kindly review this

I have created another PR. I am closing this @srimani-programmer
New Pr no: #1920

I have created another PR. I am closing this @srimani-programmer
New Pr no: #1920

@muthuannamalai12 please close this PR

@muthuannamalai12 please close this PR

@muthuannamalai12 please close this PR

I have closed it

@muthuannamalai12 please close this PR

I have closed it


filesystem.writeBinaryFile appears to corrupt file

Writing a binary file creates a file that appears to be corrupt.
PNG file in Windows 11 reports: "It appears we don't support this file format"
docx (MS Word) file reports: "Word experienced an error trying to open this file"
I encountered the error after downloading a blob, converting to an array buffer and writing, but can also recreate with this code:
let data = await Neutralino.filesystem.readBinaryFile('temp/test.png');
await Neutralino.filesystem.writeBinaryFile(`temp/testCopy.png`, data);

For both tests (png and docx) Windows reported the file size of the copy to have increased slightly (71 bytes and 32 bytes respectively), but the on disk sizes or originals and copies are the same.
from neutralino.config.json:
    "binaryVersion": "4.4.0",
    "clientVersion": "3.3.0"

looks like wrong place, and already reported here:
https://github.com/neutralinojs/neutralinojs/issues/619


support MicrobatchConcurrency capability

resolves https://github.com/dbt-labs/dbt-snowflake/issues/1260
docs dbt-labs/docs.getdbt.com/#

Problem

dbt-snowflake does not yet support running the microbatch incremental strategy in concurrent threads.
Solution

Ensure temp tables are written to unique locations when batch.id is available (in microbatch model context)
Enable MicrobatchConcurrency capability

Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] This PR has no interface changes (e.g. macros, cli, logs, json artifacts, config files, adapter interface, etc) or this PR has already received feedback and approval from Product or DX

📉 🎩 I've done a bunch of benchmarking around this enablement!
Setup

Microbatch input model with several years of data, although 30 days is all that was strictly necessary here.
Microbatch model configured to have a 'day' batch size, producing a variable sized batch (1, 1k, 10k, 50k records)
Running dbt run --select microbatch --full-refresh --event-time-start 1998-07-01 --event-time-end 1998-08-02 with concurrency disabled, enabled and with 4 threads, enabled and with 8 threads

Results
batch size = 1 row
| # concurrent threads          | overall time (s) | sum of batch time (s) | avg time per batch (s) | % of time spent in concurrency-related overhead |
|-------------------------------|------------------|-----------------------|------------------------|-------------------------------------------------|
| 1 (concurrent_batches: False) | 53.96            | 50.98                 | 1.6                   | N/A                                             |
| 4                             | 28.35            | 87.17                 | 2.7                   | 40%                                             |
| 8                             | 22.21            | 120.96                | 3.8s                  | 57%

batch size = 1k rows
^ no significant difference to 1 row result
batch size = 10k rows
| # concurrent threads          | overall time (s) | sum of batch time (s) | avg time per batch (s) | % of time spent in concurrency-related overhead |
|-------------------------------|------------------|-----------------------|------------------------|-------------------------------------------------|
| 1 (concurrent_batches: False) | 75.32            | 72.31                 | 2.25                   | N/A                                             |
| 4                             | 31.02            | 99.94                 | 3.1                    | 27%                                             |
| 8                             | 28.4             | 140.78                | 4.4                    | 48%

batch size = 50k rows
| # concurrent threads          | overall time (s) | sum of batch time (s) | avg time per batch (s) | % of time spent in concurrency-related overhead |
|-------------------------------|------------------|-----------------------|------------------------|-------------------------------------------------|
| 1 (concurrent_batches: False) | 98.79            | 95.99                | 3                   | N/A                                             |
| 4                             | 39.63           | 131.33                 | 4                    | 25%                                             |
| 8                             | 30.80             | 172.94                | 5.4                   | 44%

Validation:

For each scenario, I confirmed that the resulting dataset when running in concurrent mode is equivalent to the serial dataset produced. I've also manually confirmed the temp table suffixing is working as expected (e.g. create or replace  temporary view analytics.dbt_marky.microbatch__dbt_tmp_19980801).

Conclusions
It's clear that there is some amount of overhead associated with enabling concurrency (longer avg runs for individual batches), with the benefit of significantly reduced. It appears that this overhead is non-linear however, and that it should decline relative to the overall runtime the larger the batch to be merged is.
I believe we should proceed with enabling concurrency for dbt-snowflake, and document that the benefit of running models concurrently is faster overall backfilling capabilities, with the side effect of longer-running batches, as some amount of overhead is incurred by the platform to merge into the main dataset safely + concurrently.


Detect IP_ADDRESS

An IP (Internet Protocol) address is a unique address that identifies a device on the internet or local network. IP addresses must be protected as a PII (Personally Identifiable Information) because it allows information to be sent and received by the correct parties, which can also include physical location data. IP addresses are extremely common as they are used globally. Multiple types of IP addresses exist as well. For more information about IP addresses, visit this website.
Every IP address is different, including that there are private IP addresses as well. The organizations that distribute IP addresses to the world reserve a range of IP addresses for private networks. IP Addresses ranging from <IP_ADDRESS> – <IP_ADDRESS>, <IP_ADDRESS> – <IP_ADDRESS>, and <IP_ADDRESS> – <IP_ADDRESS> are all private addresses. IPv4 addresses consist of four numbers that can range from 0 to 255, with each number separated by a period.  IPv6 addresses consist of 8 groups of 4 hexadecimal digits, with each group separated by a colon.
I will detect a string of numbers in the format <IP_ADDRESS>.
I will use the IP Address <IP_ADDRESS>5 as an example of an invalid IP address.
I used WhatIsMyIPAddress.com to check the example above for its validity.

@ekfaulkner please also add the sprint-1 milestone to this issue


Issue in dropdown after angularjs update

On upgrading angularjs to latest version, dropdown toggle function behaves wrong.
The on-toggle function of dropdown should be called after the dropdown is toggled. But the opposite happens.
Reason, is the animate function in dropdown controller.
scope.$watch('isOpen', function( isOpen, wasOpen ) {
$animate [isOpen ? 'addClass' : 'removeClass'](self.$element, openClass);
if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
toggleInvoker($scope, {
open: !!isOpen
});
}
});
Here the toggleInvoker should be inside the resolve function of animate, as animate happens in the next digest cycle.

To test this issue, take the dropdown example code in the official website , update the angularjs, and in the toggle function, print the width of the dropdown container. As the function is called before the dropdown opens, it will print zero.

Pretty sure this is fixed on Master

I guess not, i took the latest stable version just now. Also the official website says, angularjs bootstrap is tested in angularjs 1.2.x, and angularjs is updated to 1.3.15. So bootstrap angular also needs an update. It would be great.

@snehatulsi - by master I mean the HEAD of the master branch (the upcoming 0.13.0 release which will support angular 1.3)

Also, a Plunker to reproduce this would be very helpful for investigration.

A plunker for the same:
http://plnkr.co/edit/HPUEsVcSMu2Z7A2bDVBB?p=preview
The example is from the official site. In the newer angularjs version, open state has the width as 0, and closed state has the width to 2xx px.
Change the angularjs version to 2.1.x, then the opposite happens , which is the correct behavior.

I see, you're saying that the toggle doesn't run at the correct time. It should run after the animation rather than before the animation. That sounds reasonable.
Adding your PR, #3513 for reference.

Yes thats the behavior in the previous versions. Also, after the dropdown is toggled in DOM, it should call the on-toggle function.

@chrisirhc In the related PR you mentioned this should be fixed for the next release, but we've got the PR in the 0.13.x milestone....


Descriptions for SQL language LEADING and TRAILING missing for Query Acceleration shows placeholders

String functions are described in the table for all other supported expressions, but a placeholder of text "Description" is only shown for LEADING and TRAILING. https://docs.microsoft.com/en-us/azure/storage/blobs/query-acceleration-sql-reference#string-functions

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

ID: 80372771-d992-9578-b740-a042dee969b4
Version Independent ID: 8d40bff9-2f0d-ebb8-3936-3f52d34e93fb
Content: Query acceleration SQL language reference - Azure Storage
Content Source: articles/storage/blobs/query-acceleration-sql-reference.md
Service: storage
Sub-service: data-lake-storage-gen2
GitHub Login: @normesta
Microsoft Alias: normesta

Thanks for reporting this. I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you @andybooth ! I updated the article. LEADING trims leading characters and TRAILING trims trailing characters. So if no parameters are passed, spaces are removed. Here's some examples:
SELECT TRIM('       Microsoft         ') -> 'Microsoft'
TRIM(LEADING FROM '       Test         ')  -> 'Test         '
TRIM(TRAILING FROM '       test         ') - > '       test'
Thanks again! Content changes should appear live by tomorrow AM.
#please-close


AIP-122: assert name field for google.api.resource.

AIP-122 states:

Resources must expose a name field that contains its resource name

This is actually verified in AIP-123's resource_name_field check today. Ideally we could move this check, but it might be too late.

I'll leave this in the backlog, but remove from the milestone since this check exists.


Add nix flake

Nix flake for the repo, using Naersk for Rust Nix dependencies.
Run nix develop to start a local shell, or nix build to build the ord binary.

Very nice, thank you!


Use defaultTimeZone instead of localTimeZone

We've had some broken functionality in our application.
localTimeZone is broken in iOS 11. It does not point to defaultTimeZone.
This bug causes FSCalendar's timezone to be systemTimeZone instead of defaultTimeZone.
This fix will allow FSCalendar's timezone to be defaultTimeZone.
https://forums.developer.apple.com/thread/86951
https://stackoverflow.com/questions/46499155/ios-11-nstimezone-localtimezone-ignoring-nstimezone-defaulttimezone
https://openradar.appspot.com/34507729

@WenchaoD, can you or someone on the team please look at this?
This is still an issue with iOS 11.

When this enhancement get merged

@WenchaoD Is there any reason this hasn't gotten a look? Happy to address any concerns.

It's great. Thanks!


Improve the accessibility of the play buttons

This adds a dark transparency to the play buttons to make them more visible on light / white videos.
I have tidied up the SVG to improve readability - this will also make future diffs easier to examine.
I have updated the .PNG - although it doesn't appear to be used anywhere.
I have not edited the .AI file - it appears to be an unused reference image. It can probably be deleted.
Fixes #2777
(Correction of #2778)

Coverage remained the same at 74.376% when pulling 8ca0df4a50ddf4700b75867f332c257e193ad9f9 on edent:a11y-buttons into b9e74bd8c79d598ff23d94a384d8ae9afe180cc1 on mediaelement:master.

I think .ai are the orginal adobe Ilistrator files.  Keep them in case somebody needs it... :)


query TestRun status more easily

Added a status method to the TestRun model. This method can return one of the following:

'complete'
'in_progress'
'cancelled'

Also added the following methods to query for a specific status (returns a boolean) if the current status is the same as the method name:

complete?
in_progress?
cancelled?

When a TestRun job is cancelled, its time_to_completion attribute is set to 0 which indicates that it has been cancelled.  Note that if the cancellation is unsuccessful for any reason (maybe the cancellation request was sent too late and the job is no longer in the queue) then a result from that test will be created meaning the status of the TestRun will become 'complete' (not 'cancelled').

I like this!


feat(backend): update Incoming Payment mutation

Changes proposed in this pull request

Create test to updateIcomingPaymet mutation in packages/backend/src/graphql/resolvers/incoming_payment.test.ts
Create test to updateIcomingPaymet service in packages/backend/src/open_payments/payment/incoming/service.test.ts

Context

Checklist

[x] Related issues linked using fixes #2892
[x] Tests added/updated
[ ] Documentation added
[ ] Make sure that all checks pass
[x] Bruno collection updated

@dianaOneOut36 run pnpm format in the root repo to fix the formatting changes


add some parser test

add some parser test
add clear delete edit find history list select

Coverage increased (+0.04%) to 88.425% when pulling 91010cb608a52df4c53632307fe1c66a808396fd on wangyiming1019:yiming-parser-test into 033aa1cd8505e38567f200466425865d22cc2259 on CS2103AUG2017-W09-B2:master.


use fluent-plugin-remote_syslog for fluentd v1.x

Additionally this enables the use of TCP+TLS for syslog transport.
This makes #305 obsolete and implements the same change for v1.3 as #211

@repeatedly What do you think about that as a solution for both #305 and #211 ?

Good. Thanks!


Could you please tell me the exact version of Opencv and python that you used?

i can't run the code on my environment

This was 4 years ago -- honestly don't remember but guessing from 4 years ago:
OpenCV 2.4.X (likely anything works but something like 2.4.8 is best timeline-wise)
Python 2.7

appreciate it!


Can't insert more than 2 letters in Firefox

Describe the bug
I've setup a custom definition that replaces numbers with letters (real use case is converting numbers to roman numerals). When used as a part of the mask with separators, it doesn't properly work in Firefox. Works fine in Chrome or when no other symbols present after the definition
To Reproduce
Steps to reproduce the behavior:

Open live example
Enter a digit in the input
In Firefox, the digit will be replaced with 'ab'

Expected behavior
The digit should be replaced with 'abc'
Live example
http://jsfiddle.net/x8vup6qc/
Desktop (please complete the following information):

OS: Windows 10
Browser: Chrome 74, Firefox 66

@aekrylov ,
I will need to try it on firefox, but have you tried with a newer version?

@RobinHerbots  http://jsfiddle.net/5devcw90/1/ here's a fiddle with inputmask 4.x (dist/min/jquery.inputmask.bundle.min.js), i see the same behavior

@aekrylov ,
I can confirm it doesn't work in firefox.  I will need to debug this step by step.

Seems to be a sorting issue.

Fixed in version 5.0.0-beta.158


[Bug]: Currency Input widget always shows error

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The currency widget shows "Invalid Input" even when we do not set any validation logic
https://user-images.githubusercontent.com/10436935/176142869-237ba43b-f9ec-4d98-8833-4b86e6243d19.mov
This happens only in the attached application
Currency Input Issue.json.zip
Steps To Reproduce
Add a currency input widget and try to add some values to see the error
Public Sample App
https://app.appsmith.com/app/currency-input-issue/page1-62bac69f20ae3225cef2fb2f
Version
1.7.5

@techbhavin @dilippitchika @aswathkk This issue is happening when the evaulationVersion of the application is 1.

@sbalaji1192 what does it mean in layman terms, is this possible for someone to face this in production?

@dilippitchika Yes. If they start using the currency widget in an old application. it should happen in production as well. Today I will look into a possible solution for this issue.

@sbalaji1192 I suggest we don't support older apps for this widget then and simply ask users to upgrade

@techbhavin We can tweak the regex to make it work in both evaluated versions. let me know if this works.
text
  .replace(new RegExp(`[${getLocaleThousandSeparator()}]`, "g"), "")
  .replace(new RegExp(`[${getLocaleDecimalSeperator()}]`), "."),


pointless comparison hint is frequently very off base

code (playground):
def is_some(n):
    n is not None

here, the user is trying to do an implicit return, but python does not have implicit returns.  the hint given is this:
B015: Pointless comparison. Did you mean to assign a value? Otherwise, prepend `assert` or remove it.

the chance of someone meaning to write = and instead writing is not is approximately zero.  if a pointless comparison appears at the end of a function, it should suggest returning it instead of suggesting assert, and the assignment suggestion should only appear if the operator contains =.

Makes sense to me. We can probably improve the message overa all.

the chance of someone meaning to write = and instead writing is not is approximately zero.

FWIW, I don't think that's the assumption the rule is making when it says "Did you mean to assign a value?". Instead, I think the rule is assuming that the user meant to write something like
def is_some(n):
    x = n is not None

or
GLOBAL_OBJECT = ...

def is_some(n):
    GLOBAL_OBJECT.x = n is not None

As a general rule, to me it seems more likely that someone made a typo than that they misunderstood the fundamentals of Python semantics (thinking that Python has implicit returns when it does not). But I think you're right that if it's the last line of the function, the more likely typo is that they forgot to use a return statement; it's less likely that they wanted to assign the value to something if it's the last line of a function.
TL;DR: I'd also accept a PR making the error message adaptive here depending on whether it's the last line of a function or not 😄

As a general rule, to me it seems more likely that someone made a typo than that they misunderstood the fundamentals of Python semantics (thinking that Python has implicit returns when it does not).

missing the entire left-hand side is a pretty big typo, and python is very frequently used by beginner programmers and programmers who do not usually specialize in python (like me, i'm mostly a rust programmer, but i know just enough python to get by with basic tweaks)

@MichaReiser @AlexWaygood looks like this one is up for grabs - would like to give it a shot (first time contributor here :)

nevermind - missed this

Resolved in https://github.com/astral-sh/ruff/pull/12944. Sorry for the churn, @thejchap.


Request: Write messages in the name of the bot

Please tick all applicable boxes.

[X] I am using Python 3.5 or higher (run python --version on the command line)
[X] I have followed the official guides to install the bot for my system
[X] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[X] The latest master version (1.9.7)
[X ] The latest review version

What type of issue are you creating?

[ ] Bug
[X] Feature request
[ ] Question

Request
Hi together, is it possible to print a message into the chat in the bot's name? We have some polls going on for music and update the playlist once in a while, would be nice to announce that "as the bot iteself". Is that possible in some way? Thanks!

Not at this time and probably won’t ever be as there no practical need. If you add yourself to the dev ids in options.ini you can do an eval command to send a message, but that involves knowing some python at the least


Find out how to solve 'sudo' issue

ONE-vscode needs to run command like, sudo apt-get ....
We need to find out how to enter sudo password from user.
/cc @jyoungyun

I found that the following works.
        const pw = 'something';
        const cmd=require('node-cmd');

        cmd.run(
          `echo ${pw} | sudo -S cat /tmp/root_permission.file && sudo -K`,
            function(err: Error, data:string, stderr:string){
                console.log('inside the file.......... ',data);
            }

Related issue: https://github.com/Samsung/ONE-vscode/issues/511

With shell: true option, spawn will also work.
let cmd = cp.spawn(tool, toolargs, {cwd: path, shell: true});

let's close.


[FLINK-6299] make all IT cases extend from TestLogger

This way, currently executed tests and their failures are properly logged.

Looks good, +1 to merge.

Strangely, this does not yet provide logging for all test cases. After also applying #3708, HBaseConnectorITCase, for example does show up in the flink-fast-tests-a standard output but neither in 1.log nor 2.log...
let me test this further

actually, the error was in the flink-hbase pom.xml - please let me include these hotfixes here as well which fix the actual error and prevent future errors.

merging.