Unsaved buffer state isn't silently preserved when the Window has no project folder

Unsaved buffer state is preserved as part of the project system. When there is no project, it doesn't get saved. Prior to this fix this behavior could result in data loss. That's now fixed, but seamlessly preserving state as Atom does for projects would be more convenient and is the more elegant fix.
We would readily accept a well-tested PR providing this functionality.
See also #10474.

I would like to suggest the addition of the label "data-loss" to this issue.
Having followed along from #10474, I think it's worth commenting that preserving the unsaved buffer state is important for non-project documents because of situations where Atom is closed without having the time/ability to offer up the save prompt to the user.
A couple cases that have resulted in data loss for me in the past:

When the Computer loses power (laptop runs out of battery).

When the Application/System freezes so that the process has to be killed.

I also think there is greater usability for the application to constantly be at a saved state than have the user make a decision(s) at the time of closing the application.

I currently use Atom 1.8.0 on debian unstable, and the session/buffer saving has been working fine for quite a while, even for two atom windows in two different KDE activities.
Then Firefox used Atom to open some file I downloaded and all the sessions (and unsaved buffers) are lost.
Where does Atom save the sessions and unsaved files content? Is there a way to get the sessions back?

Atom 1.13.0 features a new Reopen Project feature that you can use to return to your old projects.  Otherwise you would have to reopen the folder/folders that you were editing.

Wow I just expend 1h looking to all the mess around this "bug".
I'm using W10x64 - Atom 1.12, and i have the same issue.
@50Wliu if the file is not saved, you lost it even using Ctrl+Shift+T

I just instal Atom 1.13 beta and works fine! :dancer:
Using W10x64 - Atom 1.13
I can finally switch from sublime :D

Nope, Atom 1.13 beta still isn't working. It requires you to save the buffers. Sublime doesn't. That makes it perfect for scratch pads, open a new tab and start typing and pasting. Close Sublime, open it back up and the untitled buffers are still there.

@Curros I think you misunderstand this Issue.  When there is no project folder open, Atom is (currently) incapable of saving the editor's state.  Before, it would throw it away, which led to data loss.  Now, it asks to save those files, which is considerably better than before, but still not at where we would like it to be - a consistent saving experience with or without project folders.

I think that Atom could certainly learn from Sublime's default behaviour here. There are times when I've reopened Sublime after some days and found work/musings that I'd not even remembered I'd lost. This makes it a perfect environment to work in. Atom, I've been burned twice on 1.12 already. The 1.13 beta behaviour is better, but still wholly unpredictable.
What's the technical barrier to implementing this fix?

I believe they made a technical decision that contents of tabs are tied to "projects". No project, no auto-saving of content. I'm guessing that this issue would require some re-architecting of that approach and they really don't want to do that.

Yeah, @ctwise is pretty close.  We choose the state key by passing in the open project folders and computing a SHA1 of that.  If there's no open project folders, then we don't compute a key and hence the state doesn't get saved.
That being said, I did just rediscover #11122.  I'll try to get some :eyes: on it.

Would be great, cheers. Even VS Code has recently added this behaviour in the form of 'hot exit' I think. I found it pretty invaluable when working on a desktop in Ghana last week with rolling blackouts. Pretty extreme coding :D

Hello, I'm coming from Sublime as well and expected this feature!
Could a strategy be to associate a common default project to all project-less tabs?

So, I don't think the "fix for telling me to save" (this one? even works. As far as I can tell (1.14.4 on Mac Yosemite) atom still just silently kills my data when I close the window, no prompt, just data loss. Like everyone else, I'm so disappointed. Atom seems like magic, with the potential to really improve my workflow, but it has this yawning fatal problem. Not everything is a project ... and when things are time critical, I'd rather be working slower and know I wont have to do things twice than working faster but losing stuff.
I can't risk this, so like many others, it's back to sublime.

Or try VS Code. It’s rather brilliant.

On 1 Mar 2017, at 21:31, Bryan Lawrence<EMAIL_ADDRESS>wrote:
So, I don't think the "fix for telling me to save" (this one? https://github.com/stereobooster/atom/commit/c6a89a4abe560c22758ea3c755dacc0fc4368039 even works. As far as I can tell (1.14.4 on Mac Yosemite) atom still just silently kills my data when I close the window, no prompt, just data loss. Like everyone else, I'm so disappointed. Atom seems like magic, with the potential to really improve my workflow, but it has this yawning fatal problem. Not everything is a project ... and when things are time critical, I'd rather be working slower and know I wont have to do things twice than working faster but losing stuff.
I can't risk this, so like many others, it's back to sublime.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/atom/atom/issues/13318#issuecomment-283476535, or mute the thread https://github.com/notifications/unsubscribe-auth/AEtLdCXjgPF7jhq6hjymzdVVN98yHWqBks5rheOZgaJpZM4K7DVD.

So, I don't think the "fix for telling me to save" (this one?) even works. As far as I can tell (1.14.4 on Mac Yosemite) atom still just silently kills my data when I close the window, no prompt, just data loss.

This issue is about better "hot exit" functionality, which I agree would be nice. But data loss is obviously critical and we'd like to address it more urgently. @bnlawrence can you tell us how you got to this state? (e.g. how did you open Atom? Is it an empty environment or are there projects? How are you closing Atom?) The fix you linked is working for others.

Hmm. Of course it's not repeatable today.
However, up to yesterday I had never had a project.
From memory, it was straight forward:

create md file
open from finder with atom
make change
close window using red dot
reopen file from finder
no change visible ...

But today, I have some projects, and even though I'm doing this in a different window, I'm assuming it's somehow associated with a project.
Unfortunately I have to do my day job, I'll try and get back to experimenting with atom, and this issue, within 48 hours.

Thanks for trying. Please do let us know if you can reproduce it as we take this kind of bug seriously. Just to be clear, in the current release:

When there's a project, Atom should close and silently preserve all changes. Opening the project again will restore the state.
When there's no project, Atom should prompt to save any file changes before closing.

We would like to make the second case behave like the first at some point but it hasn't yet been prioritized.

Experience playing with Atom

Remove my existing .atom directory (to avoid mucking with things I care about)
Start atom up from the icon in my task bar.

Task bar seems to know about the last things I have opened with atom. Interesting. I guess that's knowledge held in mac-land.

Content creation followed by red dot window closure does prompt to save. Good.
Save file.

Attempts to save in the last directory I used with atom. Where is that knowledge held? Macland again?
Saved Data in new file.

Create more content.

Crash editor with red button
Start atom from icon.
Open last file save above.
New content has gone. Data Loss!
Add more content.
Crash editor.
Open last file.
New content is there.  Why this time?
Remove all welcome gubbins.
Crash editor. Open file.
That new content is no longer there.
Add extra new content
Crash editor. Open file.
Back to neither "new" or "extra new" content.

Start with another new file.

Sometimes crashes return no new content, and sometimes does. I can't quite make up my mind whether the presence or absence of the welcome gubbins is relevant. I can't quite make this reliably repeatable.

@bnlawrence To clarify:

When you say Crash do you always mean that you close with the red button? Or do you perform steps to cause Atom to crash? And see this dialog:

When you open the file you have saved/contains unsaved changes do you have an empty Atom window? With no project folder added?

@ungb Can you please take a look at the above report. Can it be related to https://github.com/atom/atom/issues/13873?

Sorry, I've been very poor with my choice of words. "Crash editor" above means "close by terminating window, as opposed to via a menu choice".

Hey @bnlawrence,
It could be related to issue https://github.com/atom/atom/issues/13873, depending on what steps you took for the steps where you  Open last file or Open file.  If you open the file from the context menu, then you are seeing issue https://github.com/atom/atom/issues/13873.
When you just close Atom via the red button on mac, Atom is still open if you are on mac.  This is a feature on mac that isn't available on other OS.
In this case, if you completely exit out of atom cmd-q when atom is open, it will completely exit it and when you open atom again it should restore your previous project (should do it by default config).  If you just click Atom from the dock, it will open a blank window if atom is not completely closed.
For now, if  you open the file from terminal it should work.

Does anyone have any update to when this will be looked into? I tried investigating today, but it's way above my head. It seems most of the logic is in the project.coffee file, and I assume that's why it only works with projects. (at least this is my assumption).
I really want to move to Atom, but this is the one thing I just can't live without.

Hi there! I'm new to Git and to the Atom project, so please be patient with me! I come from Windows and Notepad++, so this particular issue really stood out to me from the first time I used it.
I can reproduce this issue (maybe two issues?) in Atom 1.16.0 on MacOS Sierra. I have documents I've opened in Atom (originally created in Atom too) that are saved in ~/Documents or its subdirectories. When I open an existing document, make edits, and close with the red button, it never prompts me to save and changes are not saved automatically. When I instead create a new document on an untitled tab, I am prompted to save.
Additionally, the only way that I seem to be able to get the state of the window to save (ie, all of the tabs I had open the last time I was working are still open the next time I start Atom), is to save all work in each tab, then shut down my computer without closing the window or quitting the application. If I do this (even if I do not choose the option to re-open windows on startup), my state is saved.
I hope this helps someone! Please let me know if I can help with a solution, but I am an absolute beginner here.

@50Wliu help wanted! where does atom store the content of untitle document outside of project? only in memory or also disk?
my laptop lost power last night, when I reopen it today, data is loss. my atom version is 1.16.0
I think the only hope is try to find the content(text file) through Mac's 'time machine', but I don't know where to find. could you help?

Hey guys, any update on this. Is anybody working on this?

Project sessions make this work by saving state with the project.  Project sessions do not allow multiple instances of Atom opening the same project, so there is no risk of conflicting state.
Projectless "sessions" do permit multiple simultaneous instances, and this is the real crux of the problem, I think.  Browsers (Firefox, Chrome) solve this today by having a single controlling window and browsers shown in child windows.  The controller records session state. Restoring a session later involves opening multiple windows if multiple windows were open before.  This is convenient since the "untitled" session is an all-or-nothing event.
If Atom were to support projectless sessions as in #11122, I think there are only two options:

Restrict Atom to having only one projectless window open at a time.
Record multiple projectless windows' state in a single session, and restore multiple windows when Atom is started again, the same way browsers work today.

However, I don't think the 2nd option is viable at all based on user expectations, because the buffer state is too precious and there are shutdown ordering issues.  So the only sane option is to restrict prjectless Atom to a single instance.  If another Atom window is opened without a project, it should awaken the already-opened instance the same way a project Atom instance does now.
Maybe the 2nd option could be made to work if it always asked on startup "you have the following unsaved sessions.  Do you want to recover them?" the way that Office and LibreOffice have done for many years.  But I so loathe that interface that I would much prefer to limit projectless Atom to a single instance and always load the previous session on startup.

I just made a project 'ScratchPad' and was done with it. Kind of disappointing that this not implemented yet. Then again, can 't complain too much about something that's free

With a year worth of talking about this, how is there not at least a plugin to allow this? Just lost a bunch of text when neither the autosave nor save-session plugins saved my untitled tabs.

#15153

It seems to me that this issue is finally closed with Atom 1.20. No special plugins installed, autosave is disabled. Created a few files in two separate windows, and everything is restored after restart. Can someone verify this please?

@stucki On my end (using 1.2.0) I cannot quit and restore any unsaved tab(s) without Atom prompting me to save the files or lose the content.
I really wish this feature was implemented and on by default, but alas.

@stucki I get the same behavior as @ggamel observed.

It might be a little fudgy, but at this point anything is better than absolutely nothing.
What if, as separate non-project windows are closed, they're all appended to a single non-project session. Upon re-opening ANY new Atom window (even if you already have one open), that session is restored back into the new, single window, and then emptied.  Maybe with a dialog upon exit or open.
Generally if you've got multiple instances open they're probably related. Even if they're not, having to close the extra offending files is better than losing everything, or having it tied to a project folder which is frustrating and useless if you use Atom as a general note-taking/text editor.

Boy was it a mistake! This functionality I just got used to for years of using Sublime and assumed like something given in a modern text editor: crash, reload, CMD+Q - doesn't matter, all my unsaved buffers were always re-opened, never had lost a line there.
With Atom, this assumption screwed me up immediately - I lost very important log files that I was pasting in there due to the editor crash, and I don't see any way to restore them...
And yes, "restore previous windows on start" is (and was) set to "always".
This rant is primarily to express my utter frustration with the tool.
However, if anyone knows a way how to restore the lost unsaved buffer (MAC OS, Atom 1.27.2) in Atom, I would really appreciate if you give me a hint.

@aism I feel your frustration. This was the exact reason why I moved back to sublime. Well, this and how Atom used to compete with Chrome in "who'll eat the most RAM on this computer" contest.

On multiple occasions in the last few weeks, I have had Atom crash on me and I've lost all unsaved changes (tabs with unsaved changes are not restored). I'm running version 1.29.0. Have I missed a setting somewhere? Why is this not automatically handled? Notepad++ has had no problem doing this for at least the last few years. Would it be best to ditch Atom and go back to using Notepad++?

Thanks for this issue, I just got hit by this bug last week, and this was helpful to understand the scope of the issue. :( I get the reality of it, but was surprised still this was an issue.
The use case that got me to here was opening up a clean ATOM window to do some scratch work while working on another project.  Is there an easier way to stash a workspace that I should have potentially used.
Regardless, at some point my computer got unhappy with me, a reboot happened. I guess I always assumed there was some sort of default project (even hiding in .atom somehow) that this new window opened with, but alas, there was not, and my files were 🗑 .
Atom is so good at reopening old projects and files (and project state), it was surprising to find this gap.  At least I know this now!

Yeah, so bad it has inconsistent behavior here. Sometimes saves, sometimes not. Lost quite a bit of unfinished data because of that.

@iolsen, are you guys still planning to add this feature any time soon?
I'm on MacOS and my options for a useful (to me) text editor are slim.  Right now, Sublime is the only one I'm aware of that has this functionality.  I've tried Brackets and Atom.  If Notepad++ were (easily) available on MacOS, I'd go there.
@everyoneElse, are there any text editors that I should try that can do this just as Notepad++ and Sublime can?

@Ashkaan I am also on MacOS and have been using vscode. VScode has this feature built in since day one and I have not had any issues in that regard. I wonder given that Microsoft has now acquired Github, if atom will be retired/replaced at some point with vscode. I'd say give vscode a try if you have not already.

are you guys still planning to add this feature any time soon?

I'm not working on Atom any more, day to day. @asheren might be able to shed some light.
/cc @lee-dohm

Notepad++ has this out of the box https://notepad-plus-plus.org/download/

@Ashkaan Most editors I've used on the Mac support this. BBEdit also does.

Please add this feature!  It's the sole reason Atom isn't my main text editor.

I can't believe it's been literal years since the lack of this feature has been highlighted for the first time and countless time people chimed in in the meantime about it, and yet nothing has been done about it. It's most basic and fundamental feature any worthwhile text editor should have. I just bounced off of Atom HARD because of it.
Oh well, I guess back to looking for an alternative editor...

Looking for a free lightweight text editor for Mac (ie. Notepad++, but for Mac) and was recommended Atom. Figured out how to disable the project pane (via disabling a package), only to find (here, now) that the failure of session-save was because I wasn't opening my documents as part of a project ... Why does Atom need me working in projects - That does not align with my workflow. It also seems a bizarre omission, given wide adoption of this mode across other editors. However, across this thread and the linked "Unsaved buffers" thread it seems that this has been a long-identified issue that isn't changing. So per comments I've seen here I guess it's off to try Sublime. Otherwise Atom looked nice, so, feature request?

Looking for a free lightweight text editor for Mac (ie. Notepad++, but for Mac) and was recommended Atom. Figured out how to disable the project pane (via disabling a package), only to find (here, now) that the failure of session-save was because I wasn't opening my documents as part of a project ... Why does Atom need me working in projects - That does not align with my workflow. It also seems a bizarre omission, given wide adoption of this mode across other editors. However, across this thread and the linked "Unsaved buffers" thread it seems that this has been a long-identified issue that isn't changing. So per comments I've seen here I guess it's off to try Sublime. Otherwise Atom looked nice, so, feature request?

Wow, I wasn't expecting to see so much heat around this for literally years when I decided to give atom a try and shortly after started looking up google how to keep the unsaved session. I guess I'm also switching back to notepad++.

This hits me very frequently (probably several times a month for the last several months, though there were times it happened multiple times per day) and it's the primary reason I'm looking at other editors. I've lost important meeting notes, todo lists, code snippets I was composing from REPL sessions, etc.
Perhaps it should be noted that I am almost always working on unsaved files. I dev in vim, and take notes / paste things I want to get out of the clipboard / experiment in Atom. So the idea of a project root or a file path is foreign to my mental model when using Atom, I am 99% of the time thinking about operations on an in-memory buffer. And it's just brutal to lose 10 buffers with important notes for the second or third time in a week.
I'd super appreciate a priority elevation for this issue.
While I came here to express this frustration, I've generally been >90% happy with Atom for 6 or 7 years now, so want to make sure to say ty times a million to the maintainers. 🙏❤

I only need a text editor for single files, as I have other (language-specific) IDEs for programming. This means that I can use a workaround for this issue in Atom: Menu "File -> Add Project Folder" and specify sth like ~/.atom/default-project. (Optional: Hide the unhelpful "Project" pane on the left.) Now any open files and any newly opened files seem to be assigned to that default project and hence they get saved/restored as I expect. Or at least I haven't found a corner case where this workaround breaks so far. E.g. things like atom somefile.txt on the shell work fine.

Hi, I'm something of a Newb with Atom.
I just want to confirm my understanding of the above issue---as of version 1.58.0 (using on 8/18/21)---there is no way to recover unsaved data from a previous session, even if autosave and autosave-onchange were enabled in the previous session.
Is that correct?
Thank you.

@tom-newhall there is sort of a way, see the workaround mentioned in the post above yours. i.e always have an open project.

@bobemoe Thank you for that; that workaround appears to work, for now at least. (I added my dropbox root as my 'project folder'; opened a new file; added some content; did not save it; restarted the computer. The file was there when I restarted atom)
Now that I've "Added" a "project folder" (added to what, I wonder?) should that stay as a "default" project folder from now until forever on this machine, or do I need to re-"add" this folder every time I restart Atom from scratch? Is there a way I can check what "project folders" have been "added" to Atom?
Thanks again for the help

This hits me very frequently (probably several times a month for the last several months, though there were times it happened multiple times per day) and it's the primary reason I'm looking at other editors. I've lost important meeting notes, todo lists, code snippets I was composing from REPL sessions, etc.
Perhaps it should be noted that I am almost always working on unsaved files. I dev in vim, and take notes / paste things I want to get out of the clipboard / experiment in Atom. So the idea of a project root or a file path is foreign to my mental model when using Atom, I am 99% of the time thinking about operations on an in-memory buffer. And it's just brutal to lose 10 buffers with important notes for the second or third time in a week.
I'd super appreciate a priority elevation for this issue.
While I came here to express this frustration, I've generally been >90% happy with Atom for 6 or 7 years now, so want to make sure to say ty times a million to the maintainers. 🙏❤

sigh this is so absolutely tortureously brutal. Also, it's a regression, because this did not used to happen. I can't tell whether I'm lazy or a masochist for continuing to use Atom. It would be deeply appreciated if someone on the Atom team would at least acknowledge that this is a serious this issue.

Added to todo list. But I have a lot of things going on in my personal life. Since there's not many contributors,
Could this be a workaround? https://github.com/atom/atom/pull/9968#issuecomment-164291020
Helpful for future me: https://github.com/atom/atom/issues/10474#issuecomment-172926544 > https://github.com/atom/atom/pull/9968#issuecomment-163959573
Does anyone know where the code dealing with saving buffers is?


How to make buttons work for dynamic URLs

What is the code to make the buttons work for dynamic URLs?
By dynamic URL I mean URL that changes according to webpage content.

This question is better suited for StackOverflow, as it's got nothing to do with sharingbuttons and is just about general JavaScript knowledge.
Cheers!


How do I download this?  Where do I even begin?

Most GitHubs that I go to have links for either direct downloads, download pages, websites that host the downloads, or an official website that has a download link.  Your GitHub is the first that doesn't have that.  It only has a 'Clone or download' button that I never used before.  But from what I've seen online, that is supposed to download an entire repository.  Whatever that is.  Seems like more than what I want.  But okay.  Maybe it is what I need.
So I downloaded the repository, and now I don't even know what to do.  I went into /bin and double clicked twitch-chatlog and that didn't do anything.  Double clicking other files also does nothing.
So I looked at the "ReadMe.md" instructions on your GitHub page.  It said for installation to type "npm install -g twitch-chatlog".  Okay, you ftard.  Try to create a user friendly instruction guide for someone who has no idea where to type that sht at.  I opened up the Command Prompt and typed that in.  It said that 'npm' is not recognized as an internal or external command, operable program or batch file.
How about you give clear, detailed instructions on what to do:
1.) Download this (link provided)
2.) Also download this (link provided)
3.) Open up this.
4.) Type this.
5.) Then do this.
etc.
F piece of sht.  There are a lot of regular computer users that don't even know where to begin, and if you only took 5 mintues to explain detailed instructions and steps, they wouldn't be as completely lost as I am.

So I went to a similar GitHub project (https://github.com/OgulcanCelik/twitch-clip-chat) and his instructions were sht too, but at least he gave me a hint.  He said that you needed Python.  I installed it.  It was less than 100 MB.  But then I got stuck again.  I copied and pasted the "npm install -g twitch-chatlog" command into the Python exe window and it said "invalid syntax".  So I decided to give up on this freaktechnik/twitch-chatlog bullsht and try OgulcanCelik's Twitch Clip Chat! because at least it was giving me instruction clues.  It's instructions were: "git clone https://github.com/OgulcanCelik/twitch-clip-chat.git" and "pip install requests".  I had no idea where to type that or what that does.  I don't even know what requests are.  But I started by clicking the 'Clone or Download' Github button link and downloading the Twitch Clip Chat! repository.  Then I copied pasted "git clone https://github.com/OgulcanCelik/twitch-clip-chat.git" into the Python window.

I will ask youto cool the swearing. This is a tool that requires nodejs and is primarily intended for an audience that is familiar with using nodejs & npm packages. So yes, there are no instructions so everyone, no matter what their knowledge level can install it. I'll hapily help if someone asks nicely, but I'm sad to say this is kind of beyond asking nicely for me.
I hope you can understand that not every repository on GitHub is intended to be as easy to install as a Game or a Browser.


Skip managed instance live tests

Managed instance tests have hardcoded instance id due to long time to provision. This prevents them from passing in live tests.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

Check the CI


[BUG] ChatGPT doesn't work anymore.

Hi, I can no longer run ChatGPT chat completion and the border turns red. I created a new test project and replaced my API token, but that also didn't work. The example space don't work either.
Thank you for creating this project, it helps me test my prompt.

Sorry about the inconvenience. The issue is already fixed on main. But I'm working a couple other features and fixes as well. Will aim to deploy a new front end by this Friday.

New version of frontend has been deployed. Thanks for giving a try and providing feedbacks!


feature request: symbol information

would be nice to be able to jump to symbols using the goto symbol commands. thanks!

@hartshorne you can already do that using "Go to Definition" or "F12"/"Ctrl+Click" in .js(x) or .ts(x) code as well as your .feature / .gql schema files.

Sorry, I misunderstood the request to mean "Goto Definition" in haste. I'm looking into this.

Tracking https://github.com/graphql/graphql-language-service/pull/195


Make Magic Areas use Home Assistant's new single entities on Area Registry support

HA just updated Area Registry to support single-entities. This shall deprecate include_entities.

Closed by #69

Closed by #69


Fix caching logic in semantic tokens endpoint

Summary of the changes

@ryanbrandenburg and I discovered this bug while verifying semantic tokens yesterday:

This is because of an error in the caching logic. After this fix, I verified we only return token-ints divisible by 5. Also changed the logic to operate on full tokens instead of individual ints based on Ryan's recommendation.
We lack tests in this area (still in progress), but tests will be added after the C# LSP server is integrated with Razor tests.

EDIT: Probably best to view changes with whitespace turned off

What's the end-user impact of this / does this impact 17.1?

What's the end-user impact of this / does this impact 17.1?

This particular caching logic only has made it into the current internal preview and hasn't been released in public previews yet. Surprisingly @ryanbrandenburg and I didn't notice any end user impact, however I think we should still take this fix through M2 if possible

Surprisingly @ryanbrandenburg and I didn't notice any end user impact, however I think we should still take this fix through M2 if possible

M2 sounds great to me here too. @jinujoseph any objections?

@allisonchou sure , lets take thru M2

Oh, @allisonchou this also resolves https://github.com/dotnet/razor-tooling/issues/6132.


adds microsoft graph sdk authentication

Overview
Changes implementation from hellojs to microsoft graph javascript sdk

Rename AuthService to auth-util. Because it contains authentication utility methods.


added 100% test coverage

closes #22

Can we shoot for no percent coverage?

At this time, 100% and no percent have equivalent implementations. LGTM.

I would say that the CLA and the coverage report should be in different PRs.
Great work. 👍

You're right @lcustodio - I messed it up. Just removed it.
Will open a new issue, branch and PR. My bad.
The NoCode project need a CONTRIBUTING guide - will open an issue for that.

should support Windows

should support Windows

Linux: time echo "Tests completed"
Windows(PowerShell): powershell -Command "Measure-Command {echo "Tests completed"}"


Remove invalid check

The check of the android plugin is not compatible with this syntax
It's look like this syntax allow plugin to be applied asynchronously
plugins {
    id "com.android.application"
    id "ru.cian.huawei-publish" version "1.1.0"
}

Not sure if I should make a pull request to master or develop.
If it's develop you should define develop as the default branch in github settings

@CedrickFlocon Hi! Sorry for the long answer. Before approve your PR I'd like to reproduce the problem. Please tell me how did you implement the plugin vis DSL plugins {} block? The plugin don't available at Gradle Plugin Portal. I'm waiting publication approval from the Portal. In the meantime, I'm trying to implement the current version from the maven central:
./settings.gradle
pluginManagement {
    repositories {
        maven { url "https://plugins.gradle.org/m2/" }
        mavenCentral()
        google()
        jcenter()
    }
    plugins {
        id 'ru.cian.huawei-publish' version "1.1.0" apply false
        ...
    }
}

./sample1/build.gradle
plugins {
    id 'com.android.application'
    id 'ru.cian.huawei-publish'
}

and I get error:
* What went wrong:
Plugin [id: 'ru.cian.huawei-publish', version: '1.1.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'ru.cian.huawei-publish:ru.cian.huawei-publish.gradle.plugin:1.1.0')
  Searched in the following repositories:
    maven(https://plugins.gradle.org/m2/)
    MavenRepo
    Gradle Central Plugin Repository
    Google

Can you tell me what my mistake is?

Well, @CedrickFlocon you are right. The v1.1.0 doesn't work for Gradle DSL
FAILURE: Build failed with an exception.

* Where:
Build file '/Users/a.mirko/src/android/gradle/huawei-publish-gradle-plugin/sample1/build.gradle' line: 15

* What went wrong:
An exception occurred applying plugin request [id: 'ru.cian.huawei-publish', version: '1.1.0']
> Failed to apply plugin 'ru.cian.huawei-publish'.
   > Plugin must be applied to the main app plugin but was applied to :sample1

but seems your solution also doesn't work.
For ./gradlew :sample1:publishHuaweiAppGalleryRelease --refresh-dependencies                                                                                I get error:
Configuration(s) specified but the install task does not exist in project :.

FAILURE: Build failed with an exception.

* What went wrong:
Task 'publishHuaweiAppGalleryRelease' not found in project ':sample1'.

The task was not created.

I've figured out how to use plugin from any repository not just from the Gradle Portal. Need to use resolutionStrategy at pluginManagement block.
    resolutionStrategy {
        eachPlugin {
            if(requested.id.namespace == "ru.cian") {
                useModule("ru.cian:huawei-publish-gradle-plugin:${requested.version}")
            }
        }

Sorry @cosic I was busy these weeks.
After a little investigation, I found out that we can only access Android Gradle Plugin on afterEvaluate.
Just a recap of what you found (to test it locally) :
I use sample1 module to test the fix.
sample1/build.gradle
buildscript {
    dependencies {
        classpath files("../build/libs/huawei-publish-gradle-plugin-${VERSION_NAME}.jar")
    }
}

plugins {
    id 'com.android.application'
    id 'ru.cian.huawei-publish'
}

settings.gradle
pluginManagement {
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == "ru.cian.huawei-publish") {
                useModule("ru.cian:huawei-publish-gradle-plugin:${VERSION_NAME}")
            }
        }
    }
}

@CedrickFlocon Yeap! I've found the same solution but I'm investigating other plugins to understand why they are using your first solution and it works.

@CedrickFlocon What happened? Why are you closed the PR? I was going to continue to deal with this issue this weekend.


pkg/nar: Add proprer compressionType handling

Introduce compression type enum to standardize compression handling

Replace string-based compression with strongly typed CompressionType enum
Add support for all Nix compression types: none, bzip2, zstd, lzip, lz4, br, xz
Replace manual compression string handling with type-safe methods
Add validation and error handling for unknown compression types
Update all code paths to use new CompressionType enum
Avoid duplicate logging when handling compression errors

The changes standardize how compression is handled throughout the codebase while adding support for all compression types supported by Nix. This makes the code more maintainable and type-safe.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#108
#114  👈 (View in Graphite)
#113
main

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

Merge activity

Dec 14, 3:10 AM EST: A user started a stack merge that includes this pull request via Graphite.


TypeScript Support

Would love to see types for this project. Are there plans to update this to use TS or do you want a .d.ts file instead?

d.ts would probably be a good place to start :tada:


Add minimal privileges test for backup using dynamic privs

What problem does this PR solve?
This does a minimal privilege test for backup using the BACKUP_ADMIN privilege.
Previously, BACKUP required the SUPER privilege, but this is not ideal from a principal of least privilege perspective. It is preferrable to instead have fine-grained task oriented privileges so that a user that performs the backup can not necessarily read the data.
I know it looks like it is a bit of a trivial test, but this validates that the minimal privileges do infact work for creating backups, and maybe eventually for restoring backups (see: https://github.com/pingcap/tidb/issues/24912 ).
It is my first experience writing TiPocket tests, and so I am happy to hear your suggestions on how this can be improved. I just followed the demo example scaffolding and mostly figured things out.
What is changed and how does it work?
No specific change.
Check List
Tests

E2E test

Code changes

Has Go code change

Side effects

None

Related changes

None

Does this PR introduce a user-facing change?:
There is no imcompatibility or change - if users want to keep allocating SUPER privilege to backup operators, they can still do that. However, we should encourage principal of least privilege to our users for security best practice. So from that perspective, there is a user-facing change once dynamic privileges are said to be stable.

It looks like there is an incompatibility in go versions:
Error: ./client.go:81:19: undefined: os.MkdirTemp
note: module requires Go 1.15

It looks like there is an incompatibility in go versions:
Error: ./client.go:81:19: undefined: os.MkdirTemp
note: module requires Go 1.15

The github-actions workflow uses go 1.13, update to a higher version could solve it.

It looks like there is an incompatibility in go versions:
Error: ./client.go:81:19: undefined: os.MkdirTemp
note: module requires Go 1.15

Hi @morgo, the github-actions workflow uses go 1.13, update to a higher version could solve it.

Can I just upgrade it, or is this something that needs to be discussed/tested by others first? I could use ioutil.TempDir, but that is deprecated in 1.16, so it is better of course if I can upgrade it.

It looks like there is an incompatibility in go versions:
Error: ./client.go:81:19: undefined: os.MkdirTemp
note: module requires Go 1.15

Hi @morgo, the github-actions workflow uses go 1.13, update to a higher version could solve it.

Can I just upgrade it, or is this something that needs to be discussed/tested by others first? I could use ioutil.TempDir, but that is deprecated in 1.16, so it is better of course if I can upgrade it.

There are some work items that should perform:

[ ] Change the go version on every case
[ ] Update the scaffold tool
[ ] Update the baseimage on Dockerfile
[ ] Update CI workflow scripts

If you would like, how about using ioutil.TempDir on this PR and I will give a PR about updating the go version ASAP.

If you would like, how about using ioutil.TempDir on this PR and I will give a PR about updating the go version ASAP.

That sounds good to me. I will make it work with 1.13 with ioutil.

Hi, @morgo I'm curious why choose TiPocket to add this test case? IMO, this is a functional test case and https://github.com/pingcap/automated-tests/tree/master/ticases seems more suit for writing this kind of case.

Hi, @morgo I'm curious why choose TiPocket to add this test case? IMO, this is a functional test case and https://github.com/pingcap/automated-tests/tree/master/ticases seems more suit for writing this kind of case since TiPocket usually focuses on the stability testing on TiDB which means it runs a longer period with chaos inject randomly often.

I may have been mislead when it was suggested to use TiPocket. I'm happy to move it to automated-tests -- I had no idea this existed.


ENH: Add pinch-to-zoom

Closes #19

@larsoner, once you've been approved as a developer, you should be able to merge the PR.  Let me know if you have any issues.

@hoechenberger can you test and verify that it works for you ?

@larsoner

@hoechenberger can you test and verify that it works for you ?

Will give it a shot in a couple hours and report back

It's working 😍🥳🥂 Could be a little bit smoother (smaller steps, perhaps?) but otherwise works as expected!!

I suppose continuous update like shown below (with reduced quality until the action is finished) wouldn't be possible..?

I think that's just as fast as the events get processed by qt. I experience the same thing with the scroll wheel

Smooth scrolling is possible while holding the control key (mac) plus click and drag. You may be able to use those same events to control the smoothness?

Smooth scrolling is possible while holding the control key (mac) plus click and drag. You may be able to use those same events to control the smoothness?

Indeed this does work! I keep pressing Ctrl and then use pinch-to-zoom, and it's smooth. I think this behavior should be the default for pinch zooming :)

I'm not sure if we can (or should) change that default zoom style. There may be performance concerns. The change would likely be upstream in PyVista though

I'm not sure if we can (or should) change that default zoom style. There may be performance concerns. The change would likely be upstream in PyVista though

I'm just talking about the new pinch zooming :) All other existing zoom functionality can remain the same.

Smooth scrolling is possible while holding the control key (mac) plus click and drag.

I can also get this behavior by pressing right mouse button and then scrolling.

You may be able to trigger the control key events with what was implemented here to do it


IndexError: invalid index to scalar variable.

output_audio.append((e[0] / 2) + (e[1] / 2))
Im not sure what this does? ii keep getting this error

Hi,
The code you are referencing comes from the method convert_to_mono_audio(input_audio)
This method is used by the class Processing to normalized data sample when instantiating the  sound objects, please
have a look at the source code and
__init__()

The method discuss above is used to convert stereophonic sound (2 channels) into a monophonic sound
Also it will divide every sound samples by 2 such as
for e in temp_audio:
    output_audio.append((e[0] / 2) + (e[1] / 2))

The error you are getting mean that the object e is not what is supposed to be.
In the example above "e" must be a python list or a buffer containing the data samples, if this is not the case an exception will be raised (IndexError: invalid index to scalar variable), scalar means that the value is most likely to be an integer or a float.
Now, to explain your issue, I would suggest to check what is e in your scenario by adding an extra line to the source code such as
for e in temp_audio:
    print(type(e))
    output_audio.append((e[0] / 2) + (e[1] / 2))

I am strongly suspecting that the object input_audio passed to the method convert_to_mono_audio(input_audio) is not a numpy.array or a python list or any sort of data samples.
for reference :
    # Return the sample rate (in samples/sec) and data from a WAV file
    # Returns: | rate : intSample rate of wav filedata : numpy arrayData read from wav file

    scipy.io.wavfile.read(filename, mmap=False)[source]
```

Your file is most likely to be invalid (try a WAV file instead)


Friendly message, requesting your email

Hi Yeom suyun!
Got an email?
I've got a project (rather original) I would like to show you/tell you about.
Best regards
Henning Holm<EMAIL_ADDRESS>

I've sent a confirmation email.


'WIIMOTE_GUN' was not declared in this scope

Concerned project
Standalone emulationstation
Distribution Version
No response
Architecture
x86_64
Issue description
Hello everyone!
When I trying build emulationstation, i get error 'WIIMOTE_GUN' was not declared in this scope.
Logs and data
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp: In member function 'bool GunManager::updateGunPosition(Gun*)':
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:789:23: error: 'WIIMOTE_GUN' was not declared in this scope
789 |     if (gun->mName == WIIMOTE_GUN)
|                       ^~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:801:20: error: 'class Gun' has no member named 'm_internalX'
801 |     gun->mX = gun->m_internalX;
|                    ^~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:802:20: error: 'class Gun' has no member named 'm_internalY'
802 |     gun->mY = gun->m_internalY;
|                    ^~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:803:31: error: 'class Gun' has no member named 'm_internalButtonState'
803 |     gun->mLButtonDown = (gun->m_internalButtonState & 1) == 1;
|                               ^~~~~~~~~~~~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:804:31: error: 'class Gun' has no member named 'm_internalButtonState'
804 |     gun->mRButtonDown = (gun->m_internalButtonState & 2) == 2;
|                               ^~~~~~~~~~~~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:805:31: error: 'class Gun' has no member named 'm_internalButtonState'
805 |     gun->mMButtonDown = (gun->m_internalButtonState & 4) == 4;
|                               ^~~~~~~~~~~~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:806:35: error: 'class Gun' has no member named 'm_internalButtonState'
806 |     gun->mStartButtonDown = (gun->m_internalButtonState & 8) == 8;
|                                   ^~~~~~~~~~~~~~~~~~~~~
/usr/src/RPM/BUILD/EmulationStation-2.11.2/es-core/src/GunManager.cpp:807:36: error: 'class Gun' has no member named 'm_internalButtonState'
807 |     gun->mSelectButtonDown = (gun->m_internalButtonState & 16) == 16;
|                                    ^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [es-core/CMakeFiles/es-core.dir/build.make:202: es-core/CMakeFiles/es-core.dir/src/GunManager.cpp.o] Error 1

After installing udev headers error was fixed
TODO: Add udev-dev package to build deps list

should be fixed by
https://github.com/batocera-linux/batocera-emulationstation/pull/1747


Add SHA-256 checksum for 3.7 release builds

Add SHA-256 checksum for 3.7 release builds: https://github.com/mattermost/desktop/releases/tag/v3.7.0
This is following the post here https://github.com/mattermost/desktop/issues/504 and follows what the platform team does for server release builds

@yuya-oc Not urgent -- once you're back, wondering if this is something you'd be able to help with?

@jasonblais When I had cut the release build, I created checksums. So what we need to do is writing or uploading them.

Write checksums in release text like version archive of Mattermost server
Upload SHASUMS256.txt to somewhere and write the link.

I think we can include them in the release text. I can add them from the release text if you think that's okay?

Okay, thanks.

Added to https://github.com/mattermost/desktop/releases/tag/v3.7.0, let me know if that looks good?
If it's okay, you can close this issue,


Fix search type with spaces

fixes #3796
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes
Use quotes for type search to handle node names with a space
e.g. type:debug and type:"mqtt out"
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.1%) to 68.335% when pulling e11f17672c0b208d7560c249ca617ef989b11ee9 on Steve-Mcl:fix-search-type-with-spaces into<PHONE_NUMBER>e21df74b339a399e854ed89af6394f on node-red:master.


Extend nom parsing to take into account the types of reference values

Currently in the parsing the type (felt, felt*, felt**) of the references is not being used, this must be polished to have a tidier parsing of the grammar.

Already done


ScopeIndent LayoutRenderer

See also: https://stackoverflow.com/questions/74079008/nlog-how-to-indent-scopes-and-use-scope-headline

Created wiki: https://github.com/NLog/NLog/wiki/ScopeIndent-Layout-Renderer


Store current session step locally

Session.add_session_step got flag add_sub_steps_here=False ("save this session step in cache and add next sub_steps as this step's children")

!test

Refer to this link for build results (access rights to CI server needed):
http://jenkins.2gis.local/job/vmmaster.staging.regression/341/
Test PASSed.

!test

Refer to this link for build results (access rights to CI server needed):
http://jenkins.2gis.local/job/vmmaster.staging.regression/342/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.2gis.local/job/vmmaster.staging.regression/343/
Test PASSed.

!test

Refer to this link for build results (access rights to CI server needed):
http://jenkins.2gis.local/job/vmmaster.staging.regression/352/
Test FAILed.

!test

Refer to this link for build results (access rights to CI server needed):
http://jenkins.2gis.local/job/vmmaster.staging.regression/353/
Test PASSed.

!test

Refer to this link for build results (access rights to CI server needed):
http://jenkins.2gis.local/job/vmmaster.staging.regression/354/
Test PASSed.

@nwlunatic @sh0ked поправил косяки

:+1:

:+1:


[Enhancement] Support pushdown agg fun predicate

Why I'm doing:
For example, "select v1, min(v2) from t0 group by v1 having min(v2) < 2" is equivalent to "select v1, min(v2) from t0 group by v1 having min(v2) < 2 where v2 < 2" because there is only one agg function. The latter can push the predicate down to the data source and reduce data scanning.
What I'm doing:
Fixes #48591
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@Seaven @LiShuMing  Because of the conflict, I can't solve the conflict in the original RP. So I created a new RP (https://github.com/StarRocks/starrocks/pull/50698). Please review RP50698 again.


Correct use of remote state dependencies

I'm converting my terraform scripts over to terragrunt, but I'm not sure if I'm doing in the best way.  Here's a simple example where I'm creating an Azure Container Registry...
# Providers
provider "azurerm" {
  version = "=2.0.0"
  features {}
}

terraform {
  required_version = ">= 0.12"
  backend "azurerm" {
  }
}

# External data
data "terraform_remote_state" "rg" {
  backend = "azurerm"
  config = {
    subscription_id      = var.tf_subscription_id
    resource_group_name  = var.tf_resource_group_name
    storage_account_name = var.tf_storage_account_name
    container_name       = var.tf_container_name
    key                  = var.tf_rg_key
  }
}

# Resources
resource "azurerm_container_registry" "this" {
  name                   = "${lower(var.app_name)}${lower(var.environment)}acr"
  resource_group_name    = data.terraform_remote_state.rg.outputs.value.name
  location               = data.terraform_remote_state.rg.outputs.value.location
  sku                    = "Standard"
  admin_enabled          = true

  lifecycle {
    ignore_changes = [
      sku
    ]
  }
}

I can pass in all of the terraform_remote_state parameters apart from tf_rg_key but it seems a bit clunky. I had a look at module dependencies but the issue there was how to mock complex objects.
I know this one is simple and I could pass the parameters explicitly, but I'm trying to keep the dependency graph correct.  I also have other use-cases where I'm passing a list of regions for example or much more complex objects and I want to ensure that I can see the actual state object.

Terragrunt provides the following two mechanisms for passing outputs between modules:

Using dependency block to pull in the outputs in terragrunt.
Using terraform_remote_state in your terraform module and pass through the state configuration as vars. Note that you could DRY this up by using common vars and generate blocks. See the docs on generate blocks for more info. You will also want to use dependencies blocks to hook the terragrunt graph in this case.

We don't actually have any other mechanism, and we are likely to invest more heavily into the dependency block.

Closing this as stale. If this still an issue, please open a new ticket with updated context. Thanks!


Storybook

add storybook
make all existing stories to work with storybook
update build script to include storybook as well

:warning: https://deploy-preview-633--thirdroom.netlify.app/storybook/ doesn't work


Issue since upgrading to latest 1.10 plugin

I am on latest Bamboo, and it seems that my build projects that have artifactory deployments fail. With the following error
FAILURE: Build failed with an exception.

Where:
Initialization script 'C:\Users\xxx\AppData\Local\Temp\artifactory.init.script8973987296758838010gradle' line: 1

What went wrong:
Could not compile initialization script 'C:\Users\NOC\AppData\Local\Temp\artifactory.init.script8973987296758838010gradle'.

startup failed:
initialization script 'C:\Users\xxx\AppData\Local\Temp\artifactory.init.script8973987296758838010gradle': 1: unable to resolve class org.jfrog.gradle.plugin.artifactory.ArtifactoryConfigurationsPlugin
@ line 1, column 1.
import org.jfrog.gradle.plugin.artifactory.ArtifactoryConfigurationsPlugin
^

1 error

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Projects that just use the plugin to compile without any tie in to artifactory work just fine.

Thanks so much for reporting this @cfsbhawkins.
Can you please confirm that installing the below snapshot version resolve this issue?
If it does, we'll issue a new release.
Here's the download link for the version with the fix:
https://oss.jfrog.org/artifactory/oss-snapshot-local/org/jfrog/bamboo/bamboo-artifactory-plugin/1.10.x-SNAPSHOT/bamboo-artifactory-plugin-1.10.x-20160329.114743-1.jar

@eyalbe4 No go still new error, this is an android project so I get the following error when you apply the Java Plugin with the init script
30-Mar-2016 09:03:11	Cannot publish pom for project ':' since it does not contain the Maven plugin install task and task ':artifactoryPublish' does not specify a custom pom path.
30-Mar-2016 09:03:11	Cannot publish pom for project ':app' since it does not contain the Maven plugin install task and task ':app:artifactoryPublish' does not specify a custom pom path.
30-Mar-2016 09:03:11	Cannot publish pom for project ':roninmaps' since it does not contain the Maven plugin install task and task ':roninmaps:artifactoryPublish' does not specify a custom pom path.
30-Mar-2016 09:03:11	Cannot publish pom for project ':vlc' since it does not contain the Maven plugin install task and task ':vlc:artifactoryPublish' does not specify a custom pom path.
30-Mar-2016 09:03:14
30-Mar-2016 09:03:14	FAILURE: Build failed with an exception.
30-Mar-2016 09:03:14
30-Mar-2016 09:03:14	* What went wrong:
30-Mar-2016 09:03:14	A problem occurred configuring project ':app'.
30-Mar-2016 09:03:14	> The 'java' plugin has been applied, but it is not compatible with the Android plugins.
30-Mar-2016 09:03:14
30-Mar-2016 09:03:14	* Try:
30-Mar-2016 09:03:14	Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
I am running Gradle 2.9 as if I go any higher I get the following error, It appears someone not sure if its the artifactory plugin or bamboo, but they are doing a string compare instead of an double compare of the version number.
* What went wrong:

28-Mar-2016 14:21:47	A problem occurred evaluating project ':app'.
28-Mar-2016 14:21:47	> Failed to apply plugin [id 'com.android.application']
28-Mar-2016 14:21:47	   > Gradle version 2.2 is required. Current version is 2.12. If using the gradle wrapper, try editing the distributionUrl in C:\Users\xxx\bamboo-agent-home\xml-data\build-dir\xxx-xxxxx-JOB1\gradle\wrapper\gradle-wrapper.properties to gradle-2.2-all.zip

@cfsbhawkins, the Bamboo Artifactory Plugin applies the java plugin to your gradle build script behind the scenes. There's a chance that the default java plugin is not compatible with the Android Plugin you are using. We might need to stop applying the java plugin. As a result, non-Android build scripts will need to apply the java plugin manually to their build scripts. We'll soon share another snapshot version of the plugin which avoids applying the java plugin.

@cfsbhawkins, we opened this Jira issue and created a snapshot version that should fix the error you reported when your build uses the Android Plugin. We would appreciate your feedback for it.
You can download the snapshot version from here

@eyalbe4 That fixed it, thanks again!

Thanks @cfsbhawkins! We'll soon release this fix.

Bamboo Artifactory Plugin 1.10.1 with this fix has been released.


Server doesn't show up

I'm using a server that is shared on plex.
The server doesn't show up now.
It worked before.

fixed


Fresh install not working

Hello,
I tried to run either the serve:storybook and the build:storybook scripts, but they both fail on a freshly created vue cli project with a standard template (babel + eslint).
My specs:
OS: Windows 10
$ node -v
v10.1.0
$ npm -v
5.6.0
$ yarn -v
1.9.4

And this is the error log:
$ yarn serve:storybook
yarn run v1.9.4
(node:11448) ExperimentalWarning: The fs.promises API is experimental
$ vue-cli-service serve:storybook -p 6006 -c config/storybook
info @storybook/vue v4.0.0-alpha.16
info
info => Loading custom addons config.
info => Using default webpack setup.
  0% compiling  0% compiling ERROR  TypeError: Cannot read property 'tap' of undefined
TypeError: Cannot read property 'tap' of undefined
    at compiler.hooks.compilation.tap.compilation (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\@vue\preload-webpack-plugin\src\index.js:114:65)
    at SyncHook.eval [as call] (eval at create (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\tapable\lib\HookCodeFactory.js:17:12), <anonymous>:25:1)
    at SyncHook.lazyCompileHook [as _call] (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\tapable\lib\Hook.js:35:21)
    at Compiler.newCompilation (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Compiler.js:504:26)
    at hooks.beforeCompile.callAsync.err (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Compiler.js:540:29)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\tapable\lib\HookCodeFactory.js:24:12), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook [as _callAsync] (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\tapable\lib\Hook.js:35:21)
    at Compiler.compile (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Compiler.js:535:28)
    at compiler.hooks.watchRun.callAsync.err (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Watching.js:77:18)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\tapable\lib\HookCodeFactory.js:24:12), <anonymous>:24:1)
    at AsyncSeriesHook.lazyCompileHook [as _callAsync] (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\tapable\lib\Hook.js:35:21)
    at Watching._go (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Watching.js:40:32)
    at Watching.compiler.readRecords.err (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Watching.js:32:9)
    at Compiler.readRecords (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Compiler.js:402:11)
    at new Watching (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Watching.js:29:17)
    at Compiler.watch (C:\Users\Sputn\Documents\Sources\storybook-test\node_modules\webpack\lib\Compiler.js:201:10)
error Command failed with exit code 1.

@pksunkara same for me
Note: Storybook team released the v4.0.0-alpha.17+18 that uses Babel 7, will that involve some changes?

Same here, on OSX.
On node.js v9.4.0 as well as v10.8.0. Project started with vue-cli 3.0.0.

Can confim this for me too, seems to be directly an issue with 0.4.4, when I changed it in my package.json to 0.4.3, all works fine.

I still get this error when I pin to 0.4.3.

@axwalker did you remove nodes_modules?

@sneko Yep, removed node_modules. It's using @storybook/vue v4.0.0-alpha.16.

Same here, on MacOS 10.13.4

Hello, i got a similar issue after your fix.
Versions
$ node -v v10.9.0 $ npm -v 6.4.0 $ yarn -v 1.9.4
Error
yarn run v1.9.4 $ vue-cli-service serve:storybook -p 6006 -c config/storybook info @storybook/vue v4.0.0-alpha.20 info info => Loading custom addons config. info => Loading custom webpack config (extending mode).   0% compiling ERROR  TypeError: Cannot read property 'tap' of undefined TypeError: Cannot read property 'tap' of undefined     at compiler.hooks.compilation.tap.compilation (projectfolder/node_modules/@vue/cli-service/lib/webpack/CorsPlugin.js:25:57)     at SyncHook.eval [as call] (eval at create (projectfolder/node_modules/tapable/lib/HookCodeFactory.js:17:12), <anonymous>:25:1)     at SyncHook.lazyCompileHook [as _call] (projectfolder/node_modules/tapable/lib/Hook.js:35:21)     at Compiler.newCompilation (projectfolder/node_modules/webpack/lib/Compiler.js:504:26)     at hooks.beforeCompile.callAsync.err (projectfolder/node_modules/webpack/lib/Compiler.js:540:29)     at AsyncSeriesHook.eval [as callAsync] (eval at create (projectfolder/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:6:1)     at AsyncSeriesHook.lazyCompileHook [as _callAsync] (projectfolder/node_modules/tapable/lib/Hook.js:35:21)     at Compiler.compile (projectfolder/node_modules/webpack/lib/Compiler.js:535:28)     at compiler.hooks.watchRun.callAsync.err (projectfolder/node_modules/webpack/lib/Watching.js:77:18)     at AsyncSeriesHook.eval [as callAsync] (eval at create (projectfolder/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:24:1)     at AsyncSeriesHook.lazyCompileHook [as _callAsync] (projectfolder/node_modules/tapable/lib/Hook.js:35:21)     at Watching._go (projectfolder/node_modules/webpack/lib/Watching.js:40:32)     at Watching.compiler.readRecords.err (projectfolder/node_modules/webpack/lib/Watching.js:32:9)     at Compiler.readRecords (projectfolder/node_modules/webpack/lib/Compiler.js:402:11)     at new Watching (projectfolder/node_modules/webpack/lib/Watching.js:29:17)     at Compiler.watch (projectfolder/node_modules/webpack/lib/Compiler.js:201:10) error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
custom webpack.config
`
const path = require('path')
module.exports = {
resolve: {
alias: {
'~': path.resolve(__dirname, '..', '..', 'src')
}
},
module: {
rules: [
{
test: /.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"],
include: path.resolve(__dirname, '..')
},
]
}
};
`

@kidzki What's your vue.config.js? It looks like you have enabled cors, right?

Yes! I set a crossorigin. It woks after i removed the setting from my vue.config

But we both agree that this is a "bug" and needs to be fixed right?

Yup. https://github.com/storybooks/vue-cli-plugin-storybook/pull/17#issuecomment-418089026


x/mobile: bind framework not found by Xcode

What version of Go are you using (go version)?

$ go version
go version go1.13.4 darwin/amd64

Does this issue reproduce with the latest release?
I believe I am on the latest version
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/pontusnt/Library/Caches/go-build"
GOENV="/Users/pontusnt/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="MY_GO_PATH"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/68/_7g0dkds1zx17wwpnmh6k4wr0000gn/T/go-build239061966=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
gomobile bind -o frameworks/ios/Shared.framework -target=ios
This completed successfully and I got a folder named Shared.Framework with obj-c files.
I drag and drop this into Xcode 11.2.1 (11B500) to use it in my app.
What did you expect to see?
I expected to be able to compile the app and use the framework in my Swift code.
What did you see instead?
The Xcode project no longer compiles, but fails with:
ld: framework not found Shared clang: error: linker command failed with exit code 1 (use -v to see invocation)
I alos tried adding the absolut path to Xcode build setting Framework search paths without success.
Thankful for your help!

@eliasnaur

I alos tried adding the absolut path to Xcode build setting Framework search paths without success.

FWIW, this works for me in Xcode 11.1. Did you add the path to the framework ("/path/to/Shared.framework") or the path to the containing directory ("/path/to")? Xcode expects the latter.

Thanks for you reply. I tried both of them without success. I really cannot understand why this is happening, there is a framework in that folder. I do not know if it matters but it is just a folder called "Shared.Framework" containing the files and not that "Lego-ish" icon that i have seen some frameworks have.
The app is targeting iOS 13.
I get the exact same issue trying to use the example at
go get -d golang.org/x/mobile/example/bind/...

Am I missing something? I drag n drop the framework into Xcode and it shows up nicely under "Frameworks, Libraries, and embedded content". Then I added the framework search path and tried to build.

I installed Xcode 11.2.1 with no change: the bind example builds successfully.

Thanks for you reply. I tried both of them without success. I really cannot understand why this is happening, there is a framework in that folder. I do not know if it matters but it is just a folder called "Shared.Framework" containing the files and not that "Lego-ish" icon that i have seen some frameworks have.

Did you name the framework "Shared.Framework" or "Shared.framework"?

I am using "Shared.framework". Capital F gives me an error when binding.

Okey I got it working now! What was causing the issue was probably my use of the name "Shared" when there where no Go package called "shared" in the files I was binding.
If i omit the naming of the output -o and just bind it, the frameworks gets a different name but this frameworks gets found by Xcode and can be used, awesome!
But then a follow up question, is it not possible to name my framework to something custom?
In my case I am binding 3 different Go packages and want to create a single output framework of that. I do this like this:
 gomobile bind -target=ios \     services/departure \     services/search \     presenters
And then the name of the framework becomes Departure, so I guess it just gets the name of the first package argument I give to bind.
So it works but it would be nice to name it something else. And am I doing it right when binding my 3 packages like I do?
Thanks.

Can you send a complete example, with you xcode project ready to use and a set of packages for gomobile bind? The easier it is to reproduce, the better.
@hajimehoshi

I do not see it is as necessary as it is working for me now. Now I just wonder if I can have a custom name on the .framework output and if the way I am binding the three packages is the correct way to do it, see my above comment.

On Sun Nov 24, 2019 at 9:19 AM Pontus Nilsson Tengnäs wrote:

I do not see it is as necessary as it is working for me now. Now I just wonder if I can have a custom name on the .framework output and if the way I am binding the three packages is the correct way to do it, see my above comment.

The -o option should let you name your framework any way you want,
providing the name ends with .framework. That's why I wanted you
to provide us with exact reproduction steps.

Ok I see I will try to find time to make an example and attach here.

We ran into the same issue when upgrading from xcode 10.3 to 11.3.1. Module not found whatever we tried or change on our gomobile bind command line.
Triggered by https://github.com/golang/go/issues/35641#issuecomment-555159238 we finally figured out that we had to change the Framework Search Paths from $(SRCROOT)/../../../path/to/Myframework.framework/ to $(SRCROOT)/../../../path/to/

I ran into the same issue today, and thanks to @pontusntengnas , I resolve it by omitting -o option.
I made a simple example and hope it helps @eliasnaur
Env

go version go1.14.3 darwin/amd64
Xcode 11.5
macOS Catalina 10.15.4

go env

GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/guolin/Library/Caches/go-build"
GOENV="/Users/guolin/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/guolin/Work/go"
GOPRIVATE=""
GOPROXY="https://goproxy.io,direct"
GOROOT="/usr/local/Cellar/go/1.14.3/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/guolin/Work/colin/go/issue/gogo/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/0k/r288ywwx49zcyx8dpgh5tt5r0000gn/T/go-build768315077=/tmp/go-build -gno-record-gcc-switches -fno-common"

Reproduce
Download the issue.zip file then extract, will get two projects:

gogo for Go
Soso for Xcode

Build gogo:

cd gogo
gomobile bind -o gogo.framework -a -ldflags '-s -w' -target=ios gogo.go/fly gogo.go/swim

Open Soso project by Xcode
Add gogo.framework into Xcode project
Press Command+Shift+R to build project will see the error: Framework not found gogo

hope it helps

It appears that if the framework name is different from the name of the package that was built, this ld not found error will be thrown.
In "Example.framework/Versions/A/Modules/module.modulemap" you should see something like this:
framework module "Example" {
	header "ref.h"
    header "Example.objc.h"
    header "Universe.objc.h"
    header "Example.h"

    export *
}

I notice that Example.framework won't work if the root module I'm trying to import is not called Example.

So, fixing modulemap by using the specified framework name would solve this issue? That makes sense. I'll take a look next week.

That’s my guess. It may need testing on Android and iOS apps. Happy to spend some time contributing to that @hajimehoshi.


[Help] Server Side Filtering

Hi all,
I would like to create a custom filter that returns a new server-side filtered dataset. is it possible without using a search field but using the filter fields in the table?
Thank you very much to those who would like to help me.
Below is the filtering example and how I would like to modify it. Thank you.

import 'package:flutter/material.dart';
import 'package:pluto_grid/pluto_grid.dart';

import '../../dummy_data/development.dart';
import '../../widget/pluto_example_button.dart';
import '../../widget/pluto_example_screen.dart';

class ColumnFilteringScreen extends StatefulWidget {
  static const routeName = 'feature/column-filtering';

  const ColumnFilteringScreen({Key? key}) : super(key: key);

  @override
  _ColumnFilteringScreenState createState() => _ColumnFilteringScreenState();
}

class _ColumnFilteringScreenState extends State<ColumnFilteringScreen> {
  final List<PlutoColumn> columns = [];

  final List<PlutoRow> rows = [];

  @override
  void initState() {
    super.initState();

    columns.addAll([
      PlutoColumn(
        title: 'Text',
        field: 'text',
        type: PlutoColumnType.text(),
      ),
      PlutoColumn(
        title: 'Number',
        field: 'number',
        type: PlutoColumnType.number(),
      ),
      PlutoColumn(
        title: 'Date',
        field: 'date',
        type: PlutoColumnType.date(),
      ),
      PlutoColumn(
        title: 'Disable',
        field: 'disable',
        type: PlutoColumnType.text(),
        enableFilterMenuItem: false,
      ),
      PlutoColumn(
        title: 'Select',
        field: 'select',
        type: PlutoColumnType.select(<String>['A', 'B', 'C', 'D', 'E', 'F']),
      ),
    ]);

    rows.addAll(DummyData.rowsByColumns(length: 30, columns: columns));
  }

  @override
  Widget build(BuildContext context) {
    return PlutoExampleScreen(
      title: 'Column filtering',
      topTitle: 'Column filtering',
      topContents: const [
        Text('Filter rows by setting filters on columns.'),
        SizedBox(
          height: 10,
        ),
        Text(
            'Select the SetFilter menu from the menu that appears when you tap the icon on the right of the column'),
        Text(
            'If the filter is set to all or complex conditions, TextField under the column is deactivated.'),
        Text(
            'Also, like the Disable column, if enableFilterMenuItem is false, it is excluded from all column filtering conditions.'),
        Text(
            'In the case of the Select column, it is a custom filter that can filter multiple filters with commas. (ex: a,b,c)'),
        SizedBox(
          height: 10,
        ),
        Text('Check out the source to add custom filters.'),
      ],
      topButtons: [
        PlutoExampleButton(
          url:
              'https://github.com/bosskmk/pluto_grid/blob/master/demo/lib/screen/feature/column_filtering_screen.dart',
        ),
      ],
      body: PlutoGrid(
        columns: columns,
        rows: rows,
        onLoaded: (PlutoGridOnLoadedEvent event) {
          event.stateManager.setShowColumnFilter(true);
        },
        onChanged: (PlutoGridOnChangedEvent event) {
          print(event);
        },
        configuration: PlutoGridConfiguration(
          /// If columnFilterConfig is not set, the default setting is applied.
          ///
          /// Return the value returned by resolveDefaultColumnFilter through the resolver function.
          /// Prevents errors returning filters that are not in the filters list.
          columnFilter: PlutoGridColumnFilterConfig(
            filters: const [
              ...FilterHelper.defaultFilters,
              // custom filter
              <--- HERE PASS CONTEXT --->
              ClassYouImplemented(context),
            ],
            resolveDefaultColumnFilter: (column, resolver) {
              if (column.field == 'text') {
                return resolver<PlutoFilterTypeContains>() as PlutoFilterType;
              } else if (column.field == 'number') {
                return resolver<PlutoFilterTypeGreaterThan>()
                    as PlutoFilterType;
              } else if (column.field == 'date') {
                return resolver<PlutoFilterTypeLessThan>() as PlutoFilterType;
              } else if (column.field == 'select') {
                return resolver<ClassYouImplemented>() as PlutoFilterType;
              }

              return resolver<PlutoFilterTypeContains>() as PlutoFilterType;
            },
          ),
        ),
      ),
    );
  }
}

class ClassYouImplemented implements PlutoFilterType {
  @override
  String get title => 'Custom contains';

  @override
  get compare => ({
        required String? base,
        required String? search,
        required PlutoColumn? column,
       <--- CUSTOME CONTEXT --->
        required BuildContext context,
       <--- END --------------------->
      }) {

       <--- HERE CUSTOM SERVER SIDE FILTERING --->
        return "new data set"
      };

  const ClassYouImplemented();
}

@marcotwin77  can you solve it?

any news on this?

No, I change user procedure....i try to implementing it but doesn't work on plutogrid


Finish the most recent Consensus release to CHaP

#292 update the ledger. And #301 created the corresponding release commit.
However, https://github.com/input-output-hk/cardano-haskell-packages/pull/443 is failing due to some Nix/cabal infelicities. We can't finish the release until we fixup the CHaP build, and the path forward is unfortunately not obvious. (See https://github.com/input-output-hk/cardano-haskell-packages/pull/445 vs https://github.com/input-output-hk/cardano-haskell-packages/pull/446 eg.)

We anticipate that this was resolved by #304 and #308.


Code Example in Docs Raises Error

The following code example in More Kinds of Setting errors when I try it with SBT 0.11.2:
> name <<= (name, organization, version) { (n, o, v) => "project " + n + " from " + o + " version " + v }
[error] Expected end of input.
[error] name <<= (name, organization, version) { (n, o, v) => "project " + n + " from " + o + " version " + v }
[error]     ^

The code example lives in the section Complex Initialize[T]: depending on multiple keys with <<=

I just realized that expressions setting key/value pairs do not work interactively with SBT, so ~= and <<= cannot be typed into an SBT prompt. Perhaps the docs could be enhanced to say that the code could be added to build.sbt, and the value displayed like this:
sbt 'show name'

... and that <<= and ~= expressions may not be invoked interactively in the sbt shell.

... actually, that is not quite true. All of those expressions can be entered in the sbt console project, which can be initiated like this:
sbt console-project


Tabs 标签页: Tab 很多时支持触摸板/鼠标滚轮

特性请求
404 啦
http://ng.ant.design/issue-helper/#/new-issue

触摸滑动 方便些。

Will not support in the near future, you can reopen it after 0.7.0 released.


Allow users to create vector indices with any dimension

By default, indices on citrusdb are of 1536 dimensions. Expose APIs to allow developers to set any vector dimension during index creation.

Hey I would like to work on this issue...

Hey @ighoshsubho
Thanks for reaching out! Feel free to start working on this. I'd recommend starting to work from the sqlite-layer branch. Let me know if you face any issues

Hi @ighoshsubho!
Are you still planning on working on this one? No worries if not! We'd like to get this closed as soon as possible. If you're busy with something else, I can finish it.

Cool no problem. Feel free to pick something up later on if you're interested and have some time :)


Add configurable Model

Some package usually allow to modify the Model that the package is use. This will allow user to add some functionality to package model, for example adding a cache layer.

Hi,
Thank you for your message. To clarify, you already have the option to extend the Mchev\Banhammer\Ban model if you wish to add further functionality. Additionally, I want to confirm that banned IPs are currently cached, although there may be room for improvement in this aspect.
If you have any enhancements or alternative solutions in mind, please don't hesitate to submit a pull request. I'll be sure to review it promptly.


change to BSD license

Describe changes
Update to the recommended BSD license for all UW software.
If you approve this I can go through and update all the other repos.
Details of PR
Used these to inform the text. This will probably get updated soon with an official template from IHME.
https://comotion.uw.edu/what-we-do/intellectual-property-licensing/open-source/#section-1-1
https://github.com/ihmeuw/ScrollyTeller/blob/master/LICENSE
https://hub.ihme.washington.edu/pages/viewpage.action?pageId=70692755

Is there anyone else who needs to review this?

Is there anyone else who needs to review this?

I think once they finish the example license it will be clear exactly what text is needed, but I think this is fine for now.

Just updated to use github to create the license text so that it will show an overview nicely


Partial word search

for example
This oak grain is of the highest quality, leaving ...
how to implement autocompletion functionality? for example "oa" should return match "oak",,, as we type in the search criteria, how do I setup creating such indexes.
I was following the demo, but it always expects the complete word to match. I am getting empty results when I partially type and send that query string.
any help would be appreciated.
Thanks
Ravi Ada

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html


Extend Retry logic to address OSErrors.

I've encountered a case where large bulk deletions throws an OSError. The GCS documentation points out that this is a general problem (https://cloud.google.com/storage/docs/deleting-objects#delete-objects-in-bulk). I did not expect, however, that this would throw an OSError instead of a 500 error.
In any case, this PR extends gcsfs's retry logic to include internal errors that throw OSErrors. My hope is that this fixes an associated issue in Pangeo Forge Recipes (pangeo-forge/pangeo-forge-recipes#406).

Is it possible to ascertain what specific OSError happens? A blanket retry on all OSErrors seems like a bad idea, since something like "no internet" should not be retriable.

It looks like my slow tests is, in fact, too slow. I'm happy to always skip this test.

Given #495 , is this still needed?


Twitch url is mandatory on cms

"The twitch link is a required field when uploading imaged via sanity. I put a random URL for now as twitch embed is not live."

Fixed


Allow specifying strict mode exceptions

I'm trying to use a library that sends test stats to a remote server in the background, and tests that use Mocket in strict mode would fail intermittently when the library tries to make an HTTP request.
This PR adds a new strict_mode_allowed: list[str | tuple[str, int]] parameter to Mocketizer, which specifies which host or host and port can be made requests against even in strict mode.
Suggestions for a better name for the parameter would be welcome, if any. What some other libraries use...

HTTPretty's unmerged PR: whitelist
WebMock, a Ruby library: allow

Hi @ento, thanks for contributing to Mocket.
Would would be the use-case for adding exceptions to Strict Mode, this feature is suppose to check if your mock continues working as expected.
Could we please discuss it in an issue before talking about code itself?

Opened an issue: #218

Amazing work, thank you very much. I'll start working on it soon.

Thanks! I appreciate how mocket is well-maintained.


Update CLA to use CDF CLA

Waiting for LF team to add Pyrsia to EasyCLA list and then we can enable this.


Why twitter service is missing

Is there a particular reason why Twitter is missing, I just realized that it wasnt on your list and wanted to know if there is a special reason or perhaps no one is asking for it :(
Thank you and great job, I love authom and might be using in couple projects soon.
JB

yeah, twitter is still using oauth 1.0a, which is much more cumbersome to implement:

twitter would definitely be next, so if anyone wants to tackle implementing it in a dependency-free way, i'd be ecstatic.

Ok got ya thanks for the clear information you provided!


API Experienced fatal error

When using the fish or bugs endpoint (maybe others, I didn't check too closely), it returns an error when excludedetails=true and month are set at the same time.

Thanks for reporting this! Do you know if this used to work, or is this the first time you've tried?

This is the first time I've tried using 1.3.0, noticed it when rewriting my Discord bot that's still using 1.1.0

There was a key error, resolved with https://github.com/Nookipedia/nookipedia-api/commit/9f8140b92ea5ee94cafd32b4006de3ae2993dea9
Thanks again for reporting!


Allow anyone to call resetSlashingMultiplier

Currently resetSlashingMultiplier can by called only by validatorGroup that was slashed. Allow anyone to call resetSlashingMultiplier with slashed validator group address.
Also update getValidatorGroupSlashingMultiplier so it will automatically return correctly adjusted multiplier event when stored multiplier is not reset in storage variable yet. Make sure that this getter is used anywhere where we read multiplier during epoch rewards

Note: Arthur's wish, see comments here: https://celo-org.slack.com/archives/CP5V8KF51/p1675426239492129

can be executed by signer - decision: not to do so that validators always observe status

Supporting slack discussion


Packaging app for Linux

I can not figure out how to do that. The structure seems to be wrong, and whatever I did so far was incorrect...
I want to get a deb and/or an appimage file out of the result.
(one of them should be included by default tough. Ubuntu makes debian a good option, if not appimage can run on any system.)
Any ideas?

I've never actually published a Linux version to a package manager, I'm not sure which package managers the structure supports. I'm open to say supporting AppImage but I'd need help to get there, be that via comments here or preferably a pull-request.

Don´ t know if it helps in this case, but Checkinstall helped me to generate .rpm and .deb packages in the past, it is really very easy to use.

@Frontrider closing this issue. If, in the meantime, you found a solution to your packaging problem and care to update here so others can enjoy it  that would be awesome.


VSCode formatter

Cool project! It would be great to be able to use topiary formatters for autoformatting in VSCode. See this guide for more, in case you haven't seen that one yet 😊

Thanks for your suggestion :slightly_smiling_face:
From this guide, it looks like native VSCode integration would be through an LSP. Topiary doesn't currently provide any LSP interface, nor is it on the radar. Can integration be done without resorting to an LSP? (@torhovland IIRC, you mentioned something about this many months ago; perhaps in the context of a VSCode extension.)

I haven't looked into it in detail, but in any case there needs to be an extension involved.

Yes it's possible to do it without resorting to an LSP; see the subsection called Direct Implementation underneath the section I sent you
You might find it easiest to use a wasm rather than native code. We originally tried to build a native extension for Cursorless VSCode, and it was a nightmare to deal with the OS / arch matrix within electron context so switched to wasm and haven't looked back


Migrate ansatz interface to new circuits

Did this in https://github.com/zapatacomputing/z-quantum-core/pull/319, closing.


Regularized Gaussian: TV

Add Total Variation regularization as option to the regularized Gaussian distribution.

[x] Total Variation ("tv") option with RegularizedGaussian and its variants. (1D and anisotropic 2D, depending on passed geometry)
[x] Conditioning on the strength parameter for RegularizedGaussian (for future use with Gibbs)
[x] Unit tests for conditioning added
[ ] Reviewed

@jakobsj  DoD

@nabriis For DoD my only question is that only conditioning tests are mentioned, I would think it makes sense to add some unit tests on the added tv functionality aside from conditioning?

@nabriis For DoD my only question is that only conditioning tests are mentioned, I would think it makes sense to add some unit tests on the added tv functionality aside from conditioning?

To quote myself from #564

Regarding tests: I propose adding a small regression test of a full hierarchical model with a TV regularized model as part of the next PR, as many smaller things might change rapidly in future smaller PRs on the Regularized Gaussian Distribution.


Fix typo in imageThumbnailTag

Fixes: https://github.com/mgmco/bugs/issues/2418
cc @mgmco/developers

Self-merging...

Nice typo!

#selfmerge


Thanks for the repo

Thank You for repo . I spent a lot of time to build bazel for Raspberry Pi 4 unfortunatelly without success.
Your code built bazel in first iteration. Good job.
Now it's time  to learn how tu build python wheels for Raspberry pi 4 becouse becouse some packages I need probably doesn't exist.
Thanks again.

Thanks for your nice words, this frustrating experience is exactly how I started this project :-)


Helm: Resources option for apiserver etcd

This patch adds the option to configure the resources of the init container and the container of etcd in the apiserver pods.
Signed-off-by: Sven Haardiek<EMAIL_ADDRESS>Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Thanks for contributing!

This patch adds the option to configure the resources of the  init container and the container of etcd in the apiserver pods. Some clusters have a strict rules of setting those resources for scaling and quota handling and partly have policies in place not allowing containers or init containers without resources. So this makes it easier to use the Cilium Helm Chart on those clusters without patching.
Add option to configure the resources of the init container and the container of etcd in the apiserver pods.

Thanks for the patch @shaardie! This Travis-CI failure is legit:

HINT: to fix this, run 'make -C Documentation update-helm-values'

Thanks for the hint. I fixed it. I thought using the Makefile in the helm install/kubernetes/ would be sufficient.

/test


Support for Solana mainnet and Fantom mainnet

This PR is to provide support for Solana and Fantom mainnet

Thanks for the addition.


Clean up generic_pattern.py

Currently there are too many mypy checks disabled.

This is gradually improved during refactoring/integration.


Tool Tip for New Player still says 1 HUC

Hovering over "New..." in QT
says "player cost = 1huc + fee"

Could you write new tooltip? I will change it...


Pagination issues with onEachSide

Laravel Version: 6.18.13, 7.12.0
PHP Version: 7.3.17
Database Driver & Version: MySQL 5.7.29

Description:
The default paginator appears to be optimized for onEachSide value of 3, resulting in discrepancies when onEachSide is set to a different value.
Issues with onEachSide set to 1
In order to make a small pagination views that fits in the mobile device view-port, I used the onEachSide() method with value 1 and observed the following issues:

The number 2 is repeated on both sides separator when current page is 3

The number (total pages - 1) is repeated when current page is (total pages - 2)

There are some more superficial issues like

The pagination view still does not fit within the small device view.

unnecessary separator (...) between 2 and 3 when current page is 4 and similar when current page is (total - 3).

unnecessary separator (...) between 2 and 4 which can be replaced with 3 when current page is 5.

Issues with onEachSide set to 5
When onEachSide is set to 5, a different set of issues arise.

The number of links on each side is not honored. For example, in the first image, the number of links on right side is only 2, and in the second image the links on left side are only 3.

Steps To Reproduce:
Create a pagination view for any query that returns more than 20 pages.
{{ $query->paginate()->onEachSide(1)->links() }}
{{ $query->paginate()->onEachSide(5)->links() }}
Suggestions/Bug Fixes

Bug Fix: The class Illuminate\Pagination\UrlWindow seems to be optimized for default onEachSide value of 3. There are a lot of hardcoded assumptions that break when it is set to a value much different. For example, both the methods getSliderTooCloseToBeginning() and getSliderTooCloseToEnding() has a hard coded value of 2 in page range which should be equal t to $onEachSide and $onEachSide -1 respectively. Also, the value of $window in  getUrlSlider() should ideally be $onEachSide + 4 instead of current value of $onEachSide * 2.

Feature request: The paginator always shows 2 links on each end which results in minimum of 9 links being shown when onEachSide is set to 1. These many links can't fit in a xtra-small bootstrap screen. The suggestion is to either allow another setting onEachEnd on the paginator or assume the user wants a small paginator and show only one link on each end when onEachSide is set to 1.

onEachSide shouldn't be used with anything lower than 2. I'll send in a PR to the docs to add a note about this.
Also see https://github.com/laravel/framework/issues/28789

@driesvints That will still leave issues with onEachSide for values different than 2 or 3, for ex 5 as I have shown above. Only 2 links on the right when close to beginning and 3 links on left when close to ending are shown as these values are hard-coded.
Would you be interested in a very small and simple PR that introduces no breaking changes and passes all tests while fixing the paginator for all values from 1 onwards?

@adwiv you can always attempt a PR but it's up to Taylor to decide if he wants it merged in.

This will be fixed in the next patch release.

Thanks a lot @taylorotwell for the patch.
There is a small change that I missed mentioning earlier.
When setting $window = $onEachSide + 4 we also need to change the condition when small slider is returned. The small slider should be returned whenever total pages is  less than or equal to 2 + $onEachSide + 1 + $onEachSide + 2 i.e. last <= ($onEachSide * 2) + 7
Hence the condition in the UrlWindow::get() method should be changed from ($onEachSide * 2) + 6) to ($onEachSide * 2) + 8) in Line 47
With the current patch we are getting unnecessary separators in edge cases (when total pages = 12 or 13 for onEachSide set to default (3).

When this patch will be released to fix this?
Not looking great using laravel6+bootstrap4 on cell phone.
bootstrap4 has
laravel 5 + bootstrap 3 has no such problem.

Laravel 8 with Bootstrap 4.1 does not works as well.

Same with Laravel 9 and Bootstrap 4...

See https://wintertricks.com/tricks/paginator-with-limited-number-of-pages-displayed-at-once for an example of how you can render a completely custom paginator link window setup (example is in Twig but is easily extrapolated to Blade or PHP.

I'm wondering why this one was closed  as #28789 and its references provides no good solutions.
On Laravel 9.8.1 and Bootstrap 4.6.1, this is what paginator provides by default:

So I came up with the following workaround:
<!-- On blade view (yeah, yeah... I know what they say about onEachSide() < 2 )-->
{!! $collection->onEachSide(1)->links() !!}

// Workaround Laravel Paginator Bad onEachSide #32943
// ---------------------------------------------------
@media (max-width: 575.98px) {
    .page-link {
        padding: 0.5rem 0;
        width: 1.85rem;
    }
}

Et voilà!

It may still brake on thousands pages tho. To me, the perfect solution when onEachSide(1):
| < | 1 | ... | 8 | 9 | 10 | ... | 20 | > |

That clearly translates as 'one element on each side' developers expect while giving robust UX context:

Previous;
One element after previous (first page);
Ellipsis omitting pages from start to current;
One element before current page;
Current page;
One element after current page;
Ellipsis omitting pages from current end;
One element before next (last page);
Next.

No?

Laravel 10 + Bootstrap 5 not working

Laravel 10 + Bootstrap 4 not working!


Recommend 1.7.5 for GKE and Minikube

What this PR does / why we need it:
Recome
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

is this a recommendation or requirement?  wanted to make sure it is not really a requirement else I'd like to know why.

Its a requirement for GKE since new clusters can only be created with 1.7.5, 1.6.9, or 1.6.7 (see https://cloud.google.com/container-engine/release-notes).
its a recommendation for Minikube so we use the latest patch release available.

ok thanks!  so istio itself doesn't have any hard requirement for 1.7.5 that you are aware of.

Correct

/lgtm

@ayj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-e2e-smoketest.sh
f60c9a35c8c181dd811dfb1dda2390bc7f557353
link
/test pilot-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.