Can not open PDF that has a PASSWORD protection

I tried to open a document that is protected with password. It is showing empty screen. Also crashes on empty screen.

@1stmetro how do we capture the exception? I dont seem to get any errors or exceptions thrown?

.onError(new OnErrorListener() {
                    @Override
                    public void onError(Throwable t) {
                        if (t instanceof PdfPasswordException) {
                            t.printStackTrace();
                            reloadPDFWithPassowrd();
                        }
                        Log.v(TAG, " onError while loading. " + t);
                    }
                })
}

It would make way more sense to have a method we could use to check if there was a password on the pdf. Is there any chance we could get one added?

@AhmerAfzal1 I'm trying to catch that error in a nativescript plugin, but it never gets thrown whether I pass in null or undefined into the password method

Email me

It was the issue I faced in my previous company project. I do not have the
source code to reproduce the issue. But the scenario is I tried to open the
PDF file within the android activity. Try to reproduce with scenario if
possible.
On Wed, Feb 12, 2020 at 8:42 PM Ahmer Afzal<EMAIL_ADDRESS>wrote:

Email me
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/barteksc/AndroidPdfViewer/issues/501?email_source=notifications&email_token=ABVJLMNIDJ64HMXAVWG2JYDRCQGVLA5CNFSM4EKRLFVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELRD4DI#issuecomment-585252365,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVJLMLLDKERQOUIFO4NNLLRCQGVLANCNFSM4EKRLFVA
.


Flipping normals

At the moment, when drawing with the build tool, planes are lain out in the typical two-right-triangles fashion. So when you lift the verticies in the middle of a painted square or rectangle of these, you have the effect where the planes are bent at this seam. This can be problematic for issues where you want a cleanly bordered plateau.
In Crocotile, this can be easily fixed by reversing the normals; I would love to have a similar function where you can reverse the normals for a particular tile, since it doesn't seem possible to do in Blender at the moment without erasing the tile(s), changing the view orientation, then drawing the tiles again.

If you need to flip the normals, it can be done using blender's standard mesh tools. Select the tile you want to flip and hit Mesh -> Normals -> Flip in the top right menu.

That doesn't actually work, I've already tried that.

Actually it should work:
Before:

After flipping the selected tile normals:

As you can see the normal for the tile is flipped. Note that the material sprytile uses by default is double-faced so you won't see a difference in the appearance (The UVs remain the same). If you want to flip the UVs you can use FlipX/FlipY in the sprytile panel.

Also please note that if you intend to lift the verteces of the tiles like in the image of your post, you should explicitly cut the face in two triangles depending on what you want to achieve, using the knife tool, or you may get unexpected result (as sprytile uses quads, not triangles):
Bad example:

Good example1:

Good example2:

Hope that helps!

Did you try flipping the UVs of a corner? That is what I was having issues with. In crocotile, I dont need to split anything to accomplish this.

Yes, I don't have particular problems if I understood correctly your problem:
(The top left tile has X/Y UVs flipped)

Right, but this is a flat surface again.
Im specifically addressing the case where a vertex has been raised in a corner.
I might be explaining things badly or using the wrong terminology admittedly but so far I dont think we're on the same page...

i.e. draw four, lift the center vertex in Z, then flip the quad geometry so it looks like a clean point.

As I said above, if you lift the center vertex in Z, you end up with non-coplanar quads which don't have a defined behaviour, so you have to slice them with the knife tool (I don't have crocotile, but maybe it works with triangulated quads to begin with)

So there's no way of switching a quad between what visually looks like your "good example" 1 & 2 without slicing it?
Im able to get the effect I want with these quads by just rotating my view when I place the corner quad elements before lifting the vertex (as I did in the original image), so I suppose I am confused why I can't just switch between these two behaviours for the quad.

Found a solution that works for me...
Ctrl-T -> Triangulate Faces

Select between quad method: fixed or fixed alternate depending on desired quad division
Alt J -> Tris to Quads
The quad will now lift as desired!

Glad you found a solution! However I wouldn't recommend doing it that way, because as I said, with non-coplanar quads blender doesn't really know how it should triangulate it if you don't triangulate it explicitly. With the above method you are "forcing" it, but you will likely run into issues if you try to export the model to other software, so I would recommend keeping the quad triangulated (No Alt-J)
I am closing this issue. Happy modelling!

Noted! I'll keep that in mind if I do have any issues, but so far it works fine for Unity (.obj)

Probably worth keeping in mind on your end that triangulating the quad makes the triangles treated as seperate for painting purposes, so triangulation should really only be applied at the end in this case if you want the ability to paint the tile as a single element.


ARROW-2773: [Python] corrected partition_cols parameter name

partition_columns -> partition_cols

@danielchalef could You rebase on top of master? That will probably resolve the build error.


Add MAKPOL & BZ utility programs

Of all the utility programs associated with MOPAC, these are the ones that are the most useful and worthy of preservation. For now, this is just a cleaned-up source dump.

Codecov Report

Merging #22 (d3d3232) into main (30f71c4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #22   +/-   ##
=======================================
  Coverage   68.24%   68.24%
=======================================
  Files         330      330
  Lines       71585    71585
=======================================
  Hits        48853    48853
  Misses      22732    22732

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 30f71c4...d3d3232. Read the comment docs.


[Proposal] Icon support Linux desktop application

Use case
The default Linux application icon looks ugly...🥴 Flutter is way worthy than that... 😎

Proposal
This looks much better (photo-shopped)

The reason this hasn't been done is that there isn't really a solution to this on Linux that is within the scope of Flutter; see https://github.com/google/flutter-desktop-embedding/issues/630.
That said, @kenvandine, I think it was you who suggested we have a stub .desktop file in the build output as a starting point for people who want to configure one; do you have a suggestion about what exactly should be in that stub, or a pointer to projects that do something along those lines to compare with?

@stuartmorgan thanks for the response.
Boom...! I got it!

Not photo-shopped! 😄
This is what I manually did:

Figured out where the $app_name binary is located
Created a *.desktop file with following content:

[Desktop Entry]
Version=1.0
Type=Application
Name=demo_app
Exec=/home/$USER/Documents/Workspace/GitHub/Flutter/LearnFlutter/demo_app/build/linux/debug/./demo_app
Icon=/home/$USER/.icons/flutter.png
Comment=Welcome to the flutterverse!
Categories=Development;
Terminal=false
StartupNotify=true;

If we automate it, the sequence goes like this:

Put a template *.desktop file at ~/.local/share/application/ and put an app icon at ~/.icons/
Then link the icon to the desktop file as Icon=/home/$USER/.icons/flutter.png

These two steps need to be done only once and can be executed at either flutter create - project creation or at flutter SDK installation time.

Watch the  ~/.../demo_app/build/linux/debug for the creation of $app_name binary. This can be accomplished by many tools like inotify-tools (C) or watchdog (python). (I think inotify is better as it comes pre-installed in most Linux system).

The file creation event in the previous step triggers an action which appends the *.desktop file at

Name= with the $name of the debug application.
Exec=  with the absolute path to the debug binary.
(with some regex matching).

That's it!
Can I script this 🤔?

Watch the ~/.../demo_app/build/linux/debug for the creation of $app_name binary.

It would be far easier to just add an install target to your Makefile that makes and installs a .desktop file.
To be clear, the issue isn't that building that into Flutter would be difficult, it's that it's not particularly useful in the long term since building and running Flutter applications from source is not what I expect the usual distribution model to be.

On Thu, Mar 26, 2020 at 12:22 PM stuartmorgan<EMAIL_ADDRESS>wrote:

Watch the ~/.../demo_app/build/linux/debug for the creation of $app_name
binary.
It would be far easier to just add an install target to your Makefile
that makes and installs a .desktop file.

I think that's desirable.  We should provide a skeleton desktop file,
probably as part of the template.  Same for an application icon, probably a
stub icon that can be replaced by the app developer.  The desktop file and
icon would then be installed via the build system to the appropriate
locations relative to DATADIR.  I'd be happy to help with that.

To be clear, the issue isn't that building that into Flutter would be
difficult, it's that it's not particularly useful in the long term since
building and running Flutter applications from source is not what I expect
the usual distribution model to be.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/53229#issuecomment-604527272,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAANMBLO2OAR22DAJO5QDZTRJN6MPANCNFSM4LTIAVFA
.

--
Ubuntu - "I am what I am because of who we all are"

It would be far easier to just add an install target to your Makefile that makes and installs a .desktop file.

Yes, that would be the better approach.

To be clear, the issue isn't that building that into Flutter would be difficult, it's that it's not particularly useful in the long term since building and running Flutter applications from source is not what I expect the usual distribution model to be.

Yes, may not be... but there are people like me who want to packages things with AppImages Flatpak or Snap but find it difficult to do so. I think flutter can fill that void, at least for web apps.

I have snapped a flutter app which you can use as an example.
https://github.com/kenvandine/lightning-talk-gong
I worked around the lack of desktop and icon files installed by the build system by including them in the snap packaging.

@kenvandine In the new CMake build, there's an "install" step that is always run on each build just to make a self-contained bundle with the files in the right relative locations in the build directory. That provides an ideal hook for doing a .desktop file even for development builds.
Are you interested in taking on adding that to the template?

@stuartmorgan sure, can you assign this to me?

@kenvandine Is this still something you are planning on implementing?

Yes, I'll get to it next week

https://github.com/go-flutter-desktop/hover It might be worth looking at how go-flutter has an icon when you build with it you can place an icon in /go/assets and the program has it after building

Going to bump the milestone since we've passed july

Bumping to september milestone

Capturing from discussion with @kenvandine, for the flutter run case where the .desktop file ideally shouldn't be installed, we can add gtk_window_set_icon_from_file to the template.

@kenvandine Did you want to do the non-desktop-file version of this, or should someone else take this bug over?

@gspencergoog I won't be able to do this right now.  It'll need a gresource added to handle storing the icon without path issues as well as the API call to set it.  The gresource bit will primarily be cmake changes.  I'm not sure how to do that in cmake off hand.

Since we already have a number of binary-relative resources for a Flutter application, we could potentially put the icon there and get its path the same way.

It would be nice and maybe sufficient to explain how to setup the app icon in the Linux deployment documentation.
I have created a blog post on how to do this here: https://dev.to/janux_de/flutter-linux-desktop-icon-5gfm

It would be nice and maybe sufficient to explain how to setup the app icon in the Linux deployment documentation.
I have created a blog post on how to do this here: https://dev.to/janux_de/flutter-linux-desktop-icon-5gfm

Launching with a .desktop file has the icon show up in the panel / launcher, however it doesn't seem to affect the icon in the window frame.

@Merrit I have the same problem, how do you solved it?

@ferraridamiano I have no clue. I had already tried:

flutter clean
Debug & release versions
Reload plasma & kwin
Reboot

... to no effect. I gave up looking at it for the time and worked on some other things.. and then noticed while working that the icon was present. :woman_shrugging:
I have since tried adding the desktop file in my releases on various Linux distros and not had any issues again so far.
Here is what my .desktop file looks like for reference (~/.local/share/applications/myapp.desktop):
[Desktop Entry]
Version=2.0-alpha.1
Type=Application
Name=myapp
Comment=My awesome Flutter app
Exec=/home/merritt/Applications/myapp/myapp
Icon=myapp
Terminal=false
StartupNotify=false
Categories=Utility;

@Merrit

Edit: Now it is working to replace that icon..

might you possibly have a myapp.{svg,ico,png} in your /usr/share/icons/ directory?

might you possibly have a myapp.{svg,ico,png} in your /usr/share/icons/ or `. directory?

Yes, the Icon= line in the .desktop file has to be either:

the name of an icon on the system in:

/usr/share/icons/ or
~/.local/share/icons/

In KDE I can use the application Cuttlefish  to browse my installed icons and see their names:

So if I wanted this phone icon that corresponds to call-end-symbolic.svg the Icon line of my .desktop file would read:

Icon=call-end-symbolic

or

The full path to an icon file. For example if my application was portable rather than installed, I might have the icon in the app directory and specify that, for example if the portable application was housed in ~/Applications:

Icon=/home/username/Applications/appdir/appicon.png

Though it would be preferable to copy the icon to ~/.local/share/icons/ and refer to it by name, since that follows the XDG specs.
There are a couple of things to note as well:

.ico files are specific to Windows, on Linux it will be a .png or .svg file for the icon.
These steps will not have an effect on the debug version of your app when run from the IDE / CLI, only the compiled release version.
The .desktop file has to be installed in the correct location on the system for any of this to work, eg /usr/share/applications/ or ~/.local/share/applications/

everybody here thank you but i still didn't understand how can i chnage the icons for flutter desktop application could anyone hve a little time to help me figure out for that and thank you

Best And Simple is to use   gtk_window_set_icon_from_file function
Edit Your my_application.cc file which is inside Linux folder  linux/my_application.cc

before  line gtk_widget_show(GTK_WIDGET(window));
add new line gtk_window_set_icon_from_file(GTK_WINDOW(window),"assets/icon.ico",NULL);
Icon recommends 48x48 pixel

You shouldn't just ignore the error. See my message above. I implemented exactly that but with printing a warning. Also .ico is a really unsual format for linux and I don't know if that even works with GTK. Better use svg or png.

.ico perfectly working in GTK.
Thanks, buddy I learn something new I change it .ico to png

Best And Simple way is to use gtk_window_set_icon_from_file function
Edit Your my_application.cc file which is inside Linux folder linux/my_application.cc

before  line gtk_widget_show(GTK_WIDGET(window));
add new line gtk_window_set_icon_from_file(GTK_WINDOW(window),"assets/icon.ico",NULL);
Icon recommends 48x48 pixel

Hi @sidhu-patil !
Where is your assets folder is located?
My project tree:

I got this error:

@schigabiga please also add assets/icon.ico in your pubspec.yaml
  assets:
    - assets/icon.ico

I think the correct way to do this is to follow the conventions documented here: https://penguin-carpentry.readthedocs.io/_/downloads/en/latest/pdf/
See Icon File Formats, obviously this is beyond the scope of flutter so should really be part of the application installation process.

Best And Simple way is to use gtk_window_set_icon_from_file function
Edit Your my_application.cc file which is inside Linux folder linux/my_application.cc
* before  line `gtk_widget_show(GTK_WIDGET(window));`

* add new line `gtk_window_set_icon_from_file(GTK_WINDOW(window),"assets/icon.ico",NULL);`

* Icon recommends 48x48 pixel

it is working. Thank you. i will use debian file formating for packaging for icon path and .desktop file
i think flutter should add icon feature for linux desktop

1: Choose a 48x48 photo
2: Add in the assets folder
3: Add the following line in the my_application.cc file in linux folder
gtk_window_set_icon_from_file(window, "assets/icon.png", NULL);

gtk_window_set_icon_from_file is for setting icon in gtk.

@mbfakourii I tried the above suggestion but still getting gear. when you say 48x48 that is 48x48 pixle?
Ubuntu version 22.04 LTS
Flutter 3.19.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 68bfaea224 (6 weeks ago) • 2024-03-20 15:36:31 -0700
Engine • revision a5c24f538d
Tools • Dart 3.3.2 • DevTools 2.31.1
I am ubuntu 22.04 LTS
I have updated pubspec.yaml and I do see the image in data/flutter_assets/assets/icon.png
I am missing something?

On linux, first you need to publish your app ("flet build linux").
Afterward, create a file named "nameyourapp.desktop" at {your_home}/.local/share/applications
Inside nameyourapp.desktop, type all the information for your app and save it:
[Desktop Entry]
Name=Name of your app
Comment=Description of your app
Exec=the-path-to-your-executable-file
Icon=the-path-to-your-icon-app.png
Terminal=false
Type=Application
StartupWMClass=the-name-of-your-executable-file
Categories=your-choice-here;

Maybe you need to log out and log back in for the changes to take effect.
The StartupWMClass is essential as it teaches your launcher manager how to associate the window on the desktop environment's window manager with the launcher's icon.
This method worked on my Fedora 39 and 40 with Gnome.
The WM_CLASS is basically the name that the desktop environment's window manager associates with a window of a running program.
Usually, by default, this WM_CLASS attribute of the program published by flet build linux is the same name as the executable generated by flet.
If it's not the same, checking the WM_CLASS name is quite simple.
If you are using Wayland, start your flet program by the generated executable and then, with the program open, press ALT + F2, type "lg" and press Enter, then click on "Windows" and check the name associated with the wmclass of your program.

@luizmarinhojr, this requires a separate file, essentially "installing" the binary to your system, or at least locking down the location. Does GNOME support icons bundled with a binary, as far as you are aware?

any update？

For anyone facing icon issues on Wayland despite having setup a .desktop file, such as the icon not showing on the window decorations, task switchers and Overview-type effects:
A fix has been merged to resolve this for newly created projects in the future, and can be applied to existing projects like so:
Add g_set_prgname to the function at the end of the linux/my_application.cc file:
MyApplication* my_application_new() {
+ g_set_prgname(APPLICATION_ID);

  return MY_APPLICATION(g_object_new(my_application_get_type(),
                                     "application-id", APPLICATION_ID,
                                     "flags", G_APPLICATION_NON_UNIQUE,
                                     nullptr));
}

Also ensure that in the linux/CMakeLists.txt file, the line set(APPLICATION_ID "<your_app_id>") is set to your desired application ID (often the reverse domain name of your app, e.g. com.example.myapp).
Now if the app's .desktop and icon files are named the same as the application ID, the app's window should be correctly associated and the icons should show up correctly. (e.g. com.example.myapp.desktop and com.example.myapp.svg)


Add some documentation about content server APIs

We have a many different endpoints exposed by the content server. However, they are not documented anywhere. It's a pity, because there is a lot of information that could be used for many different use cases.
We need to write this documentation, and expose it in a way that the community can read it, and use it. It might make sense to add it to https://docs.decentraland.org/

The current documentation for Content Server API is in https://github.com/decentraland/catalyst/blob/master/docs/content-server-api/CONTENT_SERVER_API.md

This issue is closed and deployed in https://decentraland.github.io/catalyst-api-specs/


Support Using encryption at rest for Task Data

Describe the feature
Webhooks typically have embedded secrets in some combination of URL, headers, and body.
The ability to securely store the data at rest is critical.
The proposed model here is to support a configuration-based plug-in model where an assembly can be dynamically loaded at startup and registered in the DI container.
Example configuration:
{
    "Encryption": {
        "Enabled": true, // Enables or disables encryption
        "EncryptionProvider": {
            "Type": "WebScheduler.Plugins.Encryption.Providers.VaultAESEncryptionProvider, WebScheduler.Plugins.Encryption",
            "Options": { // Options are specific to the provider
                "Mode": "CBC",
                "KeySize": "256",
                "Padding": "PKCS7",
                "IVSize": "128",
                "VaultConfiguration":{
                    "VaultAddress": "https://vault.mycorp.com:8200",
                    "Role": "WebScheduler.Server",
                    "Secret": "Sup3rS3cr3t", // This would come from ENV vars as TaskMetadataOptions__Encryption__KeySourceProvider__Options__Secret.
                    "MountPath": "secret/web-scheduler/TaskMetaDataOptions",
                    "SecretType": "encryption-key"
                }
            }
        }
    }
}

On startup, configuration will be evaluated and the type dynamically loaded based and added to the DI container.
The ScheduledTaskGrain and the ScheduledTaskHistoryGrain will have the encryption provider injected and will use it if enabled and configured.
public interface IEncryptionProvider {
   Task<string> Encrypt(string grainId, string value);
   Task<string> Decrypt(string grainId, string value);

   Task<byte[]> Encrypt(string grainId, byte[] value);
   Task<byte[]> Decrypt(string grainId, byte[] value);
}

Values to be encrypted:

URLs
Header Values
Request Bodies
Audit History

Instead of the complexity described above; https://github.com/ElanHasson/Orleans.StorageProviderInterceptors is probably the better approach.


Fix Versioning

HOLD. This commit should be cheery-picked into the final version before v1.1 release


ERROR: /opt/steamcmd/steamcmd.sh: line 37: /opt/steamcmd/linux32/steamcmd: No such file or directory

I'm trying to run the program with docker on an arm device through an option called "platform".
Here is my docker compose:
`version: "3"
services:
server-manager:
image: seejy/assetto-server-manager:latest
container_name: "assetto-server-manager"
platform: linux/amd64
ports:
# the port that the server manager runs on
- "8772:8772"
# the port that the assetto server runs on (may vary depending on your configuration inside server manager)
- "9600:9600"
- "9600:9600/udp"
# the port that the assetto server HTTP API runs on.
- "8081:8081"
# you may also wish to bind your configured UDP plugin ports here.
volumes:
# volume mount the entire server install so that
# content etc persists across restarts
- /apps/assetto-server:/home/assetto/server-manager/assetto
- /apps/assetto-server/config.yml:/home/assetto/server-manager/config.yml`

But i get an error from the steam script when is trying to run the 32 bits version:
/opt/steamcmd/steamcmd.sh: line 37: /opt/steamcmd/linux32/steamcmd: No such file or directory

dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc-s1

dpkg --add-architecture i386 apt-get update apt-get install lib32gcc-s1
apt-get update
apt-get install lib32gcc-s1

Helped

root@debian:~# apt-get install lib32gcc-s1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
lib32gcc-s1 : Depends: libc6-i386 (>= 2.35) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


[Update] Edit features using feature forms discard button icon

Description
This PR updates the Edit features using feature forms "Discard Edits" button to use xmark.circle instead of x.circle since the former is more commonly used for "close" or "dismiss" (a suggestion from Ryan).
Linked Issue(s)

swift/issues/6062

To be honest, I didn't realize there are 2 circled X symbols available…


Add full intent name to ranked responses

Proposed changes:

When using a ResponseSelector a user action has access to the full_retrieval_intent property for the predicted response. Additionally, the ResponseSelector provides a ranking of all predicted responses with only the properties ´nameandconfidence`.

For downstream tasks it would be useful to have the full_retrieval_intent property also available for the ranked responses. This PR adds this feature.

Status (please check what you already did):

[x] added some tests for the functionality
[ ] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

Thanks for submitting a pull request 🚀 @melindaloubser1 will take a look at it as soon as possible ✨

@tmbo I extended a test to cover the ranking property and make sure it has a full_retrieval_intent property.


Implement Async for DataprocSubmitJobOperator

Implement async versions for the following operator

[ ] DataprocSubmitJobOperator

Acceptance Criteria:

[ ] Unit Tests coverage in the PR (90% Code Coverage -- We will need to add CodeCov separately to measure code cov) with all of them passing
[ ] Example DAG using the async Operator that can be used to run Integration tests that are parametrized via Environment variables. Example - https://github.com/apache/airflow/blob/8a03a505e1df0f9de276038c5509135ac569a667/airflow/providers/google/cloud/example_dags/example_bigquery_to_gcs.py#L33-L35
[ ] Add proper docstrings for each of the methods and functions including Example DAG on how it should be used (populate
[ ] Exception Handling in case of errors
[ ] Improve the OSS Docs to make sure it covers the following:

[ ] Has an example DAG for the sync version
[ ] How to add a connection via Environment Variable & explain each of the fields. Example - https://airflow.apache.org/docs/apache-airflow-providers-postgres/stable/connections/postgres.html
[ ] How to use Guide for the Operator - example: https://airflow.apache.org/docs/apache-airflow-providers-postgres/stable/operators/postgres_operator_howto_guide.html

DataProcSubmitJob  example dag from OSS was failing to create cluster.
Have implemented operator and trigger for the DataProcSubmitJobAsync need to do testing.

As discussed, please wrap the connection call with sync_to_async and then we should be good with the development.Expecting to see a draft PR created with this change.

sync_to_async connection is done in hooks


s3 uploadfs

I have been trying to get apostrophe going with s3 to no avail.. I have test my buckets with node test apps(not apostrophe) and its working..
Here is my config in app.js:
uploadfs: {
backend: 's3',
secret: 'AK...',
key: 'GFD.....',
bucket: 'apos2'
region: 'us-west-2'
},
Are there any other places you need to add settings ?

It looks like you are commenting out the closing } which would be strange.
I'm going to guess this isn't literally what you have, and it isn't your
actual secret and key I hope...
On Mon, Jun 1, 2015 at 5:49 PM, Lee Blazek<EMAIL_ADDRESS>wrote:

I have been trying to get apostrophe going with s3 to no avail.. I have
test my buckets with node test apps(not apostrophe) and its working..
Here is my config in app.js:
uploadfs: {
backend: 's3',
secret: 'AKIAJ72NY4ZFVEJTZPCQ',
key: 'GFD/WcQeicpVROpB0r4x9ybusKe+GiE8oRnxTSFM',
bucket: 'apos2'
// region: 'us-west-2'
// },
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/apostrophe/issues/258.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

You had your key and secret backwards. (:
So you need to fix that, but you also need to change your key and secret
immediately! Any S3 credentials put in a public github issue will be
found by malicious bots. So get on that.
On Mon, Jun 1, 2015 at 7:43 PM, Tom Boutell<EMAIL_ADDRESS>wrote:

It looks like you are commenting out the closing } which would be strange.
I'm going to guess this isn't literally what you have, and it isn't your
actual secret and key I hope...
On Mon, Jun 1, 2015 at 5:49 PM, Lee Blazek<EMAIL_ADDRESS>wrote:

I have been trying to get apostrophe going with s3 to no avail.. I have
test my buckets with node test apps(not apostrophe) and its working..
Here is my config in app.js:
uploadfs: {
backend: 's3',
secret: 'AKIAJ72NY4ZFVEJTZPCQ',
key: 'GFD/WcQeicpVROpB0r4x9ybusKe+GiE8oRnxTSFM',
bucket: 'apos2'
// region: 'us-west-2'
// },
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/apostrophe/issues/258.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Thanks that fixed it.  Yes my secret and key were back wards. Silly overlook.. Apologies


🐞 How get token basic auth for api?

What happened?
How get token basic auth for api?
Reproduction Steps
1. create auth user
2. get device by api

Relevant log output
No response
Screenshots or Additional Context
No response
Application Version
4.11.0
Verification

[X] I have checked for existing closed issues and discussions.

This is not a bug. You can move to discussion;
It's a normal basic authentication. you just need to add header Authorization basic Header with a B64 User and Password

please example request authorization on api


A way to sleep or set spawnpoint in the pocket dimension

Doing this also means that should have a method of leaving the dimension without a controller, not dropping the item on death, or transfer data between controllers.
Your mod have a Lot of potential, thanks.

Yeah that's a great idea! What do you think, maybe a /return command that does the same as using the controller used to enter the dimension?

Thank you for the compliment! You made my day. I never thought someone would actually care about my mod!


How can I dismiss the overlay?

I did not find a way to dismiss the overlay. I tried to add a hidden notch, with an absolute height of 0. But that stays on top of the safe area, so still visible. If I would remove the modifier conditionally, I would lose the animation to dismiss.

Hello @martindaum,
You can ignore the safeArea by using the ignoresSafeArea modifier:
enum Notch: CaseIterable, Equatable {
    case hidden, min, max
}

struct RootView: View {

    @State
    private var notch = Notch.min

    var body: some View {
        Button("Show/Hide") {
            withAnimation {
                notch = state.notch == .hidden ? .min : .hidden
            }
        }
        .dynamicOverlay(Color.blue)
        .dynamicOverlayBehavior(behavior)
        .ignoresSafeArea()
    }

    private var behavior: some DynamicOverlayBehavior {
        MagneticNotchOverlayBehavior<Notch> { notch in
            switch notch {
            case .hidden:
                return .fractional(0.0)
            case .max:
                return .fractional(0.8)
            case .min:
                return .fractional(0.3)
            }
        }
        .disable(.hidden)
        .notchChange($notch)
    }
}

Damn, so simple! 😄  Thank you, that works!


Update req dependency to allow 0.5.x

In order to maintain compatibility with recent releases of other gems (e.g. swoosh), update the req dependency to allow 0.5.x.

Also, this doesn't seem to be passing. Can you please make whatever additional changes are required to get it to work on 0.5.x ?

Also, this doesn't seem to be passing. Can you please make whatever additional changes are required to get it to work on 0.5.x ?

Yes, I'll take a look at that now.

Also, this doesn't seem to be passing. Can you please make whatever additional changes are required to get it to work on 0.5.x ?

It looks like the failure occurs when testing with elixir 1.12, because newer versions req only support 1.13 and above. Specifically, the use of `Keyword.validate!/2 is what causes the error (because it's not available in elixir 1.12).
I will update the CI matrix to account for the ineligible version.

Thanks for the merge!


About interactiveness AP

Thank you for your work.
I have a little issue about computing interactiveness AP. I found that you compute it only based on box score instead of considering the binary score in binary_evaluation.py. So I confuse about this.

One thing that confused me is when printing the "vs"(verb_scores) in hoi.py, logits for all the 117 verbs are the same. It means that the model does not predict the verb, right?


SavaAll

Issue Type: Feature Request
SaveAll feature not activated it is showing blank.
VS Code version: Code 1.53.2 (622cb03f7e070a9670c94bae1a45d78d7181fbd4, 2021-02-11T11:48:04.245Z)
OS version: Windows_NT x64 10.0.18363

Do you mean this menu item?

For me this activates when at least one of my open files has unsaved changes.

Yes
On Wed, 17 Feb 2021, 3:09 pm John Murray<EMAIL_ADDRESS>wrote:

Do you mean this menu item?
[image: image]
https://user-images.githubusercontent.com/6726799/108185143-e70a8900-7103-11eb-80cd-c0bc3d4f0b2f.png
For me this activates when at least one of my open files has unsaved
changes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/116837#issuecomment-780430247,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALZ4VENUU43SCZX3T5CEA4TS7OFF3ANCNFSM4XX7R6FA
.

Ok. Thanks for updating..
On Wed, 17 Feb 2021, 3:11 pm siva kumar<EMAIL_ADDRESS>wrote:

Yes
On Wed, 17 Feb 2021, 3:09 pm John Murray<EMAIL_ADDRESS>wrote:

Do you mean this menu item?
[image: image]
https://user-images.githubusercontent.com/6726799/108185143-e70a8900-7103-11eb-80cd-c0bc3d4f0b2f.png
For me this activates when at least one of my open files has unsaved
changes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/116837#issuecomment-780430247,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALZ4VENUU43SCZX3T5CEA4TS7OFF3ANCNFSM4XX7R6FA
.

@kumarvani please close your issue unless you need more help.

issue solved

Ok Sure
On Wed, 17 Feb 2021, 3:15 pm John Murray<EMAIL_ADDRESS>wrote:

@kumarvani https://github.com/kumarvani please close your issue unless
you need more help.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/116837#issuecomment-780433854,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALZ4VEIJNPCDQCA76LNUSMDS7OF43ANCNFSM4XX7R6FA
.


Update Composer dependencies (2024-09-08-00-18)

Visual regression test passed!
View the visual regression test report


feature/bench

when closed this PR will resolve the following issues:

[ ] : Add sema.bench to sema submodules

unclear why the check fails though ...


Creating a DO cloud creadential - Text under Textbox is too close to the textbox

Validated that it looks better


How to get a set of resources to load data correctly after being offline

Hey Paul!  You'll be happy to know that we've gone live with our Siesta/CouchDB powered change to our iOS app, as described here.  I'm happy to say that Siesta is performing like a champ and is working just as advertised, I'm very happy we chose to use it!  The offline use of Siesta with an EntityCache implementation behind it was an important feature of Siesta for us, and is also working well, with one issue as described below.
The conditions are this:
The user has a list of articles they want to get data about, so we are chopping our list into a smaller list of URLs, each of which specifies 20 article IDs in the query.  If the user tries to look at their list while offline, we're using cached data, and it works appropriately.  However, when the user goes back online, only 1 of the Resources latestError is not nil, and the others don't reload.  I've tried to step through the code and see the problem, but it works correctly when I'm stepping through it!  This makes me think there's some timing issue at play.  If you have any ideas for scenarios for me to test, please let me know.
I would love your help and advice, and keep rocking it with Siesta!

I'm delighted to hear it's working well for you in general!
I'd certainly need more detail about the problem you're encountering to diagnose it. A project that reproduces the problem is the best, of course. Logs would also be helpful. With sufficient detail, Siesta's logging should say what state those zombie resources think they're in.

I have found a different way of triggering what I believe is the same problem.  I have an excerpt from a debug log here.
This is my first use of Siesta after app start, and my persistent cache is empty.  I request several URLs in succession.  The lines of the form "Got 	0 articles out of the cache using..." are coming out of my persistent cache, and are being triggered from Siesta.  There are 19 lines like this, so Siesta made 19 requests for cached data, which is the number I expect given the amount of data I was trying to retrieve.  The worrying part is that there are only 6 GET requests being sent for that set of 19 requests.  There are also only 6 URLs mentioned in the staleness checks.  Some are are mentioned in more than one staleness check, which I don't think should be happening, since I'm only requesting each one once.    There is a gist of the output of this set of requests being made with .all turned on for Siesta logging here.  As you can imagine, this file is slightly bigger!
I found this problem because I'm implementing some performance improvements which have the side effect of not requesting data from Siesta quite as often when I first display a list of articles.  I hadn't noticed this problem before this point because subsequent calls to Siesta concerning the missing URLs do work.  My performance improvements are going to have to wait until we figure out what is going on in Siesta!  I have yet to be able to reproduce this problem in a test or other more controlled situation.
Let me know if you have any other tests you would like me to do.
Jordan

Wait a sec @pcantrell!  Let me look into this some more, it might be that my "performance improvements" are asking for the wrong data!

@jordanpwood: I lost track of this issue; my apologies. Did you manage to determine if this bug was really a bug or not?

Well, my "related problem" turned out to be something else; I wasn't properly setting the timestamp on the data coming out of my EntitiyCache implementation.  Its possible that my original problem was related to that, but I don't exactly know how.  I've not reproduced the original problem since I made my entity cache changes (plus some changes where I more intelligently request data from Siesta).
I'll close this issue, and reopen it if I see the problem again.
Thanks again, Paul!


java and spring boot support

does mongoBumblebee supports java 8 and spring boot 2.0.4?
what is the minimal java and spring-boot versions support?

Hi, MongoBumblebee itself does not require Spring Boot. With small changes Java 8 would be sufficent. BUT:
"The Spring Data MongoDB 4.x binaries require JDK level 17 and above and Spring Framework 6.1.5 and above." See https://docs.spring.io/spring-data/mongodb/reference/preface.html


input() does not work

Hello,
Thank you so much for creating this project! It has been a valuable resource for me. I have a suggestion for a potential improvement - currently, the input command of Python is not working within your library. I was wondering if it would be possible to add an alert box that waits for user input instead? This would greatly enhance the user experience and make this lib even more useful.
Thank you for considering my suggestion.
Sincerely,
Oliver

Hi, thanks for your interest in the project. The behavior of stdin is controlled by Pyodide, the Python distribution we use, which calls a Window.prompt() to collect user input and blocks execution on the main thread. This behavior is not currently extensible, as blocking the main thread is a special case and is only allowed for a handful of methods. However, there is active development working toward a solution to this issue and we hope to have input() usage patched in the near future.
In the meantime, depending on your use case, you may be able to use some alternatives to stdin:

If you're anticipating input from a user, you could render a separate input field for user input and assign the result to a variable in Python.
You could override the built-in input() function to provide a mock input value.

I understand that either of these approaches may not fully replicate the functionality of input() for certain use cases, such as teaching purposes.
I've added a new page to the documentation site addressing this issue and have included some examples, User Input.
Since modifying the Python distribution is outside the scope of this project, I will close this issue for now. However, please don't hesitate to reach out if there are any changes that can be made to this library to improve your use case. Keep an eye on the documentation site, as I will make updates there as soon as there are any developments on this issue.

Thank you, your workarounds are great!

@oschade the latest version of react-py now supports a patch for stdin. You can try in out here, please let me know if you encounter any issues with using it in your project.


basic createTemplate task

wildbit/mailmason#25

simplified the configuration so that the user just specifies a set of templates in this form:
templates.json:
{
  "confirm_email": {
    "subject": "SiteWorx: Confirm your email",
    "htmlBody": "dist/confirm_email.html",
    "textBody": "dist/confirm_email.txt"
  }
}

or in the Mailmason Gruntfile:
"postmark-templates": {
  "confirm_email": {
    "subject": "SiteWorx: Confirm your email",
    "htmlBody": "dist/confirm_email.html",
    "textBody": "dist/confirm_email.txt"
  }
}

The next step will be to use a templateID for update if it appears in the configuration.
I'd also really like to write out a json file when the copies are finished with the new {name, templateID} pairs (possibly the templates.json file) because I need this information to configure my template-using app.

@derekrushforth @hybernaut  Hello guys, any progress on this PR? It's already done or have some critical issues?

Any updates on this PR? Would love to have this to help with our automated builds.

I have not looked at this in a while, but I've been using it regularly since filing the PR.


Desync encountered

Product and Version [VS/VSCode]:
OS Version [macOS/Windows/Linux]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
What were you doing when you encountered the desync?
I was changing a js file. Host was on a Windows machine.
How often have you encountered desyncs?
Many times in the last three days.

@iohcidnal: thanks for reporting this issue! Can I ask what version of the Live share extension you have installed? There was a known issue with our previous release when the Host or Guest were using VS Code Insiders. That has been fixed in the latest market place release: 1.0.1615
If you can still repro the issue with the latest release are there repro steps that lead up to the desync? (ex: cut & pasting code, undoing code, etc.)  Also, your logs may provide us with helpful information. You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue.
@daytonellwanger for follow up if you can still repro and can provide us with a few more details

Closing this due to inactivity. Please reopen it if you’re still encountering the issue. Thanks!


[Untested] Update by.css regex

Untested.
Should fix the by.css regex to allow any selector.
Also, removed unnecessary check for case-sensitive "by". Made unnecessary by the /i part of regex

This PR doesn't address the fact that in HTML5 ' and " are unnecessary as well.

@stramel really appreciate your fix, but I've just merged the design-refactoring branch into master.
In the new code structure I'm no longer using regex, instead I'm extracting the selector strings by using esprima + ast-traverse. Check lib/find-selectors.js for more details.


[cluster] roles: cluster_deploy_operator: tasks/main: do not fail if our operatorgroup exists

…

/test rhoai-light notebooks

test passed, merging


Can't un-sign CLA agreement

Users cannot un-sign the CLA agreement short of starting a new Github account. I personally wish to expunge my signature to the agreement.

The CLA is a contract. How would "unsigning" it even work? Any contributions you've previously made remain bound by that, and nothing forces you to contribute in the future.

Drop the record associated with this account from the MS SQL Server database for CLA agreements Microsoft operates for the repo, of course.

Hi,
The CLA Assistant can note the date that you wish to no longer accept the CLA as 2/12/2020, can you confirm @shogerr that this is what you would like the system to reflect?
In the future, you will be able to sign the CLA again, if you wish, and from that date forward any additional contributions would be covered again.

Yes, please remove my account from the CLA.

@shogerr we have completed your request and terminated your CLA agreement with Microsoft as of today, 2/13/2020.
@chrisdias feel free to close this issue.


Update sessions.md

fix typo
"(or options for creating a cookie, ..."
-->
"(for options for creating a cookie, ..."

Closes: #

[ ] Docs
[ ] Tests

Testing Strategy:

Thanks!


numeral.validate does not work as expected [CASES]

Hi,
Appreciate your work for making number formatting in js easy.
I'd like to make use of numeral.validate function but I can't rely on it in it's current shape.
Below are cases that are not working as expected:

numeral.validate("3k") gives false while locale.abbrevations.thousands == 'k' ( numeral.validate("30k") works fine )
numeral.validate("1st"); numeral.validate("50th") gives false (ordinals are not being validated at all)
Function works only if decimal and thousands separators are standard (. and ,). If you change thousands operator to e.g. ' then numeral.validate("1'000'000.00") gives false. numeral.validate("1,000,000.00") still works so it feels like locale setting is not applied properly.

Thank you for justifying or fixing the issues.
Regards,
Rafal

@rczechowicz Have you figured this out or have you used some different library for a validation?

@FredyC I've managed to fix the third bullet from the above list (cause that was all I needed for my implementation).
Here's how to do it: in the numeral.validate() function define a new variable, let's call it _matchRegEx.
Then change Line 547 of the code, with the following:
	_matchRegEx = new RegExp('[^\\d'+"\\"+localeData.delimiters.thousands+"\\" + localeData.delimiters.decimal+']', 'g');
            if (val.match(_matchRegEx) === null) {


CHIEBUKA NNABUGWU

Hello everyone! Please use this checklist over the next few weeks as you go through your open and reproducible science journey :tada:.
Week 3: Your first repository

[x] Create a public repository in your account and add a readme file
[x] Add your group members as collaborators
[x] Add an issue to your new repository, describing a problem you want to work on
[x] Create a new branch
[x] Create a draft pull request
[x] Make changes to your branch and commit them
[x] Change the draft pull request to "ready for review"
[x] Ask your group members to review your changes
[x] When you get approval from the reviewers, merge the pull request and delete the branch
[ ] Comment on this issue with a link to your repository, and any comments or questions you have about GitHub

Week 4: Version control via RStudio

[ ] Install Git on your local computer and connect it to RStudio
[ ] Clone the repository you created last week to an RStudio project on your local computer
[ ] Add an issue to your new repository, describing a problem you want to work on (you need to do this on GitHub, you can't do this in RStudio)
[ ] Create a new branch in Rstudio or GitHub
[ ] Make a few changes in RStudio, stage and commit them (e.g. edit the Readme file, or add a new Rmarkdown file)
[ ] Push the changes to the remote GitHub repository
[ ] Create a draft pull request (you need to do this on GitHub, you can't do this in RStudio)
[ ] Go back to RStudio, make a few more changes, stage, commit them and push them to the remote GitHub repository
[ ] Change the draft pull request to "ready for review"
[ ] Ask your group members to review your changes
[ ] When you get approval from the reviewers, merge the pull request and delete the branch
[ ] Optional: comment on this issue with any comments or questions you have about Git or GitHub

Week 7: R and GitHub Practice

[ ] Create a new public repository called "hospital-admissions" on Github with a readme file
[ ] Add your group members as collaborators
[ ] Clone the repository to an RStudio project on your local computer
[ ] Create an appropriate folder structure according to the good coding practices we discussed in the "Open Code" unit
[ ] Download and save population_demographics.csv and the data dictionary in the appropriate folder
[ ] Add an appropriate issue on GitHub, a related branch and pull request, and create an R markdown file in the appropriate folder to read in and explore the demographics data
[ ] Get your code reviewed by your group members
[ ] Merge!
[ ] Comment on this issue with a link to your repository, and any comments or questions you have about Git or GitHub

Week 9: Joining datasets

[ ] Add an appropriate issue to your "hospital-admissions" repository, a related branch and pull request, and add code to join the demographics and hospital admissions datasets
[ ] Get your code reviewed by your group members
[ ] Merge!
[ ] Optional: comment on this issue with any comments or questions you have about Git or GitHub

Week 10: R revision

[ ] Add an appropriate issue to your "hospital-admissions" repository, a related branch and pull request, and add code to summarise total time in hospital in 2020 by age and deprivation
[ ] Get your code reviewed by your group members
[ ] Merge!
[ ] Optional: comment on this issue with any comments or questions you have about Git or GitHub

https://github.com/ebukz/R-practice


Added support for replace mode

Please let me know if there is something I need to change or add in order for my pull request to be accepted.


Process and analyze needs updated info

URL
https://qgis.github.io/QGIS-Hugo/product/overview/
On what type of device(s) did you see this bug?
No response
On which browser(s) are you seeing the problem?
No response
Other Browser
No response
Summary
The Screenshot should show the new Temporal Controller and the number of algorithms should be filled in:

Note link now at https://qgis.github.io/QGIS-Hugo/project/overview/ ... and I guess somebody wants the time manager to live on :-P


Created Catalog of my things in Ruby

Catalog of my things
For this group project, we created a console app that will help users to keep a record of different types of things they own: books, music albums, movies, and games. The data will be stored in JSON files but we also prepared a database with multiple tables structure analogical to our program's class structure.
The implementations on this project include:

Create different classes following the UML diagram from the requirements
Create a UI that allows the user to choose different options
Make a main.rb file as the entry point of our app
Store data in local JSON files for each class
Create Unit tests using Rspec for each class
Create an SQL file containing the data to make tables mirroring the UML diagram

The project was divided as follows:
Team member 1, in charge of the Book and Label classes, was assigned to @sebalp100
Team member 2, in charge of the Music Album and Genre classes, was assigned to @SimonGideon
Team member 3, in charge of the Game and Author classes, was assigned to @enoqueJonas
To use this app the user needs to use this command on their console: ruby main.rb and follow the prompt instructions

New Video showcasing the project: https://drive.google.com/file/d/1OOyInHbQWrhFQqn_MLMZ4CqsPqn0ePsJ/view?usp=sharing

New video added 👍


is possible to include also nested/related properties when $save (POST)?

example:
.factory('Address', function (restmod) {
      return restmod.model('/address');
})

.factory('Restaurant', function (restmod) {
     restmod.model('/restaurants').mix({
          address : { hasOne : 'Address' }
     });
});

.controller('AppController', function (Restaurant, SearchAddressService) {

    var self = this;
     this.restaurant = Restaurant.$build({name: 'Spaghetti'});

     this.chooseAddress = function () {
           SearchAddressService.search().then(function (address) {
                  self.restaurant.address = address;
           });
     };

     this.save = function () {
            self.restaurant.$save();
     };
})
```

```restaurant.$save()``` made a POST request with only ```{ name: 'Spaghetti'}``` as expected, but the REST api server that i have to consume expects also the nested address property:

```
//  POST /restaurants
{
   name: "Spaghetti",
   address: {
        id : 1
        lat : "20",
        lng: "19"
       // ....
   }
}
```

basically is possible to include also nested/related properties when $save (POST)?

I tried with a hook:
.factory('Restaurant', function (restmod) {
     restmod.model('/restaurants').mix({
          address : { hasOne : 'Address' },
           $hooks: {
                'before-save': function(config) {
                    config.data.address = this.address;
                }
            }
     });
});

The POST request works, but then the 201 response decode process results in a error.
at line 2481 TypeError: undefined is not a function angular-restmod-bundle.js:2481:25)
line 2481:
// ...
          this.attrDecoder(_attr, function(_raw) {
            this[_attr].$decode(_raw); // this['address'].$decode is undefined
          })
          .attrMask(_attr, Utils.WRITE_MASK)
          .attrMeta(_attr, { relation: 'has_one' });

Hi @hal9087,
We are planning support for nested attribute encoding for milestone 1.2.
For now, here is what we do in these scenarios (its very similar to your hook approach):
.factory('Restaurant', function (restmod) {
     restmod.model('/restaurants').mix({
          address : { hasOne : 'Address' },
           $hooks: {
                 // we use before-render instead, so everytime the object is encoded the address is included.
                'before-render': function(raw) {
                    // we copy the encoded child record (so the proper renaming/transforms/masks are applied).
                    raw.address = this.address.$encode();
                }
            }
     });
});

Hello @iobaixas, thank you!
I will replace with your approach .... can't wait for the 1.2 ... great job !


Can apply / read color to a fragment of text in a TextBlock

When I first made notion-py, this wasn't possible to do even through Notion itself, but it now looks as if it is.
Because we do automatic conversion to/from Markdown, which doesn't support specifying color, you can't directly set color to a part of the title (only to the whole block, using myblock.color). However, it looks as if you can manually set the property value directly using something like:
myblock.set("properties.title", [['Only '], ['this part', [['h', 'red']]], [' is colored']])
Not super clean -- but, possible! :)

Is there any way this method can be used to turn a specific chunk of text bold or italic as well? Markdown formatting seems to be getting ignored.


Invalid command tabcompletion/parsing

After testing multiple code variations, i have determined that there's a bug in Minestom's command system. The problem is within the sending of a DeclareCommandsPacket.
Test Case 1:
public class Test1Command extends Command {
    public Test1Command() {
        super("test1");
        ArgumentLiteral branch = ArgumentType.Literal("branch1");
        ArgumentLiteral branch2 = ArgumentType.Literal("branch2");
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 1");
        }, branch);
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 2");
        }, branch2);
    }
}

This code works as expected, with tabcompletion working as intended:

Test Case 2:
public class Test2Command extends Command {
    public Test2Command() {
        super("test2");
        ArgumentLiteral common = ArgumentType.Literal("common");
        ArgumentLiteral branch1 = ArgumentType.Literal("branch1");
        ArgumentLiteral branch2 = ArgumentType.Literal("branch2");
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 1");
        }, common, branch1);
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 2");
        }, common, branch2);
    }
}

If we add a common literal argument, which occurs in both branches first, then it still works as expected:

Test Case 3:
public class Test3Command extends Command {
    public Test3Command() {
        super("test3");
        ArgumentLiteral common = ArgumentType.Literal("common");
        ArgumentLiteral common2 = ArgumentType.Literal("common2");
        ArgumentLiteral branch1 = ArgumentType.Literal("branch1");
        ArgumentLiteral branch2 = ArgumentType.Literal("branch2");
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 1");
        }, common, common2, branch1);
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 2");
        }, common, common2, branch2);
    }
}

Here is where the bug starts to occur. If we add another common literal argument, then the tab completion only display the first branch:

The second branch still functions, but Brigadier alerts the user of illegal arguments:

However, after sending the command, the server will parse it correctly:

It chooses the first branch, because it is one of the longest branches, and it is the first one to be declared. This can be confirmed by the 4th and 5th test case.
Test Case 4:
public class Test4Command extends Command {
    public Test4Command() {
        super("test4");
        ArgumentLiteral common = ArgumentType.Literal("common");
        ArgumentLiteral common2 = ArgumentType.Literal("common2");
        ArgumentLiteral branch1 = ArgumentType.Literal("branch1");
        ArgumentLiteral branch2 = ArgumentType.Literal("branch2");
        ArgumentString additionalParam = ArgumentType.String("param");
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 1");
        }, common, common2, branch1);
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 2");
        }, common, common2, branch2, additionalParam);
    }
}

After altering the second branch by adding an additional parameter, the bug still occurs, but it confirms my earlier theory, as the only suggested branch becomes branch2 instead of the previous branch1:

Both of the branches function correctly after sending the command, but tab-completion will only occur on branch2.
Test Case 5:
public class Test5Command extends Command {
    public Test5Command() {
        super("test5");
        ArgumentLiteral common = ArgumentType.Literal("common");
        ArgumentLiteral common2 = ArgumentType.Literal("common2");
        ArgumentLiteral branch1 = ArgumentType.Literal("branch1");
        ArgumentLiteral branch2 = ArgumentType.Literal("branch2");
        ArgumentString additionalParam = ArgumentType.String("param");
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 2");
        }, common, common2, branch2, additionalParam);
        addSyntax((sender, context) -> {
            sender.sendMessage("Valid syntax 1");
        }, common, common2, branch1, additionalParam);
    }
}

Altering the command again, by adding the additional parameter to the first branch too, and switching the declaration order, so that the second branch (branch2)'s syntax gets added first. The result confirms the previous theory:

The second branch gets recommended, because it is the first one to be declared, and is the longest.
Note: The bug is probably located in CommandManager#buildPacket(Player).

Further research and debugging indicates that CommandManager#buildPacket(Player) creates a seemingly correct packet, but that is in fact not true. On the working test cases, packet it creates is correct (white boxes represent used nodes, and gray boxes represent unused nodes):

On non-working test cases, it appears the reason why they don't work, is that instead of appending to previous, already existing literal nodes with the same name, it instead creates an entirely new literal node, and appends that to the previous node's children. Brigadier finds the first one thats registered, and instead of combining the literal nodes with the same name, it ignores other nodes with the same name:

The code sorts the syntaxes by length, so the longer ones get registered first. This happens on the 4th and 5th test cases:


Wasserstein distance gets multiplied by 2 in neuraldual.py

Hello,
In neuraldual.py the computed final Wasserstein distance gets multiplied by 2, see: https://github.com/ott-jax/ott/blob/main/ott/core/neuraldual.py#L397
I don't understand why this is done here. As far as I see, there is no *2 in the original Makkuva et al. formulation, e.g. equation 6.

Thanks a lot for your comment Luca!
This is a good point. I think this was a convention choice.
In the literature, $W_2^2$ is usually defined using the $|x-y|^2$ distance. In the Makkuva paper (and most other papers that rely on the Brenier theorem), the cost is normalized to $\frac{1}{2}|x-y|^2$, which makes life easier.
It's worth clarifying this in the docstring, thanks a lot for your comment.

Thanks a lot for the detailed answer!


Migrate read-more block

Migrate read-more block
Add test

Test URLs:

https://read-more--milo--adobecom.hlx.page/drafts/saugat/read-more-no-recommended?martech=off
https://read-more--milo--adobecom.hlx.page/drafts/saugat/read-more?martech=off

A couple small nit-picky things:

Should the Read More button change cursor to the finger/hand on mouse over? Feels weird not having that.
Should the button be styled like the "Load more articles" button? The outline variant?
The button and text area feel a bit smooshed together.

Trying to find an example of this on the current blog site. Can you point me to an example page?

This block fails if there are any sections in the document.  I added one section to your test page here:
https://read-more--milo--adobecom.hlx.page/drafts/cpeyer/read-more-with-sections

Hey @rgclayton!

Should the button be styled like the "Load more articles" button? The outline variant?

This is a good suggestion. I would like to know other reviewers' thoughts too.

Trying to find an example of this on the current blog site. Can you point me to an example page?

Here is an example site: https://templates--blog--webistry-development.hlx.page/en/drafts/solene/read-more

Thanks for the link @saugatmalla !
Yeah, I think some padding around the button, so the text to the left isn't so cramped, is needed. The example page you posted has that and it reads/feels much better. Same with the cursor change on hover of the butotn.


Quickstart Link Broken

The Quickstart link at the bottom of the Readme.md is broken. It points to:
Quickstarts

Thanks Adam.  Will fix.
In the interim, you can check out the new quickstarts in our new combined repo azure/azure-mobile-apps

Fixed via PR.


Iterating over @value results in incorrect path resolution

Describe the bug
{{{ each people}}}
  {{{ each @value }}} {./name}

In the above, ./name will try to resolve to people[i].name instead of people[i][j].name.
Minimal Reproduction
https://runkit.com/pitaj/5fecc2b6246e6e001bac76d9
Versions

Node: 14.15.3
benchpressjs: 2.3.0
Browser (if applicable): n/a

Additional context
Will need to provide each iterator level with unique value variables (valuen) and modify relative path resolution (./, ../) to use valuen. This will also open up minimizing optimizations like converting people.pet.name to ./name.

Was this never fixed? @pitaj, any reason?

This has not been fixed, mostly because there hasn't been a ton of demand. I did try to fix it once but didn't get far.


df_spec() ValueError: too many values to unpack (expected 3)

When generating an MTSpec object, and subsequently calling df_spec() results in a ValueError: too many values to unpack
Example code:
import multitaper
import numpy as np
psd = multitaper.mtspec.MTSpec(np.random.randn(2**7),nw=4,dt=1)
psd.df_spec()
It seems that df_spec() is returning an additional frequency attribute.

I will correct this for the following version.


Fix typo in comments of simple/core.cljs

It should be OK now, I added a commit. Sorry for the noise.

And again, thanks.


Fix the DRBG reseed propagation [1.1.1]

Before explaining the issue and the fix, let me recap briefly what reseed propagation is all about. In a nutshell, it is a compatibility feature to support the traditional way of (re-)seeding manually by calling 'RAND_add()' before 'RAND_bytes(). I'll explain it for the 'public' DRBG, the situation for the 'private' DRBG is analogous.
Reseed Propagation
For performance reasons, every thread has its own 'public' DRBG instance, and all public DRBGs are chained to a common 'primary' DRBG, which seeds from the operating system. The primary DRBG is shared by all threads and guarded by a mutex. Every DRBG reseeds independently when its number of generate requests or its elapsed time interval since the last (re-)seeding exceeds a certain threshold. This is the 'normal' way to reseed according to the NIST standard.
When a thread of the application calls RAND_add() to seed the CSPRNG, it expects an immediate effect on the output of a subsequent RAND_bytes() call within the same thread. However, the former triggers a reseeding of the primary DRBG, whereas the latter generates the output using the thread-local 'public' DRBG. In this specific situation, OpenSSL needs to guarantee an immediate propagation of the reseeding to the 'public' DRBG within the same thread.
The original implementation
Again for performance reasons, the seed propagation was implemented in a non-blocking fashion, i.e. without taking the look of the primary DRBG: The primary DRBG maintains a reseed_counter (not to be confused with the generate_counter which counts the generate requests), which is incremented automatically when it reseeds.
https://github.com/openssl/openssl/blob/1708e3e85b4a86bae26860aa5d2913fc8eff6086/crypto/rand/drbg_lib.c#L612-L615
The secondary DRBG has a copy of the reseed_counter, and whenever the two counters are out of sync, the secondary DRBG will reseed automatically.
https://github.com/openssl/openssl/blob/1708e3e85b4a86bae26860aa5d2913fc8eff6086/crypto/rand/drbg_lib.c#L439-L444
In other words, the reseed_counter was used like a revision counter to detect and propagate the reseeding. Note that eventually the reseeding will propagate to the public DRBGs of all threads, but it is not guaranteed that it will happen immediately.
The issue
Part 1: the thread sanitizer warning
The original implementation did not use atomics, because I assumed that integer read and write operations where atomic with relaxed semantic, which would be sufficient for synchronization within the same thread. (In fact, I did not know much about memory ordering and aqcuire/release/relaxed semantics at that time.) This assumption turned out to be naive when @bernd-edlinger reported a thread sanitizer (TSAN) warning about a data race in RAND_DRBG_generate() in issue #7394:

This was reported by thread sanitizer once (using openssl 1.1.1 release tar ball):
==================
WARNING: ThreadSanitizer: data race (pid=17059)
  Read of size 4 at 0x7b480001e980 by thread T8 (mutexes: write M145, write M33):
    #0 RAND_DRBG_generate crypto/rand/drbg_lib.c:613 (CPPTestServer+0x11295f0)
    #1 RAND_DRBG_bytes crypto/rand/drbg_lib.c:658 (CPPTestServer+0x11295f0)
    #2 drbg_bytes crypto/rand/drbg_lib.c:946 (CPPTestServer+0x11295f0)
    #3 RAND_bytes crypto/rand/rand_lib.c:776 (CPPTestServer+0x112c1f8)
    ...

  Previous write of size 4 at 0x7b480001e980 by thread T27 (mutexes: write M494, write M152, write M158):
    #0 RAND_DRBG_reseed crypto/rand/drbg_lib.c:441 (CPPTestServer+0x1127f1b)
    #1 rand_drbg_restart crypto/rand/drbg_lib.c:542 (CPPTestServer+0x11281c2)
    #2 drbg_add crypto/rand/drbg_lib.c:974 (CPPTestServer+0x11284a7)
    #3 drbg_seed crypto/rand/drbg_lib.c:985 (CPPTestServer+0x11284a7)
    #4 RAND_seed crypto/rand/rand_lib.c:738 (CPPTestServer+0x112bee2)
    ...

  Location is heap block of size 352 at 0x7b480001e900 allocated by main thread:
    ...
    #5 CRYPTO_secure_zalloc crypto/mem_sec.c:145 (CPPTestServer+0x11013d8)
    #6 rand_drbg_new crypto/rand/drbg_lib.c:175 (CPPTestServer+0x11266eb)
    #7 RAND_DRBG_secure_new crypto/rand/drbg_lib.c:243 (CPPTestServer+0x1129bdd)
    #8 drbg_setup crypto/rand/drbg_lib.c:853 (CPPTestServer+0x1129bdd)
    ...

  Mutex M158 (0x7b1000050e80) created at:
    #0 pthread_rwlock_init ../../../../gcc-9-20181007/libsanitizer/tsan/tsan_interceptors.cc:1224 (libtsan.so.0+0x2fd7e)
    #1 CRYPTO_THREAD_lock_new crypto/threads_pthread.c:29 (CPPTestServer+0x1166030)
    #2 rand_drbg_enable_locking crypto/rand/drbg_lib.c:813 (CPPTestServer+0x11290c5)
    #3 drbg_setup crypto/rand/drbg_lib.c:858 (CPPTestServer+0x1129bf1)
    ...

SUMMARY: ThreadSanitizer: data race crypto/rand/drbg_lib.c:613 in RAND_DRBG_generate
==================

The data race affects the aforementioned operations happening in different threads:
thread 8, frame 0
https://github.com/openssl/openssl/blob/1708e3e85b4a86bae26860aa5d2913fc8eff6086/crypto/rand/drbg_lib.c#L612-L615
thread 27, frame 0
https://github.com/openssl/openssl/blob/1708e3e85b4a86bae26860aa5d2913fc8eff6086/crypto/rand/drbg_lib.c#L439-L444
It was considered that the data race might be harmless but nevertheless it would be better to fix the warning (see https://github.com/openssl/openssl/issues/7394#issuecomment-429529259 and ff.).
Part 2: another data race
During the analysis of the issue, @bernd-edlinger noticed another potential race

The problem is that parent->reseed_prop_counter is read twice,
once before get_entropy from parent, and once after get_entropy.
So what can happen is, and it will not be fixed by acquire/release semantics:
When we are interrupted after the get_entropy call, when the
parent's mutex is already released, but before parent->reseed_prop_counter
is read for the second time, the dependent DRBG will not have a reason
to call get_entropy again, and that state is persistent.

To fix that, we need to get the parent's reseed_prop_counter before
getting the entropy from the parent. Atomic with relaxed semantic
should be sufficient, because the parent's mutex has the necessary
acquire/release barriers.

The fix
Bernds pull request #7399 fixed the data races, but at the price that the original simplicity of the implementation got lost, in particular by the introduction of the new 'reseed_next_counter' member. Unfortunately, https://github.com/openssl/openssl/pull/7399/files#diff-9181ac017a6177a5f2619f65c9b7a346R411 also introduced a breaking change of the original semantics  of the seed propagation: instead of copying the value from the parent, the secondary DRBGs now increment their counter by themselves. IIUC, a secondary DRBG which is behind the primary DRBG by three counts will reseed three times until it considers itself in-sync with the primary DRBG.
Alternative fix
My alternative proposal intends to fix the data race while retaining the original simplicity.
Note that in the meantime, seed_counter has been renamed to seed_prop_counter and generate_counter to seed_gen_counter (which is another issue to be fixed).
Atomics with relaxed semantics should be sufficient
Since the incrementing of the reseed_counter of the principal DRBG is protected by the lock, my understanding is that it should be sufficient to read the value using an atomic operation with relaxed semantics, see also the comments by @kroeckx and @bernd-edlinger.
https://github.com/openssl/openssl/issues/7394#issuecomment-429540196
https://github.com/openssl/openssl/issues/7394#issuecomment-429546542
https://github.com/openssl/openssl/issues/7394#issuecomment-429547343
See also this discussion between @dot-asm and @bernd-edlinger:
https://github.com/openssl/openssl/pull/7399#issuecomment-430005076 and ff.
Simplify the counter wrap
The counter wrap was complicated unnecessarily by the fact that seed_counter == 0 had the special meaning of turning seed propagation off. I removed that extra complexity by adding a separate enable_reseed_propagation member.
Remove the 'reseed_next_counter'
The 'reseed_next_counter' was introduced to fix a race between two different threads. But it is not the intention of the seed propagation to enforce reseed propagation across threads.
Restore the original names
A lot of additional confusion between the two counters generate_counter and reseed_counter has been created by the renaming to reseed_gen_counter and reseed_prop_counter on master, which subsequently has partially been reverted. This turned out to be a footgun during the provider replumbing (I hope you remember that, @paulidale.) For that reason, I am restoring the original names here on 1.1.1 and I will do the same on master.
What about the master branch?
On the master branch, the implementation has deviated even more from the simple original idea.
https://github.com/openssl/openssl/blob/714a1bb380ddb2bf7538f6a61f47ac87200e3e06/providers/implementations/rands/drbg_local.h#L181-L192
It seems that 'get_parent_reseed_count()' nowadays takes the parent's lock before reading the reseed count, which completely thwarts the original intent of having a lock-free implementation.
https://github.com/openssl/openssl/blob/714a1bb380ddb2bf7538f6a61f47ac87200e3e06/providers/implementations/rands/drbg.c#L137-L146
I am working on a fix for master which will hopefully be in time for the beta1 freeze. I chose to raise the pull request for 1.1.1. first, because that's the root cause of the problem and it was easier to start with.
I'd be happy to get some feedback not only from @paulidale, but also from @bernd-edlinger and @kroeckx.

The two commits ba5b2dfaa46c and d86bb47aab98 were left separated intentionally to facilitate comparing the old and the new fix. They will be squashed in the end, unless you prefer them to remain separated.

(Note: i unresolved the two conversations again because I don't want that an essential part of the discussion is hidden from the reader by GitHub)

This pull request is ready to merge

I had to rebase to resolve two merge conflicts which were caused by whitespace changes (if( -> if () inside blocks which this pull request removes (resolution: use incoming changes). These were the only changes I made.
<<<<<<< variant A
    drbg->reseed_next_counter = tsan_load(&drbg->reseed_prop_counter);
    if (drbg->reseed_next_counter) {
        drbg->reseed_next_counter++;
        if (!drbg->reseed_next_counter)
            drbg->reseed_next_counter = 1;
    }

>>>>>>> variant B
####### Ancestor
    drbg->reseed_next_counter = tsan_load(&drbg->reseed_prop_counter);
    if (drbg->reseed_next_counter) {
        drbg->reseed_next_counter++;
        if(!drbg->reseed_next_counter)
            drbg->reseed_next_counter = 1;
    }

======= end

<<<<<<< variant A

    drbg->reseed_next_counter = tsan_load(&drbg->reseed_prop_counter);
    if (drbg->reseed_next_counter) {
        drbg->reseed_next_counter++;
        if (!drbg->reseed_next_counter)
            drbg->reseed_next_counter = 1;
    }

>>>>>>> variant B
####### Ancestor

    drbg->reseed_next_counter = tsan_load(&drbg->reseed_prop_counter);
    if (drbg->reseed_next_counter) {
        drbg->reseed_next_counter++;
        if(!drbg->reseed_next_counter)
            drbg->reseed_next_counter = 1;
    }

======= end

The last force-push replaces the two last commits, because I commuted the fixup with the renaming. These are the tree changes I made.

Sorry, your approval came too quick :-)

I'm okay for the 24 hour wait to be considered done at this point.  The subsequent changes are trivial or asked for.

Thanks for the review and the exemption from the grace period. Nevertheless, I'll sleep over it and do the merge tomorrow morning. :-)

I'm so sorry, but I had a last look and found another tiny issue, which is fixed in e0eed1a67a51d44618d7d63f8966fdfe6a1a3ed4.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged, thanks for you patient review!
8380f453ec Revert two renamings backported from master
958fec7792 Fix the DRBG seed propagation


feat(e2e): playwright tests - show certificate and add global login

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Hi @Fahdkassim 👋
This is some solid effort from your side. I just have a few questions that will help build context for everybody that is concerned.
If I understand correctly, this is an attempt to setup a login functionality for the playwright suite to be able to test webpages with protected access.
@raisedadead @naomi-lgbt

If I understand correctly, this is an attempt to setup a login functionality for the playwright suite to be able to test webpages with protected access. Right?

Yes, we need to be able to authenticate so we can:

Test pages only visible to that authenticated user (e.g. settings)
Test vies that change when authenticated vs. unauthenticated (e.g. landing page, certifications)

Hi @Fahdkassim 👋
This is some solid effort from your side. I just have a few questions that will help build context for everybody that is concerned.
If I understand correctly, this is an attempt to setup a login functionality for the playwright suite to be able to test webpages with protected access. Right? @Fahdkassim
@raisedadead @naomi-lgbt

Hi @Ahmadkashif ,
I will be glad to clarify and explain what was exactly happening.  As explained in the Playwright docs the test files in Playwright by default run  in parallel, so what exactly happened was that certain tests were starting before the login process could be fully completed. This led to test failures, as they lacked the necessary authentication.
To tackle this problem, Playwright provides a solution for this in which we need to implement a centralised "global setup" concept. This setup serves as a hub for maintaining consistent login states across different tests. Before the start of each test, Playwright automatically executes the global setup file, ensuring that the login state is consistently updated. This ensures that tests run within the correct context and yield reliable results without effecting the test files that do not require logging in as certified user.

Hi there,
Just wanted to confirm if there are any blockers to merge as the PR was approved yesterday.
@naomi-lgbt @raisedadead


feat[PoC-algo]: implement chosen song/audio feature extraction algorithm

Gather documentation for algorithm chosen in #257 and implement it. This issue is likely to be used as a parent issue then broken down into further issues.

@baleanum feel free to modify this issue as you see fit. I have attached it to the poc/tempo-detection/...-power branch, but any remaining documentation tasks fall on you :D

Algorithm takes in a .wav file and returns a bpm estimate via an energy onset detection algorithm described here
Outstanding tasks:
Integrate with the spotify api work done by @AhmedAl-Hayali and @chenans1 captured in #267


fixed default parameters for vo method

The coarse search is going to be performed at 1 step intervals between smin and smax. The default was +/- 40, so 81 search points. Setting it to +/- 0.1 * detector_width would (for example) give you 401 points being evaluated for a 2k panel which is going to be slow. I think it probably makes sense to leave the default as +/- 40 , but with your update the user can change these if they know their CoR is further from the centre.
After the coarse search  fine_search is called using the range +/- srad and stepsize. As this will look for the CoR around the output of the coarse search these need to be tuned to the output of the coarse search. I would suggest leaving them at srad=10 and step=0.5 (so 40 evaluations). I don't think it makes sense to base srad on smax as they are not used at this point.
I think if the user inputs are allowed we also need a bit more description about what the parameters are. I'm still not clear on what ratio and drop are doing.

These builds all failed.
https://anvil.softeng-support.ac.uk/jenkins/job/CILsingle/job/CCPi-Framework-dev/805/
https://anvil.softeng-support.ac.uk/jenkins/job/CILsingle/job/CCPi-Framework-dev/848/
https://anvil.softeng-support.ac.uk/jenkins/job/CILsingle/job/CCPi-Framework-dev/862/
This is running now.
https://anvil.softeng-support.ac.uk/jenkins/job/CILsingle/job/CCPi-Framework-dev/894/

latest build failed with
======================================================================
FAIL: test_CenterOfRotation (test_DataProcessor.TestDataProcessor)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jenkins/conda-bld/ccpi-framework_1585119126820/test_tmp/ccpi/Wrappers/Python/test/test_DataProcessor.py", line 89, in test_CenterOfRotation
    self.assertAlmostEqual(86.25, cf.get_output())
AssertionError: 86.25 != 86.0 within 7 places

----------------------------------------------------------------------

I think this is ready to merge.


[ᚬmaster] Rc/v0.22.0

v0.22.0 (2019-10-05)
Features

Parse header/epoch compact target field as hex string (5f8f832)
Update header and epoch structures (ec0deaa)
Update Script.args and Transaction.witnesses type (95e16d2)

BREAKING CHANGES

header and epoch structures are changed as per CKB update.

Note: field compact_target is output from RPC as uint32, but they should be hex string to
follow the convention. Await CKB to fix that.

Bytes serialization are used for these two structures.
Before this [Bytes] serialization were used. This affects script and transaction
hash calculation and transaction signing.

Codecov Report

Merging #153 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #153      +/-   ##
==========================================
- Coverage   96.88%   96.88%   -0.01%
==========================================
  Files          82       80       -2
  Lines        2055     2054       -1
==========================================
- Hits         1991     1990       -1
  Misses         64       64

Impacted Files
Coverage Δ

...n/TypeSerializers/TransactionSerializerTests.swift
100% <100%> (ø)
:arrow_up:

Tests/Utils/SystemScriptTests.swift
100% <100%> (ø)
:arrow_up:

Tests/Signers/TransactionSignTests.swift
100% <100%> (ø)
:arrow_up:

Tests/API/APIClientTests.swift
98.13% <100%> (ø)
:arrow_up:

Tests/Utils/UtilsTests.swift
100% <100%> (ø)
:arrow_up:

Tests/Payment/PaymentTests.swift
84.54% <100%> (ø)
:arrow_up:

...rialization/TypeSerializers/ScriptSerializer.swift
100% <100%> (ø)
:arrow_up:

Source/Types/Script.swift
100% <100%> (ø)
:arrow_up:

Source/Signers/Transaction+Sign.swift
87.5% <100%> (-0.38%)
:arrow_down:

Source/Utils/Utils.swift
100% <100%> (ø)
:arrow_up:

... and 9 more

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 2b487a1...7d2987c. Read the comment docs.


Expose arbitrary error fields in client response

Following on from https://github.com/morpheusgraphql/morpheus-graphql/issues/577 , it is still cumbersome to detect a NOT_FOUND error from the github graphql API.
eg.
query {
  repository(owner:"not-exist", name: "not-exist") {
    id
  }
}

{
  "data": {
    "repository": null
  },
  "errors": [
    {
      "type": "NOT_FOUND",
      "path": [
        "repository"
      ],
      "locations": [
        {
          "line": 7,
          "column": 3
        }
      ],
      "message": "Could not resolve to a Repository with the name 'not-exist/not-exist'."
    }
  ]
}

which morpheus client represents as
Left
        ( FetchErrorProducedErrors
            ( GQLError
                { message = "Could not resolve to a Repository with the name 'not-exist/not-exist'."
                , locations = Just
                    [ Position
                        { line = 3
                        , column = 7
                        }
                    ]
                , path = Just [ "repository" ]
                , errorType = Nothing
                , extensions = Nothing
                } :| []
            )
            ( Just
                ( FetchRepository { repository = Nothing } )
            )
        )

The way 0.17 worked and what you could do is ignore the error and if a parses and you get data: { "repository": null } exactly, then take that as a NOT_FOUND type error. This is ok, but it is possible to get other errors that are not NOT_FOUND that you may want to respond to differently.
I think the right solution is to expose "type": "NOT_FOUND" in GQLError somehow. However, it seems that type is a non-standard field, so I think perhaps the right solution is to expose a Map with other fields? ie.
data GQLError = GQLError
  { message :: Message,
    locations :: Maybe [Position],
    path :: Maybe [Text],
    errorType :: Maybe ErrorType,
    extensions :: Maybe (Map Text Value),
    otherFields :: Map Text Value
  }

FWIW I don't think Maybe (Map a b) makes sense, as a Map can be empty, so I don't think the Maybe is necessary.
Thoughts?
Happy to attempt a PR.

in this case i would just expose field type  where ErrorType would have one Additional constructor Custom

That would be an easy solution for me, although type is not included in the graphql spec. Anyway, I will sketch out a PR at some point using this approach thanks.


nixos/logiops init

Motivation for this change
logiops was requested in #122208.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

To do
The service definition doesn't really specify any options, other than enable and extraConfig.
@hawkw, you mentioned that you'd started on a config for this. Would you like to contribute that to this module?
There's also the accepted settings RFC to consider. I think that the libconfig-style configs would lend themselves well to this approach, but there doesn't seem to be a parser yet for this in nixpkgs. I had started on this approach before just using extraConfig. The code for that is still in the file, commented out. This should be removed before submitting the PR.

Any news on that?

I want this too... What is the blocker?

See #165936 for basic packaging. @s1341 you'll need to do the sort of work in the https://github.com/NixOS/nixpkgs/pull/124158/files/15d7e69cf28293e9a2f05ab8880664a3f0a87958#diff-24e16823db68314928d87006c1758f6b3eaa8db0560cd3e9e00e0159c37d297a in your config to get the whole PR.

Tentatively closing this since it hasn't been updated since the package itself landed in https://github.com/NixOS/nixpkgs/pull/165936.
Happy to reopen if I'm overstepping. (That said, the draft PR https://github.com/NixOS/nixpkgs/pull/167388 covers the service/config component of this, and https://github.com/ckiee/nixpkgs/commit/094fd268916096cdcee44114ebea3a4c0fc1de25 suggests that there are acute reasons to prefer helping land that approach over reheating this one?)


Increase the leniency in choosing config.properties

When the code can't find the desired version of config.properties in the .geowave directory it will throw an error even if there is a usable config.properties file there.
I would be nice to make this more lenient so that it could default to using what is there even if it isn't the exact .properties file it was looking for.
Most of this code is located in mil\nga\giat\geowave\core\cli

This fix was merged in pull request #863


support schemas grants in Auth API

Closes #132
Merge after https://github.com/CartoDB/cartodb/issues/14978

Tests will pass once we merge the corresponding feature in cartodb


rusqlite with windows service

when I try to create database from windows service (windows-service ="0.2.0") it refuses to start service (Error 1053) on let conn = Connection::open("c:\my_data.db").unwrap();
From plain cli app works fine.

Error 1053 is not an error code produced by SQLite.
Maybe the SQLite dll is missing like here ?
If you don't provide more information, we cannot help you.
Sorry.


[move] Network Identity Discovery constructs

Motivation
Add a NetworkIdentity and AccountList with corresponding events, such that we can use them for discovery across multiple accounts.  No special permissions are needed for either as they are built generically.
I'm unsure on the process (what docs are supposed to be included in this PR etc.), so please let me know.
Also, I'm looking at compiling some of the learnings I had here in a Gist: https://gist.github.com/gregnazario/833b519cc83df80b900c4ac76b3ad9aa
How is this supposed to work?

Account A publishes an AccountList that keeps track of accounts to subscribe to.  When this AccountList is updated, an event is emitted that gives the update for the new state of AccountList.
Account B, C, D, ... publish a NetworkIdentity in their account (a serialized Rust object that contains the specifics of the NetworkIdentity.  This is purposely opaque so it can be changed.  This then gives notifications based on updates to each of the accounts in the AccountList.
As changes come through via events, the networking stack on a node can pull this NetworkIdentity and properly handle access control based on using the Onchain storage as a public key / identity source.

What about if there are a large number of things in the lists?

If this scales above some number of accounts e.g. > 100 or > 1000, we can approach a different process towards this multi-level subscription method.
If this scales above some large size for the NetworkIdentity, we can look at a different approach in storing them not on chain.

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Functional tests

One question I have is you mention any account can publish this under its account. I'm just wanting to make sure this is the case, and e.g., the TreasuryCompliance and/or DiemRoot accounts should be able to publish these under their account?

There are two pieces.  The first piece, NetworkIdentity, is tied to the account that has the identity, and not the DiemRoot.  The second piece, AccountList, is tied to a trusted party for its appropriate use case.  The first case is for the Association to control nodes that have guaranteed access to the VFNs, and therefore the trusted party would be DiemRoot account.  The second case is a third party wants to have a full node service, and have others connect to them.  In this case, the trusted account would be the third party's account.

Account B, C, D, ... publish a NetworkIdentity in their account (a serialized Rust object that contains the specifics of the NetworkIdentity.

I don't think this changes anything in this PR, but is it possible to make NetworkIdentity a serialized BCS object instead? This should make it easier to read the on-chain data from non-Rust clients.

This will be a serialized BCS object.

This is purposely opaque so it can be changed.

I think this makes sense in the abstract, but we have regretted using similar patterns elsewhere because it's difficult for clients to know when (or if) they should change their interpretation of the opaque on-chain data. My preference would be to encode the current schema on-chain and create a new resource if the schema changes. It is fairly easy to write automated migration logic between the schemas if we need to.

I'd like to split them into multiple objects, in a vector, but it's not quite ready for it.

LEC dependency change summary:
target packages:
  A codespan-reporting 0.8.0 (direct third-party, crates.io)
    * features: serde, serialization
  M codespan 0.8.0 (direct third-party, crates.io)
    * version DOWNGRADED from 0.11.1
    * (unchanged features: serde, serialization)
  M codespan-reporting 0.11.1 (direct third-party, crates.io)
    * removed features: serde, serialization
    * (unchanged features: [none])
  R move-symbol-pool 0.1.0 (workspace, path 'language/move-symbol-pool')
    * (old features: default)

release binaries dependency change summary:
target packages:
  A codespan-reporting 0.8.0 (direct third-party, crates.io)
    * features: serde, serialization
  M codespan 0.8.0 (direct third-party, crates.io)
    * version DOWNGRADED from 0.11.1
    * (unchanged features: serde, serialization)
  M codespan-reporting 0.11.1 (direct third-party, crates.io)
    * removed features: serde, serialization
    * (unchanged features: [none])
  R move-symbol-pool 0.1.0 (workspace, path 'language/move-symbol-pool')
    * (old features: default)

/land

:broken_heart: Test Failed - ci-test

/land