Feature/acount service permissions

Restructure authentication completely in the APP. Key changes include:

[APP] move all authentication related api actions to AccountService (remove the fetch! macro from model).
[API] login requests return AccountDetails instead of just the token (LoginSession has been removed)
[API] token is now included in AccountDetails
[APP] RootComponent now contains current_user information and provides callbacks to its child components to change the state (e.g. Logout callback provided to NavbarComponent), as well as current_user is now passed as properties to AdminComponent and NavbarComponent for authentication checks
[APP] SessionTimer no longer contains logic to update the token, it expects a callback as its start input instead

This looks good and is working well, with the issues noted under #180 no longer present. There was some slightly odd behaviour which I describe below, although perhaps not worth tackling under this PR if there's no obvious cause/fix:
As an edge case test, I logged in, manually deleted thoth.token from storage, and then attempted to continue using the app. I was still able to browse data (although not edit it, as this was prevented by checks in the API) until the next scheduled renew request, at which point I was sent back to the login screen. That is to say, the API was sending full responses even though the POST requests had no Authorization header.
Some of the times I did this, the app became extremely slow and unresponsive (and my CPU went into overdrive!), even after logging back in properly. Unfortunately I couldn't work out why this only happened some times and not others, although it might have been related to still having a sessionToken cookie stored.

To solve this we might need to rethink the whole session management aspect of the APP. It's not clear to me how this could be solved without either keep enquiring if the token is there or requiring the token for every request to the API (even the public ones), but neither seem to be a great approach...

This looks good and is working well, with the issues noted under #180 no longer present. There was some slightly odd behaviour which I describe below, although perhaps not worth tackling under this PR if there's no obvious cause/fix:
As an edge case test, I logged in, manually deleted thoth.token from storage, and then attempted to continue using the app. I was still able to browse data (although not edit it, as this was prevented by checks in the API) until the next scheduled renew request, at which point I was sent back to the login screen. That is to say, the API was sending full responses even though the POST requests had no Authorization header.
Some of the times I did this, the app became extremely slow and unresponsive (and my CPU went into overdrive!), even after logging back in properly. Unfortunately I couldn't work out why this only happened some times and not others, although it might have been related to still having a sessionToken cookie stored.

To solve this we might need to rethink the whole session management aspect of the APP. It's not clear to me how this could be solved without either keep enquiring if the token is there or requiring the token for every request to the API (even the public ones), but neither seem to be a great approach...

I can't see a good solution either. At least unauthorised edits are prevented, so this isn't a major problem, although the browser slowdown was somewhat bizarre - something to keep an eye on in future. Everything else is resolved now so I think this PR is fine to merge (once the branch is updated from develop).

This looks good and is working well, with the issues noted under #180 no longer present. There was some slightly odd behaviour which I describe below, although perhaps not worth tackling under this PR if there's no obvious cause/fix:
As an edge case test, I logged in, manually deleted thoth.token from storage, and then attempted to continue using the app. I was still able to browse data (although not edit it, as this was prevented by checks in the API) until the next scheduled renew request, at which point I was sent back to the login screen. That is to say, the API was sending full responses even though the POST requests had no Authorization header.
Some of the times I did this, the app became extremely slow and unresponsive (and my CPU went into overdrive!), even after logging back in properly. Unfortunately I couldn't work out why this only happened some times and not others, although it might have been related to still having a sessionToken cookie stored.

To solve this we might need to rethink the whole session management aspect of the APP. It's not clear to me how this could be solved without either keep enquiring if the token is there or requiring the token for every request to the API (even the public ones), but neither seem to be a great approach...

I can't see a good solution either. At least unauthorised edits are prevented, so this isn't a major problem, although the browser slowdown was somewhat bizarre - something to keep an eye on in future. Everything else is resolved now so I think this PR is fine to merge (once the branch is updated from develop).

Great, thanks. Re browser slowdowns I haven't been able to recreate that problem, I simply get a complain that the requests aren't authenticated - did you get any trace in the console?

This looks good and is working well, with the issues noted under #180 no longer present. There was some slightly odd behaviour which I describe below, although perhaps not worth tackling under this PR if there's no obvious cause/fix:
As an edge case test, I logged in, manually deleted thoth.token from storage, and then attempted to continue using the app. I was still able to browse data (although not edit it, as this was prevented by checks in the API) until the next scheduled renew request, at which point I was sent back to the login screen. That is to say, the API was sending full responses even though the POST requests had no Authorization header.
Some of the times I did this, the app became extremely slow and unresponsive (and my CPU went into overdrive!), even after logging back in properly. Unfortunately I couldn't work out why this only happened some times and not others, although it might have been related to still having a sessionToken cookie stored.

To solve this we might need to rethink the whole session management aspect of the APP. It's not clear to me how this could be solved without either keep enquiring if the token is there or requiring the token for every request to the API (even the public ones), but neither seem to be a great approach...

I can't see a good solution either. At least unauthorised edits are prevented, so this isn't a major problem, although the browser slowdown was somewhat bizarre - something to keep an eye on in future. Everything else is resolved now so I think this PR is fine to merge (once the branch is updated from develop).

Great, thanks. Re browser slowdowns I haven't been able to recreate that problem, I simply get a complain that the requests aren't authenticated - did you get any trace in the console?

Nothing helpful in the console, or anywhere else, unfortunately. It took me a while to reproduce it just now, and in the end it only happened after I closed and then re-opened devtools, so maybe it's a problem with the browser (Firefox 85.0.1). Hopefully it won't come up much in normal use, at any rate.


MDX plugin fails to render

Version
1.16.2
Platform
MacOS 13.3.1
What steps will reproduce the bug?

Clone the repository https://github.com/nubunto/lume_test
run deno task serve

How often does it reproduce? Is there a required condition?
follow the above steps and it should reproduce every time.
What is the expected behavior?
Site should build correctly, with two pages: / and /emedexis
What do you see instead?
Error: Error rendering this page
- page: /emedexis.mdx
    at (https://deno.land/x/lume@v1.16.2/core/renderer.ts:138:19)
    at async concurrent (https://deno.land/x/lume@v1.16.2/core/utils.ts:181:3)
    at async Renderer.renderPages (https://deno.land/x/lume@v1.16.2/core/renderer.ts:126:7)
    at async Site.#buildPages (https://deno.land/x/lume@v1.16.2/core/site.ts:598:5)
    at async Site.build (https://deno.land/x/lume@v1.16.2/core/site.ts:526:9)
    at async build (https://deno.land/x/lume@v1.16.2/cli/build.ts:36:3)
    at async Command.execute (https://deno.land/x/cliffy@v0.25.7/command/command.ts:1794:7)
    at async Command.parseCommand (https://deno.land/x/cliffy@v0.25.7/command/command.ts:1639:14)
    at async (https://deno.land/x/lume@v1.16.2/cli.ts:158:3)

Caused by ReferenceError: React is not defined
    at _createMdxContent (data:text/jsx;base64,CmV4cG9ydCBkZWZhdWx0......dGVudAp9OwoKfQogICAg:9:3)
    at MDXContent (data:text/jsx;base64,CmV4cG9ydCBkZWZhdWx0......dGVudAp9OwoKfQogICAg:13:91)
    at MDXEngine.render (https://deno.land/x/lume@v1.16.2/plugins/mdx.ts:83:18)
    at async Renderer.render (https://deno.land/x/lume@v1.16.2/core/renderer.ts:200:19)
    at async Renderer.#renderPage (https://deno.land/x/lume@v1.16.2/core/renderer.ts:226:12)
    at async (https://deno.land/x/lume@v1.16.2/core/renderer.ts:135:34)
    at async concurrent (https://deno.land/x/lume@v1.16.2/core/utils.ts:181:3)
    at async Renderer.renderPages (https://deno.land/x/lume@v1.16.2/core/renderer.ts:126:7)
    at async Site.#buildPages (https://deno.land/x/lume@v1.16.2/core/site.ts:598:5)

Additional information
No response

This is because Deno use React by default to render JSX. You have to configure Deno to use preact. Add the following to your deno.json file:
"compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "npm:preact"
  }

Sure, It would be great. Thanks!


Fix some mirror image logic

If the attack roll against the image missed, the attacker was instead getting an attack against the real target, rather than just missing
The code was treating the images as having 20 AC, so attack rolls against images would almost certainly miss too often
Removed the DC roll log message, so it's just shown as the attack roll that it is (the DC message was replacing the attack roll)
Removed some now unnecessary arguments

Note: Mage Armor erroneously contributes to image AC. I think this is because it applies to all touch attacks. It's actually only supposed to apply against incorporeal attacks that otherwise bypass armor. That's a separate issue, though.

It shouldn't be 10 either. The spell says 10+dex+size. I figured it was dispatching to account for someone being denied their dex bonus. And I figured it was using OnGetAC because that actually excludes most bonuses.
Are there other bonuses that get included in that call? Because Mage Armor being included for all touch attacks is just incorrect itself.

As far as I can tell OnGetAC includes all bonuses except:
Invisibility
Feint
Magic Circle (Inward)
Of course, touch attack nullifies most bonuses.
There may also be malluses that (erroneously?) affect it.


For JetBrains Products  student license

My university is not JetBrains' list. For that I cannot use jetbrains pycharm professional.
student.txt

@refat871 I am sorry, the domain student.aiub.edu is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Bluetooth: controller: llcp: serialize phy update notifications

The PHY update procedure may trigger a DLE update in certain
situations
When a limited number of rx buffers is available there may not be
enough for doing the phy update and dle update notifications
at once.
Fixes #41788
Signed-off-by: Andries Kruithof<EMAIL_ADDRESS>

Should we add a Kconfig option for setting LL_PDU_RX_CNT in ull.c, line 371, so that we can finetune memory requirements?


[BUG] Application.quitting not defined in the Unity 2017 version

CatLib For Unity version(s) affected: 1.4.0
Description
Application.quitting not defined in the Unity 2017 version
How to reproduce

Using unity 2017.4.

Possible Solution

Add unity 2017.4 supported.

According to the Unity release plan, the 2018 lts version will be released in the first quarter of 2019, so we are no longer compatible with the 2017 version.

The following code will enable the bootloader to support unity2017:

CatLib/Editor/EditorFramework.cs

#if UNITY_2018_1_OR_NEWER
    UnityEngine.Application.quitting += Quitted;
#endif

#if UNITY_2017_1_OR_NEWER && !UNITY_2018_1_OR_NEWER
        private sealed class DestoryListener : MonoBehaviour
        {
            public event Action OnTerminated;
            public void OnDestroy()
            {
                OnTerminated?.Invoke();
            }
        }
        [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
        public static void EditorFrameworkWithOlderUnity()
        {
            if (App.HasHandler)
            {
                App.On(ApplicationEvents.OnTerminated, Quitted);
            }
            else
            {
                var go = new GameObject("catlib-editor-listener");
                var listener = go.AddComponent<DestoryListener>();
                Object.DontDestroyOnLoad(go);

                listener.OnTerminated += () =>
                {
                    // Because Unity's OnDestory execution order is undefined,
                    // we want to check the App again, and if it exists, the
                    // runtime framework has not been released.
                    if (App.HasHandler)
                    {
                        App.On(ApplicationEvents.OnTerminated, Quitted);
                    }
                    else
                    {
                        Quitted();
                    }
                };
            }
        }
#endif


SSH Protocol Support

I suggest GVFS Team support SSH protocol。For some people, the SSH protocol is actually easier to access。
We known git fetch and push is call remote server git-upload-pack or git-receive-pack, Gvfs can also be made into a command, and then either HTTP or SSH server, the user request is converted to the server call this command, get the output of this command. Here are the command arguments I suggested
git-gvfs GVFS Implementation
usage: [command] [args] gitdir
    config         show server config
    size           input json object ids, show those size
    pack-objects   pack input oid's objects
    loose-object   --oid; send loose object
    prefetch       --lastPackTimestamp; prefetch transfer

When gvfs clone convert to ssh -X<EMAIL_ADDRESS>git-gvfs pack-objects someone.git  json data write to stdin, read git-gvfs's stdout as a packfile.
The server is easier to implement, but the client has some trouble

No plans to expand the protocol support at the moment, though this is something we will likely need to consider again once our implementations on Mac and Linux get farther along.


Adding Ankit-Bisht to Before I Die

I am adding Ankit-Bisht to Before I die with images and text.

will open a new pull request

Commited the change and creating new pull request,


ihaskell not working in (lorri+direnv+emacs-direnv) setup?

hello there, i finally got the hang of this (lorri+direnv+emacs-direnv) setup, when using the lorri shell command with this setup and my projects, everything seems to be working nicely, but for some reason i'm having issues getting ihaskell to work in emacs(emacs-ipython-notebook), so i don't have to re-paste everything, here's the issue that i posted in the ein repo, those devs are not that familiar with nix side of this:
https://github.com/millejoh/emacs-ipython-notebook/issues/708
i don't think that there is anything wrong with the shell.nix file that i'm using for ihaskell, but, i'll paste it here anyways, if any of you want to take a look:
let
pkgs = import  {};
in
with pkgs;
mkShell
{
buildInputs = with pkgs;
[
(let
ihaskell = fetchFromGitHub
{
owner = "gibiansky";
repo = "IHaskell";
rev = "a1e415e45f6a1fe61a455459f9e6036591bc2c47";
sha256 = "1ll27jqnssdxjsfcn2ll0x95kwjk6rhfnsxsdsh03izq95hxys1p";
};
in import "${ihaskell}/release.nix"
{
compiler = "ghc883";
nixpkgs = pkgs;
packages = self: with self;
[
ihaskell
ihaskell-aeson
# ihaskell-basic
ihaskell-blaze
# ihaskell-charts
# ihaskell-diagrams
# ihaskell-display
# ihaskell-gnuplot
ihaskell-graphviz
ihaskell-hatex
# ihaskell-hvega
# ihaskell-inline-r
ihaskell-juicypixels
ihaskell-magic
# ihaskell-parsec
# ihaskell-plot
# ihaskell-rlangqq
# ihaskell-widgets
];
}
)
];
shellHook =
  ''
     export EDITOR="$(emacs)";
  '';

} # end of mkShell

and sorry about the formatting of that shell.nix file, i don't know why github re-formats it like that.

also, i tested out ihaskell in a web browser and it works fine, for some reason it does not want to work in emacs with this setup?

It's not ihaskell that emacs can't find.  It's jupyter.  Incidentally your symptoms are precisely https://github.com/syl20bnr/spacemacs/issues/2294.  Posting at wbolster/emacs-direnv is probably better than here.  Unfortunately, I don't think you know enough about emacs, nix, or UNIX in general to sufficiently describe the problem.  We'll keep trying I guess.

@dickmao , thanks for the link, i'll check that out as well.

It's not ihaskell that emacs can't find. It's jupyter. Incidentally your symptoms are precisely syl20bnr/spacemacs#2294. Posting at wbolster/emacs-direnv is probably better than here. Unfortunately, I don't think you know enough about emacs, nix, or UNIX in general to sufficiently describe the problem. We'll keep trying I guess.

@dickmao thanks for jumping in, let’s keep personal comments to a minimum though.
I suspect we can close? Feel free to reopen.


A display object can no longer be interactive if it has no alpha

So, had a little bug on my game where I was seeing the 'hand' icon indicating it was hovering over something with interactive = true and buttonMode = true - but there was nothing there! And clicking on it made a button (which is usually in that location) callback occur. Turns out, that to make that button disappear, I'd tweened the alpha out, and the interaction manager only checks for if visible is true or not.
Considering the feel of the code felt "if it cannot be seen, it shouldn't be interactive" I've added an additional check to not check interactivity if a component has no alpha. Not sure how others feel about this, or the potential side effects it could have if people may have relied on this behaviour?

I'm not sure about this one. I think displayobject.alpha = 0 should remain interactive. It enables devs the ability to easily create hidden interactive spots without relying on the hitArea property. Either way, I would consider this a breaking change.

Hello! I agree with @bigtimebuddy , alpha is a visual thing only. You could run an on complete function that sets visible to false?

On the one hand, people could  (probably?) use the renderable property to also have hidden interactive spots.
On the other hand, alpha === 0 is a rather fragile way of detecting interactibility - alpha = 0.01 is realistically just as invisible but wouldn't turn off interactions. If your tween happens to stop short of 0 for whatever reason, you could still end up with an invisible interaction blocker.
For me, that second point outweighs the first, so I would tend to agree with @bigtimebuddy and @GoodBoyDigital.

Cool, all in agreement, I'll close then :)

That would be a breaking change. People really use that thing ;)


Rework OpenID4CI and OpenID4VP APIs to use key ID + signer

Currently the OpenID4CI and OpenID4VP APIs are designed differently in terms of what they need as input parameters to accomplish JWT signing.
For the OpenID4CI API, the current design requires the caller to specify how to map from a DID verification method object all the way to a signing function (essentially mapping to the key ID in the process). We provide an implementation that uses the Aries crypto+KMS+key mapping behaviour (intended for demo purposes). For production usage, we expect the mobile implementations to inject in their implementation.
For the OpenID4VP API, it directly requires a key ID  + signer, and leaves the job of determining the key ID up to the caller.
We should make both APIs more similar, since they do similar things.
To do this, we can:
Change the OpenID4CI API to match more closely the OpenID4VP one.
Add a helper function to the wallet-sdk API that allows a caller to derive the key ID from a DID doc - OR - bake this functionality into the CI and VP APIs, and make a DID an input parameter (so the API methods will do it for the caller). Note that in this case, we must make an assumption about KMS key IDs being derivable from DID docs, and so this should be documented accordingly.

Fixed


docs: add 2019 entries to games made with

Coverage remained the same at 100.0% when pulling 5a0eb1a1feda160d33ed7436d0f5c2dc3583e292 on 2019Entries into a22fb21748ab4cc63699305f00afcc30b8fd1939 on master.

That's an impressive list. Congratulations! :+1:


password reset token expires before the configured time period

Rails Version: <IP_ADDRESS>
Devise Version: 4.2
In my devise.rb file I define lifetime for password token to be 6 hours
  # Time interval you can reset your password with a reset password key.
  # Don't put a too small interval or your users won't have the time to
  # change their passwords.
  config.reset_password_within = 6.hours

When I opt for password reset through the Forgot Password link, I can see the timestamp and token generated
postgres=> select reset_password_token, reset_password_sent_at from users where<EMAIL_ADDRESS>                       reset_password_token                       |   reset_password_sent_at
------------------------------------------------------------------+----------------------------
 89f51bce1bc6b495c16a50b015d03897d0520a8b58c300a5deef16b2c45cac82 | 2016-09-16 21:18:01.322362

Recoverable is enabled too
class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable,
         :recoverable, :rememberable, :trackable, :validatable, :lockable, :timeoutable
end

Active record and application timezone are both set to 'Asia/Kolkata' but when I click on the link delivered in email and try changing password (which is within minutes of the email delivered) the password change fails with message
Reset password token has expired, please request a new one

Your code looks fine, Did you restart the application after changing the configuration?

Yup I did!

@anadimisra hey, do you still have this issue? That's the code that check time interval https://github.com/plataformatec/devise/blob/88724e10adaf9ffd1d8dbfbaadda2b9d40de756a/lib/devise/models/recoverable.rb#L72. Can you please check what values of reset_password_sent_at.utc and self.class.reset_password_within.ago.utc?

Rails: 4.1.6, Devise: 3.5.10
Facing same issue i.e. reset_password_sent_at becomes nil when I reload the user model or query for the user again.

facing the same issue

@nashby sorry for the delay, I'll look into this right away and update the thread

I have same trouble. I have real value in database, but in model reset_password_sent_at always is nil.
I override method in User model:
  def reset_password_period_valid?
    reset_password_sent_at.nil? || super
  end

Can someone provide us a sample application that reproduces the issue in isolation?
That would help us find the issue.
Thank you!


Remove beta label

Are you going to remove css styles as well?

@katyafervent rebase it and resolve conflicts manually please


Allow for multiple dom-modules

Currently the loader looks for a single dom-module in the incoming source. The loader need to be able to process multiple dom-modules.

After mulling over this a bit, there's a few concerns we should handle at the same time.

We should recognize only root level <dom-module> elements. If they are nested somewhere, we should ignore them.
We also need to recognize other root level elements and use the toBody register method on them.
I think we should only transform script elements outside of <template> elements.

<dom-module></dom-module> <!-- Normal - register this one -->
<template> <!-- This should be recognized and registered with toBody -->
  <dom-module></dom-module> <!-- Nothing special should be done for this dom-module -->
</template>

<dom-module>
  <template>
    <script></script> <!-- Don't touch this script - it's in a template - this is weird -->
  </template>
  <script></script> <!-- normal script -->
</dom-module>

Oh and we should only call parse5.parse once per file. Parsing and serializing is an expensive operation.

This was fixed by #51


Unknown configuration option: DTS\eBaySDK\Finding\Services\FindingService::credentials

I'm having issues running anything using the SDK that requires use of credentials. I have been able to use your basic example if getting the eBay time just fine, however, when attempting to use one of the examples, e.g. 01-basic-keywords-search.php, I am getting the following:
mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'DTS\\eBaySDK\\Exceptions\\UnknownConfigurationOptionException' with message 'Unknown configuration option: DTS\\eBaySDK\\Finding\\Services\\FindingService::credentials' in /path-to-my-project/vendor/dts/ebay-sdk-php/src/DTS/eBaySDK/Services/BaseService.php:343
I have attempted to use a configuration.php file in the format provided in the examples as well as hard coding the app id, dev id and cert id.
Are you able to shed any light on what the issue may be here?

If you are using the examples first ensure that you have the most up to date version of both the examples and the SDK.  If that doesn't work I will need to see the code that is failing.

Thanks David,
I installed the SDK today according to the instructions here - https://github.com/davidtsadler/ebay-sdk-php/blob/master/README.md - i.e. just by running
`$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar require dts/ebay-sdk-php'
I haven't downloaded the examples all together, I just copied the code from here - https://github.com/davidtsadler/ebay-sdk-examples/blob/master/finding/01-simple-keywords-search.php
I'm just trying to run this code, the autoload.php file is being found and no issues there. So I tried:

Including a configuration .php file with the code below and tried running the example file as is (but from the root of my project):

`<?php
return [
'sandbox' => [
'credentials' => [
'devId'  => 'MY_DEV ID',
'appId'  => 'MY_SB_APP_ID',
'certId' => 'MY_SB_CERT_ID',
],
'authToken' => 'AUTH_TOKEN'
],
'production' => [
'credentials' => [
'devId'  => 'MY_DEV ID',
'appId'  => 'MY_PROD_APP_ID',
'certId' => 'MY_PROD_CERT_ID',
],
'authToken' => 'AUTH_TOKEN'
]
];`

I also tried commenting out line 27, i.e.

// $config = require __DIR__.'/../configuration.php';
And then edited from line 35 to hard code my credentials like so:
`/**

Create the service object.
*/
$service = new Services\FindingService([
'credentials' => [
'devId'  => 'MY_DEV ID',
'appId'  => 'MY_PROD_APP_ID',
'certId' => 'MY_PROD_CERT_ID',
],
'globalId'    => Constants\GlobalIds::US,
]);`

Both of these produced the same error and I am unable to understand why.

The code is OK but it does look like you are using a very old version of the SDK. It used to throw an UnknownConfigurationOptionException exception when you tried to set a configuration option that didn't exist.  That feature was removed.
There are a few things that you can do to see what version of the SDK you have installed.

Add echo \DTS\eBaySDK\Sdk::VERSION; before creating the service object.  This will output the version number of the SDK. This may fail if the autoloader is pulling in an older version of the SDK that does not support the VERSION constant.
You can also get the version number via the command line if you are using linux. At the project's root enter the following grep VERSION vendor/dts/ebay-sdk-php/src/Sdk.php
The contents of your composer.json should be pulling in the latest SDK with  "dts/ebay-sdk-php": "^7.0"

Right OK, found the problem - for some reason the CLI on my server was using PHP 5.4.45 rather than 5.6 which is running on the web server, so I assume that composer automatically downloaded the most up to date version I could use, which was, ehem, v0.6...
Forced it to use php5.5 and that's allowed me to download v7 of the SDK and looks like I'm up and running.
Thanks for your time on this. There's a good few hours I'll never see again, but lesson learned.

No problem :)

Hello Davidt
it took me some time to get to this thread because i faced the same problem. so i think its because of the installed version. composer gave me and outdated version:
Using version ^0.6.0 for dts/ebay-sdk-php
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals

Installing psr/log (1.0.2) Loading from cache
Installing symfony/event-dispatcher (v2.8.16) Loading from cache
Installing guzzle/guzzle (v3.9.3) Loading from cache
Installing dts/ebay-sdk-php (0.6.0) Loading from cache
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/event-dispatcher suggests installing symfony/http-kernel ()
guzzle/guzzle suggests installing guzzlehttp/guzzle (Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated.)
Package guzzle/guzzle is abandoned, you should avoid using it. Use guzzlehttp/guzzle instead.
Writing lock file
Generating autoload files

i use php 7.0.12 on a 2 month old server and tried as fastcgi as well as fpm. Does your tool support php 7 or shall i install another version or what depencies are important?

Php 7 is supported by the SDK. Ensure that you install a version of the SDK that is 1.0.0 or greater as it looks like you are installing an old version.

Thanks for the fast answer.
i also use this:
curl -sS https://getcomposer.org/installer | php
php composer.phar require dts/ebay-sdk-php
is there another way to obtain a newer version?

MartinSieben,
Did you check the solution that I had found above?
Depending on your server set up and config, when using the CLI you may be using a different php version than the web server vhost you're using to run you site or app.

Hi dominic
i haven't checked it because i'm not firm with that and dunno where to look for that. i have an up2date-server running plesk and composer gives me version 0.6.0 so that its obvious that it gets wrong parameters.
fortunately i got it running with that phar but if you need for troubleshouting-reasons my php-info i could mail it to you.
also i used examples to get orders from ebay but with that recommended code i got
empty request--objects
here's the output for
...
...
$request = new Types\GetJobsRequest();
print_r($request);
is the following
DTS\eBaySDK\BulkDataExchange\Types\GetJobsRequest Object ( [values:DTS\eBaySDK\Types\BaseType:private] => Array ( ) [attachment:DTS\eBaySDK\Types\BaseType:private] => Array ( [data] => [mimeType] => ) )
the configuration in $service is not needed at this point, even  if i filled in the right data and checked if they are available in the script.
also in the code-example (ebay-sdk-examples/large-merchant-services/01-get-jobs.php) you wrote
$service = new Services\BulkDataExchangeService([
'credentials' => $config['production']['credentials'],
'authToken'   => $config['sandbox']['authToken'],
'sandbox'     => true
]);
and mixed sandbox and production which should be fixed. could it be that there are also some variables missing?


Fix external references in enums

Changes
#450 introduced a regression in the deserialization logic when referring to types defined in external packages. This PR fixes this.
Tests
Running nightly tests to make sure they pass.

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (2b952c9) 51.67% compared to head (43ff3b3) 51.67%.

Files
Patch %
Lines

databricks/sdk/service/jobs.py
0.00%
2 Missing :warning:

databricks/sdk/service/sharing.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #452   +/-   ##
=======================================
  Coverage   51.67%   51.67%
=======================================
  Files          38       38
  Lines       22277    22277
=======================================
  Hits        11512    11512
  Misses      10765    10765

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


Create ERD for a new database

Could you please add a feature to create a ERD for a new database.

ERD is automatically created on object creation for SQL databases.


update azure storage blob sdk to T2

Updated sdk list:
Azure.Storage.Blobs

@jongio please help to review.


Added updated content and minor text edits.

Description

Checklist

[ ] I am familiar with the Contributing Guidelines.
[ ] New or existing tests cover these changes.
[ ] The documentation is up to date with these changes.

Need to fix pre-commit issue.


Created a token and I get an error when trying to verify:  Error! Unable to generate Contract ByteCode and ABI

Hello, I used a youtube tutorial to create a token on the Binance smart chain and have been distributing it to my community for rewards and role designation in discord.  I want to get it verified so that I can add add an image to it through bscscan but I'm getting an error:
Error! Unable to generate Contract ByteCode and ABI
Found the following ContractName(s) in source code : Token
But we were unable to locate a matching bytecode (err_code_2)
I've never coded anything before this in my life before this and have very little knowledge about what anything means in the code.  It compiles correctly on Remix 0.8.2 but will not verify.  I've also tried optimization enabled and disabled with the same result.   I'll paste it below for your review.  I heard flattening it may resolve it but I couldn't figure out how to use truffle-flattener.  Any help is appreciated
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
contract Token {
mapping(address => uint) public balances;
mapping(address => mapping(address => uint)) public allowance;
uint public totalSupply = 10000000 * 10 ** 18;
string public name = "Zuelyen";
string public symbol = "ZYN";
uint public decimals = 18;
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);

constructor() {
    balances[msg.sender] = totalSupply;
}

function balanceOf(address owner) public view returns(uint) {
    return balances[owner];
}

function transfer(address to, uint value) public returns(bool) {
    require(balanceOf(msg.sender) >= value, 'balance too low');
    balances[to] += value;
    balances[msg.sender] -= value;
    emit Transfer(msg.sender, to, value);
    return true;
}

function transferFrom(address from, address to, uint value) public returns(bool) {
    require(balanceOf(from) >= value, 'balance to low');
    require(allowance[from][msg.sender] >=value, 'allowance too low');
    balances[to] += value;
    balances[from] -= value;
    emit Transfer(from, to, value);
    return true;
}

function approve(address spender, uint value) public returns(bool) {
allowance[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}

}

Any luck on resolving this issue?

Have you able to solved your issues?


python client for screenpipe

tanuj has been working on it this week, great stuff!

/tip $100 @TanGentleman

nice


10-NOV-21

PyLadies Website Pull Request
Please document the following. We will aim to be as timely as possible in processing your pull request, however as this is a volunteer staffed project anticipate at least a week for pull requests to start to be reviewed.
Is this pull requesting adding or updating a PyLadies chapter information?

[x] Yes
[ ] No

If you marked yes, is this chapter registered in the PyLadies Chapter Directory?

[x] Yes
[ ] No

If you marked no, please register your chapter using the following form here. The form can only be accessed by being logged into your official PyLadies email account. Were you able to complete the registration?

[ ] Yes
[ ] No, I could not because [add response below]:

Have you confirmed the website builds locally with your chapters? See here.

[x] Yes
[ ] No

Does the Netlify preview look correct? Confirm in the checks below on the netlify/deploy-preview check.

[ ] Yes
[ ] No

Does the Netlify preview look correct? Confirm in the checks below on the netlify/deploy-preview check.
It seems the Netlify preview cannot be verified due to issues with its Netlify configuration.


[FIX] Add nullhist_to_p and crop invalid p-values

Closes #403.

Changes proposed in this pull request:

Add nimare.stats.nullhist_to_p() function for converting test statistics to p-values using a null distribution stored in a histogram.
Use nimare.stats.nullhist_to_p() in CBMA estimators.
Crop out-of-bounds p-values to epsilon smallest observed non-zero p-value.

TODO:

[X] Replace epsilon with better value when cropping.

Merging this now so I can push forward with the other changes to the empirical and analytic nulls.


How to get find the 'data' module

I'm trying to load the bvlc_reference_caffenet model. It loads the model but I get this error message:
I get this message:
MODULE data UNDEFINED
module 'data' not found
I'm assuming it is talking about not being able to find the dataset.
So my first question, is (1) is this message saying that it cant' find the dataset? Secondly, and more importantly, how do I fix this?

no, it's not the dataset, it's an abstract definition of input data in caffe.
so this message you see is just a warning a can be ignored.


Keep alive array

Support array syntax for keep-alive include and exclude. #5914
API looks like:
<keep-alive :include="['a', 'b', 'c']" :exclude="['foo']"></keep-alive>

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

thanks for your PR！
and please add the test😃

Yes, sure...will do it later.
And will update related docs as well.


Log Host header for PROXY Protocol logs

In the Combined log format, the second field is technically supposed to be an RFC931 client ident. Since this will never be present in our use case and since the Combined Log Format doesn't provide any specification for where to include "extra" fields, I thought this was fine — but let me know if anyone disagrees.

:+1: - We might want to revisit our overall log format and make it consistent between ALB and ELB once we expose this to customers, but considering we're the only consumers for this right now I think it's fine to do whatever's most convenient.


webcomponents.org link points to polymer-project.org

In the "Build Google Maps Using Web Components & No Code!" codelab step 8 the link at the bottom of the page labelled "webcomponents.org" actually links to polymer-project.org

Thanks. Fixed it in the master content!


readme changes

What does this PR do?
Add all supported models and verified configurations

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@tthakkal .pls use PR#212 for all README changes


P2H in chemical industry

Would this be a viable place for a P2H node @antw?

Or should we do something similar to households?

Would this be a viable place for a P2H node?

Correct me if I'm wrong, but I think we need a new node inserted between the left-most useful demand node and the existing producers. Then P2H can be connected to the left-most node with a dependent link, and the other new node with a flexible; the flexible will "fill-in" for whatever energy isn't provided by P2H.
               <--  Crude oil
Useful demand  <--  Coal
               <--  ...

... becomes ...
             (flexible)                         <--  Crude oil
                 <--  Useful demand before P2H  <--  Coal
Useful demand                                   <--  ...
                 <--  P2H
             (dependent)

I think you are right @antw
CC: @DorinevanderVlies

I agree, I propose to implement the following:

Just discussed this with @ChaelKruip and made a correction to my proposal (see below)
@antw do you mean after p2h for the node to which the technologies are attached?

@antw do you mean after p2h for the node to which the technologies are attached?

Yes, the diagram has the naming correct; I did indeed mean "after". :smiley:

Closing as this has been done.


⚠ Bofrost.lu has degraded performance

In 7ad5751, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1758 ms

Resolved: Bofrost.lu performance has improved in 8178198 after 7 minutes.


Update project README

Coverage remained the same at 100.0% when pulling 71290f10c0b04cef6a51e798770db991925db614 on update-readme into d3c5bf4c8d842c73d2e2953ffd7ec3d0b7425fad on master.

Coverage remained the same at 100.0% when pulling d4257b192320bc63750ee4614cfd6aafb51803e7 on update-readme into d3c5bf4c8d842c73d2e2953ffd7ec3d0b7425fad on master.

Coverage remained the same at 100.0% when pulling a02707c20b16f4d9022d34fd4c48c70c6db75ce3 on update-readme into d3c5bf4c8d842c73d2e2953ffd7ec3d0b7425fad on master.

Coverage remained the same at 100.0% when pulling a02707c20b16f4d9022d34fd4c48c70c6db75ce3 on update-readme into d3c5bf4c8d842c73d2e2953ffd7ec3d0b7425fad on master.

Coverage remained the same at 100.0% when pulling a02707c20b16f4d9022d34fd4c48c70c6db75ce3 on update-readme into d3c5bf4c8d842c73d2e2953ffd7ec3d0b7425fad on master.


feat: top level error catch

This catches on top-level errors and displays them as top-up. This is especially in order to not silently fail.

Is the idea to provide sentry feedback here?

I would not do this. As a user it is very annoying when you get a meaningless error and you cannot do anything about it. Or integrate this with the bug report dialog.


Brokers: Configs: Implement sorting

Actual behavior

It is not possible to sort the configs for the broker, which complicates the search for the required config.
Expected behavior
Sorting should be possible by the Key and Value. Which is especially helpful on the troubleshooting.
Sorting by the Source of the config can also come handy.
Set up

f4e6afe
Steps to Reproduce

Login to Kafka UI
Navigate to Borkers
Select broker and switch to Configs tab.

Screenshots

Additional context

Discussed with @Haarolean to be created as a separate issue from #2651

Hello! I was wondering if I could grab this to work on. I was looking for a good first issue, and I poked around a bit and found that the table component that this UI uses has a prop we can set for the sort function -- I can open a PR/add some screenshots in the description on there if that sounds reasonable. Thank you!

@kamyashethia hey, thanks for your interest. I believe that we have to do that on the backend first, considering the sorting with pagination. What do you think?

Hi @Haarolean Thank you for pointing that out -- let me poke around the backend that generated these configurations a bit.
I did an initial test of the sort function, and noticed that the configurations seemed to show up alphabetically with that prop -- I'll check to see if there is a limit on the number of configurations we return for the brokers on the API that would break this.
Adding in some screenshots for context:
Sorted ascending:

Sorted descending

Hey @Haarolean, I would like to contribute to this issue.

Thank you @Haarolean for assigning this issue to me. I have one question that I have added sorting to the config in frontend side and it's working totally fine for every column. Is that we want ?

@malavmevada we need backend changes as well since the content has pagination, so it's not solvable on the frontend alone.

@Haarolean Thank you for your response. I got your point. I'll try to look into backend for sorting with pagination.

Hey @Haarolean, I have one question regarding sorting feature of configs. If we implement the feature of sorting by page that mean we'll get the data from the backend for specific page and page size. For example from 245 broker configuation if our pageSize is 10 then on each request we'll get the 10 sorted configuration.
Now look at the issue : Brokers: Search of configs is working only for current page #3347 https://github.com/provectus/kafka-ui/issues/3347
If on each request I'm getting only 10 configs. I can't search on whole data based the above requirements.
What should I need to do for this conflictt ?


44 generate break repetitive code into functions

Stil todo

[ ] alias OscalCompleteSchema with OscalModels
[ ] individual packaging (right now all oscalTypes)
[ ] Changelog thoroughly describe the differences between previous types and new types (likely should be 0.X. release)
[ ] Empty structs should be converted to map[string]interface{} to be represented as json maps

1.0.4, 1.0.5, 1.0.6 changes:

update AssessmentPlan.TermsAndConditions is now of type AssessmentPlanTermsAndConditions per the schema title

Renamed from TermsAndConditions

create PlanOfActionAndMilestonesLocalDefinitions struct

update PlanOfActionAndMilestones.LocalDefinitions is now of type PlanOfActionAndMilestonesLocalDefinitions

rename LocalDefinitions1 to LocalDefinitions

fix AssessmentPlan, AssessmentResults, and Results now referencing the correct definition for their LocalDefinitions field. Previously were referencing the PlanOfActionAndMilestonesLocalDefinitions definition.

rename Timing struct to EventTiming struct per the schema title.

update Task.Timing to be of type EventTiming

update Capability.ControlImplementations and DefinedComponent.ControlImplementations to be of type []ControlImplementationSet

create ControlImplementationSet struct

update PoamItem.Origins to be of type []PoamItemOrigin

rename Origins1 to PoamItemOrigin
fixes PoamItem.Origins type that was previously linked to the incorect definition

update Merge.Combine to be of type CombinationRule

rename Combine to CombinationRule per schema title

update Merge.Custom to be of type CustomGrouping

rename Custom to CustomGrouping per schema title
Fix CustomGrouping.Groups (previously Custom.Groups) to be of type ControlGroup as the definition differs from that of previously declared Group struct

rename AssemblyOscalSspControlImplementation to ControlImplementation

fixes SystemSecurityPlan.ControlImplementation now referencing the correct definition

update SystemComponent.Status is now of type SystemComponentStatus

create SystemComponentStatus

fix IncludeAll struct is now a type alias for map[string]interface{} in order to support marshaling and field access for what is an anonymous schema object
rename AssemblyOscalProfileSelectControlById to SelectControlById

fixes Import and InsertControls IncludeControls and ExcludeControls now referencing correct definition

update AssessedControls fields IncludeControls and ExcludeControls to be of type SelectControl
create SelectControl struct which has the definition previously assigned to SelectControlById
update RiskLog.Entries to be of type RiskLogEntry

create RiskLogEntry struct type.
fix RiskLog.Entries was previously linked to the wrong definition of AssessmentLogEntry which differs from the RiskLogEntry

fix Flat struct is now a type alias for map[string]interface{} in order to support marshaling and field access for what is an anonymous schema object
update ImplementedRequirement struct with the previous definition for AssemblyOscalSspImplementedRequirement which was previously unlinked

create ImplementedRequirementControlImplentation struct with the definition previously associated with ImplementedRequirement which is now linked to ControlImplementationSet used by Catalog and DefinedComponent

rename WithinDateRange to OnDateRangeCondition per schema title
rename OnDate to OnDateCondition per schema title
rename WithinDateRange to OnDateRangeCondition per schema title
update FindingTarget.Status to be of type ObjectiveStatus

fixes incorrect definition for FindingTarget.Status that had missing field Reason
create ObjectiveStatus

rename AssemblyOscalProfileGroup to ControlGroup

fix improper links to Group (should have been AssemblyOscalProfileGroup previously, now ControlGroup) in CustomGrouping (previously Custom) and Merge structs.

Rename Statement to ControlStatementImplementation

rename AssemblyOscalSspStatement to Statement
fix ImplementedRequirement.Statements not being of the correct definition

rename AvailabilityImpact to AvailabilityImpactLevel per schema title

update InformationType.AvailabilityImpact to be of type AvailabilityImpactLevel

rename ConfidentialityImpact to ConfidentialityImpactLevel per schema title

update InformationType.ConfidentialityImpact to be of type ConfidentialityImpactLevel

rename IntegrityImpact to IntegrityImpactLevel per schema title

update InformationType.IntegrityImpact to be of type IntegrityImpactLevel

create RiskResponseReference struct used by previously missing RiskLogEntry type


add Single-threaded runtime（double performance improve）

In my tests, use tokio-current_thread_runtime(), tonic Grpc Performance and QPS can be improved by at double performance。(test by  ghz benchmark)
can you add an option  feature  to support current_thread_runtime( just like actix-web/  actix-rt ，Number of threads: number of CPU cores x 2) ?  This change can greatly improve QPS scores

@zhuxiujia
Hi, just curious how did you run the grpc server? What kind of computer did you run the test on?
I have tested the grpc server by running the example helloworld grpc server on my laptop (macbookpro 2019). However, ghz test result shows that the server can handle only up to about 4000 requests/sec. I am not sure why I could not see the  good performance shown here and other blogs.
Thanks

@chengzh2008

@chengzh2008
Same, did you find an answer?

Its likely an issue with ghz and not tonic.

Tonic should already support the tokio single threaded runtime, is there something you see missing?

How can this be activated?


As a user I can add another person's events (start & end time)

... so that I can see when the person is availability.

Completed by #21


add BR translate - WIP

Description
Please include a summary of this change and the issue(s) you are fixing. Include any context or information that will help a reviewer verify this PR quickly. List any caveats or issues with this change up front.
Issue #99  - Create a Portuguese translation of the 404 error page
Required checklist:

[ ] My code matches the existing code style of this project.
One of these:

[x] This is a new localization for existing content.
[ ] This is new content that is localized for all the locales that this project currently supports.
[ ] I described above how I plan to localize this content immediately after merging these changes.
[ ] Localization is not applicable to this change.

[ ] I have tested my code and it successfully builds for GitHub Pages and validates as AMP.

Thanks for this contribution! Since the 404 page was already translated, I pulled your more accurate translations into the existing page in #156. I'm also marking this PR as hacktoberfest-accepted so that it counts!


Update xtabulator to 2.004

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

it actually unzips to
/usr/local/Caskroom/xtabulator/2.004/XTabulator.app
instead of
/usr/local/Caskroom/xtabulator/2.004/XTabulator 2/Xtabulator.app
so the install doesn't work unless you manually move the to correct location and then repeat brew cask install xtabulator
please fix this.


[kuberhealthy] added nodes to cluster role

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes Comcast/kuberhealthy#103

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md

The build failure seem unrelated:

Either git or ssh (required by git to clone through SSH) is not installed in the image. Falling back to CircleCI's native git client but the behavior may be different from official git. If this is an issue, please use an image that has official git and ssh installed.

/retest

/ok-to-test

/lgtm

@davidkarlsen and @omerlh - Thanks to both of you!

Can you please bump the version also?

Bump what version?  The helm chart?

Yes, the version with my changes is still 1.0.1. I pushed another commit that bumps the version, I think it wasn't merged.

I can't actually edit this chart directly - I am only authorized to approve PRs for it.  If you open another PR with the version bump and link me, I can approve it.

Actually, the chart right now is at version version: 1.1.0.  I think you are good.


Design the Language Server Protocol

Summary
Though not integrated into the Enso Engine itself, we need a Language Server Protocol (LSP) for our clients to use to communicate with the Enso Engine. While we should base upon the microsoft LSP specification, it is inherently true that we will need to extend it with our own protocol messages.
Value
Rather than using the engine directly, having a communication protocol not only enables better development practices, but also allows the Enso Engine to operate with other protocol clients than only Enso Studio.
Furthermore, with regards to Enso Studio, it enables the IDE to be truly uncoupled from the engine, with the compiler and interpreter actually doing all the heavy lifting.
Specification
The IDE protocol implementation will be based on an extension of the above-linked Microsoft LSP. Furthermore, the IDE Protocol implementation should be suppported by comprehensive tests and benchmarks such that it is easy to detect and fix regressions should they happen.
One of the main sticking points in supporting LSP and a richer IDE protocol is that we want to be able to do things that require attaching semantic metadata to the file in question. LSP has little to no support for rich compiler output, with deep assumptions that code is plain-text, or at most markdown. This means that it becomes much harder to easily support things such as semantic highlighting, doc summaries with interactive examples, and interactive error messages (amongst other highly-interactive features). These features will instead be built as extensions on top of LSP.
It must support the following requests/commands:

Completion Requests: Get completion items from the language server at a given cursor position.
Hover Information: Sends current textual position to get information (e.g. documentation, types) about the item under the cursor position.
Inspect Type: Gets the type of the item under the cursor (initially implemented through parsing of explicit signatures).
Insert Type: Inserts the type for the item under the cursor in a relevant place.
Go to Declaration: Returns the location of the declaration of the symbol at the provided position.
Go to Definition: Returns the location of the definition of the symbol at the provided position.
Find References: Find references in the current project to the item at the provided position.
Highlight: The Language Server should provide highlighting information for each atom of text, allowing the editor to greatly simplify highlighting.
List Symbols: Should list all symbols in a given file.
Code Action: Apply changes (e.g. hotfixes, refactorings) to code.
Format Code: Apply a formatting style to the provided range (can be a selection or the whole document). This may also work for live formatting while the user is typing.
Rename Symbol: Tell the language server to perform a project-wide symbol rename.
Get Folds: Find ranges that can be folded within a document.
Get Hints: Hints for the document or provided location, which can then be applied as quick fixes. This should account for any alterations to syntax.
Get Fits for Holes: Enso wants to support holes that can be matched by type.
Get Documentation: Get and display the documentation for the object at the given position.
REPL: The IDE protocol needs to have flexible support for interacting in a programmatic fashion with the Enso REPL, allowing for interactive development. This should include ‘evaluate under cursor’, but also functionality to trivially go back from REPL to buffer if need be.
Debugging: The user should be able to place break-points, and easily inspect values during execution of a program. This requires REPL support and IDE protocol support. This debugging functionality should allow for hot-reloading of code, changing of values within a live program (though this is already mostly supported by Enso Studio’s graph), and various other debugger functionality (step over, step in, step out, continue, etc). In future, this could also be extended to support hardware watchpoints and other low-level details as necessary.
Performance Information: Profiling information for the executing code, able to be displayed visually in Enso Studio.

Acceptance Criteria & Test Cases

The above listed features have been implemented.
Performance of the IDE protocol is indistinguishable from in-process language servers.
The IDE Protocol implementation comes with comprehensive tests and benchmarks.

The language server will be a service daemon that hosts the compiler and interpreter in-process, rather than utilising them as a separate service. This means that it is the mediator between the API calls provided by the runtime, and the clients that depend on that runtime for some or all of their functionality.
The Language Server will be written as an extension of the existing LSP. Communication between the server and client will take place over a WebSocket connection.
Communication will work using both a request-response model and a pub-sub model. These models are used to support various kinds of communication between the client and server. One-shot messages will use the request-response model, while messages that result in a stream of updates will use the pub-sub model.
Program locations will be provided as a way of identifying both the spatial component of the program (a textual location for an identifier, for an example), but a temporal component too. The temporal component can be thought of like the 'current stack frame', and represents where in the execution the values for a given location should be obtained from.
Initial Implementation (for 2.0)
The initial implementation will need to support the following set of messages, which will match with the protocol's specified messages wherever possible:

Completion (One-Shot): Request completion for some target point in the AST. This boils down to some kind of smart completion. The full specification is yet to be determined, but the criteria for ranking completions will include type information, scope information, tags and scoring information, and documentation. In addition, the completion should provide the following features:

Suggestions for symbols that would make sense (e.g. by type) but are not imported. To support this, selection of such a symbol will trigger the automatic addition of the relevant import on the language server.
Searching in tags and documentation. This metadata-based search functionalty should be used to refine suggestions and help suggest functionality relevant to tasks.
Browsing the symbol hierarchy. The user should be able to click through modules to browse the various symbols contained within.
Import Completion for when a user has typed import and hits `. This feature should suggest libraries that are available, along with provide their top-level documentation to give users an idea of what they can be used for.

Type Information (One-Shot/Stream): The graph on the GUI colours its connections based on the types of the values flowing along the connections. As a result, the language server needs to be able to provide type information for given symbols in the program. This type information should be the human readable type of the value, rather than any mangled internal type. If subscribed to as a stream, an update should be sent every time the type changes.

Values (Stream): The GUI's graph also displays values under nodes. As a result, the languge server needs to be able to send the current value for given symbols in the program. The current value should be updated every time it changes.

Textual Diff Management: Any chances made to the program by either the client or the server will be sent as changesets across the connection. Changes will be made to the in-memory representation until an explicit 'save' message is sent.

Node Metadata Management: As the metadata for the nodes relates to spans in the source, updating the metadata on changes is the responsibility of the server. This metadata includes node positioning, and other relevant elements.

Refactoring Operations: As all of these operations rely on a semantic analysis of the source program, they must be performed by the language server. These should include (but may not be limited to) the renaming, moving, extraction and inlining of entities. In future this could be expanded to include refactoring hints a la IntelliJ.

Analysis Operations: As these also rely on semantic analysis, they must be performed by the language server. These include finding usages, jump-to-definition, and symbol search.

In terms of handling the source files, there are two ways this language server can operate, controlled by an option posted at startup:

File Host: If enabled, all source files are opened/read/written by the language server itself. When running in this mode, it must have messages for opening, reading and writing the source files. File contents are transferred to the client using a sychronisation message. This mode is primarily designed for operation as a backend for Enso Studio, and is more complex than standard language-server implementations.
Client: If enabled, all source files are used purely as in-memory representations, and the server has no direct access to the source files. This means that when the client editor opens a file, it must send the entire file contents to the server via a synchronisation message.

Future Evolution (Post 2.0)
In the future, there are additional capabilities that the language server needs to be able to provide to support both Enso Studio and more advanced features for the interpreter itself.

Arbitrary Visualisation Code: Visualisations should be able to be defined using Enso code, and hence there needs to be the ability to execute arbitrary code on values visible in the current scope.

IO Manager: The ability to do sophisticated IO monitoring, such as watching for file changes, in order to support minimal re-execution of analysis pipelines.

Enhanced Type-Manipulation: Get fits for holes, case splitting, insert type, refine type, solve type, and so on. Inspiration for these operations can be taken from programs that provide for interactive type-driven development.

REPL: Protocol messages to support a REPL-style of interactive development. This should include, at a minimum, the ability to execute arbitrary code statements in a REPL, but could be enhanced by the ability to execute code from the editor in the REPL, and send changes back from the REPL to the file.

Debugging:: The user should be able to place break-points, and easily inspect values during execution of a program. This debugging functionality should allow for hot-reloading of code, changing of values within a live program, and various other debugger functionality (step over, step in, step out, continue, etc).

**Profiling Information:**Profiling information for the executing code, able to be displayed visually in Enso Studio.

Code Formatting: Automatic formatting of Enso code using the One True Style ™.

What remains to be decided is the wire format of the protocol (without specifying individual messages). Message specification can be done as needed.

This task will result in a design document in the folder doc/design/language-server in this repo. This document will be updated as the design evolves.

Need to determine how the language server interacts with source files. Above we talk about it hosting source files itself, but does this make sense when you consider the expected semantics for storing files on GH or running locally on a user's machine?
A decision needs to be made as part of the LS design.

An initial sketch of this design (to be evolved) can be found here.

This is complete as far as is needed for now


PLAT-754: stub of VObjectTranscript message

not ready to add everything

decided to rename message, created another pull request


Fix mis-translation by babel

Babel was turning the "continue" statements in the for-of loop into
"return" statements.  If this were inside an anonymous function, this
would make sense, but it was not.  This would cause certain inputs to
cause a return of undefined in the compiled bundle.
This restructures the source to use if/else if/else instead of
continue in the loop.
Closes #3

Did you file a bug with babel? This seems like a major bug for them.

Not yet.  It's been a bit of a whirlwind finding & fixing these.  But I will.


fix(ci): display correct initial page on storybook load

Use local-web-server instead of serve to serve the storybook
fix #483

Codecov Report

Merging #527 (a26c887) into main (1f71c99) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #527   +/-   ##
=======================================
  Coverage   91.54%   91.54%
=======================================
  Files          25       25
  Lines         284      284
  Branches       36       36
=======================================
  Hits          260      260
  Misses         14       14
  Partials       10       10

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 1f71c99...a26c887. Read the comment docs.


Fix typo in definition of operator or

On the documentation page: https://lexi-lambda.github.io/hackett/reference-datatypes.html#%28def._%28%28lib.hackett%2Fmain..rkt%29.~7c~7c%29%29
the ||s in the examples look right with the backslash escapes, but the  backslashes in the title render wrong

It’s not immediately obvious why, but this change does a different thing.
Under the ordinary Racket reader, | is a special character for escaping symbols. When you write |foo bar baz|, you get a symbol that is equivalent to (string->symbol "foo bar baz"). This means that || is a valid symbol… but it is actually the empty symbol, aka (string->symbol "").
In practice, I find the bar escapes are not very useful, so Hackett uses its own reader that treats | just like any other character. This means that in Hackett, || reads as the symbol (string->symbol "||"), as you’d expect. But Scribble uses the Racket reader, and in Racket, the correct way to write (string->symbol "||") as a literal symbol is \|\|.
All that’s fine, but the problem here is that, as far as I can tell, when Scribble prints a symbol for documentation purposes, it always uses the Racket printing conventions. So no matter how it’s written in the source code, if it’s the symbol (string->symbol "||"), it will end up in the HTML looking like \|\|. This PR changes it to use the empty symbol, which does print the right way, but it’s ultimately the wrong identifier, so it will break cross-references: links to Hackett’s || operator will not work because Scribble thinks that documentation is for a non-existent binding named the empty symbol.
The right thing to do is to fix/extend Scribble to make it possible to typeset identifiers using language-specific conventions, but that’s a task I didn’t deem worth the effort unless Hackett ever becomes more usable.


Do not allow a crt without an accompanying chain

Fixes #44

What if the fullchain attribute is used? The chain will be written to the cert/chain combined file but the cookbook will now fail since chain is required.

I'd be ok with allowing that. It needs either fullchain or chain. I can update PR.

@mattrobenolt could you please update the PR ?

Rebased, edited and merged
https://github.com/schubergphilis/chef-acme/commit/f9e96e138a84c705916849cdb4e0836248473cbf


When button text is updated, other button visibility test is reset -- execution path dependency

make neutral button gone
set different text for negative button

the neutral button re-appears
current workaround - move the code that manages the visibility of the button after any update to the text
should be an easy fix

To hide an action button, set its text to null using the setActionButton() method. Changing visibility manually is not reliable.

Why is visibility status unreliable? Is that because the library is written this way or some other reason?
I can see it in the code that null hides the button.

why it was designed like this?

Suggested fix:
overload invalidateActions() with invalidateActions(MASK) the default no params method will combine all the 3 button masks and make a call to incalidateActions(COMBINED_MASK) while the setActionButton becomes:
  public final void setActionButton(@NonNull DialogAction which, CharSequence title) {
        switch (which) {
            default:
                mBuilder.positiveText = title;
                invalidateActions(POSITIVE_BTN_MASK);
                break;
            case NEUTRAL:
                mBuilder.neutralText = title;
                invalidateActions(POSITIVE_NTRL_MASK);
                break;
            case NEGATIVE:
                mBuilder.negativeText = title;
                invalidateActions(POSITIVE_NEG_MASK);
                break;
        }
    }

The invalidateActions() adds a check for a MASK before doing updates for the buttons.
This may not be the best solution but it should work with minimal changes to the flow/structure and may be even a bit more efficient as only views required to be updated will be updated.
If you like it I can implement it and submit a pull.
Let me know.

Because of how the library is set up.
Having that only in setActionButton() isn't the most reliable either, because a user could still get access to the button from getActionButton().
Using a mask is better, but there's other causes where the actions will be invalidated and there's no way to know if the previous visibility state was set by the user or by the library itself. The only completely reliable way is by setting the text to null.

That's a bad solution because this is an unexpected side effect in Android world and getting rid of a view by setting it to null is not common (to the best of my knowledge).
Not sure I follow 100% but I trust you know what you are talking about still should be fixed. Why not fix it - it should not be too hard and will most likely result in a better, more modular architecture.

Well, yeah, there must be a better solution. But passing a mask to invaidateActions() won't quite do it since the method is used in 3 other places and could be invoked at any time.

Actually, no, I take that back. Using a mask might actually fix it completely.

:)

I believe I need to point out that I only looked at the source code for a few minutes and a better solution is quite possible.

I think your solution might work, it'd be a good idea to test it with different cases though.
My next class (I'm a college student) is starting now but I'll get back to this later.

@inteist can you check if the latest code fixes your issue?

I'm getting to the bottom of it right now, it's almost ready.

This should work perfectly now, I just tested it a bit.
https://github.com/afollestad/material-dialogs/commit/4e37d0bd6c5edd22e9a2b2e4234e5449aa0c4278

One more: https://github.com/afollestad/material-dialogs/commit/1bbbd800227227f5f05f66615b8915b4ea97babe
I'll have an update out in a few hours, most likely.

https://github.com/afollestad/material-dialogs/releases/tag/v<IP_ADDRESS>

How well tested is it?
I am afraid I can't go ahead with not very stable version.
I can help test it but right now I don't really have a lot of time to dedicate to it.
You should think about creating a test suit to automatically test edge cases on various OSes. Since it backports to so many OS versions it is pretty important to have a coherent experience.

I tested it pretty thoroughly. Would you rather have the behavior not work at all for your case? Lol. But yeah it seemed to work perfectly on my end.
I don't have a lot of time either, I'm a college student and I'm an employed dev.
Usually I use the sample project with emulators but this specific case didn't apply so I used my own temporary test code.

I should add that XDA featured this update today

Since I did not lock in the version, it auto updated. I will take a look.
After reading the release notes, if I understand correctly, any change will require call to invalidateActions()... That's better in terms of stability of predictability but I am not sure it made the library better in terms of usage. Someone could be wondering why nothing happens after changing the visibility but not making the call for invalidateActions() that's my $0.02

You don't need to call that method if you change button text with
setDialogAction(), since it makes a call to invalidateActions() for you.
There is no other way. There's no way of knowing when the user changes
visibility. If you hide the positive action button, the negative action
button will go over the neutral button since invalidateActions() sets the
negative action's LayoutParams.
On Tue, Mar 31, 2015, 1:11 PM Max<EMAIL_ADDRESS>wrote:

Since I did not lock in the version, it auto updated. I will take a look.
After reading the release notes, if I understand correctly, any change
will require call to invalidateActions()... That's better in terms of
stability of predictability but I am not sure it made the library better in
terms of usage. Someone could be wondering why nothing happens after
changing the visibility but not making the call for invalidateActions()
that's my $0.02
—
Reply to this email directly or view it on GitHub
https://github.com/afollestad/material-dialogs/issues/379#issuecomment-88193458
.


Draft Revised By-Laws

Description:
We need to develop a comprehensive draft of the revised by-laws for INSTAR Lab Inc. This draft should incorporate necessary updates to ensure compliance with current legal standards and reflect our organizational growth.
Tasks:

Governance Structure:

Outline the updated governance framework.
Define the hierarchy and reporting lines within the organization.

Roles and Responsibilities of Board Members:

Clearly delineate the roles of each board member.
Specify the responsibilities associated with each position.

Voting Procedures:

Establish clear voting procedures for board decisions.
Include requirements for quorum and types of votes (e.g., simple majority, supermajority).

Conflict of Interest Policies:

Draft a robust conflict of interest policy to safeguard the integrity of board decisions.
Include guidelines for disclosure and management of conflicts.

Amendments Process:

Define the process for amending the by-laws in the future.
Specify who can propose amendments and the required approval process.

Acceptance Criteria:

A comprehensive draft that includes all the above sections.
The draft must be reviewed and approved by key stakeholders before finalization.

Labels:

bylaws
governance
drafting

I will spend the next four hours drafting the "Roles and Responsibilities of Board Members"  and the Roles of a DROID Launch Specialist for the revised by-laws of INSTAR Lab Inc. I'll start by reviewing the current by-laws to pinpoint any gaps or ambiguities in the existing roles. Then, I'll research best practices for board member responsibilities in similar organizations, taking notes on key elements to include. My goal is to create a clear and detailed draft that outlines specific duties, expectations, and accountability measures for each board position. By the end of this focused session, I’ll ensure my draft has updated at least the Roles of a DROID Launch Specialist and ready for an initial review by a colleague.


ci: Bump checkout from v3 to v4

Motivation
As nodejs v16 ends support on September 11th, we will upgrade checkout v3, which uses nodejs v16, to checkout v4, which uses nodejs v20.
https://endoflife.date/nodejs
Modifications
checkout version from v3 to v4

Verification

Release Notes: https://github.com/actions/checkout/releases/tag/v4.0.0
Indeed mainly a Node upgrade

Ah dependabot auto-updated this almost immediately after you in #11783 😅
CI failed on a test flake there though


Add a command that prints version

Steps to reproduce:
Try to understand what version dotnet-releaser uses, so I can tag docker image manually
Expected result:
dotnet releaser should have command to output version, like
>dotnet releaser version ./my-releaser.toml
0.0.1

or any other way to determine version

Ooops, I thought I had added it.


refactor: GetNamespace func handling

The logic for the GetNamespace func was rather unclear, this makes it far more obvious what it is trying to achieve by splitting out the conditionals and providing an early return when particular conditions are met beforehand.
There are no updates to tests here, as they still pass as intended.

props to @mavimo for the idea :rocket: Thank you :smile:


version 3.1.2 (fixes)

This release would fix the following:

Allow draggable columns to work with excluded columns (https://github.com/gregnb/mui-datatables/issues/1364).
Make it so cursor isn't a hand if the column isn't draggable.

Coverage decreased (-0.2%) to 71.997% when pulling 5605a6cfbba7bfe7ae29ab4c45f83ed68ad9d627 on v3_1_2 into 0a6d2a1f144fb06b69012cea1aeba8065e305fca on master.


Update Prisma schemas created via Introspection from provided SQL

In some pages we provide the SQL, and then the supposed Introspection result. Example: https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgres
We should revisit all of these to make sure the introspected schema actually represents the SQL that is provided. The example above for examples seems to be missing the referential actions definitions a user would see if they follow this tutorial.
Small differences like these can cause confusion and make it harder to build a mental model you can trust during the tutorial.
(Searching for CREATE TABLE might be a good way to find all ways in the docs where we have SQL to create a table to later be introspected)

Validate SQL is proper for different dbs & update them