BLE client mode support

Is there any chance we can get BLE client mode support? The codal-microbit-nrf5sdk repository includes both the S113 and the S140 Nordic SoftDevice which gives me hope, but there are no configuration options to choose and modules like nrf_ble_scan.h are missing.
My goal was to build blocks for MakeCode that allows me to connect to BLE enabled Lego Powered Up hubs to control Lego motors and such. Lego has fully documented their BLE protocol.

Currently, micro:bit CODAL uses SoftDevice S113 which is peripheral-mode only and was implemented in favour of S140 to save flash memory at compile time.
If you want to use S140 to use central/client mode, you could revert this PR in your own fork of the repository https://github.com/lancaster-university/codal-microbit-v2/pull/3
You can find build instructions in https://github.com/lancaster-university/microbit-v2-samples so you could update the configuration to use your fork of CODAL.

Thanks! I read somewhere that extensions are built against a prebuilt CODAL/DAL on MakeCode. Does that mean it is not possible to submit extensions that are based on a modified CODAL?
I have seen some extensions for MakeCode made in C++, but I can't find any guides so I guess it's unsupported.

Hi @wldevries
That's kind of true. :)
MakeCode does link against prebuilt CODAL builds, but it is also possible to configure your own build through CONFIG options to enable/disable features. You can also inject c++ into your extension if necessary which can build on CODAL.
So the way to add new low level features is to develop a minimum, reusable patch to CODAL that adds any "plumbing" you need. We can then merge that into the main branch, and you can make use of that in your MakeCode extension. From there you can surface your extension using Typescript, Python and Blocks...

It's great that this would be possible in theory, but I'm way out of my depth here :-D I'm a proficient .NET developer, but the custom build systems and intricacies of embedded hardware are too much I'm afraid.

Cool... I've written many a good project in C#! One of my favourite languages in fact.
Hmm... I don't think I'll have time to look at it any time soon I'm afraid... University staff are really swamped at the moment. I could ask around to see if any of my students fancies a look at it if you like ? A micro:bit interfacing to lego kits would be cool...

Greetings.  It is now April 2022.
May I inquire as to the status of this issue?  I would love to be able to have the Microbit V2 act as a client as well.  I also don't know how to  "revert this PR in your own fork".
I am currently using an ESP32 board as a client, but my boss would love if we could use the Micro:bit V2.   Don't need the blocks, but do need the scan / pair functionality.
Thanks for your time and advice.


Vietnamese

Microsoft PowerToys version
0.70.0
Utility with translation issue
General
🌐 Language affected
Vietnam
❌ Actual phrase(s)
Not support Vietnamese ORC
✔ Expected phrase(s)
Need support for Text extrator
ℹ Why is the current translation wrong
Not needed

text extractor is powered via a Windows OCR system,
https://learn.microsoft.com/en-us/windows/powertoys/text-extractor#supported-languages explains how to add / query / remove languages.


Updated ZSH this morning, get error when SUDOing

I upgraded ZSH today. When I run sudo I see the following output:
charlespantoga in ~
❯❯ sudo -s                                                                    1:36PM
[oh-my-zsh] Insecure completion-dependent directories detected:
drwxr-xr-x   15 charlespantoga  staff   510 Sep 22 09:34 /Users/charlespantoga/.oh-my-zsh
drwxr-xr-x  208 charlespantoga  staff  7072 Sep 22 09:34 /Users/charlespantoga/.oh-my-zsh/plugins
drwxr-xr-x    4 charlespantoga  staff   136 Jul 27 16:31 /Users/charlespantoga/.oh-my-zsh/plugins/brew
-rw-r--r--    1 charlespantoga  staff  3790 Jul 27 16:31 /Users/charlespantoga/.oh-my-zsh/plugins/brew/_brew
drwxr-xr-x    4 charlespantoga  staff   136 Sep  8 09:27 /Users/charlespantoga/.oh-my-zsh/plugins/git
[oh-my-zsh] For safety, completions will be disabled until you manually fix all
[oh-my-zsh] insecure directory permissions and ownership and restart oh-my-zsh.
[oh-my-zsh] See the above list for directories with group or other writability.

[oh-my-zsh] Insecure completion caches also detected:
-rw-r--r--  1 charlespantoga  staff  35720 Sep 22 13:34 /Users/charlespantoga/.zcompdump-mac-chapan-5.0.5
-rw-r--r--  1 charlespantoga  staff  37866 Sep 22 13:32 /Users/charlespantoga/.zcompdump-mac-chapan-5.0.8
[oh-my-zsh] Moving to "/Users/charlespantoga/.oh-my-zsh/cache//zcompdump-bad/"...

/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:81: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:89: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:95: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:104: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:113: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:115: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:124: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:126: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:134: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:140: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:142: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:147: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:150: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:152: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:165: command not found: compdef
/Users/charlespantoga/.oh-my-zsh/plugins/git/git.plugin.zsh:176: command not found: compdef

I meet the same problem too.

FYI I am on OSX Yosemite if that matters, using iTerm2!

Have you upgrade your XCode?
I fix this issue by:
brew doctor
xcode-select --install
brew update
brew upgrade

@meisheep  Yes, my Xcode version is 7, and after brew update still have the problem

It happens the same to me when sudo -E -s. Check if your sudo is an alias with alias sudo.

These are actually two problems as it looks to me:

command not found: compdef is already reported in #4378
sudo -s gives warnings because of wrong permissions

I have therefore created a new issue about the 2nd problem in #4388 and suggest to close this ticket therefore.

I have this problem too.

@mccornella I checked my alias and sudo is an alias to nocorrect sudo
Also, I'm using the current release of XCode as well as the latest versions of Brew.

Getting compdef errors on Mavericks, 10.9.5, too.

The recently merged #3889 affected the completion startup sequence.
In particular, it removed the -i option to compinit, which tells compinit to silently ignore insecure directories. Now that it's gone, if compinit finds insecure directories, it will prompt you or balk like this. The "insecure directories" it's mentioning were probably there before, and this is just a change in zsh configuration, and not stuff installed on your system.
See #3889 for discussion.

I think this is a problem with the new compinit without an -i being incompatible with sudo -s, or another sudo which launches an interactive shell.  I get the same problem even though my permissions are "right", just like @ShaoXinSen's.
[~/.oh-my-zsh on ⇄ master]
$ sudo -s
Password:
[oh-my-zsh] Insecure completion-dependent directories detected:
lrwxr-xr-x    1 janke  staff    23 Sep 15 01:24 /Users/janke/.oh-my-zsh -> local/opp/omz/oh-my-zsh
drwxr-xr-x  208 janke  staff  7072 Sep 23 15:08 /Users/janke/.oh-my-zsh/plugins
drwxr-xr-x    4 janke  staff   136 Sep 19 15:11 /Users/janke/.oh-my-zsh/plugins/brew
-rw-r--r--    1 janke  staff  3790 Sep 19 15:11 /Users/janke/.oh-my-zsh/plugins/brew/_brew
drwxr-xr-x    7 janke  staff   238 Sep 19 15:11 /Users/janke/.oh-my-zsh/plugins/emoji
[...]
[oh-my-zsh] For safety, completions will be disabled until you manually fix all
[oh-my-zsh] insecure directory permissions and ownership and restart oh-my-zsh.
[oh-my-zsh] See the above list for directories with group or other writability.

[oh-my-zsh] Insecure completion caches also detected:
-rw-r--r--  1 janke  staff  35292 Sep 15 01:22 /Users/janke/.zcompdump
-rw-r--r--  1 janke  staff  35453 Sep 15 01:24 /Users/janke/.zcompdump-new-spiffy-5.0.2
-rw-r--r--  1 janke  staff  35453 Sep 21 15:10 /Users/janke/.zcompdump-spiffy-5.0.2
[oh-my-zsh] Moving to "/Users/janke/.oh-my-zsh/cache//zcompdump-bad/"...

[# root@spiffy ~/local/opp/omz/oh-my-zsh on ⇄ master]

I think the issue is that when you sudo, the security is evaluated from the perspective of your effective user id (root), but you still have completions from your ordinary user on the path (janke in my case). I don't think there's a way to resolve that with a file configuration. compinit -i looks like the Right Thing to gracefully handle the case where your user identity might be changing during a session without redoing all your paths to match it.
Restoring the -i to the compinit call on .oh-my-zsh is probably the the right way to handle this, from what I can see. You could do it with a conditional check to see if you're root, but this problem seems like it would also affect sudo-ing to non-root users as well (on systems that support it).

Just chmod 755 /Users/charlespantoga/.oh-my-zsh and so on ~
It works fine for me ~

Even when you do sudo -s? My ~/.oh-my-zsh is already mode 755, and so is the original poster's.

Getting similar issues since the last upgrade as well:
[oh-my-zsh] Insecure completion-dependent directories detected:
and
[oh-my-zsh] Insecure completion caches also detected:
doing chmod 755 int he zsh folder fixes it somewhat, but the problem returns after a while. Also some completions are not working after the upgrade even after setting permissions to 755, for example git completion for branches that have slashes in them, for instance feature/123 would not be autocompleted, but feature123 will.

@nihilnovi: sounds like the permissions-repairing code might not be fixing all of the "insecure" directories for you. What do you get for the output of compaudit? (Run from the account that is having the completion problems, in a session where that error message showed up.)

@apjanke
There are insecure directories:
/home/mike/.zsh/completion
/home/mike/.zsh

Hmm. Those aren't standard OMZ-controlled directories. Did you create them yourself? Is there synchronization software controlling them, maybe? What's ls -lda show for their permissions now? I don't know why it would recur if you've already chmod 755ed those directories.
And what's your umask?

No, I've not done anything except running upgrade_oh_my_zsh, the errors I got are not from that folder though, they are from .oh-my-zsh/.
.zsh permissions are drwxrwxr-x , I've done nothing to that directory though.
umask is 002
After doing git reset --hard origin/master in .oh-my-zsh/ and removing the git-extra plugin in .zshrc the errors seem to have gone away, will report if they return.

Your umask should probably be 022. If it's 002, any directories you create will be "insecure" from zsh's perspective.
The recent change in OMZ wasn't to create that directory; it was to change how OMZ's initialization of the Zsh completion system (with compinit) treated insecure directories. (It used to silently ignore them; now it tries to automatically fix them, and will let Zsh complain about ones that aren't fixed so you can clean them up.) So even if you haven't done anything to that directory lately, its state may be what's causing Zsh to error out.
That ~.zsh directory is insecure.  drwxrwxr-x is mode 775. (Which is what you will create if your umask is 002.) Change it to 755 with chmod -R 755 ~/.zsh and this error may go away.
The errors might have been issued by scripts running from ~/.oh-my-zsh, but they may be the result of the state of files outside that directory. In particular, the completion system will check the permissions of all directories  The output of compaudit is telling you which directories it doesn't like.

Thank's a lot of your help and information, I've learnt quite a bit from this :)
It would appear umask is  002 because of this:
Enables setting of the umask group bits to be the same as owner bits (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is the same as gid, and username is the same as the primary group name.

from http://askubuntu.com/questions/44542/what-is-umask-and-how-does-it-work under A note on the default umask , so I'm not sure if I should be fiddling with the default Ubuntu umask settings because of OMZ.

Interesting. I didn't know about that USERGROUP umask thing; will look in to it. Thanks for the heads-up. (BTW, does anyone know why Ubuntu/PAM does 002 instead of 022?)
It's not just OMZ that needs these directories to be 755, though, it's Zsh itself: compaudit is a base Zsh command.
We'll need to watch out for this with other Ubuntu users.

Same issue here:
[oh-my-zsh] Insecure completion-dependent directories detected:
dr-xr-xr-x  3 admin  admin  102 11 Sep 17:20 /usr/local/share/zsh
dr-xr-xr-x  3 admin  admin  102 11 Sep 17:20 /usr/local/share/zsh/site-functions
lrwxr-xr-x  1 admin  admin   74 11 Sep 17:20 /usr/local/share/zsh/site-functions/_youtube-dl -> ../../../Cellar/youtube-dl/2015.09.09/share/zsh/site-functions/_youtube-dl
[oh-my-zsh] For safety, completions will be disabled until you manually fix all
[oh-my-zsh] insecure directory permissions and ownership and restart oh-my-zsh.
[oh-my-zsh] See the above list for directories with group or other writability.
/Users/macgeneral/.oh-my-zsh/plugins/git/git.plugin.zsh:81: command not found: compdef
[..]
I just used
sudo mv /usr/local/share/zsh /usr/local/share/zsh.bak and now it's working again - don't know if I broke anything besides the youtube_dl completions ;)

@macgeneral: That will break any Homebrew-installed zsh stuff, including zsh completion support installed as part of Homebrew-provided packages. But those completions were already broken anyway, because zsh sees those directories as insecure and refuses to load them; it was just silently ignoring them before, due to the -i option.
These permissions look like they are secure; it's just that zsh doesn't recognize them as such because they're owned by admin and not specifically by root. zsh would only recognize them as secure if they were owned by root or yourself (macgeneral in this case, I think). So, chown -R macgeneral /usr/local would make zsh consider them as secure. But that may not be how you want to manage you Homebrew installation. IMHO, having Homebrew or other installations managed by a dedicated non-root role user is a legit setup.
In your case, it sounds like compinit -i is the Right Thing; maybe OMZ should provide an option for that, and to suppress the announcements about insecure directories. As far as getting zsh to work fully with a non-root, non-self owned Homebrew installation, I don't know... I think you might be stuck with having to install Homebrew stuff as yourself if you want its zsh completions to work, since that's the scenario that Homebrew itself supports.

So what is the best solution?

I think I've noticed something... I'm not sure if this is a ZSH issue or an oh-my-zsh issue.
This may not be of any help but, when running compaudit as my normal user I no output. When I run sudo -s I get:
/Users/charlespantoga/.oh-my-zsh/plugins/brew
/Users/charlespantoga/.oh-my-zsh/plugins/git
/Users/charlespantoga/.oh-my-zsh/plugins
/Users/charlespantoga/.oh-my-zsh/plugins
/Users/charlespantoga/.oh-my-zsh
/Users/charlespantoga/.oh-my-zsh
/Users/charlespantoga/.oh-my-zsh/plugins/brew/_brew

And when I run sudo -i I get a LONGGGGG list of directories that are 'insecure'. In fact, it views every zsh function as insecure.
There are insecure directories and files:
/Users/charlespantoga/.oh-my-zsh/plugins/brew
/Users/charlespantoga/.oh-my-zsh/plugins/git
/usr/local/share/zsh/site-functions
/usr/local/Cellar/zsh/5.1.1/share/zsh/functions
/Users/charlespantoga/.oh-my-zsh/plugins
/Users/charlespantoga/.oh-my-zsh/plugins
/Users/charlespantoga/.oh-my-zsh
/Users/charlespantoga/.oh-my-zsh
/usr/local/share/zsh
/usr/local/Cellar/zsh/5.1.1/share/zsh
/Users/charlespantoga/.oh-my-zsh/plugins/brew/_brew
/usr/local/Cellar/zsh/5.1.1/share/zsh/functions/_SUSEconfig
/usr/local/Cellar/zsh/5.1.1/share/zsh/functions/_a2ps
...
/usr/local/Cellar/zsh/5.1.1/share/zsh/functions/_zypper

I'm not using the system zsh, I'm using a brew installed ZSH.
I believe compaudit views these files as insecure because root (the user who is logged in via sudo -s) does not have write access to them. They are secure whether this is a "bug" or a feature.
@ShaoXinSen @apjanke what are your thoughts?
Perhaps the "bug" in this is that OMZSH should handle compaudit/compinit differently when sudoing to another user. For example, ast @apjanke stated earlier, it should use the -i flag when root.

@varcharlez: No, compaudit views them as insecure when you are root because they are owned by, and thus writable by, a non-root user. An insecure directory is one which is writable by a user who is a) not root and b) not you. And yeah, I agree that it is a feature and not a bug.
In general, I would recommend not running OMZ as root, and thus not doing sudo -s.
I don't know what the best thing to do here is. I'm starting to think we should put the -i back in for all cases, because there are legit user setups which will have insecure directories that cannot be "fixed" by any configuration change, and we don't want to always nag in those cases. It is not necessary for security to disable completion completely. We should probably also add an option for disabling the completion-disabling feature.

Fixed for me with chmod 755 /home/myuser/.oh-my-zsh/plugins/git and chmod 755 /home/myuser/.oh-my-zsh/plugins/ It happened after the update and I think the reason is just wrong permission in the new version.
See where is the error in your case and change the permission and it will work.

The main question here is really whether or not sudo -s should be discouraged or not. I understand that it's wrong to write a cache file as user 1 which is then visible to user 2.
However, I think that a lot of users are using sudo -s to run certain commands within their home directory using root privileges. There's nothing wrong with this so I rather think that oh-my-zsh should find a solution that can cope with the situation.
My suggestion for it would be to move the cache directory out of the $HOME directory. I see that Midnight Commander is using a directory /tmp/mc-root for storing temporary data which has perms drwx------ (700) and I think we should do the same for oh-my-zsh.

Oh My Zsh is not heavily audited for security or correctness, and it is complex. Even if we fix this issue, I still wouldn't recommend running it as root or with sudo -s.
But that doesn't mean we can't or shouldn't fix this.
Moving the cache location sounds like a good idea. Maybe not unconditionally: that cache data is intended to persist across a lot of sessions, and /tmp is volatile, so for the ordinary case you probably still want it in $ZSH_CACHE_DIR. But we could relocate it for the sudo case (by checking for $SUDO_USER != $USER or similar). Stick it under a per-user subdirectory under $TMPDIR with the right permissions.
The .zcompdump cache files are not stored under $ZSH_CACHE_DIR; they're put directly under $HOME. Both these and the $ZSH_CACHE_DIR should probably be relocated in the sudo case if we do this. Or you could just not use a .zcompdump cache when running under sudo.
And then we don't need to blow away the existing .zcompdump file. That's an inconvenience because you need to spend execution time to regenerate it, and the current mechanism leaves files under your home directory that may not be writable by you.
[~/.oh-my-zsh/cache on ⇄ master]
$ ls -l
total 0
drwxr-xr-x  6 root  staff 204 Sep 28 05:50 zcompdump-bad
[~/.oh-my-zsh/cache on ⇄ master]
$ rm zcompdump-bad/.zcompdump
rm: zcompdump-bad/.zcompdump: Permission denied

@nihilnovi: It looks like compaudit already has code to detect that per-user-group stuff, though it's not effective for the case when you're doing sudo.

The root of this problem is the merge of #3889 (https://github.com/robbyrussell/oh-my-zsh/commit/56cdec75348cc7c33f54c5441884238c25a6597b) which was introduced by @leycec. If I understand correctly, the intention was to suppress compdef warnings and not to improve security.
However, I think that this problem was fixed by moving the autoload command up (see diff) and that there was no necessity to remove -i from the compinit call. Therefore I'm suggesting these three changes:

skip compaudit permission check when running as root
run compinit even if compaudit fails
run compinit using the -i flag (ignore insecure directories)

See https://github.com/stucki/oh-my-zsh/commits/fix-4383. I'm not creating a pull request yet, waiting for feedback on this approach first.

Additionally, if you really want to fix the security problem when using sudo -s, I suggest to check if $ZSH_CACHE_DIR is owned by $USER, and stop with a warning if this is discouraged.
Otherwise, as mentioned earlier already, known issues with sudo -s should (and could!) be solved, see #3891.

One more thing: I also made an attempt to solve this problem by setting ZSH_COMPDUMP to something different (eg. add $USER to the filename). It turns out that this is not as easy as it seems:

compaudit will still throw warnings for other files that belong to OMZ (see #4388)
$ZSH_COMPDUMP is ignored on Ubuntu (at least) when compinit is called initially by /etc/zsh/zshrc. This happens before my local .zshrc is read, so it can't be changed by OMZ:

$  tail /etc/zsh/zshrc
(( ${+aliases[run-help]} )) && unalias run-help
autoload -Uz run-help

# If you don't want compinit called here, place the line
# skip_global_compinit=1
# in your $ZDOTDIR/.zshenv or $ZDOTDIR/.zprofile
if [[ -z "$skip_global_compinit" ]]; then
  autoload -U compinit
  compinit
fi

The suggestion from the comment solves the problem, but it requires manual action...

Started seeing this today as well, just after running update on oh-my-zsh. On logging into an affected machine (Debian Testing) with ssh or opening terminal I'd see
"[oh-my-zsh] Insecure completion-dependent directories detected:
(various /home/user/dirs)"
ran    compaudit    which basically spit out all files in /home/user/oh-my-zsh.
*ran   chmod -R 755 /home/user/.oh-my-zsh
to resolve.
*This isn't advice -it's just what I did to get rid of the error.

@fiver22: That chmod was the right fix in your case: it's what compaudit wants you to do, and why this error message is being exposed in the first place. You could go ahead and call that advice. :)

@stucki: I'm in favor of the general approach of your fix. I think we need to refine it a little bit, so it's not just a roundabout way of reverting #3889.
In particular, a major thing #3889 was trying to do was avoid the creation of degenerate .zcompdump files in the case when compinit -i ends up ignoring a lot of insecure directories. Maybe that means we should use a -D to avoid creating the cache file if compaudit sees problems.

$ZSH_COMPDUMP is ignored on Ubuntu (at least) when compinit is called initially by /etc/zsh/zshrc. This happens before my local .zshrc is read, so it can't be changed by OMZ ...

I think we can actually deal with this in .zshrc. The first time that /etc/zsh/zshrc runs in a login session, it still has the default $FPATH, and the directories on it are going to be secure, so it won't bring up the error messages or prompt. And it will produce a .zcompdump cache at the default location. Then OMZ, running from the user's ~/.zshrc, adds the possibly-problematic dirs to $FPATH, and makes its own .zcompdump. The only time that global /etc/zsh/zshrc is going to see the insecure $FPATH dirs is when you invoke it from a subshell (e.g. running zsh -i from within zsh) and it sees the changes that OMZ has made to the exported $FPATH and other variables – in which case it could set and export $skip_global_compinit from ~/.zshrc, and /etc/zsh/zshrc would see it most of the times it mattered.
This is getting messy.

And, one more complicating factor: there may be a bug in compinit -i itself related to the exclusion of directories with insecure parents, where it should, but actually doesn't, ignore them.

This is getting messy.

So true. I'm still in favour of reverting most of the stuff that #3889 changed. The original problem that it tried to solve is a different one (it's about moving the autoload command), and apparently the change has too many unwanted side effects.
See also the discussion in https://github.com/stucki/oh-my-zsh/commit/bcb45cae1295b2dc918125892d404f52ae6ad42f. My current suggestion is to remove both the compaudit check and the handle_completion_insecurities function.

The original problem that it tried to solve is a different one (it's about moving the autoload command)

It's not about moving autoload. That's an insignificant matter of code formatting, and as far as I can tell has no effect except to make compaudit available. The major motivation was to:

Prevent the creation of degenerate/broken .zcompdump files in the case where compinit -i ended up excluding a lot of directories. Broken .zcompdumps are a frequent problem with OMZ, and this could help some.
Notify the user that some of their completion definitions are being ignored, so they don't just wonder "why aren't some of my completions working?"
Something about security, I think.

One of its original goals was also to automatically fix the insecure directories, so completions would just start working. But that was abandoned as being too complex or unworkable, I think.
#3889 is a giant thread, and stuff in there changed a lot during the discussion. Maybe @leycec or someone else could summarize the intent of #3889 and the mechanism that went in to the actual code change in a few paragraphs, so we have a better basis for discussion.
Given the side effects and breakage, I'm also in favor of mostly reverting all the new #3889 stuff until it can be tested further. Preferably by leaving it in the codebase and putting it behind a $ZSH_DISABLE_COMPFIX check that defaults to true for now, so it's easy to test and see how it interacts with other code.

According to the title, #3889 was about Cygwin only. However, as we see it affects a lot more platforms.
Therefore: Yes please, revert the compaudit check for now and see if anyone comes up with a general solution...

Here's a PR that turns it off by default: #4426
This will restore the old compinit behavior by default for users, makes the sudo -s error messages go away, and leaves all the #3889 code intact so you can test it by turning setting ZSH_DISABLE_COMPFIX=false in your ~/.zshrc before loading OMZ.

Thank you!

thanks for the fix. it seems that disabling auto-updates is a way to go for me in the future. I've been burned a few times by the updates that make me less productive ;)
DISABLE_UPDATE_PROMPT=true
DISABLE_AUTO_UPDATE=true

chmod -R 755

chmod -R 755

Doing the chmod is insufficient to fix it for sudo, because once you sudo, zsh does the check considering you to be root, and some of those directories may be owned by the normal user, so zsh will consider them insecure while you're in the sudo.

Yeah, just upgrading to the current version of oh-my-zsh will do. Sorry for the confusion!

I'm getting a similar issue, but when i try to call into zsh from bash. Does anyone have an idea as to how to fix this?
‣ bash
bash-3.2$ /bin/zsh -l -c "which fastlane"
complete:13: command not found: compdef
/usr/local/opt/rbenv/shims/fastlane

@ohwutup comment on #4771 which is your exact issue.

@ohwutup also if you run on AWS or use aws-cli, we found the solution. Check it out.

Setting the owner of the .oh-my-zsh directory (recursive) to root and changing permissions to drwxr-xr-x fixed it for me


package update

Switch the repo and issues links in package.json to this one. Also, add the link of the snapshot uploaded to NPM, see #41
Feel free to cherry-pick only one of the commits if you don't like the other.

@nickkolok I published it on npmjs as nerdamer-prime. Can you take a look to see whether it works for you?


[Feature Request] Improve info of sanitychecks

Sanitychecks should be more concise about why they fail. E.g. ARCtrl.ISA.Identifier.checkValidCharacters does not return the identifier it checked.

This is done!


[BUG] ffmpeg apng weird decoding

Give an example of what is wrong
Original apng
https://i.imgur.com/OiPWxiy.png
Type here what is wrong or/with pictures.
It does something weird...
https://i.imgur.com/oRUbNlm.mp4
https://i.imgur.com/SieqcuI.png
Given an example of what it should look like
It should look like the original file.

can you confirm this is still an issue?

It can't load .apng files now. So I can't really tell. It does read them as .png with one single state.
Using 4.12.0.

apng is fixed once more, ensure your files are correctly .apng files for the game to process them properly.


Add feature: get character bounds on screen

A few questions I have:

Should selectionShape be used to get the bounds? Will that switch-out approach cause any issues later on? I didn't want to create a new Path object each time the method is called so as to reduce memory usage.
I used the FORWARD bias in endPosition = offsetToPosition(to, Bias.FORWARD). Is that correct? Or should it be BACKWARD? I still don't understand how that part of the code works.

Addresses #150.

Manually tested this code (well, how would you test it via TestFX...?) with:
import javafx.application.Application;
import javafx.geometry.Bounds;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.stage.Popup;
import javafx.stage.Stage;
import org.fxmisc.flowless.VirtualizedScrollPane;
import org.fxmisc.richtext.InlineCssTextArea;

import java.util.Optional;

public class CharacterBoundsDemo extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        InlineCssTextArea area = new InlineCssTextArea("0123456789\n123456789\n123456789");
        area.setWrapText(true);
        area.setStyle("-fx-font-size: 32pt;");
        VirtualizedScrollPane<InlineCssTextArea> vsPane = new VirtualizedScrollPane<>(area);

        Region r = new Region();
        r.setStyle("-fx-background-color: red;");
        Popup p = new Popup();
        p.getContent().add(r);

        TextField fromField = new TextField("0");
        TextField toField = new TextField("10");

        Button b = new Button("Show");
        b.setOnAction(ae -> {
            int from = Integer.parseInt(fromField.getText());
            int to = Integer.parseInt(toField.getText());
            Optional<Bounds> optB = area.getCharacterBoundsOnScreen(from, to);
            optB.ifPresent(bounds -> {
                r.setMinSize(bounds.getWidth(), bounds.getHeight());
                p.show(primaryStage, bounds.getMinX(), bounds.getMinY());
            });
        });
        BorderPane root = new BorderPane();
        root.setCenter(vsPane);
        root.setBottom(new HBox(fromField, toField, b));

        primaryStage.setScene(new Scene(root, 200, 400));
        primaryStage.show();
    }
}

Should selectionShape be used to get the bounds? Will that switch-out approach cause any issues later on? I didn't want to create a new Path object each time the method is called so as to reduce memory usage.

I don't see this as a problem because it'll only run on the JavaFX Application Thread, so there shouldn't be any issue with concurrency-related things. Additionally, selectionShape is already bound to leftInsets and topInsets which does affect the accuracy of the returned Bounds object.

I used the FORWARD bias in endPosition = offsetToPosition(to, Bias.FORWARD). Is that correct? Or should it be BACKWARD? I still don't understand how that part of the code works.

After testing this out, there wasn't any difference between FORWARD and BACKWARD even across multi-line paragraphs or multiple paragraphs. I think that only matters for some other thing Position-related thing, though Tomas could better explain that.


schedule sink map update in Rx io scheduler, because KafkaProducer.close...

... can potentially block. see
https://issues.apache.org/jira/browse/KAFKA-1660
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=53739782
However, this is still not perfect. if close blocks on waiting sender thread,
it haven't close the metrics yet. we can potentially have bad metrics.
this is the thread dump, where poller thread for persisted props got locked up
////////////////////////////////////
"pollingConfigurationSource" daemon prio=10 tid=0x0000000003547800 nid=0xfe0 in Object.wait() [0x00007f335f6c8000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

waiting on <0x00000002994dae30> (a org.apache.kafka.common.utils.KafkaThread)
at java.lang.Thread.join(Thread.java:1281)
locked <0x00000002994dae30> (a org.apache.kafka.common.utils.KafkaThread)
at java.lang.Thread.join(Thread.java:1355)
at org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:422)
at com.netflix.suro.sink.kafka.KafkaSink.close(KafkaSink.java:340)
at com.netflix.suro.sink.SinkManager.closeSink(SinkManager.java:78)
at com.netflix.suro.sink.SinkManager.set(SinkManager.java:118)
at com.netflix.chukwa.suro.SuroSinkConfigurator.buildSink(SuroSinkConfigurator.java:66)

suro-pull-requests #217 FAILURE
Looks like there's a problem with this pull request

NetflixOSS » suro » suro-pull-requests #49 ABORTED

NetflixOSS » suro » suro-pull-requests #50 FAILURE
Looks like there's a problem with this pull request

suro-pull-requests #218 FAILURE
Looks like there's a problem with this pull request


JSON mode support missing

Confirm this is a feature request for the Node library and not the underlying OpenAI API.

[X] This is a feature request for the Node library

Describe the feature or improvement you're requesting
The OpenAI completion endpoint now supports JSON mode on the request. It'd be great to have support for this param.
Additional context
No response

This is supported, are you on the latest version?

I am, but I guess it's not clear how to pass this param in this library. Perhaps an update to the docs could help.

I am on the latest version 4.16.2 and am getting validation errors trying to use response_format: {type: 'json_object'} with model: 'gpt-4-vision-preview'
Response:
{
  error: {
    code: null,
    message:
      '1 validation error for Request\nbody -> response_format\n  extra fields not permitted (type=value_error.extra)',
    param: null,
    type: 'invalid_request_error',
  },
}

Is the new JSON mode not supported with the vision model?

Is the new JSON mode not supported with the vision model?

Correct. It's not supported in the vision model.


Pydantic vision module to build off of and enable multimodal capabilities for all providers.

Hi all,
This library is amazing! I added something similar to the pydantic Image class we use to abstract away all those messy conversions you need to do.
Question, why poetry? I am team hatch all the way and not sure what to do for poetry.lock file.
The problem with multimodality, however is that joblib won't cache correctly unless we encode to png (which is easy to do with the vision.py module but a better use would be "close enough" similarity maybe via CLIP embeddings?)
If you all like, I can integrate more of our backend api such as a Message class that has to_openai(), to_anthropic() etc. methods to abstract away all of those api specifics and allow for interwoven image and text inputs.
Cheers!

So after testing in the main branch, this also fixes some circular import bugs that aren't being tested currently.

really interesting to see vision here, would be very exciting to see it used in context, for example with an evaluation function and example

You need only wait by end of day, application is in-context learning for robotics :)

There is a duplicate PR with #682. I have no personal preference for either one, and it seems like yours is aimed with more modalities in mind.
Tagging @KCaverly @CyrusOfEden to see if we should delay this until backend refactor

I believe the LiteLLM backend should interface with gptv, but I imagine we will need to accomodate for this with a distinct backend, so more work would be required, but we should be able to leverage this work to speed that up.

Added examples/multimodal/visual_question_answering.ipynb and tested api calls.

@isaacbmiller Could you provide more details about the plans for the backend refactor?
To get multimodal Calude and HF I wanted to add the following Pydantic models with to_() methods:
Message
role: str
content: list[Prompt]
Prompt
text: str
image: Image
We do this internally but there are probably better design approaches.

@sebbyjp @arnavsinghvi11 I'm eager to test this. Is it possible to compile datasets with image inputs at this stage, to perform prompt optimisation?


Can't access/display OIDC authentication page

Hi,
I'm facing an issue when I try to configure OIDC authentication, more precisaly the OIDC page is never displayed (always token access page).
Deployment informations
Helm chart: headlamp from https://headlamp-k8s.github.io/headlamp/
Helm version: 0.19.0
What I've tried:

I've tried to set env variable with:

env:
  - name: HEADLAMP_CONFIG_OIDC_CLIENT_ID
    value: "xxxxxxxx"
  - name: HEADLAMP_CONFIG_OIDC_CLIENT_SECRET
    value: "xxxxxxxx"
  - name: HEADLAMP_CONFIG_OIDC_IDP_ISSUER_URL
    value: "xxxxxxxx"

i've tried to set OIDC variable under config.oidc

config:
  oidc:
    secret:
      create: true
      name: oidc
    clientID: "xxxxxxxxxxx"
    clientSecret: "xxxxxxxxxxxx"
    issuerURL: "xxxxxxxxxxx"

Am I missing something?
Sébastien.

Sorry it was a confusion between 2 different environments


Take screenshot

Do you know if there's a possibility to take a screenshot of the image which is shown on the TV?

Yes. It is.

Can you please tell me how to do it via python?

when I will find a good working python program.. I will test and tell you.. but pylgtv seems not enough.. I will make some more tests...

I would love to see your solution, since there is no official API for it and the luna service (luna://com.webos.systemmanager) was removed. Even the emulator uses vmbox's tools to take a screenshot.
Back in the netcast days you could do it by calling /roap/api/data?target=screen_image

@Zibri Do you have any other even non-Python way how to do it? I can port it to pylgtv. Already added Youtube support with opening custom link.

sorry I can't disclose this information.

What does mean "disclose" in this context? Your answer was positive: "Yes. It is."

It means that YES it's possible to take a screenshot, and no, I can't tell you how to do it.

So how do you know it's possible? Mainly regarding to previous comment that the service was removed from API: luna://com.palm.systemmanager/takeScreenShot

WTF is Luna? It is something different, not LG WebOS, right? https://stackoverflow.com/questions/6419662/grabbing-a-screenshot-programmatically-in-webos
http://webos-ports.org/wiki/Main_Page
But found this:
https://www.lgwebos.com/topic/1964-how-to-take-a-screenshot/
And this, but this is not WebOS, this is LG TV (old version):
https://github.com/StefanNemeth/PHP-LG-SmartTV
Anywayyyyyyyyyy thank you Zibri for not being a dick.....hahaha joke...you are actually huge dick!

Oh, they acquired (LG) the code from HP from mobile platform, now it makes sense: https://www.digitaltrends.com/home-theater/lg-webos-tv-platform-smart-tv/

https://www.youtube.com/watch?v=xWguU43QRPQ
With MAGIC remote  under 4  color button , press :
[ FOCUS ]  then look at TV screen , you can have a little windows for zoom,
[RED ] button  =  Freez Screen
[GREEN] button = Save ScreenShot on internal memory,

@TheRealLink Hi Dennis , please check my pull request. I need it for HomeAssistant pull request, so I can voice control, search & open Youtube videos straight away.

I think we can close this issue


Updated to gestalt 4.0.3, fixing an issue with compiling under Eclipse

#1771

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/142/
Hooray Jenkins reported success with all tests good!


Icon gone after 0.10.10 update

After the recent update, the icon went missing. Tried closing the app, tried a reboot, still missing. Any ideas?

@clarklab Hmmm, rebooting should have done it. Are you on OS X 10.10? Is there any chance there is more than one copy of Itsycal on your machine? Could there be an older copy somewhere?

I think this is related: After update of Itsycal from 0.9.2 to 0.10.10 an icon briefly shows on app startup then disappears. Afterwards it  behaves like @clarklab's screenshot above.

@tiaanwillemse Any luck after restarting? Do you have any other copies of Itsycal on your system? If you only have the latest version and you restart, it should work properly.

@sfsam the icon is appearing after a restart. Thanks for the help. I still think that this issue should be resolved to work on install and not just on restart. If you let me know when you fixed the bug, I'll build a release and test it on my side.

@tiaanwillemse I'm glad it's working. It's not a bug and there is nothing I can fix. It only affects users on OS X 10.10 who are upgrading from a previous version. New installs and users on 10.11 don't have to restart. A restart is required because of the way the OS X SystemUIServer process caches the menuextra (the icon you can move in the menu bar) which was changed in this update. An alternative to restarting is to kill the SystemUIServer process and let the system automatically restart it. It's easier to just tell people to reboot than to explain how to go into Terminal or Activity Monitor and kill the process.
There is a note about this in bright red text in the release notes (https://www.mowglii.com/itsycal/versionhistory.html) which upgrading users see in the Sparkle updater dialog for this version. Since you updated from an old version of Itsycal from before Sparkle was incorporated, you didn't see the note.
I'm going to close this issue now.


Mat/pat - Minor corrections in error messages

[x] In Parental leave allowance dates that the error message if someone takes more than 35 weeks of standard allowance has a missing "weeks" in the end - "One parent cannot claim standard allowance for more than 35".

It should say "One parent cannot claim standard allowance for more than 35 weeks".

[x] For maternity leave, if start date is in the past it does not show the correct error message. It should say "You cannot select a date in the past for the start of your parental leave"

[ ] For Parental leave, there is an extra *. It should just say  "You cannot select a date in the past for the start of your parental leave"

@fazil-ey
"You cannot select a date in the past for the start of your parental leave"
Is it correct validation error for maternity leave start date in past?

Fixed the validation issues.
@fazil-ey  For the parental leave validation. Since there are so many possible and overlapping errors, Iman and I thought that we should display multiple messages with the asterisk as the separator. The platform does not allow us to show multiple errors in a better way, so it is more a limitation if we want to show it like this. It would be possible to only show one error at a time, but it might be annoying for the user to keep cycling through issues until a date works.

@Andrew-Vargas-bcgov  we can leave it as is with the asterix!

Updated, thanks Andrew!

both error messages are correct now. We can ignore AC 3

Tested in PROD, looks good. Closing.


Some details aren't displaying correctly

Video.maxres and Video.durationSeconds aren't displaying the correct information.
Video.maxres just spews error.
Video.durationSeconds returns with a -1

Not all videos have 100% of the data depending on how you got it, so durationSeconds returning -1 is not  entirely strange. However, maxRes should not be throwing an error.
Can you please be more specific? Which error? Is the video full? How did you retrieve the video?

Not a problem anymore. Sorry for holding back the issue, I forgot this existed.


Job for building signed EL7/EL8 composes

Supports https://jira.coreos.com/browse/ART-308 - "Always build
(images) ONCE"
Introduces a new job, 'signed-compose'. Automatically Handles most of
the business required to get new RPMs added to the correct advisory,
RPM Diffs resolved, RPMs signed, and new generating a new compose.

RPM Diffs are reviewed for completeness. A notice is emailed if
action is required
Monitors 'signed' status. Will retry 3 times to get RPMs signed if
the robo-signer is hanging
Updates a RHEL8 brew tag with new signed builds

Note some removals of code that was originally in buildlib. Most of that was moved, or just removed because it wasn't being used.

Note: I did not write ocp-tag-signed-errata-builds.py, that was provided by Ryan Hartman.

I just fixed the tbielawa email addresses in the MAIL LIST params

:shipit: we can follow up with any other tweaks


v0.12.2: More than one chart + resize problem

steps to reproduce are next:

run this chromeapp:
vizabi-tools-offline.zip

open a BubbleChart

create a new tab

open a new BubbleMap

go to first tab (with BubbleChart)

go to second tab (BubbleMap) and after - change its size (resize for chromeapp window)

go to first tab:

I reproduced this issue with another solution (https://github.com/valor-software/vizabi-tools-ddf-csv-reader)

I can add more information about this solution on Monday

you can reproduce it in online mode: http://vizabi-tools-ddf-csv-reader.gapminderdev.org/tools/

steps to reproduce are same

Running multiple instances of Vizabi, or multiple graphs in one instance is not something we have looked at at all yet as far as I know. And this is even more specific since it's in different tabs. (i.e. the other instance is not visible at that time). Is this very necessary? One tab might suffice for now?

@jheeffer many tabs is necessary
we are doing the same thing (or we were doing) on tools page: many vizabi charts at once, but only one is visible
we are doing the same thing on vizabi docs website (but i think there is no resizing)

Solved.
The problem was happening because all SVG positioning in vizabi depends on width, height of a container, and for display: none width and height are auto which turned into NaN after measuring it with parseInt(this.element.style("height"), 10).
This is now changed to the following:
height = (parseInt(this.element.style("height"), 10)) || height || 0;
width = (parseInt(this.element.style("width"), 10)) || width || 0;
if(height<=0 || width<=0) return utils.warn("Chart resize() abort: vizabi container is too little or has display:none");

This means the chart can not be resized when inside a display: none container (but it won't flood you with errors any longer if you try to). The problem is that after container is displayed again, the chart is going to be broken or incorrectly resized. I can suggest one of the two solutions to this:

For the hidden tab, use visibility: hidden instead of display: none.
(i tried to modify it in vizabi-tools-offline: main.scss L53 but it didn't do anything)

or

Force-resize the tab after selecting it. I was able to fix it like this: vizabi-tools-offline: controller.js L98

        $scope.setTab = function (tabId) {
          //set current tab id and get current graph object
          $scope.currentTab = tabId;
          $scope.selectedGraph = _.findWhere($scope.tabs, {id: tabId}).graphName;
          $scope.forceResizeEvt();
        };

        $scope.forceResizeEvt = function () {
          //force resize
          $timeout(function () {
            var event = document.createEvent("HTMLEvents");
            event.initEvent("resize", true, true);
            event.eventName = "resize";
            window.dispatchEvent(event);
          }, 0);
        };


Expose raw GoogleMap for extensibility

Is your feature request related to a problem? Please describe.
Currently, there is a need for developers to extend the functionality provided by Maps Compose. For example, there's much need to use features in the Utility Library alongside the Maps Compose library. However, using the Utility Library involves rewriting some of the Maps Compose features manually which is not ideal and brings us back to square one.
Describe the solution you'd like
Consider an approach that would allow developers to obtain a handle to the GoogleMap Maps SDK object to make direct manipulations to it. This would allow developers to extend the map and use utility library features. One approach would be to expose a MapEffect composable that exposes the GoogleMap
e.g.
GoogleMap() {
    MapEffect { googleMap ->
        // use googleMap w/ clustering
    }
}

Another option is to provide a CompositionLocal of the GoogleMap.
Note: this may have some unintended consequences given that Maps Compose manages the map's properties and so it would have to be made very clear to developers how this should be used.
Describe alternatives you've considered
Proposal in #28 is related.
Additional context
See conversation in #44

POC available in https://github.com/googlemaps/android-maps-compose/tree/chris/clustering


Add suggester to make it easier to add excluded / included folders

Thank you~

Thank you for your work, as of now it works perfectly for me. Now I can replace the "Clean Unused Images" plugin.


[Question] Is it possible to trigger automatic translate for a key via API?

Hello guys,
While waiting for a new version to be released on Maven Central, I've been playing with the API and got a bit stuck.
I confirmed that with my current project setup, any key I add via web UI will be successfully translated into other languages.
But it doesn't happen to keys I add via API. I've tried invoking the 'Create a Translation endpoint' with key id, 'not the main locale' id and autotranslate=true (https://developers.phrase.com/api/#post-/projects/-project_id-/translations). It seems just to straightforwardly create a translation entity without any machine translation being involved. It doesn't matter if I attach anything in the content field.
It got me thinking about whether it is possible to use API to create a pack of keys and automatically translate them. Support article (https://support.phrase.com/hc/en-us/articles/5822187934364-Pre-translation-Strings) states that this capability should be available for both API and CLI flows, but it doesn't point to anything specific, just a documentation home page.
What am I missing? Is there any endpoint to trigger the translation, or should I investigate the project configuration?
I would highly appreciate any help.

Never mind, I finally got it working. The reason was in defaultTranslationContent - it shouldn't be sent while creating a key. Instead, the default value for a key should be supplied as a translation for the main locale via the 'Create a Translation' endpoint.
I am closing the ticket.


EAGLE-296 Test unit for JobConfParserImpl

https://issues.apache.org/jira/browse/EAGLE-296

Add simple test unit for JobConfParserImpl.

If this is an improvement, please resend it to dev branch.
We will use the dev branch as the next release version 😄

This is already merged, can you please close that?


Create a documentation on authorization module

Documentation on login/authorization module as a reference.

A documentation on how a user can use this authorization module

The authorization  document has been created : https://wiki.rdkcentral.com/display/RDK/XConf+Angular+Admin+authorization+details


Getters and Setters example

Hi,
I am trying to assign getters and setters, but I can't seem to figure it out. I tried downloading the sample, but it doesn't show how to change these values in blueprint. I understand that you assign a class, and then a function from the class. what do you need to return from the function for it to be read from the getter/setter? what do you assign in the static class? the function only show up when I assign to a button, but even that doesn't trigger the function? Any help is much appreciated

Hi,
thank you for your interest in the plugin. You are right, I need to add more information according to assigning Getters and Setters.
Firstly, according to the idea, you don't call them directly. It's the Widget calling Getters to read current values from Settings on opening\loading and the Widget calls Setters when the user presses the option buttons (slider, checkbox etc).
Secondly, Getters and Setters are assigned per each row (option) in the table. But, each row requires 'Static Context': is the static function in a given class with no parameters that returns a living object on which Setter\Getter wants to be called.
For instance, 'GetGameUserSettings' function is static and returns 'Game User Settings' object.

Now, Getters and Setters will be triggered for chosen functions inside 'Game User Settings' class:

In Bomber project you can find more examples like next:

Where:

'Player Name' config property is stored in the 'My Player State' class.
'Static Context' sais the local 'My Player State' object can be taken from MyBlueprintFunctionLibrary::GetLocalPlayerState static function.
Once player changed the Player Name, given Setter will called on the returned object from the 'Static Context'.
Once player opened Settings, current value will be read and visualised on UI from returned object from the 'Static Context'

However, if you are blueprint-only user, I realized, it could be tricky or even impossible for you to prepare such static function with no code since Unreal Engine does not provide a way of creating static functions in blueprints with no parameters.
I would need to provide such support for passing 'Blueprint Function Library' function into Static Context, so blueprint-only user has a way to return a specific object containing the option. I can't say when exactly I would be able to provide such support of blueprint static contexts

ok thank you for your response and for clarifying. Yes I am mostly developing in blueprints. Please do leave a shout here, if you do implement a blueprint-way of doing this. I think having a modular widget building based on data tables is a great idea! thanks

Hi, @mesfeir

Added Blueprint Function Library support on the latest main (UE5.3) to allow any its blueprint function to be used as an Owner in a setting row.
Updated sample project for blueprint-only developers that shows how to create and bind basic settings (see doc). As part of the example, these settings are bound to an actor that displays the player's name in the world:

In the next video, the creation of the sample project from scratch in 10 minutes is shown with no code involved:
https://youtu.be/FgJdTXUAGPc
Please let me know did you managed to bind the settings with new updates.

Closed as there are no updates so far


Update image ghcr.io/zoriya/kyoo_back to 047014e

This PR contains the following updates:

Package
Update
Change

ghcr.io/zoriya/kyoo_back
digest
9657225 -> 047014e

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


added message field validation of contact us page

#197
enforced a minimum character requirement of 5 for the message textarea

@TejasNasre please add gssoc extd and hactoberfest label


Default -targetroot arg to same as -d arg

Is it possible to default the -targetroot arg to whatever is specified as the classfile destination dir (i.e. -d arg) when the -targetroot arg is not supplied?
It would make it easier to add the plugin to a Bloop target's javac options as currently the -targetroot would have to be transformed to handle each client's different classes directory.
The Scala semanticdb plugin does this but I didn't know if javacoptions are available to a Java plugin.

Thank you for reporting! The Java compiler API doesn't expose the -d flag from what I have seen. Even if we could access the flag, I would be on the fence about using it because I don't like defaulting to -d like semanticdb-scalac does. The default behavior in semanticdb-scalac has caused a lot of issues and my experience is that the explicit behavior in semanticdb-javac has resulted in fewer cryptic debugging sessions tracking down where the SemanticDB files got generated.
Important sidenote, semanticdb-javac doesn't clean up the generated SemanticDB files unlike semanticdb-scalac. In hindsight, I regret adding cleanup logic in semanticdb-scalac because it's really the responsibility of the build tool to do this.
For Bloop, I think it would make sense to have built-in support to enable SemanticDB similar to how it already has custom support for semanticdb-scalac. It should be easy to add the -targetroot flag from Bloop and also implement the necessary cleanup logic (delete SemanticDB files for deleted Java files).
Closing this issue as a wontfix.

No worries.  I worked out where to add the targetroot in the Bloop code - I just didn't understand at first because Bloop manages so many different classes out dirs.
Thanks for the heads up about clean-up.  I haven't had a chance to work on the integration for a while but hoping to get back to it soon.  I still have a few issues to iron out but it was highlighting code nicely in Metals.  Except for when I had tabs instead of spaces, then it was well off - I haven't raised an issue as I wasn't sure whether this was metals or the plugin - I don't normally use tabs in code.


Defer running tests until linting workflows successfully complete

We use a reusable workflow to enable a workflow to wait for jobs
in other workflows to complete successfully. If the jobs fail or do not
complete in the timeout period, the reusable workflow's job will fail
causing dependent jobs to not run.
The test workflow uses this as does the e2e workflow. The e2e workflow
is split into a starter pull_request,push target workflow which
depends upon the reusable workflow and passes metadata to a
workflow_run target workflow which has permission to access necessary
secrets to execute.
Issue resolved by this Pull Request:
Resolves #2245
Checklist:

[x] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Functional tests have been added, if nessessary.
[ ] E2E Workflow tests have been added, if necessary.

Do we have to document this?

The 5 seconds delay? We can. In the alternate, I can change the default for delay in the reusable workflow from 0 to 5 and then users of the reusable workflow will get that default.

Do we have to document this?

The 5 seconds delay? We can. In the alternate, I can change the default for delay in the reusable workflow from 0 and then users of the reusable workflow will get that default.

I was thinking about editing this document actually https://github.com/instructlab/instructlab/blob/main/docs/ci.md#ci-for-instructlab

I updated to split the e2e workflow into 2 workflows. However, in the CI run for this PR, e2e-nvidia-t4-x1.yml is still pull_request_target in the main branch and so is used from the main branch and not the PR branch. Once this PR is merged and the updated e2e-nvidia-t4-x1.yml is in main as a workflow_run workflow, then we can see this correctly operating. This change will prevent the e2e from starting for PRs from new contributors until approved by a maintainer and also until the status checks are all met (linting, etc.).

@bjhargrave Would you mind updating the description explaining the new logic

Would you mind updating the description explaining the new logic

Done.

I was thinking about editing this document actually https://github.com/instructlab/instructlab/blob/main/docs/ci.md#ci-for-instructlab

I also updated this doc.

This didn't automerge due to a bug in the Mergify config; opened a fix here: https://github.com/instructlab/instructlab/pull/2318
Merging this manually


Create a GraphQL stub for front end

This is an engineering task related to #90 and #48 - it is just literally to create a baseline implementation of the CURRENT data stubs in GraphQL so that frontend rewrites can be written to start working with them.
Not a permanent GraphQL implementation.

Working on this here: https://github.com/CDCgov/prime-data-input-client/tree/pwx-graphql and will proof it out to something a bit more full fledged (need to make sure it can accept changes probably).

https://github.com/CDCgov/prime-data-input-client/pull/63 in Review!


Status example code for Arduino

Hello, does anyone have an example code with wprking status url? I really don't know how to do this. All I wanna do is turn on and off the built in led of my WeMos D1 and also have the status.

When homebridge-http is sending the reqest to switch on or off something, you must not only get that reqest, but you must answer on it with 200 code. Here is the part of my code, that helped me to solve this problem:
server.on("/ON", light_on);
void light_on(){   server.send(200, "text/plain");   digitalWrite(green_led, 1);   Serial.println("LED ON"); }
In the server.send(200, "text/plain"); I'm not sending nothing exept code 200.
Answering on status request:
if(digitalRead(green_led)) server.send(200, "text/plain", "1");   else server.send(200, "text/plain", "0");


"max depth exceeded" error when building oci_image

oci_image(
    name = "cicd-tools",
    base = "//source/proj/docker/python_base:python",
    tars = [
        debian_package_layer("parallel"),
        debian_package_layer("lz4"),
        debian_package_layer("software-properties-common"),
        debian_package_layer("lsb-release"),
        "jq_genrule",
    ],
    visibility = ["//visibility:public"],
)

Building this gives me a failure with error message "max depth exceeded"

answering my own question here - looks like i can combine several of them with pkg_tar. based on what im seeing in public open source github repo examples, this is likely the solution to my own question.

heya there.
a similiar question came up before here: https://github.com/bazel-contrib/rules_debian_packages/issues/42

rules_debian_packages is being deprecated in favor of rules_distroless.
See https://github.com/bazel-contrib/rules_debian_packages/issues/53


[Enhancement] Inefficient use of keyset iterator instead of entrySet iterator [UnSubscribeProcessor]

Search before asking

[X] I had searched in the issues and found no similar issues.

Enhancement Request

located at：
org/apache/eventmesh/runtime/core/protocol/http/processor/UnSubscribeProcessor.java line 189
analysis and explanation:
This method accesses the value of a Map entry, using a key that was retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the Map.get(key) lookup.
Describe the solution you'd like
reference:

Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

@xwm1992 I can work on this , can you pls assign it to my name

@xwm1992 I can work on this , can you pls assign it to my name

Sorry, these issues are labeled as good first issue for first time contributors.

@xwm1992 I like to work on this, Can you assign this task to me?


Dev-Tool not finding Stores

Package Versions:

Teaful 0.10.0
Teaful-devtools 0.5.1

OS: MacOS 11.5.2
NodeJS: 14.7.4
Npm: 6.14.14
What Happened:
Teaful Devtools panel shows:
No Teaful store has been found. [Retry]

What was expected:
Stores to be visible in the planel
I would love to submit a pull request, but I am not sure how to debug the issue :(
Additional Details:
The app is a standard create-react-app.  In the entrypoint index.js I have:
/* eslint-disable import/first */
if (process.env.NODE_ENV==='development') {
  require("teaful-devtools");
}

I define the stores in some external files.  They're basic and follow notes from the Teaful docs:
import createStore from "teaful"

function onAfterUpdate({ store, prevStore }) {
  console.log("Accounts Store Update")
}

export const { useStore: useAccounts } = createStore([], onAfterUpdate)

And then wherever I need to access one of the stores I have
import { useAccounts } from '../Lib/storeAccounts'
.
.
.
export default function Accounts() {
  const [accounts] = useAccounts()

I believe i'm doing it right, but i'm not normally a react dev and so may be missing something vital/obvious 😆
Any help here would be appreciated

Ensure your teaful-devtools import is at the top, before the imports of your application (components, store, etc).

Looks an issue with require. Reeplacing to import 'teaful-devtools' works fine:

It seems that when compiling it moves the imports above the require and that's why it doesn't detect it.
Thank you for reporting the issue. Let's see if we can find a solution to strip teaful-devtools in production using create-react-app.

Oh wow, that never occurred to me!  I will give it a try to confirm.  Thanks for the amazingly fast response 👍


SPClientBatch not found in @microsoft/sp-http

Thank you for reporting an issue or suggesting an enhancement. We appreciate your feedback - to help the team to understand your needs, please complete the below template to ensure we have the necessary details to assist you.
(DELETE THIS PARAGRAPH AFTER READING)

Category

[x] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
Availability of beginBatch method on SPHttpClient class as per documentation
Observed Behavior
I am using
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>As per previous posts i expected beginBatch method to be available but it is not.
Is it still in Beta ?
if it is not in GA what alternatives can i use?
Thanks
Steps to Reproduce
Create React WebPart project using yo @microsoft/sharepoint
try
import {SPHttpClientBatch} from '@microsoft/sp-http'
or
trying using beginBatch method on SPHttpClient object
Both fail with error indicating that beginbatch and SPHttpClientBatch do not exist
Thanks for your contribution! Sharing is caring.

Please create a new solution and in the generator add the flag as:
yo @microsoft/sharepoint --plusbeta

Refer to the similar thread here: #2385
Dennis Guo
Microsoft SharePoint Community Support

A more complete answer is...
@fussytroll said:

Is it still in Beta ?

Yes... it's in developer preview
@fussytroll said:

if it is not in GA what alternatives can i use?

There is no GA option for using the batch endpoint with the SP REST API in the SPFx API. I'm not certain if you can use the Graph REST API's batch support with SPFx entities or not, but I believe you can (you'll just have to test it to confirm).

Thank you very much, for taking the time to answer my query.
fussytroll
On 31 Dec 2019, at 12:59, Andrew Connell <notifications<EMAIL_ADDRESS>wrote:
A more complete answer is...
@fussytrollhttps://github.com/fussytroll said:
Is it still in Beta ?
Yes... it's in developer preview
@fussytrollhttps://github.com/fussytroll said:
if it is not in GA what alternatives can i use?
There is no GA option for using the batch endpoint with the SP REST API in the SPFx API. I'm not certain if you can use the Graph REST API's batch support with SPFx entities or not, but I believe you can (you'll just have to test it to confirm).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/SharePoint/sp-dev-docs/issues/5062?email_source=notifications&email_token=AIGSFLI5PFZGAPC62YB6EM3Q3M64RA5CNFSM4KACNMSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH4F3YY#issuecomment-569925091, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIGSFLPX6FIHKDEAJBYSY53Q3M64RANCNFSM4KACNMSA.


Review current list of overlays and base maps and identify missing layers

@bferguso what did we decide to do with x-program area tickets?

@victoriacooper - I think issues that affect both business areas can have both fossils and bcrhp labels applied to them.

@bferguso can you add municipal parks to BCRHP

@bferguso are we able to use this basemap in Arches? https://catalogue.data.gov.bc.ca/dataset/bc-basemap. It has nice hillside shading and park labels and its the same one the BC Geographical Names Offices uses in their app (our Heritage Branch colleagues) https://apps.gov.bc.ca/pub/bcgnws/web/

Added file for BCRHP what overlays we'd like to keep and what info map cards should include, with links to where maps can be found.

[ ] Remove National Resource Boundaries
[ ] Replace Indigenous Reserves with Indigenous Reserves and band names
[ ] Add Cadastral Parcel Map layer with PID/PIN labels
[ ] Add Local Trust Admin Boundary
[ ] Add Islands Trust Admin Boundary
[ ] Historic Trails
[ ] heritage conservation areas
[ ] tourism regions
[ ] Provincial Parks
[ ] Municipal parks

Basemaps:

[ ] BC Basemap
[ ] Esri world imagery or other satellite imagery

Map Overlays and base maps.xlsx

@LeannePyle, @elisabethdeom - If no other overlays are necessary, or if they are addressed in a different issue please move this ticket to Done.


Optional --input=FILE_PATH

Add an option to specify input file path for target specific acknowledgements such as Pods/Target Support Files/Pods-#{target}/Pods-#{target}-acknowledgements.plist.

:+1:

@bcylin I released 0.2.0 which includes this commit.

Great, thanks! :beers:


Framebox without height behaves differently in dev & live

Discovered in #3564.
{% framebox %}

…on the dev server this produces <iframe style="width: 100%;" …>. On live it produces <iframe style="width: 100%; height: 100px;" …>.

I believe Pete said that it requires a height
Sent from my iPhone

On 3 Oct 2016, at 10:02, Jake Archibald<EMAIL_ADDRESS>wrote:
Discovered in #3564.
{% framebox %}
…on the dev server this produces <iframe style="width: 100%;" …>. On live it produces .
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Throwing a template error when no height is set is a decent resolution.

(although my preference would be to make it behave like the live server, since that's the least surprising)

yeah.

we could add a test to gulp-tasks/test.js to check from framebox,
as jake said, parity. devsiteHelper.py line 212

Jake fixed


Request: ESP32-LyraTD-DSPG

Thank you for Echo code, works great!!
Can you PLEASE code voice assistant and media player for ESP32-LyraTD-DSPG? It appears little better hardware. Thank you in advance!!

I think the Lyra board is similar to ESP32-Kirov boards, a few of us have had these working but without the audio working so far. Everything else is working well.


Judaization of Jerusalem

-1967 war event didn't fire, so I never got a core on Jerusalem. Possibly because I already captured the Golan heights? Perhaps there should be an event "Judaization of Jerusalem" that lets you get a core on the state if you capture it outside of the 1967 war.

Deveduu
From the Israeli population statistics of Jerusalem "These official Israeli statistics refer to the expanded Israel municipality of Jerusalem. This includes not only the area of the pre-1967 Israeli and Jordanian municipalities, but also outlying Palestinian villages and neighbourhoods east of the city, which were not part of Jordanian East Jerusalem prior to 1967."
https://en.wikipedia.org/wiki/Demographic_history_of_Jerusalem
So it looks like the 1940's data is a little more restricted in area compared to the Israeli data, but both have jews in the absolute majority.

I suggest to make this event only fire after Israel goes independent from Britain, otherwise Jerusalem becomes the capital of mandatory palestine.


Why is FPN worse than Faster-rcnn?

Hi, thanks for your implementation. Why is it worse than Faster-rcnn?

@Xiaoyao-Lee, I am facing similar issues.

Hi, both, I am still working on it to figure out why the performance is worse than faster rcnn. It seems that I found a small bug in my code as pointed out in the last issue.

@jwyang
any update on this? what is the bug?


question: customizing resolution algorithm

I would like to be able to change the resolution algorithm to perform the following:

'modifier.page.key'
-- can be translated into modifier.page.key if found, if not, tries page.key, if not, tries key

Is there a built in way to customize the resolution algorithm, or do I need to replace an entire service or directive for that?

No, there is no built-in way for that as the "nested" resolution is deeply integrated in the library. You'll have to overwrite the functionality if you want to have a traversal on the dots regarding translation matching of each of them.

@tspaeth thanks for the answer.
One more thing, do you know exactly which "component" needs to be replaced in this case?
Anyways, thanks for the answers, closing this.

@lucastschmidt  Maybe a good point to jump in is "flatObject" here... https://github.com/angular-translate/angular-translate/blob/master/src/service/translate.js#L272

@tspaeth, I was able to change the resolution algorithm, to support the 'infiniteModifier.modifier.page.key'.
https://github.com/lucastschmidt/angular-translate/commit/225f4568db154c2a7978418149514cd188abda34
I dont know if it makes sense to add this feature to the lib. The way that I did, if the translationId exists in the object, it returns fine, otherwise it tries that crazy algorithm that I dont know the name, but for us makes a lot of sense.
Basically, what we did is this:

each page has its own context for translation, eg: projects.
in this page we can then have a ok button, eg: projects.ok
in another page we can have an ok button as well, eg profile.ok
we can then create a translationId as ok
if we wish to customize the translation in the projects page, we could do it, by translating projects.ok.

 I did not test if a dynamic modifier would work, or how it could work in an angular app. But in theory, it may be possible for me to do something like: github.projects.ok, anotherOrganization.projects.ok. Not my requirement right now, so I did not test if there is a way to do something like that in angular.

I dont know if it makes sense to add this feature to the lib.

Yep, it's too special. But I'll tag this issue remarking me about injecting 3rd party resolving functionality.

... that's what I wanted to say @knalli ;-)
I think a pluggable and replaceable "library" of parsers (as for all other customizable feature) might be something worth while in the future... :)


[Airbrake] [Staging] undefined method `*' for nil:NilClass

Airbrake error: #4193
Airbrake project: ETMoses
Error type: NoMethodError
Error message: undefined method `*' for nil:NilClass
Where: testing_grounds#data
Occurred at: Jul 18, 2016 13:49:41 UTC
First seen at: Jul 18, 2016 13:49:41 UTC
Occurrences: 1 (1 since last deploy on Jul 18, 2016 12:54:48 UTC)
URL: https://beta-moses.energytransitionmodel.com/testing_grounds/578/data.json
File: [PROJECT_ROOT]/app/models/calculation/technology_load.rb
Backtrace:
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:81:in block in comps_for
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:77:in each
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:77:in each_with_object
[PROJECT_ROOT]/app/models/calculation/technology_load.rb:77:in comps_for

Duplicate of #1138. Fixed the LES manually for now.

Comment from Airbrake: Resolved error reoccurred.

No Airbrake! Bad Airbrake!
grumble


Version 4.2.1 does not compile with regex

I tried to use the latest version in a project and the regex feature does not work because of this commit : https://github.com/harryfei/which-rs/commit/97a485933506d143f245b3b6860e1c25e7425e5b
The line is used by the regex feature. I'll make a PR to fix this :smile:

4.2.2 released


feat : add data argument in Scene.switch

feat : add data argument to Scene.switch
Thank you for creating an amazing framework. While developing with it, I've noticed a few areas that I think could benefit from some changes, and I'd like to make a suggestion.
Problem
When using theswitch method in Phaser to change scenes, we use the start method if the scene is being loaded for the first time.

// sceneManager.js
switch: function (from, to)
    {
        var sceneA = this.getScene(from);
        var sceneB = this.getScene(to);

        if (sceneA && sceneB && sceneA !== sceneB)
        {
            this.sleep(from);

            if (this.isSleeping(to))
            {
                this.wake(to);
            }
            else
            {
               // right here
                this.start(to);
            }
        }

        return this;
    },

And the start method allows us to pass data as a second parameter. However, the current implementation of the switch method only accepts a key, making it impossible to pass data.

// scenePlugin.js
switch: function (key)
    {
        if (key !== this.key)
        {
            this.manager.queueOp('switch', this.key, key);
        }

        return this;
    },

This limitation forces us to use the following pattern:
this.scene.sleep();
this.scene.start('key', data);

Solution
Thus, I would like to propose adding a data parameter to the switch method.

// sceneManager.js
switch: function (from, to, data)
    {
        var sceneA = this.getScene(from);
        var sceneB = this.getScene(to);

        if (sceneA && sceneB && sceneA !== sceneB)
        {
            this.sleep(from);

            if (this.isSleeping(to))
            {
                this.wake(to);
            }
            else
            {
                this.start(to, data);
            }
        }

        return this;
    },

However, this change would require modifications to the ScenePlugin pattern since a queueOp function in the scene currently has a maximum of three parameters.
// scenePlugin.js
queueOp: function (op, keyA, keyB)
    {
        this._queue.push({ op: op, keyA: keyA, keyB: keyB });

        return this;
    },

The switch method already uses these for the event name, the current scene, and the scene to be started, leaving no room for passing data.
// scenePlugin.js
switch: function (key)
    {
        if (key !== this.key)
        {
            this.manager.queueOp('switch', this.key, key);
        }

        return this;
    },

But the queueOp function's parameters are currently labeled keyA, keyB, etc., and in cases where only one key is needed, the third parameter is used to pass data. This could potentially confuse developers who want to contribute to the Phaser and use Phaser. ex) stop Method
stop: function (key, data)
    {
        if (key === undefined) { key = this.key; }
        // data argument is actually keyB
        this.manager.queueOp('stop', key, data);

        return this;
    },

Therefore, I propose adding a fourth parameter to optionally receive data.
// to-be
queueOp: function (op, keyA, keyB, data)
    {
        this._queue.push({ op: op, keyA: keyA, keyB: keyB, data : data });

        return this;
    },

In cases where only one key is needed, we could pass null as the third parameter and use the fourth parameter for data, similar to the bringToTop method.
bringToTop: function (key)
    {
        if (this.isProcessing)
        {
           // if data argument is added, it could be like this._queue.push({ op: 'bringToTop', keyA: key, keyB: null, data : nuill });
            this._queue.push({ op: 'bringToTop', keyA: key, keyB: null });
        }
        else
        {
            var index = this.getIndex(key);

            if (index !== -1 && index < this.scenes.length)
            {
                var scene = this.getScene(key);

                this.scenes.splice(index, 1);
                this.scenes.push(scene);
            }
        }

        return this;
    },

If this change seems reasonable, I'll go ahead and make the necessary modifications and submit a commit

👍

👍

Hello thank you for considering my PR.
But i think we need to modify scenePlugin.js as well.
All i modified is just sceneManager.js
// scenePlugin.js  AS-IS
switch: function (key)
    {
        if (key !== this.key)
        {
            // need extra argument for data
            this.manager.queueOp('switch', this.key, key);
        }

        return this;
    },

// scenePlugin.js

// need extra argument for data
queueOp: function (op, keyA, keyB)
    {
        this._queue.push({ op: op, keyA: keyA, keyB: keyB });

        return this;
    },


Fix _assert_shared

This fixes the issue that now the _assert_shared function can't detect when a pandas object shares its data with a numpy array.
I'm not really happy with this solution. There's nothing in the pandas documentation that says values returns the original data object (indeed, in 0.16.2 it doesn't). But I can't find another way.
As an aside, a note in the doctring of _assert_shared as_series states

.. note::

   Pandas will sometimes make a copy of the array,
   for example when creating from an int32 array.
   Iris will detect this and raise an exception if copy=False.

This doesn't appear to be the case any more. At least, values always seems to return the original array, and the buffer objects of a pandas.Series and the NumPy array from which it was created always seem to point to the same location in memory, if cope=False is specified.

this looks fine
thank you @djkirkham


IndexError in labels when size of training dataset is not multiple of batch size

Description
IndexError is thrown during training if training dataset size is not multiple of batch size.
Long description
I have a simple transfer learning algorithm based on mxnet tutorial.
However, I had a nasty exception during training that occurs every time on the last batch of the first epoch. Empirically I have figure out if you manually ensure that dataset size (number of records in .lst file) is multiple of batch size,  than this exception is gone.
Is it expected behavior, or is proper validation missing?
Environment info (Required)
python 2.7.12
mxnet-cu91mkl 1.0.0.post4
CUDA 9.1.85

Error Message:
IndexError example during training:
2018-02-06 16:24:39,605 - Epoch[1] Batch [200]	Speed: 37.22 samples/sec	cross-entropy=3.293303	accuracy=0.192188
2018-02-06 16:25:13,382 - Epoch[1] Batch [220]	Speed: 37.90 samples/sec	cross-entropy=3.286735	accuracy=0.190625
Traceback (most recent call last):
  File "train_multilabel.py", line 204, in <module>
    train_model(args)
  File "train_multilabel.py", line 135, in train_model
    num_epoch          = params.num_epoch,
  File "/home/otkach/.virtualenvs/mxnet-cu91mkl/local/lib/python2.7/site-packages/mxnet/module/base_module.py", line 496, in fit
    self.update_metric(eval_metric, data_batch.label)
  File "/home/otkach/.virtualenvs/mxnet-cu91mkl/local/lib/python2.7/site-packages/mxnet/module/module.py", line 749, in update_metric
    self._exec_group.update_metric(eval_metric, labels)
  File "/home/otkach/.virtualenvs/mxnet-cu91mkl/local/lib/python2.7/site-packages/mxnet/module/executor_group.py", line 616, in update_metric
    eval_metric.update_dict(labels_, preds)
  File "/home/otkach/.virtualenvs/mxnet-cu91mkl/local/lib/python2.7/site-packages/mxnet/metric.py", line 281, in update_dict
    metric.update_dict(labels, preds)
  File "/home/otkach/.virtualenvs/mxnet-cu91mkl/local/lib/python2.7/site-packages/mxnet/metric.py", line 109, in update_dict
    self.update(label, pred)
  File "/home/otkach/.virtualenvs/mxnet-cu91mkl/local/lib/python2.7/site-packages/mxnet/metric.py", line 924, in update
    prob = pred[numpy.arange(label.shape[0]), numpy.int64(label)]
IndexError: index -9223372036854775808 is out of bounds for axis 1 with size 52

Steps to reproduce
simply create ImageIter object with dataset size (number of lines in .lst file) not divisible by batch size, and iterate over it, print label values:
kv = mx.kvstore.create('device')

train_data = mx.image.ImageIter(
    batch_size   = 64,
    data_shape   = (3, 224, 224),
    path_imglist = 'dataset/train_data.lst',
    path_root    = 'dataset/images/,
    part_index   = kv.rank,
    num_parts    = kv.num_workers,
    shuffle      = True,
    data_name    = 'data',
    label_name   = 'softmax_label',
)

for i, batch in enumerate(train_data):
    print("batch idx {:3d}\n{}\n".format(i, batch.label[0].asnumpy().tolist()))

For example, dataset size 15226, batch size 64, number of batches 238 (rounded).
In my case, some remaining label values in the last batch are non-integers, which is the source of exception during training:
...
batch index   236
[24.0, 13.0, 29.0, 21.0, 48.0, 44.0, 22.0, 47.0, 36.0, 9.0, 47.0, 43.0, 33.0, 3.0, 25.0, 34.0, 47.0, 1.0, 34.0, 40.0, 11.0, 10.0, 43.0, 3.0, 43.0, 27.0, 39.0, 39.0, 13.0, 48.0, 28.0, 42.0, 24.0, 39.0, 31.0, 45.0, 51.0, 6.0, 1.0, 48.0, 17.0, 42.0, 23.0, 9.0, 27.0, 39.0, 19.0, 36.0, 14.0, 10.0, 26.0, 37.0, 42.0, 7.0, 47.0, 29.0, 37.0, 6.0, 9.0, 9.0, 39.0, 5.0, 11.0, 22.0]
batch index   237
[5.0, 50.0, 11.0, 12.0, 50.0, 10.0, 35.0, 31.0, 11.0, 13.0, 2.0, 26.0, 51.0, 6.0, 48.0, 37.0, 25.0, 24.0, 14.0, 20.0, 44.0, 40.0, 21.0, 45.0, 23.0, 18.0, 10.0, 15.0, 21.0, 7.0, 33.0, 32.0, 50.0, 44.0, 10.0, 22.0, 7.0, 9.0, 3.0, 7.0, 49.0, 47.0, 49.0, 26.0, 0.0, 23.0, 2.0, 1.0, 27.0, 0.0, 13.0, 18.0, 38.0, 27.0, 50.0, 18.0, 46.0, 5.0, 7.315163621112927e-37, 0.0, 7.315152859140721e-37, 0.0, 7.315142097168515e-37, 0.0]

I suppose its a quite common mistake using round() whereas floor() is needed, somewhere in the mxnet code.
What have you tried to solve it?
manually remove several lines from trainining_data.lst file, so total number of training dataset size (eg 15168) is divisible by batch size (64).

@sandeep-krishnamurthy Please kindly add Label: Bug
Thanks!

@nazikus Hi, would you please provide some details (# of distinct labels etc.) of the dataset you were working on when you encountered this bug?

@nazikus Hello, I tried reproducing your issue with:
0) Generating a similar dataset with the same number of images (15226 noisy images with 3 channels and of size (224, 224)) and running the code snippet you provided in "Steps to reproduce" on the dataset.
2) Creating an MLP model and tried training with the generated dataset on the model.
3) Following the same steps in the fine-tune tutorial (https://mxnet.incubator.apache.org/faq/finetune.html) that you used and tried training with the generated dataset on the pre-trained model and none of these was able to reproduce the bug you reported.
I wonder if you could give more details on the bug or give access to the dataset you were working on so that we may be able to reproduce and fix it? Thanks!

@eric-haibin-lin  could you help to add pending-requester-info label.

@nazikus Thanks for reporting this issue. Can you please provide access to the dataset to reproduce this bug?

@nazikus Wasn't able to reproduce this issue on a similar dataset by running your code snippet.
I will be closing this issue for now. Please feel free to reopen if closed in error and if the issue still persists.
@sandeep-krishnamurthy Can you please close this issue?


Remove extract-text-webpack-plugin

https://github.com/infinum/wp-boilerplate/blob/3b8f64c853f75ccc1c2356a8d653fc3379a99299/package.json#L34
We aren't using it with Webpack 4, so we should remove it, no?

removed in version 3.0.0


CHEBI:8386 wrong CAS

While CHEBI:8386 leaves the 5-stereo undefined the CAS has 5beta.

Thanks for letting us know. I have now deleted the CAS number from this entry since we have separate entries for 5α-pregnane and 5β-pregnane.


Acknowledge NASA funding on top-level page.

closed by #72
https://tutorial.xarray.dev/reference/acknowledgements.html


Add examples for Seldon Core Serving

Issue #59 , if available:
Description of changes:
Add one example for Seldon Core Serving.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Jeffwan Can you take a look?

I confirmed on my side, we need to label namespace with serving.kubeflow.org/inferenceservice=enabled.
And Seldon Serving doc also tells that we need to do so.

Seldon Serving doc also tells that we need

@PatrickXYS Thanks for confirmation. Seems other frameworks use it as well.

I am still not clear if kubeflow-gateway is a required thing for this example.

It's minor thing and I will merge this first.

I confirmed that kubeflow-gateway in user's namespace is required, I have tried to use kubeflow namespace's kubeflow-gateway but it didn't work. @Jeffwan


Include colSpan values, while comparing the actual cell values with header columns count.

Provide a general summary of the issue here
Unable to make cell span over multiple columns headers
🤔 Expected Behavior?
Must pass the column length and cell count validation here, and render the table
😯 Current Behavior
Due to strict cell count (excluding colSpan) and column headers count, it is throwing an error
💁 Possible Solution
Include colSpan count while comparing with column headers vice-versa
🔦 Context
I have a requirement, where the UI needs to merge two columns into one in header, while maintaing two individula cells under same column header.
Plain HTML Example my usecase:
<!DOCTYPE html>

Cell that spans two columns

To make a cell span more than one column, use the colspan attribute.

    Name
    Age

    Jill
    Smith
    43

    Eve
    Jackson
    57

It seems to be achievable at this stage.
🖥 Steps to Reproduce
TODO
Version
<EMAIL_ADDRESS>What browsers are you seeing the problem on?
Firefox, Chrome
If other, please specify.
No response
What operating system are you using?
OSx
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

We don't support this at the moment. Seems like a reasonable request, though may be difficult to implement due to the information needed in the columns as well as in the rows. We'll need to discuss API for it.

Support for this is pretty crucial for us @lightspeed 😄 We may be able to assist if necessary!

That'd be great. We took a look at this today and noticed the description on the issue logged against us is different than the description in the linked issue on NextUI.
Before starting, we'd like clarification about what is actually needed. Is it a cell that spans multiple columns or a column which spans multiple cells?
<td colspan...
vs
<th colspan...

We hope that it's the cell spanning multiple columns as the other one is more complicated we believe.
Things that will need some extra consideration while implementing:

TableKeyboardDelegate getKeyAbove/Below, columns in the collection are organized differently than rows in the collection
Do not worry about Spectrum's TableView component, it should continue to work as is
Resizing, scenario 1 may not be an issue, but definitely would be for scenario 2

Thankfully we are looking for a cell that spans multiple columns. <td colspan.... We use this in conjunction with Expandable rows. We are using the entire react-aria suite for our new design system are now onto useTable for our table needs.
Here is a crude example in paint

I managed to hack expandable rows together with #4758 as a guideline using UNSTABLE_useTreeGridState and looking at spectrum's TableViewWrapper. It doesn't play well with selecting rows, but that is expected of an undocumented alpha api 🙂

Great, I think we can start by creating this with a colspan prop on Cells. Would you like to get this started?

I am also curious about this. Are there any workarounds I could apply to create expandable rows as @kysley suggested?

@kysley 's paint picture explains exactly the behavior we would need also. Is there some progress on this issue yet?
And I would be very grateful for any more explained workaround for this.

so, this react spectrume still dont have colSpan ?


[Bug Report] Question: Select with remote-method and pre-selected value is not rendering.

Element UI version
2.3.6
OS/Browsers version
Windows 10 / Chrome  65.0.3325.181
Vue version
2.5.17-beta.0
Reproduction Link
https://jsfiddle.net/jnkah8Lv/2/
Steps to reproduce
I am at a complete loss trying to get this to work. The situation I am in is a I have a select box that uses a remote method to query my api for results. This works pretty well on the initial selection, however when I load the page and a value was previously selected it does not render. I remember having this problem before, so I went back and searched through some previously filed issues of mine and found this: https://github.com/ElemeFE/element/issues/7882
The suggested solution in that issue was to initialize the list I feed to el-option, and it works great if that is possible. However, I have a situation where the API my service pulls from only returns partial results. As a result there is no way to pre-load the entire list. In fact that defeats the whole purpose of remote-search if I have to pre-load every option to only then make remote calls for the select options. This is sort of an obvious problem, so I am sure you guys have developed an approach, but I just cannot find it. Any feedback would be greatly appreciated
What is Expected?
the pre-selected value renders in the select box
What is actually happening?
The select box is empty, even though there is a value in the state

See the comments in the mounted hook: https://jsfiddle.net/leopoldthecuber/jnkah8Lv/3/


Add install app to CLI

The install application command (currently in flowserv-app) should be part of the CLI for flowserv-core.

Closed by commit 664d0f02edc2691752c69221f8756931396ace7d.


Added easy installation for Ubuntu

given that its actually packaged by debian and copied by ubuntu, it should probably list debian in the instructions too