Remove platform-engineering-bot from devfile/registry

Which area is this issue related to?

/kind task
/area ci
/area registry
Issue Description

Organization is now using redhat-renovate-bot as the bot account for renovate. It has been requested to offboard the old  platform-engineering-bot from usage.
Acceptance Criteria

[ ] Replace old bot account with new bot account in renovate config
[ ] Remove old bot account as a collaborator

https://github.com/devfile/registry/pull/399#issuecomment-2123197854
issues are not enabled on this repo. Piggy backing on this PR. Please opt-out the platform-engineering-bot user. It is replaced by a renovate team bot user.

@lmilbaum
Moving this thread here.
Thanks for bringing this to our attention!
For issues we track under devfile/api repository using the area/registry tag for devfile registry related issues, as I did for this issue.
I added the acceptance criteria I see needs to be done into this issue, let me know if I missed anything.
cc @thepetk

@lmilbaum I have removed platform-engineering-bot as a collaborator which completes the steps identified by our team and will now close this issue, feel free to re-open if there are any steps missed for offboarding platform-engineering-bot.


Create replica will not work if destination RG is different

In the Create replica using Az it is written
(Resource-group | myresourcegroup | The resource group where the replica server will be created.) for command
az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup
But if myresourcegroup  not the same RG as of source server we will fail.
Eg
Lets says i have sudipostgres11 -->is in RG1 and Replcia in RG2
az postgres server replica create --name testreplsvr --source-server sudipostgres11 --resource-group Sudi1
Unable to get source server: Azure Error: ResourceNotFound
Message: The Resource 'Microsoft.DBforPostgreSQL/servers/sudipostgres11' under resource group 'Sudi1' was not found..
if we need a specific RG which is not the RG of master server then only
az postgres server replica create -n testreplsvr -g testgroup  -s "/subscriptions/${SubID}/resourceGroups/${ResourceGroup}/providers/Microsoft.DBforPostgreSQL/servers/testsvr2"
where:
testreplsvr --> New replica server Name
testgroup --> New Resource Group where your replica server is in
"/subscriptions/${SubID}/resourceGroups/${ResourceGroup}/providers/Microsoft.DBforPostgreSQL/servers/testsvr2" -->Resource URI for the master server

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

ID: 25a7f0ad-43fe-aa7b-ed1c-536132df3a49
Version Independent ID: f22ba49c-d21d-3a39-4c39-09280276bd74
Content: Manage read replicas - Azure CLI, REST API - Azure Database for PostgreSQL - Single Server
Content Source: articles/postgresql/howto-read-replicas-cli.md
Service: postgresql
GitHub Login: @rachel-msft
Microsoft Alias: raagyema

@SudheeshGH Thank you for bringing this to our attention. I am having the product group review this and make an update to the document as appropriate.

We've updated the how-to to mention that one should use the resource ID method if different resource groups are needed. Documentation update will be published later today.
#please-close


SyntaxWarnings with Python 3.8

When building 0.9.4 with Python 3.8 on Fedora, I noticed these SyntaxWarnings:
Bytecompiling .py files below /builddir/build/BUILDROOT/wxGlade-0.9.4-1.fc32.x86_64/usr/lib/python3.8 using /usr/bin/python3.8
/usr/lib/python3.8/__init__.py:1690: SyntaxWarning: invalid escape sequence \u
/usr/lib/python3.8/main.py:928: SyntaxWarning: invalid escape sequence \d
/usr/lib/python3.8/new_properties.py:2109: SyntaxWarning: invalid escape sequence \[
/usr/lib/python3.8/wxglade.py:187: SyntaxWarning: invalid escape sequence \d
/usr/lib/python3.8/__init__.py:1690: SyntaxWarning: invalid escape sequence \u
/usr/lib/python3.8/main.py:928: SyntaxWarning: invalid escape sequence \d
/usr/lib/python3.8/new_properties.py:2109: SyntaxWarning: invalid escape sequence \[
/usr/lib/python3.8/wxglade.py:187: SyntaxWarning: invalid escape sequence \d

Thanks for reporting. I will look through. Probably I just forgot the r for the raw strings.

Can you tell me what the file init.py actually looks like? This should be almost empty (just some comments).

What's weird is that I can't reproduce these SyntaxWarnings any more.  It seems like they went away with the latest Python 3.8 beta, so I'm just going to close this.  Sorry for the noise.

The warnings were actually valid.
The warnings were deactivated for 3.8b again. See here: https://bugs.python.org/issue32912
I have changed the strings accordingly in the master branch,

Thanks.  What was further confusing was that part of the path is missing from the warnings.


Permissions data could not be loaded. Please try again later. (BungeeCord Version)

Hello, I currently have a problem when I try to set up a BungeeCord with Luckperms. I receive the following message when I log in to one of my servers (via BungeeCord): Permissions data could not be loaded. Please try again later.
Both servers and my Bungeecord proxy are connected to the same database and the IP forwarding  is setup and configured correctly.
The logs of my servers are ok (no errors) but I get this in the logs of my BungeeCord : https://hastebin.com/loremelota.sql
Do you have a solution ?
Thanks ! :)

The LP instance on BungeeCord can't connect to your database
Caused by: java.sql.SQLException: Access denied for user<EMAIL_ADDRESS>(using password: NO)

It's not an LP error - but there is some guidance here:
https://github.com/lucko/LuckPerms/wiki/Storage-system-errors


disappearing bullet list inside callouts

When the pieces plugin is activated, the bullet points inside callouts disappear.
With Pieces enabled:

With Pieces disabled:

Thanks for reaching out about this, I should be able to have a fix for this by the end of this week or start of next!

Just wanted to comment that this is still happening, but not only with callouts :(

@simo-corbo @ramarivera sorry for delay here, just got around to this. It should be fixed in the next release (targeted for Thursday, February 29)

Thank you :)


settings: Fix the sticky behavior of saving indicator.

We want the saving indicator to be sticky in the cases
where we ask user to reload after changing settings.
This used to work correctly before 9e08c6db936, as
'if(remove_after)' returned false if remove_after was
null, but the condition was changed in 9e08c6db936
to 'if(remove_after !== undefined)' and thus the
condition returned true when remove_after was null.
This PR change the remove_after value to undefined
for sticky cases.

GIFs or screenshots:

Merged, thanks for the fix @sahil839!


getProducts: Empty product array

Version of react-native-iap
the lastest version for now
Platforms you faced the error (IOS or Android or both?)
IOS
Expected behavior
Read and buy product
Actual behavior
After RNiap.prepare, I invoke the getProducts method on a static array of bundle ids associated with products already loaded and approved on iTunesConnect. The response is empty array, What could be the problem?
Tested environment (Emulator? Real Device?)
Real Device
Steps to reproduce the behavior

I had the same problem and I checked all the steps multiple times, in the end this fixed my problem:

Use only the ProductID not the BundleID + ProductID for SKUs (instead of "com.example.myapp.product1" use just "product1")
I had to submit the app and then "developer reject" it right after.

Same here for me, bot ProductID and BundleID+ProductID not working at least for iOS, not tested yet on android.
@cliff what do mean by "developer reject" it right after ? you app didn't get validated because of that ?

@younes200 'Developer reject' means you apply app (product) review (to Apple company in iTunesConnect) and reject it before the review. But, it is not necessary. I test without this process.
I guess you should check the IDs on iTunesConnect and strings in JS array.

@younes200  @guzza82 did you solve this issue ?

Having the exact same issue, even having a in app purchase Product ID being: com.product.product.allitems and just using allitems for the sku did also not work.

Thanks @JJMoon.  it seems that contact info was misssing, I'll re-check that after the Apple finish processing my infos.


Do not dump to same folder on tf failed retry

Please provide a description of this PR:

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
6cfdb8933a4dbfff83e3225bd7cb37d745f73ce9
link
true
/test integ-pilot-multicluster_istio

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


A few questions

Hello,
As a totally newbie to Docker here are my questions.
Since I'm in the process of setting up a complete website on a VPS I'm planning to use VIrtualMin on Ubunutu 16.04.
VirtualMin FAQ says
"What if I already installed Apache, Postfic, MySQL, Dovecot, etc. on my system?
If you installed from the OS standard repository for your OS, everything should be fine. If you installed from any third party sources, or from source, the installation will fail and things will go badly. The install script cannot accommodate packages installed from non-standard sources. It just isn't that smart."
Q1- If I use this container to install my mail server how will it be seen by VirtualMin ? Has anyone experienced this kind of config ?

Q3- If I'm using my mail server as a really with services that already filter email do I still need SpamAssassin, ClamAv, Amavis... Wouldn't it be belt and suspenders ?
Thanks for your help
Regards
V.

A1- Not sure how this would work, I guess Virtual admin expects config files at default location and they aren't with the docker.
A2- 512M without ClamAV and 1G with ClamAV
a3- There are some variable that can turn off and on certain elements, check the readme for this

if you already installed those services, then they are going to cover the ports for the services on the VPS which means when you try to forward the mailserver container ports for IMAP, SMTP etc to the host port there are going to be conflicts, if you install this mailserver and you want it to be seen by virtualmin then i imagine there are going to be some issues with manual configuration of virtualmin,
my previous configuration was RHEL fedora with cockpit as the web UI, i used this mailserver package for the main services, emails were total manual shell set up, no fancy UI, i did try to experiment a bit with different email admin containers, but i found it was futile and gave up, i set up a separate container running roundcube for a webmail interface and it just worked
currently i am in the middle of trying to setup the same setup on a bunch of VPS running fedora cloud atomic linux kubernetes cluster with a fedora FreeIPA LDAP VPS for the users, its not going well, docker can save you a lot of headaches, but its a pain to set everything up the first time, this is my first time trying to set everything up with LDAP
if you are looking to move toward containers you probably should be running everything via containers, if you want a virtualmin install, install one of the virtualmin docker hub images inside docker.


adding releasability action

I am not sure what happened, I added this a while ago and it was removed? But it looks like a mistake on github side: https://github.com/knative-sandbox/.github/pull/59

/hold, I missed some updates.

/unhold

/hold
Need to add buoy exists usage.

Run as 0.18: https://github.com/n3wscott/discovery/runs/1288085393?check_suite_focus=true
Run as 0.19: https://github.com/n3wscott/discovery/runs/1288093718?check_suite_focus=true (failed because run is on fork without slack token)

/unhold
ready for another look. Thanks!

Update:
Manual run with nothing set: https://github.com/n3wscott/discovery/runs/1288378350?check_suite_focus=true (defaults, should be same as cron)
Manual run with stuff set: https://github.com/n3wscott/discovery/runs/1288372972?check_suite_focus=true


Licensing

Great project! I notice there is currently no word on the license in the repository. It would be great if you could make it available under GPL or something compatible with it, since it appears to be a perfect match for my markdown notetaking program (which currently uses the abandoned and buggy Lasem for rendering LaTeX instead).

I got it. Because of this project contains some resources under different licenses (check out the directory res/fonts/license), I don't know how to choose a proper license for this project. Any suggestions?

I think the standard approach would be to just slap a license of your choice on the source code and put it in the root folder, and then maybe place a remark saying that parts of the software are covered by different licenses in the README.

Thank you for your advice, I'll add the license soon.

@blackhole89 The license was added, please check it out.

I agree: great project! Would you consider applying an LGPL or MIT licence, since it's being designed as a library? I was thinking of trying to figure out how to use the project in a mobile app, but I wouldn't be able to do that under GPL as then the whole app would have to fall under GPL, if I understand things correctly.

@lazingor Well, I'm not familiar with the open-source licensing 😅. After some dig in, I realize that the GPL license has too many limitations, maybe the MIT license is a better choice. I'll change it soon.

@NanoMichael That's great! Gonna get stuck in to experimenting.


Better support for math fonts

Fix #49
Also improve the tree printing of TeXExpr.

Codecov Report

Merging #72 (d4b06fe) into master (4ead598) will increase coverage by 0.05%.
The diff coverage is 79.16%.

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
+ Coverage   78.74%   78.80%   +0.05%
==========================================
  Files           7        7
  Lines         447      467      +20
==========================================
+ Hits          352      368      +16
- Misses         95       99       +4

Impacted Files
Coverage Δ

src/parser/parser.jl
73.68% <ø> (ø)

src/parser/texexpr.jl
80.00% <78.26%> (ø)

src/engine/layout.jl
89.60% <100.00%> (ø)

Continue to review full report at Codecov.

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


fix/issue-#2800: Fix bug with favorites getting deleted when a favori…

…ted portlet gets deleted and a user subequently favorites another portlet or unfavorites a portlet

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines
[x] tests are included

Description of change

See Issue #2800
Updates have been made such that when a user favorites or unfavorites a portlet, the code will first remove any orphaned favorites (favorites for portlets that have been deleted).  What was happening previously was that the UserLayoutManager.saveLayout() method was finding the orphaned favorites and pruning the node "linked-list" at that point, resulting in all favorites coming after in the list to be deleted along with the orphan.

Thanks @groybal! When you have a moment could you look into the failing CI job?

Seems to be working now.


correct typedef of Route

Fixes #3566
updated typedef of interface Route from query: Dictionary<string | (string | null)[]> to query: Dictionary<string | null | (string | null)[]>

Can you add a test?

Which files exactly? im kinda new to this so just the files that need to be covered would be great

You can add it here: https://github.com/vuejs/vue-router/tree/dev/types/test

You can add it here: https://github.com/vuejs/vue-router/tree/dev/types/test

Thank you! Will have a look

You can add it here: https://github.com/vuejs/vue-router/tree/dev/types/test

is my latest commit what you were looking for in the test?

Thanks! That should be the test. I will take a look on my next pass over vue router 3.


ceylon assemble

Currently ceylon fat-jar is a great assembly tool that lets you run a Ceylon app using javac. It has one limitation: it implies --flat-classpath, and doesn't use JBoss Modules for classloader isolation.
We need a similar ceylon assemble command that similarly produces a fat jar, but with "russian doll" packaging, and which uses JBoss Modules for classloading.
This, together with #5955 satisfies the need for "assemblies".

@quintesse do you think this is something that you might be able to work on Tako?

I can certainly try :)

That would be awesome. Let me know if you have questions about what precisely this should do.

Btw @gavinking you mention "russian doll packaging", does that mean you envision assemblies containing other assemblies?
I would have thought the embedding of .car files would only be one level deep? That is, we get all the necessary modules, including system modules and stuff their .car files in a .jar file with some special class loading.
The fact that an assembly would also include all the necessary system modules would make it strange to allow nesting. At least it seems that way to me.
But...
Are we sure we want assemblies to be completely independent artifacts just like fat jars are? It will make it hard to make any kind of composition of assemblies and modules. If they did not include system modules and would still depend on Ceylon being installed on your system they would perhaps be more flexible? And in that case you could probably more easily make an assembly of assemblies.

Leaving these links here for research purposes:

JarClassLoader
One Jar

Btw @gavinking you mention "russian doll packaging", does that mean you envision assemblies containing other assemblies?

No, all I mean is that you would have a fat jar that contains .car files.

I would have thought the embedding of .car files would only be one level deep?

Right, exactly.

P.S. I don't think we have any need for "assemblies" to be composable. By their very nature, assemblies are top level artifacts.

Ok, thanks, all clear.

Ok, I pushed my implementation of this to a branch so people can comment on what I created before merging it with master.
Introduction
So the most important part of this design is the realization that if we're talking about putting a bunch of .car (and .jar) files in a single file and calling it an Assembly then basically assemblies are zipped/jarred repositories.
From that came the idea that if they are "basically zipped repositories" why not make them actual repositories? Meaning that zipped repositories would be first class citizens of the CMR. So that's the first pillar:
Zipped repositories
So the Ceylon now support a new special kind of Assembly Repository that lets it look up modules in a zip or jar file. The syntax for the repository URI is the following:
assembly:path/to/a/zip/or/jar/containing/modules.zip[#subfolder]

So using the helloworld example code from the samples folder in the Ceylon distribution we can now literally do:
$ ceylon compile com.example.helloworld
$ cd modules
$ zip -r ../modules.zip *
$ cd ..
$ rm -rf modules # just to show the module isn't read from the modules folder
$ ceylon run --rep assembly:modules.zip com.example.helloworld
Hello, World!

By default Ceylon searches for modules in the root of the zip/jar file, you can change this behaviour by adding the name of a sub folder to search to the end of the assembly path separated by a hash (#). So to do the same as above a bit more simply we can do:
$ ceylon compile com.example.helloworld
$ zip -r modules.zip modules
$ ceylon run --rep assembly:modules.zip#modules com.example.helloworld
Hello, World!

Of course we're not supposed to go around manually creating our own zip files, but it certainly an interesting feature to have and it's the basis for the second pillar:
Assemble an assembly
Instead of creating your own zips and perhaps having to figure out which modules to include and which to leave out you can use the new ceylon assemble command that was specifically created for that purpose. In its most basic form it works just like the ceylon fat-jar command:
ceylon assemble <module>

This creates a module-version.cas file in the local directory.
NB: Yes, a CAS file. Where JAR stands for Java ARchive, and CAR stands for Ceylon ARchive CAS stands for Ceylon ASsembly, logically
This CAS file by default will only contain the module mentioned in the assemble command together with the dependencies explicitly mentioned in its module descriptor and the explicit dependencies of those dependencies etc.
So using this new command the above example now becomes:
$ ceylon compile com.example.helloworld
$ ceylon assemble com.example.helloworld
$ ceylon run --rep assembly:com.example.helloworld-1.0.cas#modules com.example.helloworld
Hello, World!

But of course this isn't much better. But luckily the assemble command isn't just a simple archiver, it doesn't just zip the modules, it also adds some meta-information that the ceylon run command can use to make executing an assembly a lot easier. So that's where we come to the third pillar:
Running assemblies
The ceylon run command has been improved and knows about assemblies. There's a new --assembly option that's the equivalent of Java's -jar option and it works like this:
ceylon run --assembly <path-to-assembly>

So again using the example above we can now do the following:
$ ceylon compile com.example.helloworld
$ ceylon assemble com.example.helloworld
$ ceylon run --assembly com.example.helloworld-1.0.cas
Hello, World!

Now this is much simpler! The assemble command has stored some important information in the CAS file's MANIFEST.MF telling the run command where to look for the modules and which module is the "main" module that should be executed.
NB: in all the above cases the assembly is run using JBoss Modules with full module isolation. The only difference from the norm is that we have a new kind of repository.
So these are the basics for creating and using some very light-weight assemblies. They are as small as possible and can easily be distributed and used in places where They could possibly become Ceylon's WAR files where an application server could provide a single Ceylon environment where multiple application assemblies could be installed.
But what if you want to use them in places where you do not have Ceylon installed? Well we can do that too.
Stand-alone assemblies
There are actually two ways of creating stand-alone assemblies that don't need a local Ceylon installation to run. The first option is very similar to the situation we have when using fat jars:
ceylon assemble --include-language <module>

This creates an assembly that, besides the main module and its explicit dependencies, also includes the Ceylon language module and the minimal set of Ceylon supporting system modules to be able to run with only Java installed on the system. But like fat jars this means running with a flat classpath and with a dynamic meta model. But it works and results in an assembly that's only somewhat bigger (~2MB).
$ ceylon compile com.example.helloworld
$ ceylon assemble --include-language com.example.helloworld
$ java -jar com.example.helloworld-1.0.cas
Hello, World!

But what if you want a stand-alone assembly but still want to use the full module isolation that JBoss Module provides? Well for that we have a different option:
ceylon assemble --include-runtime <module>

This creates an assembly that, besides the main module and its explicit dependencies, also includes as much of the Ceylon system modules to be able to run using JBoss Modules. It does result in an assembly that's quite a bit bigger (~7MB).
$ ceylon compile com.example.helloworld
$ ceylon assemble --include-runtime com.example.helloworld
$ java -jar com.example.helloworld-1.0.cas
Hello, World!

Advanced topics

Like for the fat-jar and run commands you can specify which toplevel declaration of an assembly's main module should be executed:
 ceylon assemble --run <toplevel> <module>

If an overrides file was used while creating the assembly then that file will be included in the assembly and used when executed:
 ceylon assemble --overrides <overrides_file> <module>

Caveats
There is no support for Maven dependencies. (Things will work when run using ceylon run but the dependencies won't be part of the assembly itself. Not sure if that's a realistic future expansion)
Comments?
So what do you guys think? @gavinking @FroMage @tombentley @chochos @davidfestal @bjansen @lucaswerkmeister @jvasileff
I think this does everything that was expected for this issue while perhaps adding some additional interesting possibilities. But perhaps you guys can think of some improvements? Maybe you don't agree with some of the decisions I made?

Wow, this looks fantastic @quintesse! I love it, and can't wait to try it out.
I have three minor comments:

I did not find the syntax assembly:com.example.helloworld-1.0.cas#modules especially intuitive. In particular, I thought it was sorta weird that the repository would not be in the root directory of the .zip file by default. Furthermore I thought # was a strange choice of separator. Java uses ! for that. Are there some other tools that use #?
I wondered if it would be better to have a separate command, ceylon run-assembly instead of ceylon run --assembly. Perhaps I'm wrong about that, but it's not clear.
Having no support at all for maven dependencies seems like a pretty major limitation. How hard would it be to remove that limitation? Could we use the same trick, building a local maven repo into the .zip?

If an assembly is essentially a repo-in-a-file, what about other backends? Could we also use this for JS or Dart programs?

@lucaswerkmeister Our notion of an "assembly" is now somewhat open ended. We have several assembler tools already, listed here:
https://ceylon-lang.org/documentation/1.3/tour/modules/#assembler_tools
That is, we already consider fat jars, wars, and even Jigsaw mlib folders as "assemblies". But because each of these scenarios has quite different requirements in terms of the actual produced artifact, they're all distinct tools.

Could we also use this for JS or Dart programs?

We already have a ceylon assemble-dart tool, and AFAIK that already does everything that's needed. So I guess it's not useful for Dart.
On the other hand, what would be the use of a zipped up archive full of .js files? Well, run it directly with ceylon run-js, I suppose. I guess that's useful, for the same reason that a zipped up archive fill of .cars is useful. I imagine it would not be that difficult for @quintesse to adapt his work to also handle JavaScript assemblies. But I'll let him comment on that.

@lucaswerkmeister that should definitely be possible, the repository itself is completely backend-neutral (just that right now it's hard-coded to only look at .jar and .car files)
@gavinking;

No special reason whatsoever, it could easily be changed to !
Well the thing is that the tool would basically be the same code for 99%, second because I think at some point we want less tools, not more (each backend already adds several with compile, compile-js, compile-dart, run, run-js, run-dart, test, test-js, test-dart etc, why add even more?) and finally because it looked more like java -jar
I'm not sure if it would be hard. If we could have a way of "auto-importing" them as Ceylon modules it would perhaps not be that hard, but adding a Maven repo to the assembly seems pretty difficult. But perhaps @FroMage might have some ideas, he has a better idea of what the whole Aether stuff supports.

Oh @gavinking btw, the whole idea of using # (or !) is to be able to specify where the modules get stored. So by default it will look in the root, but if you decided to put them in a folder called foo/bar then you can. This is because by default it's much easier to type zip -r modules.zip modules which means all your modules will be in a modules subfolder. It's just to make it possible and not have to force people into a strict layout.
In the end the whole thing gets hidden behind the tools that will know how to deal with assemblies directly anyway (like the run tool). So in general people will never see nor have to deal with those repository URLs themselves.

If an assembly is essentially a repo-in-a-file, what about other backends? Could we also use this for JS or Dart programs?

That sounds nice, although an advantage of assemble-dart is that it creates a standalone Dart program–one that doesn't require Java. It basically packages all module dependencies into a Dart repo.

Well the thing is that the tool would basically be the same code for 99%,

Do all the options that make sense for ceylon run also make sense for ceylon run --assembly?
I mean, to begin with, ceylon run takes a module name, whereas ceylon run --assembly accepts a file name. So they don't really have the same syntax it seems to me...

adding a Maven repo to the assembly seems pretty difficult

Why exactly? Because Aether can't look inside a zip file? Or something else?

by default it will look in the root

OK, good, fine.

although an advantage of assemble-dart is that it creates a standalone Dart program–one that doesn't require Java.

That touches another thing I wanted to ask. ceylon fat-jar results in a file that I can just stick into java -jar, without worrying about whether or where Ceylon is installed on the target system. Is the same possible for an assembly – can it also bootstrap itself? Or does it need ceylon run?

Is the same possible for an assembly

@lucaswerkmeister you didn't read what I wrote above entirely, didn't you? ;)

Hey, what did you expect when you posted that comment at 3AM and CCed me into it? I diligently read it, and by the time I got to the end, obviously I was so sleepy that I completely forgot that last part :D
Next question, then: What’s the difference between ceylon assemble --include-language and ceylon fat-jar, if they both result in a flat classpath at runtime? Just the layout of the files (matryoshka vs. flat)?

Next question, then: What’s the difference between ceylon assemble --include-language and ceylon fat-jar, if they both result in a flat classpath at runtime? Just the layout of the files (matryoshka vs. flat)?

fat-jar does not run anything on JBoss Modules.

Neither does ceylon assemble --include-language, according to @quintesse’s post – the JBoss version is --include-runtime.

Just the layout of the files (matryoshka vs. flat)?

Indeed (well that and the fact that it contains a special class-loader to make it work)

Really cool. But yeah we should support Maven modules in there. Since it's meant to be entirely self-sufficient with no downloads after the assembly, the only choice we have is packaging a Maven repo in there, and tweak the Aether resolver so that it looks things up in there. If it can deal with non-File repos.

the only choice we have is packaging a Maven repo in there

Well or automatically turn them into Ceylon modules, generating a module.properties from the dependency info, right? O r do you think that's not possible?

If it can deal with non-File repos.

It's not really non-file. All "several JARs into one JAR" examples I could find really unpack everything into temp space and then deletes that again on JVM exit, so that's what this does too.

Well or automatically turn them into Ceylon modules

The semantics under JBoss Modules would change, especially with --export-maven-dependencies and --fully-export-maven-dependencies which only apply to Maven modules. Also, Maven modules have exclusion rules and auto-selection of latest versions but I suspect this is something you do when you do the assembly already, no?

It's not really non-file

OK so it surely can do that then.

but I suspect this is something you do when you do the assembly already, no?

It uses the same Module Graph as the fat-jar command so I assume it does :)

[all the other Maven stuff]

Would it be possible to use the simpler MavenRepository for this? (The one you wrote a long time ago that simply works with local folders) or do we specifically need the AetherRepository for everything to work correctly?
For the rest I imagine that it means adding a mvnassembly: repository type if we want to keep the idea of assemblies being a type of zipped repository. It won't be as elegantly simple as it is right now though.

It uses the same Module Graph as the fat-jar command so I assume it does :)

OK, so it should.

Would it be possible to use the simpler MavenRepository for this?

I guess…

For the rest I imagine that it means adding a mvnassembly: repository type if we want to keep the idea of assemblies being a type of zipped repository

No, what I'd do is to have two folders in the zip: ceylon and maven, no?
Or you turn them into Ceylon modules during assembly, and respect --auto-export-maven-dependencies and --fully-... during assembly time?

No, what I'd do is to have two folders in the zip: ceylon and maven, no?

Sure, that's possible, but the assembly: repository is supposed to be a Ceylon repository, not a Maven one, that's why I had hoped that we could turn them into Ceylon modules (and add overrides for them). Although perhaps it could be made to work now that I think of it. I'll have to investigate a bit more.

Since it's meant to be entirely self-sufficient with no downloads after the assembly...

It would be nice to also have an option to include as little as possible, to minimize the size of standalone assemblies. (Whatever the user doesn't already have cached in ~/.ceylon/repo would of course have to be downloaded on first run.)
Leveraging the download-deps-at-runtime aspect of Ceylon's module system has really helped with the (WIP) VSCode plugin since Microsoft imposes a strict plugin distribution size limit. I am currently requiring that the user install Ceylon separately, but with this, perhaps even that requirement could be removed.

Sounds great!
For JS backend, I guess the format of the cas file includes all JS modules under their respective paths, so for web apps or whatever it's just a matter of unzipping it and it all falls into place. For web apps, the repo endpoint that serves modules should just know about assemblies and treat them like another repo, which would make things a lot easier for web deployment.

It would be nice to also have an option to include as little as possible

Well, like I explained you can have assemblies that only contain application code, no Ceylon system modules at all. But that of course means the user does need Ceylon installed. But you could of course combine it with ceylonb to install Ceylon automatically. (I've even thought about adding the option to include this bootstrap into the assembly).
The smallest option (so far) that doesn't need the user to have anything installed (besides Java) is the --include-language one, but that's basically the same as running a fat jar.

Well, like I explained you can have assemblies that only contain application code

That's not really what I meant. In fact, this wouldn't necessarily even contain application binaries if they were available on Herd. Although I suppose I might be able to just take the output of an --include-language assembly and delete the stuff I want to be downloaded at runtime.
Taking this to the extreme, and a bit off topic, would be a Ceylon runner jar that would let you run Ceylon programs without installing Ceylon. Like:
java -jar ceylonRunner.jar ceylon.formatter/1.3.1
# same as 'ceylon run ceylon.formatter/1.3.1'

The difference between this and a "bare bones" assembly would be that the assembly would 1) know what to run, and 2) possibly embed some dependencies.
Regardless, great work. ceylon assemble is going to be really nice.

a Ceylon runner jar that would let you run Ceylon programs without installing Ceylon

But isn't this what ceylonb basically does? Except that instead of java -jar ceylonRunner.jar you type ceylonb run.

Not totally the same–there are some other "except that"s.

Do assemblies supersede ceylonb?

@xkr47 I do not believe it does.
ceylonb is development time tool for building, testing and generally interacting with Ceylon compiler toolset while developng Ceylon projects.
assemble on the other hand, creates a self-sufficient executable binary artifact...

@xkr47 They're two different things.
ceylonb is an auto-installer for Ceylon, making it very easy to be up-and-running with a project without having Ceylon installed.
Assemblies are basically just zipped repositories. An easy way to distribute applications. You'd still need Ceylon to use them unless you use of of the stand-alone options to make them usable without having Ceylon installed.
The basic (non stand-alone) assemblies could work very well together with ceylonb, one making it easy to distribute the application while the other makes it easy to distribute Ceylon itself.

Merged this with master now. Will continue working on Maven on the branch.

Excellent!

Closing this now and opening a new issue for Maven support,


Fix wrong color assignation

Most terminal emulators allow users to customize their colors by
selecting a predefined palette and/or by picking individual colors.
This means that colors 0-15 can't be expected to have a fixed value and,
therefore, that no attempt should be made to map them to hardcoded ones.
Even if such an attempt is made, mapping "dark yellow" (808000 by default) to
a brownish orange (AF5F00) makes no sense when there are much more
mathematically and perceptually accurate choices anyway, like 100 (878700),
142 (AFAF00), or 184 (DFDF00).
With &t_Co=256,

darkred is correctly mapped to 1,
darkgreen is correctly mapped to 2,
darkblue is correctly mapped to 4,
darkmagenta is correctly mapped to 5,
darkcyan is correctly mapped to 6,

but darkyellow is incorrectly mapped to 130, a brownish orange,
instead of the expected 3.
Problem: darkyellow items look brownish orange instead of the expected color.
Cause: darkyellow is mapped to non-user-customisable xterm color 130.
Solution: map darkyellow to user-customisable xterm color 3.

I suppose we can never do this right for everybody.  But at least it's possible to use "Brown" to get the color that was used for "DarkYellow".  Let me include this and see who complains...

Thank you.
By the way, this change apparently fixes the dark yellow situation for the general case, ie:
hi StatusLine ctermbg=darkyellow

but it doesn't seem to have effect on the the :terminal colors.

The terminal statusline is highlighted with:
hi StatusLineTerm ctermbg=darkyellow

which looks exactly as expected, but color 3 used in a sample echo:
$ echo -e "3: \\033[38;5;3mDarkYellow\\033[48;5;3mDarkYellow\\033[0m"

appears to still be mapped to 130 in the terminal.

@romainl not sure if it related truly, but perhaps it's about your 'terminal' itself, check my comment at 'Incorrect colors in :terminal #5346' (about term cfg and yellow color) .. maybe that's your answer.
just a fyi, and statuslineterm set to darkyellow is showing darkyellow (not yellow) at my terminal.

@Shane-XB-Qian if by "'terminal'" you mean my terminal emulator then I've tried with Terminal and iTerm on MacOS and the behavior is the same:

On the left : latest iTerm, freshly downloaded, default theme, default terminal palette, Vim with this patch applied:

"darkyellow" is now correctly mapped to "3" for all highlight groups,
"darkyellow" is mapped to "130" instead of "3" in :terminal.

On the right: Terminal, custom theme, custom terminal palette, Vim with this patch applied:

"darkyellow" is now correctly mapped to "3" for all highlight groups,
"darkyellow" is mapped to "130" instead of "3" in :terminal.

i am not using mac, but try "\e[1;33mtest\e[0m" and "\e[1;93mtest\e[0m" if it was same color in your ":term" ?

nevermind, i found my mba :)
i tried terminal v2.10 (433) without this patch, darkyellow is darkyellow (not yellow - though i can not say the value but just the color i saw) in ':term'.

2.9.5 (421.2), here, same result with and without the patch:

text is darkyellow and yellow outside of Vim,
text is brownish orange and yellow in :terminal.

And, regarding highlight groups:

without patch, darkyellow is brownish orange,
with patch, darkyellow is darkyellow.

Both my terminal emulator and Vim are perfectly able to paint pixels in whatever color I have assigned to darkyellow/3. That brownish orange in :terminal is a Vim artefact, not an artefact of my terminal emulator.

ok, so not sure your issue about statuelineterm came from at the begining ..
but anyway, 3 for general in vim looks should be, as for :term then there perhaps some others impacted, that's what i want to say ..

ok, so not sure your issue about statuelineterm came from at the begining ..
but anyway, 3 for general in vim looks should be, as for :term then there perhaps some others impacted, that's what i want to say ..

You don't get it, do you? 3 used in cterm*g works correctly and has been working correctly for decades. There is no problem with 3 in cterm*g.
The following command:
hi Whatever ctermbg=3

worked as expected a decade ago and it still works as expected today. No one is complaining about that.
The problem was with darkyellow in cterm*g, which should have been mapped to 3 (like darkred is mapped to 1, darkgreen to 2, etc.) but have been mapped to 130 for some unknown (to me) reason.
The expected outcome of this command:
hi Whatever ctermbg=darkyellow

is exactly the same as if you used 3 instead of darkyellow. 3 and darkyellow should be mutually exchangeable without any issue, just like 1 and darkred are, or all the others.
With this patch, doing either of the following command in TUI Vim in 256 colors has exactly the same outcome:
hi Whatever ctermbg=3
hi Whatever ctermbg=darkyellow

Now, there is another place in Vim where the terminal palette should be respected: :terminal. As per :help g:terminal_ansi_color:

When not using GUI colors, the terminal window always uses the 16 ANSI colors of the underlying terminal.

This is demonstrably not the case, with or without this patch.

i mean in general case in vim your patch looks should be, 3 is darkyellow should be.
// now looks/actually 130 is brown.
and the screen-cut in your comment#2, the stl-term is yellow (which not darkyellow) -vs- it says hi StatusLineTerm ctermbg=darkyellow, i may missunderstood you this description, or you may did not notice this yourself. :)
3rd. for ':term', i felt you just wish brown should be 3 too, and looks it should be ..
but @brammool  up to you. :)

i mean in general case in vim your patch looks should be, 3 is darkyellow should be.

Before the patch, cterm*g=3 and cterm*g=darkyellow produced different results when &t_Co == 256.
After the patch, cterm*g=3 and cterm*g=darkyellow produce the same result when &t_Co == 256.

// now looks/actually 130 is brown.

No idea what you mean but yeah, 130 is a brownish orange.

and the screen-cut in your comment#2, the stl-term is yellow (which not darkyellow) -vs- it says hi StatusLineTerm ctermbg=darkyellow, i may missunderstood you this description, or you may did not notice this yourself. :)

Yes, you misunderstood. Thanks to this patch, the background of StatusLineTerm in my second comment is the exact color defined in my Terminal for ANSI color 3/darkyellow. Vim does what it should have always done. This is perfect.

3rd. for ':term', i felt you just wish brown should be 3 too, and looks it should be ..

In my third comment, the 4th color under "ANSI background" is still that brownish orange instead of the expected 3/darkyellow.
This means that :terminal doesn't use the host terminal's ANSI colors, contrary to what the doc says and what users would assume to make sense.

now 33m,43m, looks is brown (or i am wrong?), i said except terminal itself (others impacted), for this part, i agree and looks it should be 3 .. but let @brammool make decision .. mostly darkyellow (in palette scope) and brown (in esc scope) perhaps should be same thing ..for 256 color.
your patch just changed 1 and that one is just 130 to 3.

now 33m,43m, looks is brown (or i am wrong?), i said except terminal itself (others impacted), for this part, i agree and looks it should be 3 ..

Yes, 33m should be written in whatever color I defined in my terminal emulator, same for the background of 43m. It's currently brownish orange, which is wrong.

your patch just changed 1 and that one is just 130 to 3.

The problem was that "darkyellow" was mapped to 130 instead of 3. Now that "darkyellow" is properly mapped to 3 that problem is fixed.
Now, to the next problem: #5993.

i saw @brammool just helped you fixed the left. and it is darkyellow (vs/not brown) 3 now.
and glad to myself - joining/joined this discussion/process too.. :)

just one outage let you guys knew if so:
now the bold text of that - color looked like is 'yellow' which not darkyellow or brown now (at my terminal at least) .. some one some day may complain that too/later .. :)


connectMongoDB() misbehaves

Dear vibe.d community,
Intro
I'm having issues with MongoDB which seems to originate at connectMongoDB() method.
There are 3 ways to connect to database with this method, out of which 2 cause the client to misbehave.
What is the observed misbehavior?
I notice that insert(), update() and remove() do not take effect until the next
insert(), update(), remove() or find() are not invoked.
I assume that normally insert(), update() or remove() should take effect independently,
without a need for follow up (one of the connections allow this).
What is the significance?
If I will have several consecutive inserts(), the last one will not take effect
unless followed by a find().
The same applies for update() and remove().
When does happen?
The behavior depends on which connector is used to connect to db.
The normal behavior is observed when, this way of connecting to db is uesed:
MongoClient connectMongoDB (
  string host,
  ushort port
);

Connecting with host_or_url or MongoClientSettings causes the misbehavior.
How to verify behavior?

Check inside mongodb with mongo shell
Mongo log shows that insert was or wasn't made

Examples
This below is a minimum example for an insert when using host_or_url to connect.
writeln("Test mongo URL connection");
string dbName = "test";
string collectionName = "test_collection";
string connectionURL = "mongodb://<IP_ADDRESS>:27017/" ~ dbName;

MongoClient client = connectMongoDB(connectionURL);
auto db = client.getDatabase(dbName);
MongoCollection collection = MongoCollection(db, collectionName);

collection.insert(["key" : "value"]);
writeln("inserted");

I attach a file (mongo_connection_test.zip) that shows the same for remove() and update().
What am I looking for?
I need to authenticate into MongoDB. Currently, the working connectMongoDB() with client and port does not support authentication.
Any of these will be helpful:

Explanation of what am I doing wrong?
Workaround...
Bug fix - if this is a bug.

Specs
Those are my specs:

mongoDB v3.4.4

Ubuntu 16.04 LTS

library versions:
"versions": {
  "diet-ng": "1.2.1",
  "libasync": "0.8.3",
  "libevent": "2.0.2+2.0.16",
  "memutils": "0.4.9",
  "openssl": "1.1.5+1.0.1g",
  "vibe-d": "0.7.31"

DUB version 1.3.0

DMD64 D Compiler v2.074.0

Looking forward to your replies,
Piotr

Just in case any one came across similar problem.
The solution that worked for me is setting fsync parameter to true.
It appends to the end of connection url:
string CONNECTION_URL = "mongodb://<IP_ADDRESS>:27017/" ~ "?fsync=true";


Slack channel for config

Dear committers, a slack channel config was created for Jakarta Config. I have invited the committers whose email address is available to me and the ones who are already in Jakarta EE slack workspace. When you see an slack invitation email, please feel free to join the channel.
If you have not got the invitation and would like to join, please click this link and then click on Join our Slack Workspace. Once you get into slack workspace, you will see the channel config.
The channel is for some initial brain strom or idea discussion not for decision making.

Can we discuss on the call before committing to using Slack?

How about just using github discussions instead?
That way it's accessible for everyone, even those that are not participating in slack. (and searchable as part of the general search on this github project)

If there is an issue raised, sure we will discuss on the github. The slack is for some casual chat. Different people have different preferrence.


Naming Typo prevents code from running

In the 'Layout' section code example there seems to be a typo that prevents the code from running:
the sample document is in a constant:
const formUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf"
but then is called as formUrlLayout here:
const poller = await client.beginAnalyzeDocumentFromUrl("prebuilt-layout", formUrlLayout);
*the demo works great if you rename the const to formUrlLayout

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

ID: b94fc7c6-174c-4e54-d6a9-555cb0f11057
Version Independent ID: 87e95656-6e98-7e29-74ac-2bb287e54711
Content: Quickstart: Form Recognizer SDKs - Azure Applied AI Services
Content Source: articles/applied-ai-services/form-recognizer/quickstarts/get-started-sdks-rest-api.md
Service: applied-ai-services
Sub-service: forms-recognizer
GitHub Login: @laujan
Microsoft Alias: lajanuar

Sent pull request instead.

@fullmetalfenix
It looks like your issue is resolved since you closed this thread.
If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion. Thanks.


A solve if anyone get "Failed to send request: Operation not permitted"

Basically I upgraded my GL router but it removed adguard plugins so I assume the localhost dns it created wasn't working and I was unable to change "DNS" under the GUI the solve was to manually set a DNS in Luci
Then this package downloaded and worked great
https://techoverflow.net/2020/12/24/how-to-fix-openwrt-opkg-failed-to-send-request-operation-not-permitted/

I don't know what this is about my repo, but thanks for sharing.

Nothing sorry for the noise, figured it might help someone with the same issue. Upgrading GLirouter, missing and misconfigured adguard, can't use your package faulty DNS. Thanks for your package though. Cheers


test add some test case for encrypt/decrypt functions

Proposed changes
add some test case for encrypt/decrypt functions

run buildall

run buildall

run buildall


improve README for getting started

Currently the readme is very minimal and does not show all the steps and dependencies to be able to get going with the project.
We should document things better.

I think it is a must to document the format of the dotenv file.
also I tried to build Cabin for android and it is basically not working. Firtsly I had to upgrade to 25 build tools, since some of the react-native components required it for the latest version
Then, I kept getting a crash based in (i think) multidex being disable:
09-06 12:13:10.658 14144-14144/com.skippbox.cabin I/MultiDex: VM has multidex support, MultiDex support library is disabled.
In general, it seems really hard to duplicate a working build environment for the project following the read me.
Crash is:
                                                               --------- beginning of crash

09-06 12:13:10.670 14144-14144/com.skippbox.cabin E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.skippbox.cabin, PID: 14144
java.lang.NoSuchMethodError: No static method zzb(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzac; or its super classes (declaration of 'com.google.android.gms.common.internal.zzac' appears in /data/app/com.skippbox.cabin-1/split_lib_dependencies_apk.apk:classes17.dex)
at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)

@vtuson Most of the android build issues should be fixed with #67 , I started the project from scratch to see pain points, make sure to follow the steps on the React Native Get started guide (I added a link in the readme, can't really copy every information...)

Thanks, I have tried the pr and it builds fine, but it is not running for me.


HTML entities to Unicode characters

This PR changes HTML entities in MathML conversion to Unicode chars for Nokogiri compatibility while integrating LutaML-Model in Plurimath.
Additionally, I updated Plurimath symbols classes to the latest syntax in plurimath_spec.rb.
referenced -> plurimath/plurimath#304

@suleman-uzair is this PR bound to the specific version after https://github.com/plurimath/plurimath/pull/304 is merged? If so we need to ensure the gemspec specifies the correct plurimath version.
Also, we should migrate this gem to lutaml-model as well.

is this PR bound to the specific version after plurimath/plurimath#304 is merged? If so we need to ensure the gemspec specifies the correct plurimath version.

@ronaldtse, No, it's not bound by plurimath/plurimath#304 but it is bound to plurimath/plurimath#244. So I'll set the relevant Plurimath version in the gemspec.

Also, we should migrate this gem to lutaml-model as well.

Sure, I’ll work on it after finalizing the tasks at hand.

@suleman-uzair thanks. Would it be easy for the unitsml gem to be migrated to lutaml-model? It seems that without XSD => lutaml-model declaration it is still cumbersome.
If we had a process of XSD => LutaML model declaration => lutaml-model in Ruby code, then life would be easier, more deterministic and predictable.

@ronaldtse, We are not parsing any XML in the UnitsML-Ruby gem, so I am not sure if we need to move it to LutaML-Model.
For example, the functionality of Unitsml-Ruby is to process the following-like input to XML only.
unitsml("mm*s^-2") # or just "mm*s^-2"

The XML for the above example and more examples are available in xml_spec.rb.
Let me know if we have anything else planned in the roadmap where LutaML might be useful.


Are metafields visible on other machines?

If I install this tool and add Comments to a file, will those Comments be visible on another machine? (For example, if I place the file on a shared network drive, will other users be able to view or edit those notes?)

Any metadata that you add will go where the file goes, as long as the file is always held on an NTFS drive.
To see the metadata in Explorer, File Meta will need to be installed on the system that is running Explorer.
Dijji


TypeError: Cannot read property 'all' of undefined

Environment
Knex version: 0.19.1
Database + version: PostgreSQL 11.4
OS: Antergos (Arch Linux)
Bug

Explain what kind of behaviour you are getting and how you think it should do
I wanted to run a migration in order to add a new column to a table. I have already added columns to a table successfully this way:

exports.up = function (knex, Promise) {
    return Promise.all([
        knex.schema.table("myTable", table => {
            table.string("myColumn");
        })
    ]);
};

exports.down = function (knex, Promise) {
    return Promise.all([
        knex.schema.table("myTable", table => {
            table.dropColumn("myColumn");
        })
    ]);
};

This time knex has thrown an error (see below). I've managed to run the migration successfully this way:
exports.up = function (knex, Promise) {
    return knex.schema.table('myTable', function (table) {
        table.string('myColumn');

    })
};

exports.down = function (knex, Promise) {
    return knex.schema.table('myTable', function (table) {
        table.dropColumn('myColumn');
    })
};

but I found it weird that suddenly the first method suddenly does not work.

Error message

TypeError: Cannot read property 'all' of undefined
    at Object.exports.up (/home/user/databases/config/migrations/20190727133408_add_columns_myTable.js:2:20)
    at Object.current.then (/home/user/node_modules/knex/lib/migrate/Migrator.js:454:40)
    at Object.tryCatcher (/home/user/node_modules/knex/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/user/node_modules/knex/node_modules/bluebird/js/release/promise.js:517:31)
    at Promise._settlePromise (/home/user/node_modules/knex/node_modules/bluebird/js/release/promise.js:574:18)
    at Promise._settlePromiseCtx (/home/user/node_modules/knex/node_modules/bluebird/js/release/promise.js:611:10)
    at _drainQueueStep (/home/user/node_modules/knex/node_modules/bluebird/js/release/async.js:142:12)
    at _drainQueue (/home/user/node_modules/knex/node_modules/bluebird/js/release/async.js:131:9)
    at Async._drainQueues (/home/user/node_modules/knex/node_modules/bluebird/js/release/async.js:147:5)
    at Immediate.Async.drainQueues [as _onImmediate] (/home/user/node_modules/knex/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)

Reduced test code, for example in https://npm.runkit.com/knex or if it needs real
database connection to MySQL or PostgreSQL, then single file example which initializes
needed data and demonstrates the problem.

The second argument Promise was removed in version 0.18.4: https://github.com/tgriesser/knex/commit/2ccaf3d7244f68bc3553e35ef49a2a2a53322496
If you want to use Promise.all it is available natively in Node.js since version 0.12, so just remove the second argument to the up and down functions:
exports.down = function (knex) {
  return Promise.all([])
}

I had the same issue. Since you removed it, I'd like to know if it's advisable to use promises for migrations?
What "method" would you suggest?

@nmaxcom Did you see my last comment? It explains what to do...

No, it doesn't. You said:

If you WANT to use Promise.all it is available...

This explains how to use Promise.all in Knex in case I want to, which is great, but it's not what I asked. Because you guys removed it from Knex's migration template I'm wondering if it's because it's not a great idea to use them. Thus my question.
Is it advisable to use Promises in migrations? Is there a better way to work with migrations?

Generally using promises / async / await is pretty much obligatory, since migration up / down expects that promise is returned.
However using Promise.all is not a good idea, because it tries to run many requests parallel., which may cause problems with some drivers at least (drivers should buffer queries that are going to single transaction and should run them sequentially). Promise.all also will behave pretty unexpectedly, when one of the ran promises fail.

The reason it was removed from the template is precisely because it's been available natively as a global object since Node 0.12, and it was left up to the user to decide on what Promise implementation to use. Previously it was being passed as second argument as a convenience to the user.

Thanks @elhigu ! Very informative.
I wanted to know because I found many different implementations of this in the wild. It would be great to mention it in the docs because if it's not there people won't know about it and we'll keep using it despite not being great for Knex.

instead of removing the second argument, I did the following:
exports.down = function(knex, promise) {
    return (promise || Promise).resolve();
};

@Isanderthul instead of removing second argument, you could have as well done
exports.down = function(knex, promise) {
    return (undefined || Promise).resolve();
};

@elhigu Not sure why you edited your post to add:

but the question doesn't make any sense

I don't know what you wanted to achieve by adding such an unproductive and arrogant comment like that. But more importantly, it is wrong.
It does make perfect sense to ask that when I know very little about Knex, SQL and much less migrations. A brand new concept for me. Any form of reasoning needs prior knowledge whether it comes from observations, or "traditional" data (inductive reasoning).
Knex's documentation could be updated and improved a lot. I didn't read anything about Knex's migration procedures that would indicate at all if it was a sync or an async procedure. Even if it said that there are other ways to handle async events. Hence my question.

You can open new issues on the documentation repository for things that you think are lacking: https://github.com/knex/documentation

@nmaxcom Now that I checked the documentation page I didn't see it explicitly mentioned there so you are right. Question actually did make sense. I'm sorry that the final response did feel arrogant.
I edited it because I sent it before I had finished writing the post completely. I do it all the time. To me it was obvious, that one should use promises in some way and one should actually nowadays implement those methods like:
exports.up = async function(knex) {
}


Attach Filer to appshell before loading dependencies that require it

@K-LV can you test locally?  r=me with a +1 from Klever.

@humphd does this look ok?
@K-LV can you test with this?

sorry gonna make one last change

done

r=me with fixes made.  This is probably going to require a follow-up patch in the brackets-browser-livedev to use the BracketsFiler module vs. appshelll.Filer.  Can you do that too?


Hydrogen cannot be loaded because it was compiled for an earlier version of atom.

Description
Some installed packages could not be loaded because they contain native modules that were compiled for an earlier version of Atom.
The module '\?\C:\Users\farha.atom\packages\Hydrogen\node_modules\zeromq\build\Release\zmq.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 57. This version of Node.js requires NODE_MODULE_VERSION 64. Please try re-compiling or re-installing the module (for instance, using npm rebuild or npm install).
Versions
Atom    : 1.39.1
Electron: 3.1.10
Chrome  : 66.0.3359.181
Node    : 10.2.0
apm  2.2.4
npm  6.2.0
node 8.9.3 x64
atom 1.39.1
python 3.7.3
git
visual studio

OS version:
Windows 10 1903

atom --version

1.39.1

apm --version

2.2.4

Hydrogen version:
 2.10.3

Try uninstalling & re-installing the hydrogen package.

Try uninstalling & re-installing the hydrogen package.

Did that already.

Try to delete the hydrogen package from .atom/packages/ and then re-install hydrogen.

@tan10vir this is not a normal install error

There is only way we have been known to fix this issue is using the red debug button in the bottom right corner provided by atom. Check the troubleshooting guide for visuals

I don't know if I am right but I think the bug description clearly says that atom now uses Node.js version 64  and hydrogen uses v 57. So I think hydrogen needs an update.

Yeah that's why you have to rebuild your Hydrogen.
Have you tried that ?

Yeah no you have to update it by rebuilding using the red bug.

Yeah that's why you have to rebuild your Hydrogen.
Have you tried that ?

And how exactly I rebuild hydrogen. I have tried reinstalling and deleting the from .atom/packages.

Use the red build in the troubleshooting guide

Bug

Use the red bug in the troubleshooting guide
I dont know where the troubleshooting guide is but the description I gave for the problem is from that red bug,

See the visuals in the link above

See the visuals in the link above

Fixed, The rebuild package button was not visible because of the theme I was using.


Support for compating PBIP files?

Is this in roadmap?

Hi, I assume you mean comparing. ALM Toolkit will only work with the semantic model metadata (TMDL files, TMDL files, mode instances). For other files, you can use standard comparison tools like VSCode. The PBIP file itself is pretty small & simple so can diff/merge easily using standard tools.


Components question

Great repo.  Are you planning on adding more components.  Like chip and dropdown?  And maybe a multi select.

Only form components need formsy-react.

The reason I asked is to help out with a multi select.  I have a select list of values that the users can add and remove from the list.   When I open my form i populate with the values it has already. I then provide a selection excluding what was previously selected.  So you can change the list before submit.  Chips seems to be the obvious choice as they can be delete and I can add from my selection list.
Sent from my iPhone

On Jul 30, 2016, at 5:09 PM, Matt Brookes<EMAIL_ADDRESS>wrote:
Only form components need formsy-react.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sorry, still not sure what this has to do with formsy-react / formsy-material-ui.


Gradle plugin download endpoint is unstable

Over the last few days I have noticed intermittent issues where our CI builds will fail because of an error when trying to download this plugin.  If we retry the build a couple of times it will eventually succeed.
Is this an issue the team is aware of?
For reference, here is a (probably non-exhaustive) list of approximate times where I have seen errors occurring and the corresponding stracktrace. If there any further information I can provide, please let me know.
Plugin version
id 'io.openliberty.tools.gradle.Liberty' version '3.5.2'
Approximate times
March 24th 4:02:07 PM GMT+09:00 ~ March 24th 4:03:35 PM GMT+09:00
March 27th 9:24:47 AM GMT+09:00 ~ March 27th 9:34:49 AM GMT+09:00
Gradle build stack trace
* What went wrong:
A problem occurred configuring root project '<PROJECT NAME HERE>'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve gradle.plugin.io.openliberty.tools:ci.gradle:3.5.2.
     Required by:
         project : > io.openliberty.tools.gradle.Liberty:io.openliberty.tools.gradle.Liberty.gradle.plugin:3.5.2
      > Could not resolve gradle.plugin.io.openliberty.tools:ci.gradle:3.5.2.
         > Could not get resource 'https://plugins.gradle.org/m2/gradle/plugin/io/openliberty/tools/ci.gradle/3.5.2/ci.gradle-3.5.2.pom'.
            > Could not GET 'https://plugins.gradle.org/m2/gradle/plugin/io/openliberty/tools/ci.gradle/3.5.2/ci.gradle-3.5.2.pom'. Received status code 503 from server: Service Unavailable

Error when trying to view plugin webpage
I think this was when trying to open the page here  (apologies for not screencapping the actual URL) https://plugins.gradle.org/plugin/io.openliberty.tools.gradle.Liberty

Probably due to this posted on their download site.

Ah, thank you! In that case, I will close this issue for now.


Use MigrationLoader to order migrations

Fix #161
What do you think @adamchainz? It also seems using MigrationLoader needs proper fake migrations (with Migration class, not just empty files)

Looks like a good start. (Please don't create draft PR's if you want them looked at, "draft" normally means "don't look at this".)
In the issue I noted we'd need to call detect_conflicts().
The test run failures are due to lack of Migration which you said.
Will you keep working on this?

I've added dlm.E000 as Error for conflicts in the migration graph.

What do you think about adding a new flag to provide the db name instead of using always DB_DEFAULT_ALIAS in MigrationLoader?

What do you think about adding a new flag to provide the db name instead of using always DB_DEFAULT_ALIAS in MigrationLoader?

It seems we can use None for connection and skip loading migration state from the database entirely: https://github.com/django/django/blob/898f0aa44fe63c20d7f4125672b8eb800a578ce5/django/db/migrations/loader.py#L230-L235

Released in 2.6.0, thanks!


Concurrent mode page isnt yet translated

@momosetti thank you please feel free to pick a page from #1 and start working on it 🚀


Add 8-bit LION optimizer

Adds an 8-bit version of the LION optimizer. Some non-obvious aspects of this include:

CUDA kernels for int8 quantizing and dequantizing floats. Kernels use numba since I got stonewalled by Triton bugs.
A fused CUDA kernel for the LION update
We only quantize tensors with 1024 elements or more for simplicity (and since small tensors don't take much space or time anyway)
We also quantize the quantization scales. So the quantized repr of a length N tensor is:

N int8 values
N/16 int8 scales
N/1024 fp32 scale scales

We use a scaling algorithm I haven't seen before where we store the maximum for each row and column. I won't explain it here but basically it means you need 2 outliers instead of one to ruin the scaling for other values.
We preprocess everything via signed square root before quantizing. I also haven't this seen before but it makes it super hard to get screwed by overflow and underflow, and reduces quantization error in my offline experiments.

Code changes:

Adds numba to the GPU dependencies in setup.py
Adds lion8b.py and _quantize_kernels.py to llm-foundry/optim
Adds Lion8bit to llm-foundry/optim/__init__.py
Adds lion8b as an option in llm-foundry/optim/builders.py
Adds test_lion8b.py to the tests. I'd like to test the kernels directly as well, but this is effectively an integration test for all that logic.

to clarify, this cannot be used on CPUs (no that anyone wants to train on CPUs, but just want to verify)

It will never actually quantize on CPUs. It should still run on CPUs with non-quantized states.

Added lion8b to this

Replaced by #514


File/Directory exception during log creation in logs.py when running in standalone mode

Describe the bug
When running in standalone (i.e: non-Docker container), the logs.py file generates an exception when trying to create the log file
To Reproduce
Steps to reproduce the behavior:

Fresh clone of repo
After performing pip install -e in virtual environment
python3 ibeam_starter.py

Expected behavior
Normal operation
Environment
IBeam version: Latest
Docker image or standalone:
Python version (standalone users only): 3.8.10
OS: Windows or Ubuntu (happens in both)
Additional context
Add any other context about the problem here.

Suggest a Fix

filemode is opening with 'a' (append), but the output directory doesn't exist in new folder so it dies.
manually creating the output directory first allows the program to function

Hi @Gootopia thanks for submitting this issue and for providing all the detail 👍
I'm going to need you to help me understand what version of IBeam are you running. The code that you show in your screenshot doesn't exist in the current version of IBeam and I cannot see it in any past version either. See the logs.py file here:
https://github.com/Voyz/ibeam/blob/master/ibeam/src/logs.py#L53
It always read:
return open(self.get_filename(self.timestamp), self.mode, encoding=self.encoding)

In fact, from that screenshot I would guess that maybe you might have modified that file on your system, given the blue bar on the left of the lines 54-60.
If that indeed is the case, then I'm going to need you to help me understand what you're trying to achieve by modifying the code. You speak of an exception produced when creating a log file. Could you paste this exception and its trace here?
Thanks! 😊 Voy

@Gootopia I'm going to close this issues due to lack of activity. Feel free to reopen if you'd like to resume the conversation 👍

Hi, I am actually getting this error while running a containerized version, and I just pulled the latest image:

Thanks for sharing your problem @chaltik, discussion continued in your issue: https://github.com/Voyz/ibeam/issues/108


Optimize update package time

shell-command-to-string will run eg fish -c git instead of git. In my case, it takes a few seconds and lots of CPU to start the shell.

Given that you are likely to encounter this problem with many other plugins, I recommend that you just set shell-file-name. I've done the following for example:
(setq shell-file-name "/usr/local/bin/dash")

dash is quite fast

I just tried to set shell-file-name, but it seems to have no effect in the CLI tool.

My recommendation wasn't related to the CLI tool. I just meant that many Emacs plugins use shell-command-to-string indiscriminately so it's useful to have it set.

I approve of these changes, however, I'm a day or two away from publishing a rewrite Doom's CLI, which includes the replacement of doom-sh and a redesign of doom upgrade and doom update. I'll have to turn down this PR, but thank you for bringing it to my attention! It has inspired a few optimizations in the rewrite.


Rename 'Roact.teardown' to 'Roact.unmount'

Having two terms for this in the documentation is kind of confusing.
We can introduce a warning for the teardown alias but keep it through 1.0.

I think renaming these methods (with warnings for the old names) is a good idea - it makes it a little easier to explain and reason about what's going on. The way I think of it:

Roact itself reifies / reconciles / tears down components.
Roact users cause Roact to do these things by mounting / updating / unmounting components.

IMO, reification/reconciliation are internal terms that Roact users shouldn't need to worry about unless they're going to dig into internals!

After a little talk internally, I'm hesitant to change reconcile to update but I'm still comfortable with the other two changes.
The reason here is that update is sort of a vague term, and talking about reconciliation is a healthy part of learning what Roact is and how you should work with it. It also means our diagnostics can stay very precise about what phase they're referring to ("update phase" is super vague).


chore: update pubignore

#skip-changelog
Also, is there anything else that needs to be done for Publish via craft in #43? The current craft.yml looks good to me already.

#skip-changelog
Also, is there anything else that needs to be done for Publish via craft in #43? The current craft.yml looks good to me already.

nope, we have to trigger a release and see how it fails.
let's try.


Added basic frontend to the about section

Hi @supernoobabhi Please make your code compatible to the guidelines. Use two spaces indentation for your code.

i have used 2 space indentation

@supernoobabhi src/client/index.html
line 72

fixed

@supernoobabhi Are those magic numbers in media query?

when the about(community) section is less than the no. Of px in width(as in media query) the layout changes from horizontal to vertical.
and for about section the pictures becomes pretty big at that no.  so used small size pictures .
basically it was for responsiveness .

I don't see how your first media query is making any difference. And the second and third ones are fine but the break happens on a magic number. It shouldn't happen there. Refer to http://getbootstrap.com/css/#grid-options. This is where most of your breaks should happen if you're incorporating bootstrap in the correct way. There can be exceptions but there should be a reason for those exceptions, they shouldn't be magic numbers.


Install.sh script prevents upgrade

When I run the install script twice using incremental versions, it fails.
The script fails because it detects an existing OLM deployment without checking the image version. I think the check should include the image version. Secondly, this should not be an issue since the script is running kubectl apply -f and not kubectl create. It should be possible to upgrade OLM.
if kubectl get deployment olm-operator -n ${namespace} > /dev/null 2>&1; then
    echo "OLM is already installed in ${namespace} namespace. Exiting..."
    exit 1
fi

kubectl apply -f "${url}/crds.yaml"
kubectl wait --for=condition=Established -f "${url}/crds.yaml"
kubectl apply -f "${url}/olm.yaml"

This makes sense, but it's not immediately clear whether install.sh is necessarily the right tool to upgrade OLM. We potentially want to think of a between-versions upgrade script that handles OLM upgrading between versions.
This is a very valid use-case of upgrading OLM and we don't currently have any documentation on best practices.

I just created https://github.com/operator-framework/operator-lifecycle-manager/issues/2695 to track next steps here.


RuboCop::CLI unexpected behavior when linting files outside the project

Expected Behavior
There is no obvious expected behavior.
Actual Behavior
I've been having weird issues with slim-lint integration into Emacs flycheck. After some time debugging these problems, it became apparent that the bug lies within slim-lint or some of its dependencies. After reviewing slim-lint I'm quite sure this issue is specific to RuboCop::CLI.
When running slim-lint (which uses RuboCop::CLI) on a file outside the project, it returns unexpected results. This is an issue with flycheck as it is using temporary files in /tmp.
For example, the following code, inside the normal path app/views/... doesn't have any warnings.
p
  | Can't remember your password for
  strong = @user.email

It does output a warning (with rubocop-rails in the project .rubocop.yml) when that file is anywhere outside the project. The slim-lint output also contains weird errors:
$ slim-lint ../password_reset.html.slim
...
175 errors occurred:
An error occurred while RSpec/Capybara/FeatureMethods cop was inspecting /home/budu/projects/password_reset.html.slim.rb.
An error occurred while RSpec/Rails/AvoidSetupHook cop was inspecting /home/budu/projects/password_reset.html.slim.rb.
An error occurred while RSpec/Rails/NegationBeValid cop was inspecting /home/budu/projects/password_reset.html.slim.rb.
...
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
https://github.com/rubocop/rubocop/issues

Mention the following information in the issue report:
1.60.1 (using Parser <IP_ADDRESS>, rubocop-ast 1.30.0, running on ruby 3.2.2) [x86_64-linux]
../password_reset.html.slim:3 [W] RuboCop: Rails/HelperInstanceVariable: Do not use instance variables in helpers.

The errors are repeated for every lines in the file.
I've debugged slim-lint and I found out that the RuboCop::CLI instance has a different @config_store and @path_cache.  Here's the path cache for the file with the correct path:
   @path_cache=
    {"/home/budu/projects/teki/app/views/user_mailer"=>"/home/budu/projects/teki/.rubocop.yml",
     "/home/budu/projects/teki"=>"/home/budu/projects/teki/.rubocop.yml"},

And here's the one with the wrong path:
   @path_cache=
  {"/home/budu/projects"=>"/home/budu/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rubocop-1.60.1/config/default.yml",
   "/home/budu/projects/teki"=>"/home/budu/projects/teki/.rubocop.yml"},

As you can see the RuboCop::CLI instance is using the gem default configuration. It shouldn't pose a problem in itself, but the requires (rubocop-rails, rubocop-rspec) from the project configuration are still enabled, causing the errors/warnings.
In theory, adding Rails/HelperInstanceVariable to the list of slim-lint ignored cops should fix that particular issue but that behavior looks wrong.
I'm not sure where to go from here.
RuboCop version
$ rubocop -V
1.60.1 (using Parser <IP_ADDRESS>, rubocop-ast 1.30.0, running on ruby 3.2.2) [x86_64-linux]
  - rubocop-minitest 0.34.5
  - rubocop-rails 2.23.1
  - rubocop-rspec 2.26.1

I have not been able to reproduce the problem. Could you give all the details I need in order to get the same error?
Here's the set-up I used:
~/dev/issues/rubocop$ head slim-code/password_reset.html.slim.rb 12639/.r* 12639/*
==> slim-code/password_reset.html.slim.rb <==
p
  | Can't remember your password for
  strong = @user.email

==> 12639/.rubocop.yml <==
require:
  - rubocop-rails

AllCops:
  NewCops: enable

==> 12639/Gemfile <==
# frozen_string_literal: true

source 'https://rubygems.org'

gem 'slim_lint'
gem 'rubocop-rails'
gem 'rubocop-rspec'

==> 12639/Gemfile.lock <==
GEM
  remote: https://rubygems.org/
  specs:
    activesupport (<IP_ADDRESS>)
      base64
      bigdecimal
      concurrent-ruby (~> 1.0, >= 1.0.2)
      connection_pool (>= 2.2.5)
      drb
      i18n (>= 1.6, < 2)

but when running I get no error:
 ~/dev/issues/rubocop/12639$ bundle exec slim-lint ../slim-code/password_reset.html.slim.rb
../slim-code/password_reset.html.slim.rb:3 [W] RuboCop: Rails/HelperInstanceVariable: Do not use instance variables in helpers.

I didn't notice before but the errors are all RSpec related. To see them, you just have to require rubocop-rspec.
==> 12639/.rubocop.yml <==
require:
  - rubocop-rails
  - rubocop-rspec

AllCops:
  NewCops: enable

What I've found is that the crashes occurs in .../gems/rubocop-rspec-2.27.0/lib/rubocop/rspec/language.rb where accessing configuration fails because Language.config is nil. Is seems that rubocop-rspec has a special way of accessing its configuration, and for some reason this doesn't work when slim-lint calls rubocop with rubocop-rspec.
Running rubocop itself with the same .rubocop.yml as above works well. So it looks like it's this combination of tools that fails to deliver. My recommendation is that you report it in https://github.com/rubocop/rubocop-rspec as they are more likely to have the expertise to resolve it.

Good to know. This should explain the errors.
Now, my original issue was a bit tangential to these errors. The main problem being that the warning (Rails/HelperInstanceVariable) should be filtered out by the custom configuration used by slim-lint. It does when the file is inside the repository.
I've tested a bit further and the rubocop behavior makes sense. It basically fallback to some generic default configuration when outside the current project. This breaks down the custom behavior in slim-lint and rubocop-rspec.
When calling rubocop directly, we can always force the configuration but this doesn't work with tools wrapping rubocop like slim-lint.
These custom behaviors would be hard to account for from rubocop itself. I'll see what I can do with slim-lint once I get more free time. This issue can be closed now.
Thanks a lot!


[Bug][Api] Delete the stopped workflow without deleting the corresponding sub process, the workflow instance name is not displayed in the sub process

1.stop workflow，Workflow contains sub_process
2.delete the workflow, No sub_process were deleted, the workflow instance name is not displayed in the sub process

Expected results
delete the workflow,  need to delete all tasks under the workflow, including sub_process
Which version of Dolphin Scheduler:
-[1.3.6-prepare]

This problem only occurs for users who use postgresql.
The reason is that the t_ds_task_instance table does not add a foreign key delete constraint.


Bug Report: built-in replays

Please check for duplicates, similar issues or closed issues with the same problem, as well performing simple troubleshooting steps (such as deleting the export folder if it's an issue with compiling, reinstalling Kade Engine) before submitting an issue.
If you are playing a downloaded version of the game, what operating system are you using?
Windows (x86), Windows (x86_64), Linux, or macOS? Specify below.
Windows, 64 variant.
What version of the game are you using? Look in the bottom left corner of the main menu.
<IP_ADDRESS> with Kade 1.5.2
Have you identified any steps to reproduce the bug? If so, please describe them below. Use images if possible.
Download a completely new copy of the game (both Coco and Fubuki work) and either open the replays in settings, or look at the files.
Please describe your issue. Provide extensive detail and images if possible.
This isn't exactly a bug, but there are replays present in the game by default, probably from a final rundown to see if everything worked before posting. These should probably not be present so as to preserve space.

Replays will be removed next update.


Edge gateway - GitOps/ArgoCD

[x] Expose via  Skupper tunnel => #16
[x] Add users and setup multi tenant setup
[x] Setup edge-gateway gitops repo

All done via #19 and #18


Implementation of a more user-friendly Settings page for final users

There could be the implementation of a settings page in Windows Terminal, with simpler options for customization and configuration of the app, focusing on the end user, who is generally not familiar with lines of code, in addition to being a faster and easy to configure the app, but keeping the option of configuring the text file.

Proposed technical implementation details (optional)

With an intuitive interface, most users will be able to configure the app without having to have a certain knowledge of programming.

/dup #1564.


Edit readme by adding the word Tiba ..

Hello ..
you should Add Tiba ..
because I love Tiba very very much ..

I love Tiba ..


Sending PATCH request with HttpClient?

How do I send a PATCH request from a HttpClient? There doesn't seem to be any .patch or .patch_async method available?

Thanks for your question! There's no convenience method for PATCH, but you can always send a more customized request using HttpClient::send or HttpClient::send_async. For example:
let client = HttpClient::new()?;

let request = Request::patch("https://example.org")
    .header("Content-Type", "application/json")
    .body(r#"{
        "speed": "fast",
        "cool_name": true
    }"#)?;

// Or alternatively
let request = Request::builder()
    .method("PATCH")
    .uri("https://example.org")
    .header("Content-Type", "application/json")
    .body(r#"{
        "speed": "fast",
        "cool_name": true
    }"#)?;

let response = client.send(request)?;

Ah I see, thank you! :)


Feature request: Setting for default weight measurement

I track in lbs. It seems as though every time I open a graph, it is in kg. It would be nice to set a default and then only need to change it if something is measured in a different way easier.

If you are picking an existing exercise it should use the last ones unit as the default. But we can also have a global default setting.

If you are picking an existing exercise it should use the last ones unit as the default. But we can also have a global default setting.

Woops I wasn't thinking about graphs. Yep we can set this up

Wow! Thank you!!!


[W5.7][T16-3]Julius Sander Nugroho

Adding sort functionality accessible with the sort command.

Please close the PR after acknowledging the comments 😄


Screensharing does not work in Webcord, OBS, Chrome etc.

Bug or Regression?
Bug
System Info and Version
 System/Version info
Hyprland, built from branch  at commit 38132ffaf53c843a3ed03be5b305702fde8f5a49  ().
Date: 2024-06-12
Tag: , commits:

flags: (if any)

System Information:
System name: Linux
Node name: Simon-s-Workstation
Release: 6.6.32
Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat May 25 14:22:56 UTC 2024

GPU information:
2b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 3GB] [10de:1c02] (rev a1) (prog-if 00 [VGA controller])

os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.11.20240607.051f920"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.11 (Vicuña)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.11 (Vicuña)"
VERSION_CODENAME="vicuña"
VERSION_ID="24.11"

plugins:
  hy3 by outfoxxed ver 0.1

======Config-Start======

Config File: /home/simon/.config/hypr/hyprland.conf: Read Succeeded
source = ./device.conf
source = ./plugins.conf

exec-once = ~/dotfiles/scripts/startup.zsh

xwayland {
	force_zero_scaling = true
}

input {
	kb_layout = cz
	kb_variant =
	kb_model =
	kb_options = compose:rctrl
	kb_rules =

	follow_mouse = 1

	touchpad {
		natural_scroll = no
	}

	sensitivity = 0

	numlock_by_default = true
}

general {
	gaps_in = 5
	gaps_out = 20
	border_size = 2
	col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
	col.inactive_border = rgba(595959aa)

	layout = hy3

	allow_tearing = false
}

decoration {
	rounding = 12

	blur {
		enabled = true
		size = 3
		passes = 3
	}
}

animations {
	enabled = yes

	animation = windows, 1, 5, default, slide
}

dwindle {
	pseudotile = yes
	preserve_split = yes
}

master {
	new_is_master = true
}

gestures {
	workspace_swipe = on
}

misc {
	force_default_wallpaper = 0
}

group {
	focus_removed_window = false
	groupbar {
		font_size = 11
		render_titles = true
		gradients = true

		col.active = rgba(33beffee)
		col.inactive = rgba(282c34aa)
	}

	col.border_active= rgba(33ccffee) rgba(00ff99ee) 45deg
	col.border_inactive= rgba(595959aa)
}

plugin {
	hy3 {
		tabs {
			height = 25
			rounding = 15
			text_height = 12
			text_padding = 10
			text_center = true

			col.text.active = rgba(ffffffff)
			col.text.inactive = rgba(ffffffff)
			col.active = rgba(33beffee)
			col.inactive = rgba(282c34aa)
		}
	}
}

# Launch applications
bind = SUPER, Tab, exec, alacritty
bind = SUPER SHIFT, K, exec, krusader
bind = SUPER SHIFT, I, exec, gwenview
bind = SUPER SHIFT, O, exec, okular
bind = SUPER SHIFT, E, exec, code
bind = SUPER SHIFT, B, exec, ~/dotfiles/scripts/chrome.zsh
bind = , Print, exec, ~/dotfiles/scripts/screenshot.zsh

# Shell commands
bind = SUPER, E, exec, ~/dotfiles/scripts/app_launcher.zsh
bind = SUPER, L, exec, ~/dotfiles/scripts/lock.zsh

# Other Hyprland stuff
bind = SUPER, M, exit
bind = SUPER, Q, killactive
bind = SUPER, F, fullscreen
bind = SUPER, SPACE, togglefloating

# Layouts
bind = SUPER, Y, togglesplit
bind = SUPER SHIFT, Y, hy3:changegroup, toggletab
bind = SUPER, V, hy3:makegroup, v
bind = SUPER, H, hy3:makegroup, h

# Move focus
bind = SUPER, A, hy3:movefocus, l
bind = SUPER, D, hy3:movefocus, r
bind = SUPER, W, hy3:movefocus, u
bind = SUPER, S, hy3:movefocus, d

# Move windows
bind = SUPER SHIFT, A, hy3:movewindow, l
bind = SUPER SHIFT, D, hy3:movewindow, r
bind = SUPER SHIFT, W, hy3:movewindow, u
bind = SUPER SHIFT, S, hy3:movewindow, d

# Click on tabs
bindn = , mouse:272, hy3:focustab, mouse

# Move workspaces
bind = SUPER CTRL, A, movecurrentworkspacetomonitor, -1
bind = SUPER CTRL, D, movecurrentworkspacetomonitor, +1

# Move focus in group
bind = SUPER, D, changegroupactive, f
bind = SUPER, A, changegroupactive, b

# Move window in group
bind = SUPER SHIFT, D, movegroupwindow, f
bind = SUPER SHIFT, A, movegroupwindow, b

# Switch workspaces
bind = SUPER, semicolon, workspace, 1
bind = SUPER, plus, workspace, 2
bind = SUPER, ecaron, workspace, 3
bind = SUPER, scaron, workspace, 4
bind = SUPER, ccaron, workspace, 5
bind = SUPER, rcaron, workspace, 6
bind = SUPER, zcaron, workspace, 7
bind = SUPER, yacute, workspace, 8
bind = SUPER, aacute, workspace, 9
bind = SUPER, iacute, workspace, 10
bind = SUPER, eacute, workspace, 11

# Move active window to a workspace
bind = SUPER SHIFT, semicolon, movetoworkspacesilent, 1
bind = SUPER SHIFT, plus, movetoworkspacesilent, 2
bind = SUPER SHIFT, ecaron, movetoworkspacesilent, 3
bind = SUPER SHIFT, scaron, movetoworkspacesilent, 4
bind = SUPER SHIFT, ccaron, movetoworkspacesilent, 5
bind = SUPER SHIFT, rcaron, movetoworkspacesilent, 6
bind = SUPER SHIFT, zcaron, movetoworkspacesilent, 7
bind = SUPER SHIFT, yacute, movetoworkspacesilent, 8
bind = SUPER SHIFT, aacute, movetoworkspacesilent, 9
bind = SUPER SHIFT, iacute, movetoworkspacesilent, 10
bind = SUPER SHIFT, eacute, movetoworkspacesilent, 11

# Move/resize windows
bindm = SUPER, mouse:272, movewindow
bindm = ALT, mouse:272, resizewindow

# Brightness
binde = ,XF86MonBrightnessDown,exec,brightnessctl set 5%-
binde = ,XF86MonBrightnessUp,exec,brightnessctl set +5%

# Volume
binde =, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+
binde =, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-
bind  =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

# Media playback
bind =, XF86AudioPrev, exec, playerctl previous
bind =, XF86AudioNext, exec, playerctl next
bind =, XF86AudioPlay, exec, playerctl play-pause

# Social workspace
windowrulev2 = workspace 1,class:^(Element)$
windowrulev2 = workspace 1,class:^(WebCord)$
windowrulev2 = workspace 1,class:^(ferdium)$
windowrulev2 = workspace 1,initialtitle:^(Spotify Premium)$

# Browser workspace
windowrulev2 = workspace 2,initialtitle:^(Google Chrome)$

# Float KDE Polkit
windowrulev2=float,class:^(org.kde.polkit-kde-authentication-agent-1)$

# Satty
windowrulev2 = animation popin,class:^(com.gabm.satty)$

# Center pinentry-qt
windowrulev2 = center,class:^(pinentry-qt)$

# AGS - Blur
layerrule = blur,^(ags)
layerrule = ignorealpha 0,^(ags)

# AGS - Animations
layerrule = animation slide right,^(ags:quick_settings)
layerrule = animation slide top,^(ags:calendar)
layerrule = animation slide bottom,^(ags:app_launcher)
layerrule = animation slide left,^(ags:progress_popup)

Config File: /home/simon/.config/hypr/device.conf: Read Succeeded
monitor = HDMI-A-1,1920x1080@60,0x0,1 # Main screen (center)
monitor = DVI-D-1,1920x1200@59.95000,-1920x0,1 # Secondary (left)
monitor = Unknown-1,disable

input {
	accel_profile = flat
}

animations {
	animation = workspaces, 1, 3, default
}

Config File: /home/simon/.config/hypr/plugins.conf: Read Succeeded
plugin = /nix/store/0r6k9qvfwfrvf1r094fba9hyp0c09kn2-hy3-hl0.41.0/lib/libhy3.so

======Config-End========

Description

Screensharing silently fails in any app
Isn't fixed by https://github.com/hyprwm/xdg-desktop-portal-hyprland/pull/226

How to reproduce

Install the newest version of Hyprland
Try to screen share

Crash reports, logs, images, videos
Webcord
[38389:0612/214214.534452:ERROR:screen_capture_portal_interface.cc(48)] Failed to request session: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
[38389:0612/214214.534467:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 3
(node:38389) UnhandledPromiseRejectionWarning: Failed to get sources.
(Use `electron --trace-warnings ...` to show where the warning was created)
(node:38389) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

OBS
error: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
error: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
info: User added source 'Video Capture Device (PipeWire) (BETA) 2' (pipewire-camera-source) to scene 'Scene'
info: [camera-portal] Selected resolution for ''
info: [camera-portal] Selected format for ''
info: [camera-portal] selected camera ''

(I am not 100% sure if Hyprland is at fault atm - I am going to try to bisect my Nix setup tomorrow)

Not Hyprland, it turns out


Derived predicates using "Inferred" data properties but there is no derived predicates for the "Inferred" data properties

For example, the  derived predicate inferred-Fd_realisability has in its logical expression (inferred-C_status ?c FALSE_string) but there is no derived predicate to infer (inferred-C_status ?c FALSE_string).
Example:
(:derived (inferred-Fd_realisability ?fd ?false_boolean)
		(and
			(= ?false_boolean false_boolean)
			(exists (?c)
 				(and
					(inferred-C_status ?c FALSE_string)
					(inferred-Component ?c)
					(inferred-RequiresC ?fd ?c)
				)
			)
 		)
 	)

I guess we need something like:
(:derived (inferred-C_status ?c FALSE_string)
  (and
    (C_status ?c FALSE_string)
  )
)

should be working now


Clarify documentation for fork()

Closes #61
@ra1u Does this work for you?

It is much more clear, particularly comment on function.
Related to example, i don't see point of having example with assert_eq! at the end. We would rather have example having  assert_ne!. There is also an option to remove example altogether.

How about now? @ra1u


Added command in oesign to dump oeinfo and signature information #564

Dump feature added to oesign tool:
Usage: ./oesign <command> [options]
Commands:
sign  -  Sign the specified enclave.
dump  -  Print out the Open Enclave metadata for the specified enclave.
For help with a specific command, enter ./oesign <command> -?

bors try

bors r+


Update Old School Snitch to 1.0.1

Add support for exporting player model (You can see how this would look here).
Check that API Key exists before sending data.

The build is currently failing due to:
Caused by: org.gradle.api.InvalidUserCodeException: Entry META-INF/LICENSE is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.4/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
Due to Jackson Annotations

Closing, it will be faster to write my own GLTF encoder and save dealing with the dependency mess.


Upgrade deprecated webpack template to new Vue CLI 3 Plugin architecture (incl. webpack 4.x)

With Vue CLI 3, the whole templating mechanism for initializing new projects in Vue.js was deprecated. Version 3 introduces a plugin architecture (https://vuejsdevelopers.com/2018/03/26/vue-cli-3/), which is also based on webpack 4.x. With the now legacy templates like https://github.com/vuejs-templates/webpack, the upgrade to webpack 4.x would be a lot of work (see https://github.com/vuejs-templates/webpack/issues/1433) - and makes no sense with the rise of Vue CLI 3.

See https://github.com/jonashackt/spring-boot-vuejs/commit/727e254d11d841efa0e00d07fd72a06418db5bd2 for documentation of Vue CLI 3


https://github.com/github/rest-api-description/issues/2666#issuecomment-1603603749https://github.com/github/rest-api-description/releases/download/v2.1.0/descriptions.zip

https://www.paypal.me/shadowgirldrt63

https://www.paypal.me/shadowgirldrt63

How much


[Landing Page] Carousel

[Landing Page] Carousel
A reference: https://main--merative2--hlxsites.hlx.page/block-library/blocks/carousel

[ ] Update Block Library

duplicated with https://github.com/hlxsites/zemax/issues/7