added persistent timers

Please test and let me know how it goes. I had a conflict on my repository but they should be resolved fine.
We should now be able to set both pomodoro and break timers, and they should persist.

Many thanks for this I really appreciate your efforts.
My immediate thoughts are that for someone like myself who will stick rigidly to 25/5, the initial prompt to set the timers is intrusive. I'm happy just pulling in the plugin, changing the formatting for my status bar and that's it.
I'm not sure what the best way to accommodate this is; If @pomodoro_mins is set then don't do an initial prompt, check the disk for the existence of the user txt files and prompt if they don't exist.
What do you think?

It should only ask (to confirm the default you have set in your timer var, or the confirm the hard coded default of "25,5") for the first time you start the timer after a new install. Consecutive timers will read from the txts.
Say, this is new install:
set -g @plugin 'basaran/tmux-pomodoro-plus'
set -g @pomodoro_start 'p'
set -g @pomodoro_cancel 'P'
set -g @pomodoro_notifications 'on'

Starting the timer will confirm 25-5 as it is the hard coded value.
Say, this is new install too but you set the variables:
set -g @plugin 'basaran/tmux-pomodoro-plus'
set -g @pomodoro_mins 30
set -g @pomodoro_break_mins 10
set -g @pomodoro_start 'p'
set -g @pomodoro_cancel 'P'
set -g @pomodoro_notifications 'on'
``

It will ask you to confirm the `30-10` for the first time. In the next runs the txt files will take precedence. I think it's quite uniform this way, and it might please the quick install/test users. What do you think?

I think we can also skip the post install confirmation if the variables were set from the config. Let me look into it.

okay :)
Try the alt branch on my repo. I made it so, it will not ask to confirm anything.

If no user vars are provided, it pulls the hardcoded defaults (25,5), and writes them.
If user vars are provided, then those are written to disk.
If you set new timers through the prompt, they take precedence over the user vars.

I found out about something else - remember the issue of the tick from yesterday. It is a problem with version 3.2_a-1, which is what was on installed my laptop. 3.2_a-2 on the desktop didn't have the issue that is why I have been happily patching stuff and sending PRs :)
However, not everyone has the latest greatest installed. I suppose we should  to ditch the whole "persistent" command-prompt settings. I propose we keep the command-prompt option as a nicety for the user so they can set whatever they like for the current running session, and motivate the users to use the variables to make anything permanent.

nope, I will send a new one later this evening

@olimorris
so :) it turns out tmux also provide pop-up menus? What do you think about this?

The menus take care of the input validation part as well. I don't think anyone will really need to put 21.5 minutes.

I think this should satisfy all requirements in the most simple way, without any compromise. We have persistent timers, pomodoro menus, and if you set the var in your config, it takes precedence over everything. Please let me know if you see any issues. I moved a few things around.

Oh wow this is really slick!! 👏🏼 . Love it!!
One question...any idea what the tmux color groups are for the selection:

Mine are coming out yellow in my config. Shall test again a bit later then merge.

Also, any idea what the min version of tmux is for the popups?

Excellent. I think we can get this merged then. Thanks again for all of your hardwork. I'm super happy with the simplicity of the API and the ability to add a layer of customisation should a user need it.

set-window-option -g mode-style is what I used to change it!

great, thank for the merge. When I have some time, I will think of a way to add an auto-start pomodoro feature. I think we can pop another menu after the break time is over and ask the user to continue or cancel or something if they had recur enabled.
Ideally, we could also have another variable to enable/disable it through the config add possibly have another step added to the current menu flow, something like "would you like to make recurring" .
But, I think we are okay for now though, I have to get back to customizing these non standard shortcuts through tmux and emacs :)


feat: add env var to bypass hooks execution

ref -
#87

@toplenboren any expected timeline for merging this PR ?

Yep. gonna do it this week
I think you can merge it yourself, I'll just test it and do the release with your feature

Hi @toplenboren, thanks for merging the PR and many thanks to @bhanuprasadcherukuvada for adding the feature 🙏 it's very handy for my current use-case!
Can I kindly request that this feature be made available through a new NPM version? After some debugging I found out that this feature isn't available in the current latest version of simple-git-hooks, even though the GitHub master README documentation shows that the feature should be available 🤪 that was a confusing 15 minutes there..


Issue in DataIterator.len

The current implementation of DataIterator.__len__ is
def __len__(self):
        return len(self._datasets[self._validate_dataset_name(None)])

This only works for DataIterator that only contains a single dataset. Otherwise it will trigger a ValueError.
For example, if I run the following code snippet:
dataiterator = DataIterator(datasets={'ds1': dataset1, 'ds2': dataset2})
dataiterator.switch_to_dataset('ds2')
print(len(dataiterator))

The expected behavior would be to print out the length of dataset2, but instead it raised a ValueError.
Maybe we should update the implementation of DataIterator.__len__ to something like:
def __len__(self):
        return len(self._datasets[self._validate_dataset_name(self._current_dataset_name)])

in order to avoid this problem.

Good find! I believe there was a previous PR (#334) that tried to address this same issue, but it was not merged and there were no updates from the PR author since. It'd be great if you open a PR with your proposed fix.


Filters are broken for Bytes fields

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Filtering on a Bytes field with e.g.
query {
  auctions(where: { owner_contains: "db" }) {
    id
    owner
  }
}

should return auctions that have an owner value that is any of "0x.*db.*". However, queries like the above always return no matches.
The reason:
Internally, the "db" string is converted to a Bytes value (because that's the type of the owner_contains filter field). We then convert that to a string again for Postgres (data->>owner LIKE "..."). Due to the Display implementation for Bytes, the Bytes([219]) value is converted to "0xdb". The resulting SQL query has data->>owner LIKE "0xdb", which is incorrect.
Interestingly, this also doesn't match auctions with owners that start with 0xdb.
What is the expected behavior?
Auctions whose owner contains db anywhere in its hex string representation are returned from the query.

I just checked, this also affects the equality filter for Bytes fields.


Ability to manipulate text for selected choices

My goal is to use Choices.js to allow the user to choose multiple categories, but the categories are in a hierarchical structure, like this:
<select name="categories" id="id_categories" multiple>
  <option value="1">Parent Category</option>
  <option value="2">--- Child Category</option>
  <option value="3">------ Grandchild category</option>
  <option value="4">A Second Top Level Category</option>
</select>

I would like to make it so that if the user chooses the "--- Child Category" option that it appears in their list of selected choices as "Parent Category > Child Category" rather than "--- Child Category". I looked through the README and it doesn't look like this is currently possible, though I may have missed it. Would you consider adding the ability to manipulate the text?

Please see here: https://jsfiddle.net/maximmig/x4hjsdzw/1/

@maximmig That works! Thank you very much for putting that together!


async mongodb chat message history

Feature request
Switch to motor in the MongoDBChatMessageHistory class for asyncio support.
Motivation
There is already a PR #10645 for async Document Loader for MongoDB, this way we can keep consistency in the mongodb clients.
Your contribution
I already implemented it, if you want  I can submit a PR.

Yo any progress on this?


Update Readme.md to include deploy edit command

The command for kubectl edit deployment was missing

Oh, haha, don't know how that slipped past! Merging this.


Fix data-title attribute for H2 elements in TOC

I believe the data-title attribute for H2 elements was mistakenly using the parent H1 content as its value, rather than its own content.

Nice catch, thanks!


error compiling. Error : Invalid magic number.

Hey @tcoppex ,
Do you still use this addon?
I am getting this error at \ofxFontSampler\libs\fontsampler\ttf_reader.cc:
it seems that detect some error in the ttf files...
  /* Check that the file is correct */
  if ( (header_.filetype != 0x74727565)
    && (header_.filetype != 0x00010000)) {
    fprintf(stderr, "Error : Invalid magic number.\n");
    fclose(fd);
    return false;
  }

There's a new OF example that could be a replacement to your addon, but I suspect that it could be more performant or better to use your addon. maybe? I mean bc you have used some third-party libs...
https://github.com/openframeworks/openFrameworks/tree/master/examples/3d/pathsToMeshesExample
I have seen also this alternative:
https://github.com/moebiussurfing/ofxFontThreeDee

Hey @moebiussurfing, sorry for the delay.
From what I can see, it looks like ofxFontThreeDee or the ofx demo has a different focus compared to ofxFontSampler, which centers more on sampling glyphs to manipulate / recreate their individual mesh rather than applying 3D extrusion on a string or glyph.

I mean bc you have used some third-party libs

Just to clarify, there’s no third-party library involved except for the ofxTriangleMesh addon used by the demo, libfontsampler is self-contained and doesn’t rely on other libraries so you might extend it as needed or create bindings for other frameworks.
Regarding the issue you might be correct. The library was initially restricted to handling type 4 CMAP TTF files, but there could be some missing edge cases. Do you still have access to the problematic TTF file? It would help to investigate further.
Cheers


Docker image 6.0 causes warning "vm.max_map_count is too low"

I've pulled the default MongoDB 6.0 image and created a container. It starts successfully, but when connecting via mongosh it shows the following information:
   The server generated these startup warnings when booting
   2022-10-12T21:11:29.967+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
   2022-10-12T21:11:31.718+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
   2022-10-12T21:11:31.719+00:00: vm.max_map_count is too low

The last warning is what bothers me. The others will be fixed at my side.
In docker logs there's:
{"t":{"$date":"2022-10-10T22:09:47.184+00:00"},"s":"W",  "c":"CONTROL",  "id":5123300, "ctx":"initandlisten","msg":"vm.max_map_count is too low","attr":{"currentValue":65530,"recommendedMinimum":1677720,"maxConns":838860},"tags":["startupWarnings"]}

I tried adjusting the value of vm.max_map_count in the operating system via sysctl -w but no luck.
Does it have to be set in the container? If so, can you make the adjustments and publish an image that doesn't show this warning?
Thank you.

Since the value is host global (i.e. not namespaced) it cannot be changed in the container and it reflects in the container as soon as it is changed from the host. So it should be seen by mongod when started after the change.

That indeed helped, I did not enter sufficient value on my first attempt.
I was able to get rid of the warning with sysctl -w vm.max_map_count=1677720, but then I have recreated my container with saner limit of the concurrent connections from the default 838.860 to just 1000 (as my container is only used by one backend). For somebody looking for an advice, the argument is:
docker run -d -v /path/to/persistent/storage --name mongo-test --restart always mongo:6.0 --maxConns 1000

Pay attention to the --maxConns 1000.
After lowering maxConns the sysctl was not required anymore and could be reverted to OS default.


No Such File or Directory Error

Coming from Solus—which, somehow, seemed to handle my flatpak theming better because they all just "worked"—and Manjaro—which I never needed flatpaks with, I didn't hit this issue until my Fedora 33 install; so, this little script is a godsend. However, I can't get it to work and I'm wondering if it's Federa-specific. Any ideas? Thanks for whatever help you can provide...
When executing gftu.py, I receive this output:
Identifying which theme is currently being used...
THEME: Nordic-Polar-standard-buttons

Checking Flatpak Gnome Platform Dependencies...
Traceback (most recent call last):
  File "/home/bryan/.local/share/gnome-ftu/./gftu.py", line 32, in <module>
    platforms = os.listdir(homedir + "/.local/share/flatpak/runtime/org.gnome.Platform/x86_64/")
FileNotFoundError: [Errno 2] No such file or directory: '/home/bryan/.local/share/flatpak/runtime/org.gnome.Platform/x86_64/'

EDIT
I've found if I go down the rabbit hole of runtime dirs, I can use your previous Medium post to cp my theme into that and it works, for now; however, as you've pointed out, an update will likely break it.

Interesting... So when you go to /home/bryan/.local/share/flatpak/runtime/org.gnome.Platform/x86_64, it's there?

Interesting... So when you go to /home/bryan/.local/share/flatpak/runtime/org.gnome.Platform/x86_64, it's there?

That runtime dir doesn't even exist.

That runtime dir doesn't even exist.

Are you on a 32-bit OS?

Are you on a 32-bit OS?

Nope...

Nope...

Interesting. I actually just checked my f32 VM and I experienced the same problem. The user specific runtime directory is just not there either.  I guess Fedora just does it a little differently? Let me look into it some more.

Interesting. I actually just checked my f32 VM and I experienced the same problem. The user specific runtime directory is just not there either.  I guess Fedora just does it a little differently? Let me look into it some more.

That's much appreciated. I've come back to Fedora after quite some time
away from the distro & it's been a learning curve, to say the least; so
much has changed.
——
B.Moore
On Mon, Jan 4, 2021, 7:26 PM hkdb<EMAIL_ADDRESS>wrote:

Interesting. I actually just checked my f32 VM and I experienced the same
problem. The user specific runtime directory is just not there either. I
guess Fedora just does it a little differently? Let me look into it some
more.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hkdb/gnome-ftu/issues/3#issuecomment-754307324, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB6KO7WF2T2SQLRH7YAH56DSYJMB5ANCNFSM4VRLMSKA
.

That's much appreciated. I've come back to Fedora after quite some time
away from the distro & it's been a learning curve, to say the least; so
much has changed.
——
B.Moore
On Mon, Jan 4, 2021, 7:26 PM hkdb<EMAIL_ADDRESS>wrote:

Interesting. I actually just checked my f32 VM and I experienced the same
problem. The user specific runtime directory is just not there either. I
guess Fedora just does it a little differently? Let me look into it some
more.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hkdb/gnome-ftu/issues/3#issuecomment-754307324, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB6KO7WF2T2SQLRH7YAH56DSYJMB5ANCNFSM4VRLMSKA
.

I believe this is a user vs system flatpak thing. Check /var/lib/flatpak/runtime/

I believe this is a user vs system flatpak thing. Check /var/lib/flatpak/runtime/

There's plenty in that dir @macowie; any suggestions on getting the script to work?

There's plenty in that dir @macowie; any suggestions on getting the script to work?

In the python script you need to replace homedir + "/.local/share/flatpak/runtime/org.gnome.Platform/x86_64/" with "/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/"  (also needs a sudo for the copy command as you are editing a system folder)
That is where flatpak stores its Gnome themes (on my Pop OS 20.10 at least), there is no .local gnome folder
The full edited python script is below, I ran it on mine and my flatpaks are themed properly now.
#!/usr/bin/python3

###############################################################
### PROJECT:
### Gnome Flatpak Custom Theme Updater
### SCRIPT:
### gftu.py
### DESCRIPTION:
### Automated custom theme update for Flatpak Apps in Gnome
###
### MAINTAINED BY:
### hkdb<EMAIL_ADDRESS>### ############################################################

import os, datetime, sys, glob, shutil, string
from pathlib import Path

# Define Version
version = "v00.01"

# Get HomeDir
homedir = str(Path.home())

# Get current theme being used
print("\nIdentifying which theme is currently being used...")
theme = os.popen('gsettings get org.gnome.desktop.interface gtk-theme').read()
theme = theme[1:-2]
print("THEME: " + theme)

# Check what theme folders in flatpak exists
print("\nChecking Flatpak Gnome Platform Dependencies...")
platforms = os.listdir("/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/")
for p in platforms:
    print("Gnome " + p)

# Check on where theme exists
orig = ""
print("\nChecking to see where the theme dir is...")
home = os.path.isdir(homedir+"/.local/share/themes/"+theme)
print("HOME: ", home)
if home == True:
    orig = homedir+"/.local/share/themes/"+theme
else:
    system = os.path.isdir("/usr/share/themes/"+theme)
    print("SYSTEM: ", system)
    if system == True:
        orig = "/usr/share/themes/"+theme
    else:
        print("ERROR: No such theme available in the 2 common places to find them. Please move your theme folder to either ~/.local/share/themes/ or /usr/share/themes/ and try again.\n")
        exit()

# copy theme over to all available platforms
print("\nCopying theme to all available platforms...")
for p in platforms:
    print("COPYING TO: ",  p)
    os.system("sudo cp -R " + orig + " " + "/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/" + p + "/active/files/share/themes/")
    # print("cp -R " + orig + " " + homedir + "/.local/share/flatpak/runtime/org.gnome.Platform/x86_64/" + p + "/active/files/share/themes/")

print("\nDONE...\n")

Thanks, @double-u-a, your response is much appreciated. I've returned to my Solus install for now, but will use this (for sure) if I return to Fedora in the future...


Support for RDS AAD Security

Implements the new Azure AD authentication mechanism

@freerdp-bot test

I'd tend to agree with @akallabeth about the JSON parser, he suggested https://github.com/DaveGamble/cJSON that seems to be packaged under ubuntu as libcjson-dev. I'm very sorry about that because I imagine that writing that minimal JSON parser took half of the time of this PR...

Oh and @fifthdegree thanks for the contribution, as usual you're our hero ;)

@fifthdegree might be a good idea to write down the steps to test this somewhere (docs/xxx?)

Closing in favor of #8768. (I'm thinking I might fully build out the JSON code I wrote and turn it into a library)


Sprint1bulutemanuel

A init.py should be added to tests directory to enable running pytest from root of project


Swift 3 issues

First of all, awesome repository thanks!!
Just updated to swift 3 and encountered this issues.

My bad, I was still on version 2 of the repository, sorry!


ReactJS [2022Q2 GUKA]: Lesson 2 - Core Components

Install blank create-react-app application;
Render blank message (Hello World) with React;
Use at least 2 methods of creating react components;

All right.  That's nice!
What problem you are trying so solve? Do you need help?

Hi @xelme! It's very nice of you to express this interest 😇
In general, I really like your approach to organizing and analyzing images. On top of your approach I want to create a visually sophisticated webapp for my personal photo gallery. Also, I want to play with metadata in EXIF and IPTC formats to make possible some visual storytelling based on this data.
But in the first place, I'm taking a ReactJS course and trying to kill two birds with one stone - make a useful product for myself and brush up my knowledge of React 😅
I'm going to work in my fork mostly, but if you do something valuable and you are interested I can make some PR to this repo

Hi @xelme! It's very nice of you to express this interest 😇

You are welcome

In general, I really like your approach to organizing and analyzing images.

Thank you.

On top of your approach I want to create a visually sophisticated webapp for my personal photo gallery. Also, I want to play with metadata in EXIF and IPTC formats to make possible some visual storytelling based on this data.

I hope you can reuse some parts of it like the file indexer and the extractor.
Would you mind to describe a bit more what your usecase is and what kind of solution you imagine?

But in the first place, I'm taking a ReactJS course and trying to kill two birds with one stone - make a useful product for myself and brush up my knowledge of React 😅

Cool. Than you can teach me :-D

I'm going to work in my fork mostly, but if I do something valuable and you are interested I can make some PR to this repo

So in best case you do an alternative webapp for the gallery? Great!
If you have something to show, give me a ping. I would love to see your result
BR


AADSTS90013: Invalid input received from the user

I followed the quick start instructions but I'm getting the following error. Any help?
Exception in thread "main" java.util.concurrent.ExecutionException: com.microsoft.aad.adal4j.AuthenticationException: {"error_description":"AADSTS90013: Invalid input received from the user.\r\nTrace ID: <ID-HERE>\r\nCorrelation ID: <ID-HERE>\r\nTimestamp: 2018-10-10 16:53:55Z","error":"invalid_request"}
        at java.util.concurrent.FutureTask.report(Unknown Source)
        at java.util.concurrent.FutureTask.get(Unknown Source)
        at PublicClient.getAccessTokenFromUserCredentials(PublicClient.java:56)
        at PublicClient.main(PublicClient.java:30)
Caused by: com.microsoft.aad.adal4j.AuthenticationException: {"error_description":"AADSTS90013: Invalid input received from the user.\r\nTrace ID: <ID-HERE>\r\nCorrelation ID: <ID-HERE>\r\nTimestamp: 2018-10-10 16:53:55Z","error":"invalid_request"}
        at com.microsoft.aad.adal4j.AdalTokenRequest.executeOAuthRequestAndProcessResponse(AdalTokenRequest.java:120)
        at com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenCommon(AuthenticationContext.java:968)
        at com.microsoft.aad.adal4j.AuthenticationContext.access$100(AuthenticationContext.java:69)
        at com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:179)
        at com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:168)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

I believe this has to do with special characters in the password. The user I was trying with had "<" in the password. Tried with another user and was able to authenticate.

This sample has been archived.
The newer one can be found at: https://github.com/Azure-Samples/ms-identity-java-desktop/tree/master/Username-Password-Flow


changed initialState of grantsInfo

changed the initial state of grantsInfo to an array

Thanks for fixing my bug!!


Add /assets routes for direct (unstructured) access to underlying data

GET /assets/manifest/{path} --- List of underling resources and, if applicable and enabled by server config, their local paths on the local filesystem (which the client may or may not be able to directly access)
GET /assets/content/{something} --- Direct download of an asset, spooled from disk

An update on current thinking:
The “manifest” of asset information is (optionally) included in the description of a node returned by /metadata and search routes. This seems better than a separate route, as originally proposed above, for latency.
The route for content can just be /asset/{id}.

Closed by #649


Google Drive : Cannot rename a file in remote

RClone version : rclone v1.30
OS : Fedora 23 64 bit
Cloud System : Google Drive
Command Ran : ./rclone sync ~/gdrive/Photo\ Archive/ GDrive:Photo\ Archive
There's a file named FILE1 in my remote (Google Drive). The same file is in local machine as well. Then I renamed the file in GDrive to File 2 (using the web browser). After running the sync command again, I can see that the FILE2 has been deleted and FILE1 has again been uploaded to Drive.
Shouldn't the ideal behaviour be renaming the local copy of FILE1 to FILE2?
Part of the log  (wwtest = FILE2, test = FILE1) :

2016/06/19 14:27:51 2006/wwtest: Deleted
2016/06/19 14:27:51 Google drive root 'Photo Archive': Deletion finished
2016/06/19 14:27:52 pacer: Rate limited, increasing sleep to 2s
2016/06/19 14:27:52 pacer: low level retry 1/1 (error googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded)
2016/06/19 14:27:52 2006/test: Received error: googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded - low level retry 1/10
2016/06/19 14:27:52 2006/test: Removing failed copy
2016/06/19 14:27:52 pacer: Reducing sleep to 10ms
2016/06/19 14:27:52 2006/test: Failed to remove failed copy: googleapi: got HTTP response code 404 with body: Not Found
2016/06/19 14:27:56 2006/test: Copied (new)
2016/06/19 14:27:56 Google drive root 'Photo Archive': Waiting for deletes to finish (during+after)

You assume a two-way sync. rclone does not do that, it synchronizes from the source to the destination.
 Therefore it will make your gdrive look like your local drive..


To add the user bin folder to the path

Here the thread https://github.com/jupyterhub/binderhub/issues/557

Any opinions on /home/jovyan/bin vs /home/jovyan/local/bin?

gauging from https://unix.stackexchange.com/a/8658 it does seem like /usr/local/bin is better because it's something that the user would be manually adding things to. WDYT?

looking through it again, I don't think we need the double-curlies in there (and I think that's why a bunch of tests were failing too). I just patched the PR so let's see if that fixes it

The SO article you linked talks about /usr/local/bin but you changed it to ~/local/bin. Is that what you meant to do? I don't have any strong feelings for which path we end up using. Potentially a normal user isn't allowed to write to /usr/local/bin hence I was thinking use a path in the home directory.

Add a short test for this and then merge?
(restarted travis as it was the R tests that were failing)

+1 on merge one way or another
@betatim do you think we should add ~/bin as well? Or keep it as-is?

woot, thansk for the patch @aborruso !!!

@choldgraf you are very kind, but it is only thanks to you all.
I can not wait to try it on mybinder :)

Should be deployed now.

@betatim it works!!!!!!!
Great

Congratulations on the PR, @aborruso!
I've made a minor change to this and proposed it ad #313. It changes the directory from ~/local to ~/.local to be consistent with where other software installs per-user software by default. I'm hoping to get that merged and deployed sooner than latter so not too many repos start depending on it :) Hope that's not too much of a change for you!

thank you @yuvipanda you are right. I will make some small changes in my code ;)


Cannot catch double import in TYPE_CHECKING block

command: ruff check --select TCH,I,F
version: 0.5.1
code:
from decimal import Decimal  # I001: import block un-sorted
from decimal import Decimal  # F811: redefinition
from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from decimal import Decimal  # reimport, but no error

def fn():
    value: Decimal  # noqa: F842

I often import the same bunch of modules by snippet after TCH creates TYPE_CHECKING block.
ruff --fix deletes the second line above and keeps the first line.

Just to be clear, which line do you think should be flagged as an error, and which should be removed? (And similarly, what if Decimal is used outside of a type annotation -- what would you expect?)

Removing the first and second lines would be perfect.
Or maybe flag later imports (lines 2 and 6) and remove line 2, 5 and 6.
Then the TCH will handle TYPE_CHECKING block.


Deb's pr with all comment update

@sanbornsen snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1822-fabric8-planner.int.rdu2c.fabric8.io

I still have the issue that when I want to delete a comment, the confirmation modal locks the screen. It looks like the darken overlay is on top of everything, locking everything up. It also darkens the modal itself. In addition, the modal is oddly positioned on the top right.

Ok, I see, that modal fix is not part of this PR. Never mind then. But please be a bit more verbose on description, expecially when doing single PRs on multiple issues. Listing the fixed problems or implemented features helps reviewing that stuff :-)

@sanbornsen snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1822-fabric8-planner.int.rdu2c.fabric8.io


Data model is broken

One of our customers reported the error, with ~1 million inventory objects

Traceback (most recent call last):\n  File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.1.0-py2.7.egg/google/cloud/forse
ti/services/model/importer/importer.py", line 283, in run\n    1000\n  File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.1.0-py2.7.eg
g/google/cloud/forseti/services/model/importer/importer.py", line 332, in model_action_wrapper\n    for idx, inventory_data in enumerate(inventory_i
terable, start=1):\n  File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.1.0-py2.7.egg/google/cloud/forseti/services/inventory/storage.
py", line 879, in iter\n    for row in base_query.yield_per(PER_YIELD):\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/loading.py", line 98,
in instances\n    util.raise_from_cause(err)\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/util/compat.py", line 265, in raise_from_cause\n
reraise(type(exception), exception, tb=exc_tb, cause=cause)\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/loading.py", line 71, in instances
\n    fetch = cursor.fetchmany(query._yield_per)\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/result.py", line 1166, in fetchmany\n    s
elf.cursor, self.context)\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception\n    exc_info\n
File "build/bdist.linux-x86_64/egg/sqlalchemy/util/compat.py", line 265, in raise_from_cause\n    reraise(type(exception), exception, tb=exc_tb, ca
use=cause)\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/result.py", line 1159, in fetchmany\n    l = self.process_rows(self._fetchmany_i
mpl(size))\n  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/result.py", line 1318, in _fetchmany_impl\n    row = self._fetchone_impl()\n  Fi
le "build/bdist.linux-x86_64/egg/sqlalchemy/engine/result.py", line 1308, in _fetchone_impl\n    self.__buffer_rows()\n  File "build/bdist.linux-x
86_64/egg/sqlalchemy/engine/result.py", line 1295, in __buffer_rows\n    self.__rowbuffer = collections.deque(self.cursor.fetchmany(size))\n  File
"build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 441, in fetchmany\n    r = self._fetch_row(size or self.arraysize)\n  File "build/bdist.lin
ux-x86_64/egg/MySQLdb/cursors.py", line 327, in _fetch_row\n    return self._result.fetch_row(size, self._fetch_type)\nOperationalError: (_mysql_exc
eptions.OperationalError) (2013, 'Lost connection to MySQL server during query') (Background on this error at: http://sqlalche.me/e/e3q8)\n",
"createdAt": "07 August 2018 - 11:11:11",
"description": "{"pristine": true, "source": "inventory", "source_root": "organization/1234567891234", "gsuite_enabled": false, "source
_info": {"inventory_index_id":<PHONE_NUMBER>23456789}}"

Based on the documentation from the mysql site: https://dev.mysql.com/doc/refman/5.7/en/error-lost-connection.html
We can try increasing the timeout by modifying the net_read_timeout variable

Sometimes the “during query” form happens when millions of rows are being sent as part of one or more queries. If you know that this is happening, you should try increasing net_read_timeout from its default of 30 seconds to 60 seconds or longer, sufficient for the data transfer to complete.

If that doesn't solve the problem then we can try increasing the max_allowed_packet variable and see if the packet size was the main cause.

If the cause is none of those just described, you may be experiencing a problem with BLOB values that are larger than max_allowed_packet, which can cause this error with some clients. Sometime you may see an ER_NET_PACKET_TOO_LARGE error, and that confirms that you need to increase max_allowed_packet.

Google Cloud SQL doesn't seem to support flag net_read_timeout, maybe we will need to break down that session into multiple smaller chunks.
https://cloud.google.com/sql/docs/mysql/flags

Maybe we can change the pool_recycle parameter to a lower value here ?
From sqlalchemy docs:
"This parameter prevents the pool from using a particular connection that has passed a certain age, and is appropriate for database backends such as MySQL that automatically close connections that have been stale after a particular period of time"

@joecheuk do you have an update ? Please reprioritize to P0 if more customers are affected.

Customer has cleaned up their environment and is no longer observing the issue.


Code-Diff of two files should be visible in the Code-Window. #678

When clicking on a node in the diff-city, the user can open a Code-Window to see the diff in the code.
In case, that  gets replaced by , we need to update that in the code and also modify the BranchCity, so that we can access the required attributes.

There is one more thing to solve: the build on Linux.


Should emit bindings for trait implementations

This test should pass, but right now there aren't any default bindings emitted for Tricycle:
extern crate test_support;

#[test]
fn default() {
    test_support::project()
        .file("src/lib.rs", r#"
            #![feature(proc_macro)]

            extern crate wasm_bindgen;

            use wasm_bindgen::prelude::*;

            #[wasm_bindgen]
            #[derive(Default)]
            pub struct Tricycle {
                uno: f64,
                dos: f64,
                tres: f64,
            }

            #[wasm_bindgen]
            impl Tricycle {
                pub fn uno(&self) -> f64 { self.uno }
                pub fn dos(&self) -> f64 { self.dos }
                pub fn tres(&self) -> f64 { self.tres }
            }
        "#)
        .file("test.ts", r#"
            import * as assert from "assert";
            import * as wasm from "./out";

            export function test() {
                let tricycle = wasm.Tricycle.default();
                assert.strictEqual(tricycle.uno(), 0);
                assert.strictEqual(tricycle.dos(), 0);
                assert.strictEqual(tricycle.tres(), 0);
            }
      "#)
        .test();
}

Interesting! I haven't actually thought about something like
#[wasm_bindgen]
impl Default for Foo {
    // ...
}

but it'd be neat if this worked by default!

Question on possible implementations of this: How should this handle traits with type params/etc? I can see generating dynamic dispatch on types in the JS bindings, but that would only work for different input types. Should 'trait implementations with the same signature but different output types' be considered out of scope, or use some form of mangling / js_name customization?


change form name

👷 Deploy Preview for luxury-sherbet-3b08a4 processing.

Name
Link

🔨 Latest commit
a51bb520f146ae0a853a60f1b16d54618b5501b3

🔍 Latest deploy log
https://app.netlify.com/sites/luxury-sherbet-3b08a4/deploys/65d1f121b62e7400089e7b68


polyfill() does not polyfill Promise.prototype.finally() if the environment already has a Promise implementation.

In polyfill.js, observe line 30: https://github.com/stefanpenner/es6-promise/blob/master/lib/es6-promise/polyfill.js#L30
As I understand it, if a Promise implementation is found on the global object, then the polyfill will use the global object's Promise implementation as-is, not augmenting it with the stage 4 ES9/ES2018 feature proposal provided in this library, Promise.prototype.finally().
Is this intended behaviour, or a bug? Surely if I have polyfilled es6-promise, I should be getting at least all the advertised features of es6-promise?

Think I misread the polyfill code, never mind me.

Do you know if it works in -auto variant?

@YurySolovyov require('es6-promise/auto') is just an alias for require('es6-promise').polyfill(), so this issue affects both usages.

Thanks, good to know

Following browser only polyfill setup works for browsers:

without Promise
with Promise and without finally
with both Promise and finally

It also polyfills promises used in Fetch API and other promise based APIs.
import Promise from 'es6-promise';
if (!('Promise' in window)) {
  window.Promise = Promise;
} else if (!('finally' in window.Promise.prototype)) {
  window.Promise.prototype.finally = Promise.prototype.finally;
}

Does the finally method even exist on the ES6Promise object?
In IE 11, I see the following if I include https://cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js in a script tag.
new ES6Promise(function(){}).finally === undefined

If I include https://cdn.jsdelivr.net/bluebird/latest/bluebird.core.min.js I see:
new Promise(function(){}).finally === function(t){return this._passThrough(t,0,l,l)}

Thank you!


NU1900: Warning As Error: Error occurred while getting package vulnerability data

Service
OpenAI
Describe the bug
When trying to do dotnet restore inside docker package targeting arm64 the openai project generates this warning:
NU1900: Warning As Error: Error occurred while getting package vulnerability data: Object reference not set to an instance of an object.
As warnings as errors are set in csproj it breaks my build pipeline.
Could you add NU1900 to the nowarn list in .csproj please?
Steps to reproduce
create docker file that attempts to do a dotnet restore on the csproj file and try to build for arm64 platform.
Code snippets
No response
OS
Ubuntu 22.04 Arm64
.NET version
8
Library version
main branch

Thank you for reaching out, @EvoTechMike ! What does your nuget.config file look like? Are you restoring the NuGet package from nuget.org?

i have same issue with this file, DNS is correct. no way to disable ?

<packageSourceMapping>
	<!-- key value for <packageSource> should match key values from <packageSources> element -->
	<packageSource key="nuget.org">
	  <package pattern="*" />
	</packageSource>
	<packageSource key="enterprise">
	  <package pattern="FOO.*" />
	  <package pattern="BAR.*" />
	  <package pattern="WHAT.*" />
	</packageSource>

`

similar issue has been observed on my repository as well since last week. I do use AzureDevOps artifacts along with the default nuget.org


Upgrade to Android NDK r24

Description
This upgrades the Android jobs from Clang 12 to Clang 14 which is line with the Clang version used for the Linux jobs. This proactive fixes some compiler warnings we're dealing with in #2766

SFMLBuildMaster: Build this please.


1.6.0 versions Pre/Post Az CLI login commands need to honor any conditionals on the azure/login

I'm one of the EngSys guys on the azure-sdk and we have our own GitHub Actions workflows. Our azure login is conditional but the Pre/Post Az CLI login commands are being added indiscriminately. If the azure/login step has a conditional, the Pre/Post Az CLI Logins should have the same conditional. The Pre Az CLI command takes up 30 seconds to run which is bloating our Actions run times anywhere from 2x to 10x. In the interim, I've had to pin to<EMAIL_ADDRESS>to alleviate this problem.
The step has the following conditional
- name: 'Az CLI login'
if: ${{ github.event_name == 'issues' && github.event.action == 'opened' }}
uses: azure/login@v1
The repositories this is impacting are:

Azure/azure-sdk-for-net
Azure/azure-sdk-for-net-pr
Azure/azure-sdk-for-java
Azure/azure-sdk-for-java-pr
Azure/azure-sdk-for-python
Azure/azure-sdk-for-python-pr
Azure/azure-sdk-for-js
Azure/azure-sdk-for-js-pr
Azure/azure-sdk-for-c
Azure/azure-sdk-for-c-pr
Azure/azure-sdk-for-cpp
Azure/azure-sdk-for-go
Azure/azure-sdk-for-go-pr
Azure/azure-sdk-for-rust
Azure/azure-sdk-for-rust-pr
Azure/azure-sdk-for-ios
Azure/azure-sdk-for-ios-pr
Azure/azure-sdk-for-android
Azure/azure-sdk-for-android-pr
Azure/azure-sdk
Azure/azure-sdk-pr
Azure/azure-sdk-tools

This is an example where it's running when it shouldn't be. The Pre step running time took 3x longer to run that it did to install our actions processor and run the action.
/CC: @benbp @weshaggard

Hi @JimSuplizio, the issue you reported is indeed a problem, but it is currently not supported on GitHub. GitHub does provide an option, runs.pre-if, which allows us to define conditions for the pre: action execution. However, it has mentioned that

In pre-if, status check functions evaluate against the job's status, not the action's own status.

This limitation makes it impossible to have the pre/post azure/login steps use the same conditional logic as the azure/login step.
Additionally, it is impossible to read the if condition in the action script and skip the pre/post action. GitHub Actions evaluates the if expression itself and decides whether to include or exclude the step based on the result of the expression.
One potential solution could be to add a parameter like cleanup: on/off or an environment variable to control whether to skip the pre/post cleanup steps. We will discuss how to solve this issue and also investigate why the cleanup step takes 10+ seconds to finish. Thank you for bringing this to our attention.

@MoChilia Thank you for the update. I realize this might not be the easiest to solve because we do want to run the pre/post commands when we're running our Azure login.
Would an environment or parameter variable actually work? If the solution can't pull the conditional from the azure/login step then it at least needs to be configurable for a github.event_name and/or github.event.action. Would a parameter or setting an environment variable even accommodate this? That's just something to think about when looking at the solution.
As per the time it takes the Pre Az CLI command to run, I've seen the pre command take anywhere from 2 seconds to 45. I've also seen the azure/login step take that long. It seems more Azure related than network related, we install our actions processor from our dev feed and if it were network related I'd expect that to take longer.

@JimSuplizio
Yes, you're right. Adding an environment or parameter variable might not be the best option in your scenario. Could you separate the steps that require Azure/login from the others and execute them in one job? Then, apply the condition at the job level. This way, the job that includes azure/login together with pre/post cleanup can be bypassed entirely.

@MoChilia This is my workflow yml file that's handling all of our actions. Azure is only required for a specific isssues action. I guess I'm curious as to how these steps know there's an<EMAIL_ADDRESS>step and to inject pre/post command but can't see the conditional on the step and use that. Breaking this up into multiple actions is really not a great idea when this same yml is pushed out to 10 other repositories (with more incoming).

@JimSuplizio, why not try this? Consider elevating the condition to the job level. The job azure-actions will run on condition that if: ${{ github.event_name == 'issues' && github.event.action == 'opened' }} and the job event-handler will run after azure-actions on condition that if: always().
name: GitHub Event Processor
on:
  issues:
    types: [edited, labeled, opened, reopened, unlabeled]
  issue_comment:
    types: [created]
  pull_request_target:
    types: [closed, labeled, opened, reopened, review_requested, synchronize, unlabeled]
permissions:
    issues: write
    pull-requests: write
    # For OIDC auth
    id-token: write
    contents: read

jobs:
  azure-actions:
    name: Run Azure actions
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'issues' && github.event.action == 'opened' }}
    steps:
      - name: 'Az CLI login'
        uses: azure/login@v1
        with:
            client-id: ${{ secrets.AZURE_CLIENT_ID }}
            tenant-id: ${{ secrets.AZURE_TENANT_ID }}
            subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: 'Run Azure CLI commands'
        run: |
          LABEL_SERVICE_API_KEY=$(az keyvault secret show \
            --vault-name issue-labeler \
            -n issue-labeler-func-key \
            -o tsv \
            --query value)

          echo "::add-mask::$LABEL_SERVICE_API_KEY"
          echo "LABEL_SERVICE_API_KEY=$LABEL_SERVICE_API_KEY" >> $GITHUB_ENV

  event-handler:
     needs: azure-actions
     name: Handle ${{ github.event_name }} ${{ github.event.action }} event
     runs-on: ubuntu-latest
     if: always()
     steps:
         - name: Install GitHub Event Processor
           run: ...
        - name: Process Action Event
           run: ...

It might require some effort to change the YAML in your 10+ repositories, but I can't think of a better option. I hope this helps.  If there are any misunderstandings about your workflow, please let me know.

@MoChilia would elevating the condition to the job level prevent the pre/post Az CLI commands from being added if the condition wasn't met?

@MoChilia
Unfortunately, your suggestion doesn't work. If you look at the yml, the entire reason for the Az CLI login is to set the LABEL_SERVICE_API_KEY variable to be used by the event processor. While splitting things does run them as two jobs in the action, the environment variable set in one is not going to carry over to the other which is running a completely different runner. You can see that it's not set and I can't actually process our rule that requires it.

@MoChilia your suggested solution of splitting jobs works for limiting the pre/post commands but there's a couple of things were overlooked. First, our use of the AZ command sets a variable that needs to get passed to the other job. You can look here and see where I've taken your suggestion and added the code that set that variable in the job's output to pass to the other job. The problem here is that the variable coming out of Azure is a secret which can't be passed. The entire reason we're using Azure to get LABEL_SERVICE_API_KEY is because the login information wouldn't change willy-nilly but the LABEL_SERVICE_API_KEY could change at any time.

@JimSuplizio, I have found this docs for Masking and passing a secret between jobs or workflows. But it seems not work. So, I tried to pass secret between jobs with base64 encoding, which seems to work. You can have a try.
jobs:
  azure-actions:
    name: Retrieve Label Service Key from Azure
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'issues' && github.event.action == 'opened' }}
    outputs:
      API_KEY: ${{ steps.generate-key.outputs.API_KEY }}
    steps:
      - name: 'Run Azure CLI commands'
        id: generate-key
        run: |
          LABEL_SERVICE_API_KEY=1111
          LABEL_SERVICE_API_KEY_BASE64=$(echo -n $LABEL_SERVICE_API_KEY | base64 -w 0)
          echo -n "API_KEY=$LABEL_SERVICE_API_KEY_BASE64" >> $GITHUB_OUTPUT

  event-handler:
    needs: azure-actions
    name: Handle ${{ github.event_name }} ${{ github.event.action }} event
    runs-on: ubuntu-latest
    if: always()
    steps:
      - name: use api key
        shell: bash
        run: |
          LABEL_SERVICE_API_KEY=$(echo -n ${{needs.azure-actions.outputs.API_KEY}} | base64 --decode)
          echo "$LABEL_SERVICE_API_KEY"

@MoChilia Ignoring the obvious security issues with doing this, doesn't this seem like something that's way beyond what I should even remotely have to do. I don't feel like checking for a conditional and adding it to the pre/post commands would be nearly as complex as the suggestions to 'fix' this. Frankly, the dog and pony show required for the suggestions here is infinitely more complex than just having two processing jobs, one that needs Azure and one that doesn't, with conditionals at the job level. This is less than ideal but far less of a confusing mess.

@JimSuplizio, I agree, it's clearer. To sum up, the limitation that pre/post steps cannot share the same condition as the main step is intentional in GitHub's design. Our ability to resolve this issue within the scope of this action is somewhat limited. One possible solution is to elevate the condition to the job level.
If you have any suggestions for improving our action, please let me know. Or feel free to close this issue if you have no further questions.

Closing the issue for now. Feel free to reopen it if you have any further questions.


Cannot Export Settings

Exporting settings gives the following error:

Which OS do you use?

Windows 10

gaming platform? GOG, Steam, etc?

SteamSent from my iPhoneOn Feb 13, 2023, at 8:23 PM, Paulo Monteiro @.***> wrote:
gaming platform? GOG, Steam, etc?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Given this works on all computers I test: Mac OS, Windows Steam, Windows GOG, my best hunch is the folder <GAME_FOLDER>/Mods/SolastaUnfinishedBusiness/Settings is read-only causing this error.


Update now rm

Update now rm to use the hosts and projects API and to handle pagination.

Codecov Report

Merging #2412 into canary will decrease coverage by 0.03%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           canary    #2412      +/-   ##
==========================================
- Coverage   10.77%   10.74%   -0.04%
==========================================
  Files         251      253       +2
  Lines        9193     9226      +33
  Branches     1019     1022       +3
==========================================
  Hits          991      991
- Misses       8101     8134      +33
  Partials      101      101

Impacted Files
Coverage Δ

src/types.ts
0% <ø> (ø)
:arrow_up:

src/util/deploy/get-deployments-by-project-id.ts
0% <0%> (ø)

src/util/projects/get-project-by-id-or-name.ts
0% <0%> (ø)

src/commands/remove.js
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Great point @arunoda!
I've made it so it only removes the project instead of getting all the deployments etc.
How long would it take to implement project pruning?


add colors with chalk (non-mvp)

use chalk to colorize usernames, etc in the terminal interface

Issue resolved, still room for better styling and alignment


Angular ui grid in detail page

Replacement table/grid for detail page.  Can be enabled by setting the following value in chaiseConfig,js:
detailUiGridEnabled: true
Functionality should be equivalent to existing code with the exception of embedded links.  Links in cells can be supported by ui-grid but I need some clarification on the logic behind the existing algorithm because it seems to add them based on some heuristic which is not clear to me (and often seems to do the wrong thing).  Putting link support back in should be pretty easy once we figure out they should be handled.

There are a few issues that would have to be resolved before this could be merged (IMO).

I'm seeing a problem where the table doesn't load when you first expand the label for it. If I keep expanding / collapsing the table it eventually loads.

There are options on the column drop down that don't work, or at least they don't work for the data types in those column. Specifically those are the various aggregates (like count, min, max, etc). Those should be hidden, for those columns that they don't work on.

Export as PDF does not work.

Transpose is badly broken. When you search on the column heading, the behavior is invalid.

Most importantly, although there are no "merge conflicts" when you do merge it with master, the record page does not work. I did not debug it deeply but the behavior is that you get the raw template (displaying the angle brackets all over), which indicates the page has failed somewhere.

Most of these issues are correctable, though some might be out of our hands, like PDF export or other built-in features "not-working".  If you could point me to a reference deployment showing the behavior you found, that would help me while I try to recreate the problems.
The reason the column calculation stuff doesn't work properly is that the column metadata doesn't have types assigned yet. Some extra coding needs to be done to map from ermrest-returned type to the type expected by ui-grid.  Should not be a big issue to correct for the normal mode.
It is going to be an issue in transpose mode because you cannot assign a type other than string to each column, which is why column-based search doesn't make sense in transpose.  Also, you cannot toggle the filter box on a per-column, only globally.  It should be possible to disable all filter boxes on columns while in transpose mode, and re-enable in normal mode.

Right. I understand that some of these issue may be out of our hands. Still, I'm not sure we can deploy it for users if there are broken features. Seems like that will cause confusion. IMHO
To test it, I put it on our shared test server in my user dir.
Search page to start from:
https://dev.misd.isi.edu/~schuler/chaise-ui-grid/chaise/search/#3/legacy:target_gui?layout=list&page=1
An example record page:
https://dev.misd.isi.edu/~schuler/chaise-ui-grid/chaise/record/#3/legacy:target_gui/id=5&site=iHuman
BTW, I didn't run into my first cited issue above. Maybe that's some weird transient issue.

Looking at those examples, I'd say the transpose feature simply does
not work from a UX point of view... the entire HTML/CSS styling needs
to transpose for the user to understand what is happening:

Column headers down the left should be styled as headers, not data
Column headers should not be in the scrollable region
Column controls should also run vertically
Odd/even "row" shading should run vertically
Column visibility controls (in the hamburger menu) need to show columns and not record IDs

I'm looking into some of the issues now.  For now it can just stay in a branch until it is a bit more stable.

@karlcz These are not really things that I can easily change.  I made the transpose function work within the limits of the control, it is pretty much a hack.  The control does not support the idea of transposed data like this, and modifying to do the things you want (which are reasonable) is probably a lot of work to modify the control itself. I don't think its practical to support transpose within this control.

Should we revisit the need for transpose at all?  It seems to me that the main use was that if we had a table with a lot of columns, this would be a way to get it usable.  Now with the heuristic for displaying this inline, it would seem the value of this is diminished.
Carl

Dr. Carl Kesselman
Dean’s Professor, Epstein Department of Industrial and Systems Engineering
Fellow, Information Sciences Institute
Viterbi School of Engineering
Professor, Preventive Medicine
Keck School of Medicine
University of Southern California
4676 Admiralty Way, Suite 1001, Marina del Rey, CA  90292-6695
Phone:  +1<PHONE_NUMBER>
Email:  carl<EMAIL_ADDRESS>Web: http://www.isi.edu/~carl
On Jan 26, 2016, at 2:11 PM, karlcz <notifications<EMAIL_ADDRESS>wrote:
Looking at those examples, I'd say the transpose feature simply does
not work from a UX point of view... the entire HTML/CSS styling needs
to transpose for the user to understand what is happening:

Column headers down the left should be styled as headers, not data
Column headers should not be in the scrollable region
Column controls should also run vertically
Odd/even "row" shading should run vertically
Column visibility controls (in the hamburger menu) need to show columns and not record IDs

—
Reply to this email directly or view it on GitHubhttps://github.com/informatics-isi-edu/chaise/pull/184#issuecomment-175257009.

I should add that I don’t think our current implementation of transpose does any of this stuff…..
Carl

Dr. Carl Kesselman
Dean’s Professor, Epstein Department of Industrial and Systems Engineering
Fellow, Information Sciences Institute
Viterbi School of Engineering
Professor, Preventive Medicine
Keck School of Medicine
University of Southern California
4676 Admiralty Way, Suite 1001, Marina del Rey, CA  90292-6695
Phone:  +1<PHONE_NUMBER>
Email:  carl<EMAIL_ADDRESS>Web: http://www.isi.edu/~carl
On Jan 26, 2016, at 2:11 PM, karlcz <notifications<EMAIL_ADDRESS>wrote:
Looking at those examples, I'd say the transpose feature simply does
not work from a UX point of view... the entire HTML/CSS styling needs
to transpose for the user to understand what is happening:

Column headers down the left should be styled as headers, not data
Column headers should not be in the scrollable region
Column controls should also run vertically
Odd/even "row" shading should run vertically
Column visibility controls (in the hamburger menu) need to show columns and not record IDs

—
Reply to this email directly or view it on GitHubhttps://github.com/informatics-isi-edu/chaise/pull/184#issuecomment-175257009.

The "new heuristic" is to enable the transposed view automatically which presumes that there is a tranposed view implemented and available.
As I understand Mike, the ui grid simply lacks the underpinnings to support this. In my opinion, transposed views are essential UX in many bioinformatics scenarios, and so this ui grid widget is insufficient and unworkable.

@carlkesselman Sounds like I should file bugs against the current one too then...

Yes.  It is a bit rough in my opinion.
So it seems to me that we have two things that we are saying are of use:

I think that it is important to streamline finding things in the table, hence search, sort, and selecting columns are quite useful.
Karl thinks that transposing rows and columns is useful.  I’m not sure I understand the driver for this.  Can you give me an example?

There is also the case where the nested table is an extension to the entity, (1xN), in which case, we probably shouldn’t present this as a table at all but rather as a potentially grouped set of attibributes.
Carl

Dr. Carl Kesselman
Dean’s Professor, Epstein Department of Industrial and Systems Engineering
Fellow, Information Sciences Institute
Viterbi School of Engineering
Professor, Preventive Medicine
Keck School of Medicine
University of Southern California
4676 Admiralty Way, Suite 1001, Marina del Rey, CA  90292-6695
Phone:  +1<PHONE_NUMBER>
Email:  carl<EMAIL_ADDRESS>Web: http://www.isi.edu/~carl
On Jan 26, 2016, at 3:08 PM, karlcz <notifications<EMAIL_ADDRESS>wrote:
@carlkesselmanhttps://github.com/carlkesselman Sounds like I should file bugs against the current one too then...
—
Reply to this email directly or view it on GitHubhttps://github.com/informatics-isi-edu/chaise/pull/184#issuecomment-175286562.

Can you give me an example of where transposed views would be essential?
Carl

Dr. Carl Kesselman
Dean’s Professor, Epstein Department of Industrial and Systems Engineering
Fellow, Information Sciences Institute
Viterbi School of Engineering
Professor, Preventive Medicine
Keck School of Medicine
University of Southern California
4676 Admiralty Way, Suite 1001, Marina del Rey, CA  90292-6695
Phone:  +1<PHONE_NUMBER>
Email:  carl<EMAIL_ADDRESS>Web: http://www.isi.edu/~carl
On Jan 26, 2016, at 3:04 PM, karlcz <notifications<EMAIL_ADDRESS>wrote:
The "new heuristic" is to enable the transposed view automatically which presumes that there is a tranposed view implemented and available.
As I understand Mike, the ui grid simply lacks the underpinnings to support this. In my opinion, transposed views are essential UX in many bioinformatics scenarios, and so this ui grid widget is insufficient and unworkable.
—
Reply to this email directly or view it on GitHubhttps://github.com/informatics-isi-edu/chaise/pull/184#issuecomment-175284677.

@carlkesselman I'd say that the majority of the time we ask biologists
to share data or show us spreadsheets they have developed in
collaborations, they always create transposed tables. What we would
consider the attribute labels are running down the left side and each
column in the array of data represent one record.  Often, but not
always, the record IDs are also highlighted in header/label styling
across the top.

I am okay with dropping the transpose feature.

@robes I don't understand how to reconcile that with #185

Re: PDF export
This can be made to work.  It doesn't work currently because I did not include some required dependencies.  However, I am currently questioning the utility of the export feature in general due to the fact that different projects may have different security concerns, and might not want to allow export of data because of DUA reasons.
Anyway I am disabling this feature for now, but if we want to move forward with this control we can always get this feature working properly and then allow it to be enabled/disabled on a per-deployment basis (e.g., via chaise-config).

@karlcz right, #185 gets dropped by this. we have to do something else for that scenario. in the short term it would mean we can't support that. we're all flailing a bit here. really need to step back and make a plan for what to support.

I think I've addressed most of Rob's initial issues, with the exception of transpose.
In transpose mode I've simply disabled the column filter and context menus, since it is unlikely those will ever work properly without modifications to the control code.
Let's re-evaluate and try to come to a consensus on whether this is worth investing more time into.

Merging this into master.  Will be disabled by default.  Can enable by setting the following in chaise-config.js:
recordUiGridEnabled: true


Why newfc extend AttModel?

Thank you for your repo, Here is my question
when I eval newfc, there is some error
tmp_att_feats = p_att_feats[k:k+1].expand(*((beam_size,)+p_att_feats.size()[1:])).contiguous()
TypeError: 'NoneType' object has no attribute '__getitem__'

and I found that newfc extends AttModel, but in initialization, we do not read att feats for newfc as in misc.utils.py
def if_use_feat(caption_model):
    # Decide if load attention feature according to caption model
    if caption_model in ['show_tell', 'all_img', 'fc', 'newfc']:
        use_att, use_fc = False, True
    elif caption_model == 'language_model':
        use_att, use_fc = False, False
    elif caption_model in ['topdown', 'adaatt','stackatt','denseatt','adaattmo']:
        use_fc, use_att = True, True
    else:
        use_att, use_fc = True, False
    return use_fc, use_att

So could you please tell me why newfc extend AttModel ?

replace l770 in AttModel.py with         return fc_feats, att_feats, att_feats, att_masks.
I fixed it locally.

replace l770 in AttModel.py with return fc_feats, att_feats, att_feats, att_masks.
I fixed it locally.

Thanks for your reply. It works.
Actually I am more interested in why it extends AttModel than solving this problem.
I will appreciate it if you could tell me ~

Basically treat fc model as a special case of attmodel where there is no attention.
So that the fc model can reuse all the functions of attmodel. Basically to reduce redundant code.

Basically treat fc model as a special case of attmodel where there is no attention.
So that the fc model can reuse all the functions of attmodel. Basically to reduce redundant code.

You mean the newfc is like show tell and attmodel like show attend tell?  I want to train show tell and show attend tell model as experiment result compare. Any suggestions?
#53

FC is what's in self. Critical sequence training paper. It's not exactly show and tell but quite similar. Same for att2in which can be viewed as a variant for show attend and tell

FC is what's in self. Critical sequence training paper. It's not exactly show and tell but quite similar. Same for att2in which can be viewed as a variant for show attend and tell

Got it. That‘s different and will be treat as different compare methods. So, how to run train the original show tell and show attend tell ? (I think it ’s important as a baseline to compare.)

If you really want to compare, you can try running it and fix all the errors.


Access Raw SQL type information

I am experimenting with converting some legacy code which used IOPro to fetch data from a MySQL DB into numpy, to turbodbc, and ran into the following issue. In IOPro, when you used cursor.fetchdictarray(), you'd get back a structured numpy array where the dtype of the individual columns closely matched the sql type. So for example, a smallint would map to np.int16, int to np.int32, and varchar fields would become a fixed-sized string of len(varchar) + 1 to account for the null string termination.
I can see that turbodbc generically maps all MySQL integer types to np.int64, floats to np.float64 and string-like fields to object types.
I was wondering if there was any way to either:

Recapitulate the IOPro behavior directly (seems unlikely),
Get access to the raw underlying types without making separate queries of the database. This information does not seem to be in cursor.description, which just has the simple generic types defined in cpp/turbodbc/Library/turbodbc/type_code.h.

Due to our particular usage that accesses a row at a time (usually by mapping the numpy structured array to a C-array of structs with Cython), having compact rows is typically a lot more performant for us. I can certainly take turbodbc's output and convert it into the what IOPro provides by default, but I just wanted to make sure there weren't any facilities built into turbodbc that I was missing.

Hi! Unfortunately, there is no secret capability that you are missing, neither 1 nor 2. I planned to add support for more type codes to get the smallest possible type. Due to time limitations I never got around to do it.
You could still end up winning some time even without the conversion due to efficient use of batched I/O operations. Might be worth a try.


MenuPopoever doesn't work in the virtualized Datagrid.

Adding  a <MenuPopver> component in the virtualized Datagrid doesn't work.
There is no menu.

Here is a reproduction.
Repo

This should be fixed in the latest version of @fluentui/react-components and @fluentui-contrib/react-data-grid-react-window. The original virtualized DataGrid shipped from @fluentui is no longer supported
Example: https://codesandbox.io/p/sandbox/fluentui-v9-datagrid-virtualization-forked-hv4nnm?file=%2Fexample.tsx%3A8%2C9-8%2C55


BUG: Missing SetCPUBufferPointer in CudaImage<...>::SetPixelContainer(...)

In CudaImage<...>::SetPixelContainer(...), after setting a new pixel container, the CPU buffer pointer of the CudaImage's CudaDataManager shall also be updated.
This is likely a fix for #201.

Thanks (and sorry for the delay in merging)


vulkan-validation-layers: <IP_ADDRESS> -> <IP_ADDRESS>

Motivation for this change
Updates to match the rest of the vulkan packages, and in doing so fixes a forgotten sha256 update. I also cleaned up dependencies a bit.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build vulkan-validation-layers

LGTM

Rebased.

Is this blocked?


fix: test out pipeline catalog changes

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign jstrachan
You can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
59e9ff4fb259bff081379761d857febc5e404fd6
link
/retest

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 jenkins-x/lighthouse repository. I understand the commands that are listed here.


Change Verion to Version

Codecov Report

Merging #7 into master will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##           master    #7   +/-   ##
====================================
  Coverage      86%   86%
====================================
  Files           7     7
  Lines         243   243
====================================
  Hits          209   209
  Misses         34    34

Continue to review full report at Codecov.

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


Spawning and managing agents

Feature request
Have we considered the ability for an agent to spawn and manage other agents? It would be nice to be able to continue chatting with the main agent while other agents execute queries in the background.
Is this possible today? If so, what class should be used? If not, have we thought about how we might do it?
Motivation
The ability for an agent to spawn and manage other agents.
Your contribution
I've got some ideas on how we might manage this using asyncio and an event loop but don't want to jump the gun if we've already discussed it.

I've spent some time working on this today and have had some success in creating a new agent for each request and making the call to agent.run in a separate thread which then using callbacks updates a queue when the result comes back.

So it seems like callbacks might be the answer to this with some orchestration layer on top to handle managing the active tasks?


Remove deprecated WinGet package for March 2024 GDK Update 2

Remove deprecated WinGet package for March 2024 GDK Update 2
Microsoft Reviewers: Open in CodeFlow

@microsoft/xbox-developer-experience-toolbox for review


2022 Malcolm Tredinnick Memorial Prize awarded to Paolo Melchiorre

URL
https://www.djangoproject.com/weblog/2022/nov/25/2022-malcolm-tredinnick-memorial-prize-awarded-to/
When was this post released
25 November 2022
Summary
The Django Software Foundation Board has awarded the 2022 Malcolm Tredinnick Memorial Prize has been awarded to Paolo Melchiorre.

Paolo has presented nearly 40 Django talks at various DjangoCon, PyCon, and community conferences both online and in person. He also has been an active contributor to the https://www.djangoproject.com website since 2017.

Paolo also organizes Django Girls workshops and was a translator of the Django documentation into Italian.
The Malcolm Tredinnick Memorial Prize is a monetary prize, awarded annually, to the person who best exemplifies the spirit of Malcolm’s work - someone who welcomes, supports, and nurtures newcomers; freely gives feedback and assistance to others, and helps to grow the community.
YouTube Copy
The Django Software Foundation Board has awarded the 2022 Malcolm Tredinnick Memorial Prize has been awarded to Paolo Melchiorre.

Paolo has presented nearly 40 Django talks at various DjangoCon, PyCon, and community conferences both online and in person. He also has been an active contributor to the Django website website since 2017.

Paolo also organizes Django Girls workshops and was a translator of the Django documentation into Italian.
He recently spoke on adding full-text search to Django projects at DjangoCon US.
The Malcolm Tredinnick Memorial Prize is a monetary prize, awarded annually, to the person who best exemplifies the spirit of Malcolm’s work - someone who welcomes, supports, and nurtures newcomers; freely gives feedback and assistance to others, and helps to grow the community. For more information on the award check out our previous video back in October.
Have you had the pleasure of meeting Paolo. Know of any others in the Django community that are making an impact. Let us know in the comments below and be sure to subscribe for more Python Community News. I'm
Youtube Links

Announcement Post - https://www.djangoproject.com/weblog/2022/nov/25/2022-malcolm-tredinnick-memorial-prize-awarded-to/
Paolo's Website - https://paulox.net/)
Paolo's Latest DjangoCon Talk - https://www.youtube.com/watch?v=lnC9FUmQu7E

Code of Conduct

[ ] I would like my name mentioned on the podcast
[X] I agree to follow this project's Code of Conduct

Pronunciation (Americanized kinda - Pow-O-lo Mel-key-er)


fix #1129

@DanielOaks thoughts on this? I have mixed feelings about disallowing nicknames / account names that might already be in use.

#1436


HAWQ-293. Enable writable external table to support on number syntax.

writable external table is used for export data in hawq to others.
In hawq1.x default is on all, which is deprecated in hawq2.x
we support this feature by using on number instread of on all.

+1

+1, LGTM.


fix: correct package name

What was wrong?
I am still unable to use this 0.7.0a3 with mypy-extensions > 1.0, maybe this is why?
How was it fixed?
Todo:

[ ] Clean up commit history

[ ] Add or update documentation related to these changes

[ ] Add entry to the release notes

Cute Animal Picture

Looks good, thanks!


Tangram::udpate() returns true prematurely only the first time

So... now... is returning true when ALL tiles finish composing the geometry of what seams to be landuse (that in the case of tron use elevation raster tiles)

That's how it looks... the rest of the calls are 100% fine... is just that first one time

Boring map
On Tue, Mar 7, 2017 at 11:59 AM, Patricio Gonzalez Vivo <
<EMAIL_ADDRESS>wrote:

So... now... is returning true when ALL tiles finish composing the
geometry of what seams to be landuse (that in the case of tron use
elevation raster tiles)
[image: screen shot 2017-03-07 at 11 50 03 am]
https://cloud.githubusercontent.com/assets/346914/23667956/883ec17c-032d-11e7-898a-6e1e5de992d5.png
That's how it looks... the rest of the calls are 100% fine... is just that
first one time
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tangrams/tangram-es/issues/1345, or mute the thread
https://github.com/notifications/unsubscribe-auth/AABBXdxChiq9QCxhdfE2lTtMvHux7Y_Rks5rjY0OgaJpZM4MVwDB
.

We've made a number of updates to this logic since this issue was opened and I believe it's been resolved now - if not please re-open!


Syntax Error after installing with pip

Steps to reproduce:
Ubuntu 16.04
Python 2.7.15
pip installed, ldap3,dnspython,impacket all installed via pip
pip install bloodhound
Executing gives the following stacktrace:
Traceback (most recent call last):
  File "/usr/local/bin/bloodhound-python", line 11, in <module>
    load_entry_point('bloodhound==0.5.1', 'console_scripts', 'bloodhound-python')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 480, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2693, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2324, in load
    return self.resolve()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "build/bdist.linux-x86_64/egg/bloodhound/__init__.py", line 26, in <module>
  File "build/bdist.linux-x86_64/egg/bloodhound/ad/domain.py", line 28, in <module>
  File "/usr/local/lib/python2.7/dist-packages/dns/resolver.py", line 35, in <module>
    import dns.message
  File "/usr/local/lib/python2.7/dist-packages/dns/message.py", line 191
    print('id %d' % self.id, file=s)
                                 ^
SyntaxError: invalid syntax

Sounds like something is wrong with your dnspython install. I can't find that line in their source code on GitHub either, try updating/reinstalling it.

Is there a recommended version of dnspython? I was using 1.16.0

I was able to fix the issue -
Installed dnspython 2.0.0 from source
installed impacket from source
installed ldap3 from source
python3 setup.py install
python2 was still acting weird :P


Let Kotlin DSL script compilation disable compatibility mode for kotlin new inference engine

DisableCompatibilityModeForNewInference is a special flag to preserve compatibility with the old type inference. It only appeared in 1.4 and is turned off by default.
What it does is artificially lower the priority to resolve in some corner cases (for example, some cases with SAM conversions, as in our case). In the old inference, such calls were not prioritized properly. Now this flag was introduced to smooth migration.
A funny fact is that when the -XXLanguage: +NewInference flag is passed from the command line, Gradle or IDE, the DisableCompatibilityModeForNewInference flag is turned on automatically, but not in the case of embedded Kotlin in Gradle, since the language version settings are manually configured there, bypassing this logic.

Oh, that was interesting problem! Btw, why you still use LanguageVersion.KOTLIN_1_3?

@erokhins we can't move to 1.4 in a minor release for backwards compatibility reasons

Yeah, that makes total sense. Thanks!


Retry mechanism could be better

I think when the ofac site is having trouble it has bigger troubles than a retry will solve!  :(
Also, I see this error when it fails:
{"caller":"main.go:135","main":"ERROR: failed to download/parse initial OFAC data: ERROR: downloading OFAC and DPL data: OFAC: problem downloading (matched=add.csv, alt.csv, sdn.csv, sdn_comments.csv missing=dpl.txt): err=\u003cnil\u003e","ts":"2019-08-07T04:40:48.491283209Z"}
Something weird is happening with the error field.
An option to load from disk or something would be nice for dev...

I created two pull requests @rayjlinden that should address this.


Add recover_names pass to recover names post-mapping

This still needs some more tidying up and testing (I'm not convinced it's recovering as many names as it should in a more complex design although I still need to investigate); but it's an experiment with using a combination of random-value combinational simulation to find equivalence classes; followed by SAT; to find name pairs between a pre- and post- mapping design; in order to recover names lost during synthesis/mapping passes even if they perform significant rewriting.
It's based on abc's dress but integrated in Yosys to be more reliable and useful for abc9 (in theory, I haven't tried) or non-abc flows as well. Currently it's only been tested with ASIC flows, and consequently includes #3089 for this purpose.
I'd appreciate some feedback on what's implemented so far; in particular whether flatten -wb is a reasonable approach to be able perform evaluation and SAT on a netlist with boxes (which does add some complexity in tracking bits between the original and flattened versions of gate and gold); or whether it would be preferable to keep boxes intact (which then necessitates creating derived versions of parameterised boxes, etc).
I also need to figure out a reasonable way to add some tests for this...

or whether it would be preferable to keep boxes intact (which then necessitates creating derived versions of parameterised boxes, etc).

abc9 necessarily does this, by the way.

This would be super useful for OpenROAD so I hope it can be merged.

Sorry, I've had a bit of a backlog recently - but I do definitely plan to get back to this!

Would appreciate a review of this if someone has time?


Make consolidation configurable

Description
What problem are you trying to solve?
Currently when the node is underUtilized, or consolidable, the controller cordons the node and drains immediately.
But when we have karpenter.sh/do-not-evict: true, the disruption will be blocked.
I want something like:

If the node is underUtilized - Cordon the node
When the jobs finish their stuff and completed, the node becomes empty
When the node is empty, drain,kill the node

How important is this feature to you?

Huge cost-optimization

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

/assign jonathan-innis

Does #624's suggestion to use a PreferNoSchedule for consolidation solve this issue combined with #916? With the addition of both of these features we would: 1) Ignore the karpenter.sh/do-not-disrupt annotation when considering candidates and only respect them during the drain operation and 2) Taint the node as PreferNoSchedule when we see that they are underutilized, which should cause pods to be pushed away from the node during the consolidateAfter timeframe?

Thanks, looks like this is what I want.

Our team needs exactly that. We use our cluster to run a mix of workload types, some are services which can be evicted normally, and some are processes (such as Argo workflow pods) which should not be interrupted when possible.
We annotate the process pods with karpenter.sh/do-not-disrupt and it blocks consolidation as it should, but as the cluster schedules more process pods they land freely on those nodes that should otherwise get disrupted.
If Karpenter could preemptively cordon a node which it wants to disrupt and wait for pods annotated with karpenter.sh/do-not-disrupt to finish, it would be a huge cost saver and a game-changing feature for us.

/assign @jmdeal
/triage accepted


saveState() is not working

i set saveState() to true on steps wizard. but, its not saving any cookies to the browser and isn't saving last selected active tab on postback

saveState is not working, I checked even by adding saveState: true in your demo/index file. But not working. The jQuery.cookie (version 1.3.1) is already included.
I want to retain the step the user is on, if by mistake or for any other reason he hits refresh. I don't know how to accomplish this. Please check the screenshot

I try this also.. for me its save step.. if I on step number 2 it will load step 2 after refresh, but the problem is that all inputs on step 1 is refreshed and deleted.. this is not good :( I added jquery.cookie.js an have this ins script saveState: true .. do I need add something else?

I try to add this in my custom js $.cookie('name', 'value'); but this not help.. I have for example input  how to add this to cookie?


A user interface for system-information

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
I'm always frustrated when I start a new Os to not have general information about my system. Sometimes it is unclear to me which devices are connected, which networks are actives, etc..
Some commands allow to do it but you have to know them properly or at least make some research on google to know how to do it.
Describe the solution you'd like
A graphical user interface based on system information. The interface should show a dozen of page, each one related to system information category. Perhaps to start a few page showing only usb and blutooth devices can be a nice workaround.
Describe alternatives you've considered
A few months ago, I have started a new project, Systeminformation GUI, that I have left since
Systeminformation-GUI
This is an basic electron app implemented with react that show information returned by systeminformation.js
Additional context
Do you support this kind of initiative or you think systeminformation should not be used in a GUI as a library. In this case the GUI is a more a wrapper of systeminformation than something really new

Hi @frederic-lang ... thank you for your initiative here! Of course this is fine. I also thought of creating a project like this but currently working on the package itself consumes a lot of time. And I am about re release a new version 6.0 (rewritten in TypeScript) ... so feel free to continue. And any feedback is of course welcome!


[docs] Correct Usage for DataStream API

issue #414
When users use the DataStream API, they often encounter the following problems:

Incorrect use of no lock mode.
e.g. debeziumProperties.put("debezium.snapshot.locking.mode", "none")
The captured table could not be set up correctly..
e.g. tableList("tableName")
Unable to get json output.
e.g. deserializer(new StringDebeziumDeserializationSchema())

The Correct Usage for DataStream API following：
Properties debeziumProperties = new Properties();
      debeziumProperties.put("snapshot.locking.mode", "none");// do not use lock
      SourceFunction<String> sourceFunction = MySQLSource.<String>builder()
      .hostname("yourHostname")
      .port(yourPort)
      .databaseList("yourDatabaseName") // set captured database
      .tableList("yourDatabaseName.yourTableName") // set captured table
      .username("yourUsername")
      .password("yourPassword")
      .deserializer(new JsonDebeziumDeserializationSchema()) // converts SourceRecord to JSON String
      .debeziumProperties(debeziumProperties)
      .build();

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (shade-flink) on project flink-connector-mysql-cdc: Error creating shaded jar: Could not resolve following dependencies: [org.lz4:lz4-java:jar:1.7.1 (test)]: Could not resolve dependencies for project com.ververica:flink-connector-mysql-cdc:jar:2.1-SNAPSHOT: Could not transfer artifact org.lz4:lz4-java:jar:1.7.1 from/to central (https://repo.maven.apache.org/maven2): transfer failed for https://repo.maven.apache.org/maven2/org/lz4/lz4-java/1.7.1/lz4-java-1.7.1.jar: Connection timed out (Read failed)

@mincwang Could you also update postgres-cdc.md? the tableList should be  schemaName.tableName

@mincwang Could you also update postgres-cdc.md? the tableList should be schemaName.tableName

Good idea.

@mincwang could you open a PR for release-2.0 branch ?


Install failed

Have 4.10 managed Nabula logger installed in instance, trying to install Plugin get the following error

Invalid Upgrade.
The package you're installing depends on package 'Nebula Logger', version '4.8'. Install package 'Nebula Logger' in the target org before you install package 'Apex Rollup - Nebula Logger'.

@fefris unfortunately, the plugins aren't cross-compatible with namespaced versions of packages. Have you looked at the source code for the plugin at all, though? It's a single class that could easily be created in your org (and registered with the corresponding Rollup Plugin CMDT record) with the updates referring to Logger with the Nebula namespace. Let me know if that will work for you!

@fefris wanted to follow up with you about this one, to see if you had any thoughts on my original response above?

Closing for now - feel free to get back to me if the proposed workaround isn't feasible for your org!


minor refactoring

Describe your changes
Standardize some Artifact utility functions, make all RV calculations decimal instead of percentage.
Break up some icon imports.
Issue or discord link

Testing/validation

Checklist before requesting a review (leave this PR as draft if any part of this list is not done.)

[x] I have commented my code in hard-to understand areas.
[x] I have made corresponding changes to README or wiki.
[x] For front-end changes, I have updated the corresponding English translations.
[x] I have run yarn run mini-ci locally to validate format and lint.
[x] If I have added a new library or app, I have updated the deployment scripts to ignore changes as needed

Is there anyway to autoimport the *Icon versions by default? They're annoying to use, which is why I tend to not use them lol
feel free to ignore the nit

Yeah I cooked up a way to separate the imports, its not too important to do so right now, but I think it might help with the load time of go-next.


Raise an error for an empty key in metadata

Raise an error when an empty key for metadata is provided.
SALEOR-983

Impact

[ ] New migrations
[x] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[x] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[x] Changes are mentioned in the changelog

Task linked: SALEOR-983 Empty keys in metadata should be invalid

REQUIRED is way better, consistent with the rest of the code :)


Having issues when using the SaaSProductEntityDetail

Seems at least in the product I'm using it has an extra field. I've checked to make sure the EntityType is SaaSProduct and the error I'm seeing is:
AttributeError: 'SaaSProductEntityDetail' object has no attribute 'region_availability'

Hello,
SaaSProductEntityDetail is intended to be used to deserialize the SaaSProduct JSON from a DescribeEntity call. Are you seeing this error when you are deserializing a JSON? Or are you trying to construct a SaaSProductEntityDetail object?

I'm seeing this error when trying to deserialize a JSON using DescribeEntity.

I assume you meant that you saw this error when you try to deserialize the JSON that was returned when you call Catalog API's DescribeEntity API.
We've confirmed via our unit tests that using the .from_json method that it should ignore unknown fields, including region_availability. We also were able to reproduce the error only if we try to access the field directly (e.g. detail.region_availability). Was this what you were trying to do?

I get the error when running .from_dict on DetailsDocument section of the return from describe_entity. I can try using from_json instead though.

Are you unblocked from the issue?

Yeah, this appears to be fixed. Thanks :)

Yeah, thanks this appears to be fixed. :)


Init trying to create/delete default namespace

What happened:
Init applied as delete was trying to remove default namespace 😱 I think we should never do that plus we probably should not even try to create default namespace if someone chooses that ns
./bin/kubectl-kudo init -o yaml --dry-run | kubectl delete -f -
customresourcedefinition.apiextensions.k8s.io "operators.kudo.dev" deleted
customresourcedefinition.apiextensions.k8s.io "operatorversions.kudo.dev" deleted
customresourcedefinition.apiextensions.k8s.io "instances.kudo.dev" deleted
clusterrolebinding.rbac.authorization.k8s.io "kudo-manager-rolebinding" deleted
Error from server (Forbidden): error when deleting "STDIN": namespaces "default" is forbidden: this namespace may not be deleted
Error from server (NotFound): error when deleting "STDIN": serviceaccounts "kudo-manager" not found
Error from server (NotFound): error when deleting "STDIN": secrets "kudo-webhook-server-secret" not found
Error from server (NotFound): error when deleting "STDIN": services "kudo-controller-manager-service" not found
Error from server (NotFound): error when deleting "STDIN": statefulsets.apps "kudo-controller-manager" not found

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):
Kudo version (use kubectl kudo version):
Operator:
operatorVersion:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

we discussed this with @gerred and this sounds like a good solution - we should only try to create kudo-system ns and in all others expect it exists

I think this is a separate issue, but in case I'm wrong I'll put it here: I found that ./bin/kubectl-kudo init by default always installs to default namespace, and not to the kudo-system. I believe this is because namespace flag default (which maybe useful for managing resources but not for "init").  So this code is actually never executed. Is it ok, or should we change default namespace for "init" command?


Register version 0.1.1

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/34437
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.1 -m "<description of version>" 47fa7eb379e028eb6967b24d0e508ccb79aa2c40
git push origin v0.1.1


Feature Request - Spring boot info

Similarly to the "Health" tab for spring boot applications, could we also have the "info" endpoint/MBean integrated into hawt-io?
I think the cards for health with the details are great and show exactly what we need.
I'd like to help, but I have no angular skills

Hi @tadayosi ,
do you think that this feature request is worth the time to invest ? The reason why I ask is, that the post is from March 2020...
I would use the "health" code as template for creating the "info" code.
Best regards

Yes, contributions are always welcome.

Hi @tadayosi ,
I had some trouble to setup the local build environment on my win10 OS due to some version library conflicts (e.g.: python2 <=> python3, node12 <=> node8, gulp and so on). In the end, I used a dedicated dockerfile for compiling and running the project.
Do you think it might be a good idea to provide a Dockerfile having all libs/dependencies required to build/compile/run the project ? Other committers might benefit from such a Dockerfile, too.
If you agree, I would recommend to create another MR request and another issue before continuing with this issue. What do you think?

I'd normally just use tools like pyenv and nvm to workaround such version problems (FYI I use Linux). Doesn't that work for you?
I haven't heard from any other contributors that they have such difficulty so far (and I don't either).


Add softlayer_virtual_machine.py

Breaking down #2092 to smaller pull requests and make sure Travis passed before submission.

Close this PR due to project cancellation


[BUG] An Off VM in v1.3.2 with backup can not be restore replace after upgrade to v1.4.0-rc4

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Setup single node Harvester v1.3.2
Create 2 VMs vm-running and vm-stopped
Stop vm-stopped
Take VM Backup on both VM

Upgrade Harvester to v1.4.0-rc4
For now all VMs are Off, manually start vm-running
Restore backup vm-stopped

Restore Replace: VM stucking in Restoring and VirtualMachine status is still Stopped
Restore New: Successfully restored

Expected behavior
Should be able to restore a VM no matter what its status when trigging upgrade
Support bundle
supportbundle_StuckRestoringAnOffVMBeforeUpgrade.zip
Environment

Harvester ISO version: v1.3.2 => v1.4.0-rc4 single node
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): single node QEMU/KVM

Additional context

Can reproduce on both local QEMU/KVM and Bare-metal HPE ProLiant DL360
The original Running VM does not hit this problem

The root cause is that when we try to start vm, its runStrategy is RerunOnFailure, but related VMI is not existent.
We should fix it by sending a start request if VMI is not found.
https://github.com/harvester/harvester/blob/19bc22db86ec0c9d796ec1d9116c3ddce908082a/pkg/controller/master/backup/restore.go#L914-L938

Moved it back to review as the PR is not merged yet.

Moved it back to review as the PR is not merged yet.

Thanks for updating it. I intended to move to review, but not sure why it's in ready for testing 😅.

Tested with upgrade from v1.3.2 -> v1.4-daf68d56-head on 3 node libvirt ipxe-examples cluster. Validated that restore worked after upgrade with below steps. Validated as fixed.

Describe the bug
To Reproduce Steps to reproduce the behavior:

Setup single node Harvester v1.3.2

Create 2 VMs vm-running and vm-stopped

Stop vm-stopped

Take VM Backup on both VM

Upgrade Harvester to v1.4.0-rc4

For now all VMs are Off, manually start vm-running

Restore backup vm-stopped

Restore Replace: VM stucking in Restoring and VirtualMachine status is still Stopped
Restore New: Successfully restored

Expected behavior Should be able to restore a VM no matter what its status when trigging upgrade
Support bundle supportbundle_StuckRestoringAnOffVMBeforeUpgrade.zip
Environment

Harvester ISO version: v1.3.2 => v1.4.0-rc4 single node
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): single node QEMU/KVM

Additional context

Can reproduce on both local QEMU/KVM and Bare-metal HPE ProLiant DL360
The original Running VM does not hit this problem


Cancel pending async rule when field state is reset

Implements #161 and #165.

Please ignore the "CodeFactor" check, I forgot to exclude cypress/* directory from the analyzis. That is done now.