com.spotify.docker.client.messages.HostConfig.Bind.Builder: add support for selinux label

Can you please consider adding another method to class com.spotify.docker.client.messages.HostConfig.Bind.Builder
allowing us to specify mount option ("z/Z") used in selinux enabled host environment?
As specified at https://docs.docker.com/engine/admin/volumes/bind-mounts/#configure-the-selinux-label
I am proposing builder method selinuxLabel(boolean shared). When shared is true lower case letter "z" is added to List options field. Otherwise, label is considered as unshared and upper case letter "Z" is used instead.
Thanks and keep up the good work!

Sounds reasonable. If you have the time to create a pull request to add this functionality then that will likely help get it completed faster than someone else could get to it.

Hi @mattnworb, thanks for evaluating my idea. Based on your suggestion I have just created a pull request - https://github.com/spotify/docker-client/pull/883


Voucher screen changes.

Following are some changes on voucher screen:
-Take out the Note, and we will need a way to manually enter voucher code

-Title should be ‘Scan a FastBitcoin voucher’ instead of Voucher.

-Need a header here, “Deposit Account”. This screen may need UX inputs

Do not need Test Account here. Also add a heading “Chose the deposit Account”

Changed header to "Scan a FastBitCoin Voucher".
Removed note and added a text-input to enter voucher code, but text-input does not have functionality yet.


Function rules with partial heads are unsound

The translation of K function rules as equalities in Kore is unsound if the left-hand side of a function rule may be undefined. Consider this K definition,
syntax Int ::= unsound ( Map ) [function]
rule unsound ( K |-> V M ) => 1

This definition is translated to the following Kore (approximately):
symbol unsound(Map) : Int [function]
axiom ∀ K V M. ⊤ → unsound(K |-> V M) = 1

(I am misusing the Kore syntax slightly; there is no syntax for maps, nor infix operators, but I hope the meaning is clear.)
Note the universal quantification of the rule variables! I can instantiate this rule at M = K |-> V, yielding:
axiom ⊤ → unsound(K |-> V K |-> V) = 1

The concatenation of two maps with the same key is undefined, so that
axiom ⊤ → unsound(⊥) = 1
axiom ⊤ → ⊥ = 1
axiom ⊤ → ⊥
axiom ⊥

This is not an immediate problem for the backend because we would never choose to instantiate the rule that way, but nevertheless it is unsound and we should decide how to fix the frontend's translation of this rule.
Attn: @traiansf @yzhang90

i think it should be OK to generate the following equation:
symbol unsound(Map) : Int [function]
axiom ∀ K V M. ⊤ → unsound(K |-> V M) = 1 /\ Ceil(K |-> V M)

basically we need to make sure all the arguments are defined. Most of the time, the arguments are just variables and the frontend can omit generating Ceil(V)

@ttuegel This might be an immediate problem for the backend: Consider applying this axiom to unsound(1->2 N). We would get 1, but we could later have a branch where N=1->2 (or we could discover it on the main branch). If so, then we have applied the axiom in an invalid case, losing information in the process.

@virgil-serbanuta I think we apply the pre-condition that all of the arguments are defined when we evaluate functions, so in that example, we would carry the condition \ceil(1->2 N).

Ok, interesting. Where are we doing that?


Font used in screenshots?

What it says in the title; it's a very clean font and I found myself wondering where it might be found, but couldn't find crediting information for it anywhere in the README.

sf mono (san francisco) by apple 😌


Update SimpleCityBuilder to reflect non-squared blocks

IMHO the SimpleCityBuilder should work as a sort of showcase for what our models can do in a simple, minimalist environment. To be up to date, once #5 is fixed we should add a couple of diagonals to the city and show how non-squared blocks look like. We don't need to support fancy buildings, just remove the onces that would step in the new streets (very-very-very rough sketch below)

@ernestmc what do you think?

I agree that will be a good simple demo.

My approach for the algorithm will be to get the bounding box of the polygonal block and place evenly distributed buildings. To accept the building we check that all the vertices of the building fall inside the polygon, otherwise we discard the building. I will need a function to get the bounding box of a polygon and a function to check if a point is inside a polygon.

Oh, I was thinking of something less sophisticated: since our generator has hardcoded constants and we only want to generate 2 diagonals, we know which blocks will be triangular and the particular center case of the block split in 4. I would generate those blocks as special cases instead of aiming to generalize the problem.


'Access-Control-Allow-Origin' when fetching the image - Azure Storage - only when using Jimp

Expected Behavior
I should be able to load any image using Jimp.read
Current Behavior
I can display the image perfectly fine using the 'src' tag of an Image element, but as soon as I use Jimp.read, I get a CORS error. See screenshots below for difference between using Jimp and not.
Failure Information (for bugs)
CORS error
Steps to Reproduce

Use a URL to an image in Azure Storage container with an SAS token for access.
Use the URL in an img src tag and display it on a page - see image displayed.
Add Jimp.read(url) etc and see CORS error

Screenshots

Network/Console Logs without Jimp.read:

Network/Console Logs WITH Jimp.read:

Context

Jimp Version: 0.16.1
Operating System: Mac OSX 10.15.7
Node version: tested with 14 and 10

Failure Logs

Hi @willnix86. It seems that you resolved the CORS issue. I'm facing a similar issue on AWS S3 and I'm running out of ideas on how to fix this... thanks!

@jakubladra - I actually ended up dropping Jimp for this - I ended up using a Canvas to display and edit the images in the browser as it was infinitely more performant.
I do know that I had to specify image.crossOrigin = "Anonymous" in order to work around the CORS issue I was facing, but can't think whether I had to make use of that somewhere with Jimp too.

I'll re-open as it appears to be an issue still. @dustineichler - my workaround was not to use Jimp in the end, but I can't remember the actual solution I went with.


[nRF51] System off & Pin 31 disabled

I found two commented lines when using mbed for the nRF51822 without any apparent reason which cause some troubles.

The first one should enable system off mode (Nordic ref. on this topic).
The last one disables the usage of pin number 31.

I'd like to know why are they commented out before I submit a pull request.

ping mbed maintainers?

maybe submitting a pull request would get a better response as to why it is wrong to do so.

I've already obtained a response for the absence of the pin 31 in #1476. I suggest to create a new issue regarding just to the system off mode which has not been clarified.


New features/apply schema2

Description and related tickets, documents
Implement ApplySchema for  DDF
Reviewers: @mbbui @Huandao0812 @PangZhi
How to test
UnitTest
PR Progress
Make sure all checkboxes below are checked before merged

[x] Branch is in format prefix/description (see this)
[ ] Merge check has no conflicts. PR checks passed.
[ ] Code review is done.

There are some compile errors

The main file change is this file spark/src/main/java/io/ddf/spark/content/SchemaHandler.java, right?
Can you comment on why you need to change the whole file. ApplySchema is a new function, why it is required to change an existing class?

UT passed now


pricing page not working on https://deepstreamhub.com/pricing/

@yasserf , @WolframHempel
I know it's not the right place to post this issue, but I've submitted ticket with no reply.

Thanks so much for raising - sorry this slipped through. Will look into it asap

not relevant anymore


[Livy-988] Support for escaping backtick from spark-submit arguments

What changes were proposed in this pull request?
Fixes - #415
Adding support for escaping backticks from spark-submit arguments.

This feature will be behind a flag livy.server.escapeBackTicks (default: false)
This also handles the case where the user is already escaping backtick and livy won't perform double escaping.

How was this patch tested?

Added unit test for escape backticks function.

cc: @pralabhkumar

Hi @s0nskar  . I am looking into this .

@s0nskar  Build is failing because of checkstyle issue , please look into fixing this.

@pralabhkumar My company uses AWS EMR for data processing, and EMR uses livy for job submissions. We ran into issue with backticks recently because the content in backticks gets removed.
Would you mind following up on this PR and include it in the future releases?


missing OID algorithm types

OID types defined in NIST are missing.
Raised as an enhancement of an issue in the forum by Star Hou

ARM Internal Ref: IOTSSL-1176


Incorrect " ago" caption for announcements in About page

Please fill in the following details.
Device Hardware / Emulator and OS
Happens on both iOS and Android on all versions
Describe the bug
As title, the estimate for how long ago an announcement was posted in the About page in the app is offset by 2 hours.
To Reproduce

Post an announcement
Immediately after, check the Study App

Expected behavior
"time ago" should be (probably) "a few seconds ago" or similar
Actual behavior

Additional information
Likely a timezone issue, but I'm not sure if this is because of the timestamp generated by the frontend (if it even generates the timestamp), the timestamp generated on the server, or the way the app interprets the timestamp.

The order is also reversed --- newest announcements show up last?


Add License

Please, choose a license. Now your project is not useable for the legal reason

Okay, added MIT public license.


Unable to use create-react-app

the yarn create-react-app command is stuck after some time  plz help me out all files are not loaded in the repo refer the pic

You're running npm start after you used yarn to install. yarn start should do the trick. If you want to use npm, npx create-react-app my- would be the equivalent.

What does the scripts part of package.json look like?


EDCDataDashboard CD setup

Feature #147
After #161
Description
Set up CD for the new EDCDataDashboard repository in the eclipse-dataspaceconnector org.
Jim and Paul will take care of this setup, but this story is a placeholder to keep track of the state, and in case support from team members is needed.
Acceptance criteria

[ ] An Azure subscription for CD is setup
[ ] Actions Github secrets needed for CD are configured in the new github repository

Tasks

[ ] Initiate the work & coordinate with Jim & Paul
[ ] Verify that CI/CD works
[ ] Support Jim & Paul if needed
[ ] Setup CD for forked repository

Closed in favour of https://github.com/agera-edc/EDCDataDashboard/issues/39


lair of the minotaur: boat death is confusing

Scenario: lair of the minotaur
Situation: get into the boat near the beginning of the scenario.  take it south, past the bunny and beyond the 'south grotto'.
The game goes into a loop and prints out text that your character is dead 1000+ times, but doesn't provide any story text to explain what happened.  Game does display the 'restart' and 'restore save game' buttons.

Also just noticed that if I make a game save before this boat death, I cannot use it.  After the boat death, the restore save game button appears as expected.  However when clicked, it does not display the saved game.  Navigating to the top-level eamon-remastered.com website will display the saved game and allow recovery from there.


Display only tabs from current window

Allow drop down list to be narrowed to tabs in current window.
feature request

I'd love this also. Thank you @babyman for the great extension nonetheless!


Missing player skins: question about parse_player_end_msg method

When I'm reading parse_player_end_msg method, it is the only place to populate the .skins list, which only happens at the end of the match. However, the skins could be different at both sides (CT/T).... so I'm assuming it is missing one side of the data.
I've parsed couple of demos and confirm the list only has one side of the data.
It would be great if the skin list can be populated with both sides of the data somehow, maybe populate the list per round, deduplicate by each player's team number.

Also generally I think it would be better to have these things as game events and not separate functions for each thing,

Now that we have the item_purchase event you should use that instead


TERPSICHORE errors with Intel compiler

After compiling STELLOPT and TERPSICHORE using the Intel compiler, the benchmark case in /BENCHMARKS/STELLOPT_TEST/TERPSICHORE/ will cause several bugs.
NJ, NK=0 causes divide-by-zero error
TERPSICHORE is compiled with the flag
FFLAGS = -extend-source -mcmodel=large -O3 -r8 -m64 -unroll0 -fno-alias -ip -traceback -I${MKLROOT}/include -mkl

A signal 8 (Floating point exception: integer divide by zero) error was caught in the middle of TERPSICHORE, which is probably caused by NJ=0. The initial NJ was 512. It was likely reset in later runs.
xstelloptv2<PHONE_NUMBER>AD2491  plavac_old_               202  tprgl3.module_04.f
xstelloptv2<PHONE_NUMBER>AA06B5  mtaskb_                  1207  tprgl0.module_ap.f
xstelloptv2<PHONE_NUMBER>4EC2A6  stellopt_kink_            175  stellopt_kink.f90
xstelloptv2<PHONE_NUMBER>4E3DB5  stellopt_paraexe_         325  stellopt_paraexe.f90
xstelloptv2<PHONE_NUMBER>487D27  stellopt_fcn_             425  stellopt_fcn.f90
xstelloptv2<PHONE_NUMBER>4C7421  stellopt_optimize         190  stellopt_optimize.f90
xstelloptv2<PHONE_NUMBER>4BC617  MAIN__                    185  stellopt_main.f90

In the terpsichore_19 file, NJ=0 and NK=0 were written.
TCOS exceeds bounds
When compiling TERPSICHORE with debugging flags,
FFLAGS = -O0 -g -traceback -check all -check bounds -check noarg_temp_created -check uninit \
     -ftrapuv -init=snan,arrays -debug all -extend-source -I${MKLROOT}/include -mkl

the benchmark case returns the following error.
 LMNV 188 LMNL   263 LMNB   264

Number of Modes in the Lambda Reconstruction Table:  1537
forrtl: severe (408): fort: (2): Subscript #2 of the array TCOS has value 99 which is greater than the upper bound of 98

Image              PC                Routine            Line        Source
libifcoremt.so.5   00007F2AA9C444C9  for_emit_diagnost     Unknown  Unknown
xstelloptv2<PHONE_NUMBER>C433A3  lgikvm_                   123  tprgl1.module_ap.f
xstelloptv2<PHONE_NUMBER>BD634A  veqrec_                  1026  tprgl0.module_ap.f
xstelloptv2<PHONE_NUMBER>4EC558  stellopt_kink_            174  stellopt_kink.f90
xstelloptv2<PHONE_NUMBER>4E4075  stellopt_paraexe_         325  stellopt_paraexe.f90
xstelloptv2<PHONE_NUMBER>487FE7  stellopt_fcn_             425  stellopt_fcn.f90
xstelloptv2<PHONE_NUMBER>4C76E1  stellopt_optimize         190  stellopt_optimize.f90
xstelloptv2<PHONE_NUMBER>4BC8D7  MAIN__                    185  stellopt_main.f90
xstelloptv2<PHONE_NUMBER>42E262  Unknown               Unknown  Unknown
libc-2.17.so       00007F2AA7C3D555  __libc_start_main     Unknown  Unknown
xstelloptv2<PHONE_NUMBER>42E169  Unknown               Unknown  Unknown
srun: error: dawson217: task 0: Exited with exit code 152

This is caused by LMNV=188 while NI=98 (the second dimension of TCOS).
NJ in plavac_old not defined
When reverting stelllopt_kink back to not using the Nyquist mode (#42 ), LMNV=94 < NI=98 and the above error will be avoided. But a new error about NJ in plavac_old not defined will occur. This is actually true and probably also causes the first problem. It needs to be fixed on the TERPSCHORE side.
  98   7.1326718E-02        NaN        NaN        NaN        NaN        NaN        NaN

            PLASMA-VACUUM INTERFACE AND WALL MIDPLANE POSITIONS
INTERIOR WALL|INTERIOR PVI|EXTERIOR PVI|EXTERIOR WALL| WALL /PVI
  1.43572E+00  1.22517E+00  1.72445E+00  2.55214E+00  2.23607E+00
forrtl: severe (194): Run-Time Check Failure. The variable 'plavac_old_$NJ' is being used in 'tprgl3.module_04.f(199,7)' without being defined
Image              PC                Routine            Line        Source
xstelloptv2<PHONE_NUMBER>CD0ABB  plavac_old_               199  tprgl3.module_04.f
xstelloptv2<PHONE_NUMBER>BDC76A  mtaskb_                  1207  tprgl0.module_ap.f
xstelloptv2<PHONE_NUMBER>4ECE47  stellopt_kink_            157  stellopt_kink.f90
xstelloptv2<PHONE_NUMBER>4E4075  stellopt_paraexe_         325  stellopt_paraexe.f90
xstelloptv2<PHONE_NUMBER>487FE7  stellopt_fcn_             425  stellopt_fcn.f90
xstelloptv2<PHONE_NUMBER>4C76E1  stellopt_optimize         190  stellopt_optimize.f90
xstelloptv2<PHONE_NUMBER>4BC8D7  MAIN__                    185  stellopt_main.f90
xstelloptv2<PHONE_NUMBER>42E262  Unknown               Unknown  Unknown
libc-2.17.so       00007F30C60FC555  __libc_start_main     Unknown  Unknown
xstelloptv2<PHONE_NUMBER>42E169  Unknown               Unknown  Unknown
srun: error: dawson217: task 0: Exited with exit code 194

Solutions
The proposed solutions are

Add additional check to make sure that LMNV < NI, otherwise, it will exceed the upper bound.
Add another line in TERPSICHORE.tprgl3.module_04 to use NJ.

I will contact Prof. Cooper and test the solutions.

After changing the line USE tpr_param, ONLY: iunit_16, lscreen_trp, iunit_19 to USE tpr_param, ONLY: iunit_16, lscreen_trp, iunit_19, NJ, NK in the subroutine plavac_old in tprgl3.module_04.f.
A new error happened.
    NEV NITMAX         AL0      EPSPAM IGREEN MPINIT
      1   1500  -5.000E-03   1.000E-04      0      0

    FULLY INTERACTING FLUID KRUSKAL-OBERMAN MODEL WITH REDUCED KINETIC ENERGY: modelk =  1

Number of Modes in the Stability Table:  76 499
forrtl: severe (408): fort: (2): Subscript #1 of the array S has value 99 which is greater than the upper bound of 98

Image              PC                Routine            Line        Source
libifcoremt.so.5   00007F62E357E4C9  for_emit_diagnost     Unknown  Unknown
xstelloptv2<PHONE_NUMBER>D652BA  rhsmat_                   944  tprgl5.module_ap.f
xstelloptv2<PHONE_NUMBER>BEC07E  mtaska_                  1529  tprgl0.module_ap.f
xstelloptv2<PHONE_NUMBER>4ED08A  stellopt_kink_            173  stellopt_kink.f90
xstelloptv2<PHONE_NUMBER>4E4075  stellopt_paraexe_         325  stellopt_paraexe.f90
xstelloptv2<PHONE_NUMBER>49BB26  stellopt_init_             74  stellopt_init.f90
xstelloptv2<PHONE_NUMBER>4BC8A3  MAIN__                    152  stellopt_main.f90
xstelloptv2<PHONE_NUMBER>42E262  Unknown               Unknown  Unknown
libc-2.17.so       00007F62E156B555  __libc_start_main     Unknown  Unknown
xstelloptv2<PHONE_NUMBER>42E169  Unknown               Unknown  Unknown

TERPSICHORE is a very fragile code.  It was written like a true 'science' code in that it was originally designed to look at analytic equilibriums, then adapted (through hardcoding) to read VMEC wout files, and finally wrappered to use dynamically allocated variables.  But it was never truly written to properly interface to VMEC.  Also, it has real issues with variable typing.

@zhucaoxiang @jcschmitt (and Neil P.), I just realized and issue going to NYQUIST which relates to the TERPSICHORE input files and not so much the terpsichore_eq file generated by STELLOPT.  If we not use the NYQUIST sized array to capture the full Jacobian, we will need to expand the harmonics in the table at the beginning of the terpsichore_input_XX files.  I'll check this and report back.

@zhucaoxiang @jcschmitt (and Neil P.), I just realized and issue going to NYQUIST which relates to the TERPSICHORE input files and not so much the terpsichore_eq file generated by STELLOPT.  If we not use the NYQUIST sized array to capture the full Jacobian, we will need to expand the harmonics in the table at the beginning of the terpsichore_input_XX files.  I'll check this and report back.

@lazersos Based on my communication with Tony Cooper, he doesn't know anything related to NYQUIST. So probably we shouldn't use LNYQUIST=T in TERPSICHORE.

@lazersos Based on my communication with Tony Cooper, he doesn't know anything related to NYQUIST. So probably we shouldn't use LNYQUIST=T in TERPSICHORE.

@lazersos Based on my communication with Tony Cooper, he doesn't know anything related to NYQUIST. So probably we shouldn't use LNYQUIST=T in TERPSICHORE.

If we do that then we're feeding gibberish into TERPSICHORE.  In some cases it works because the high order harmonics die off in general that's not the case.  The SQRT(G) term must have a higher harmonic content than R or Z by definition.

@lazersos Based on my communication with Tony Cooper, he doesn't know anything related to NYQUIST. So probably we shouldn't use LNYQUIST=T in TERPSICHORE.

If we do that then we're feeding gibberish into TERPSICHORE.  In some cases it works because the high order harmonics die off in general that's not the case.  The SQRT(G) term must have a higher harmonic content than R or Z by definition.

If we do that then we're feeding gibberish into TERPSICHORE. In some cases it works because the high order harmonics die off in general that's not the case. The SQRT(G) term must have a higher harmonic content than R or Z by definition.

But that is probably most TERPSICHORE users did in the last thirty years...

If we do that then we're feeding gibberish into TERPSICHORE. In some cases it works because the high order harmonics die off in general that's not the case. The SQRT(G) term must have a higher harmonic content than R or Z by definition.

But that is probably most TERPSICHORE users did in the last thirty years...

OK.  That's the issue.  The TERPSICHORE Benchmark run works if you expand the Boozer Spectrum array to run from n=[-7,7].  I also had to slightly modify the input file.  I've pushed the changes to develop.

OK.  That's the issue.  The TERPSICHORE Benchmark run works if you expand the Boozer Spectrum array to run from n=[-7,7].  I also had to slightly modify the input file.  I've pushed the changes to develop.


Add three new graphic classes and some functions for graphic tree comparison

I add three new graphic classes Above, Beside and Overlay which implemented exactly same as before with skia(path, pin_position) and some simple tests in "test_operation.py"

I expose graphic attributes of all Graphic class for coming graphic tree compison use

the file "graphic_tree_canvas" and the new added attributes "left_node" and "right_node" is just for making printing job of graphic tree easier and graphic tree printing is basically for testing and debugging. All these thing could be deleted at the end.

4.the function "get_point_name" (for graphic tree printing)seems stupid and redudent and I try to make it better but I failed. If you know how to make it better please help me with it.

A couple of high-level points that need to be addressed before diving into the details:

Code that pertains to debugging/visualizing/comparing graphics should not be part of this library but of the separate project that deals with the assessment.
The implementation of the __init__ and draw methods in Above/Beside/Overlay should make use of the implementations of those methods in Compose/Pin. Besides the amount of code duplication, it is quite hard to make sure that all the computations you re-implemented are correct in all edge cases. The methods should essentially mimic what was done before at the function level (i.e., the combination of pin+pin+compose+pin).

Hi Luca I have modified my codes according to your feedback, please check them again. Thanks a lot!

Hi Luca, I have corrected all the inappropriate code based on your comments and I feel sorry for bringing you such bad code. Thank you so much for providing me detailed feedback and I really enjoy learning from them. If there still exists any code need to be improved, please let me know :D

Hi Luca, I follow your second suggestion and now SimpleCompose functions like previous _compose_pin_center.
As for your first suggestion, I try to rewrite Above`Overlay\Besidethree classes as dataclass, but because of the inheritance of dataclass, when we need to create a new object of one class, we have to assign all the fields of this class and its inherited classes.(for instance after I turn Beside into dataclass, the Beside.__init__() will required positional arguments: 'pin_position', 'path'(from inherited dataclassGraphic), 'graphic1', 'graphic2', 'point1', 'point2'(from inherited dataclass SimpleCompose`), 'left_graphic', and 'right_graphic'). And I try to use post-init processing and init-only variables to fix this but I fail.
I dont know if I miss something and if you have any thoughts to solve this please share with me:D

It's not your fault! Unfortunately, this whole dataclass approach is still rather messy for non-trivial use cases like ours. I tried to come up with a solution in https://github.com/LuCEresearchlab/pytamaro/pull/22/commits/f154990d57b0d75acc25b3a15717d1088598f7df. As you can see, it's quite a lot of changes.
The commit message explains in some detail the compromise I reached. It's probably not as clean as it could be, but it should fulfill all our requirements. Eventually, I decided to manually implement the constructors so that we could compute the required fields for the superclass(es). Among the other benefits, PyTamaro Graphics now have slightly more informative string representations and ""emulate immutability"".
This should be ready to be merged, but before doing that I'd like you to try to update your graphics-comparison code, to see whether these new changes address 100% of the aspects that were missing before.

Hi Luca. Thanks for detailed commit messages and they are very helpful! Currently I'm still struggling with the implemetion of my new graphic tree comparison and feedback algorithm, but I can confirm that the current version pytamaro has fulfil my need. So I think the code could be merged.

No news is good news... I am therefore merging this so that I can make other changes to the library that depend on this.

Glad to hear that:3


How To: Optionally wrap a lonely collection under a predefined key

I have following JSON decorator defined in my Rails 4 application for Event model.
require 'representable/json'

class Json::EventRepresentation < Representable::Decorator
  include Representable::JSON

  property :id
  property :data, render_nil: true
  property :recorded_time
  property :event_type_id
  property :created_at
  property :updated_at
end

I render a collection of Event objects using Json::EventRepresentation.for_collection.new(@events).as_json in my controller which emits following JSON array (which is a lonely collection)
[
  {
    "id": 49,
    "data": null,
    "recorded_time": "2015-04-02T21:23:16.509Z",
    "event_type_id": 11,
    "created_at": "2015-04-02T21:33:16.512Z",
    "updated_at": "2015-04-02T21:33:16.512Z",
  },
  {
    "id": 37,
    "data": null,
    "recorded_time": "2015-04-02T21:13:16.422Z",
    "event_type_id": 10,
    "created_at": "2015-04-02T21:33:16.424Z",
    "updated_at": "2015-04-02T21:33:16.424Z",
  }
]

However optionally at few places in my application I need to wrap the above shown lonely collection under key events so that following JSON is emitted:
{
  events: [
    {
      "id": 49,
      "data": null,
      "recorded_time": "2015-04-02T21:23:16.509Z",
      "event_type_id": 11,
      "device_id": 8,
      "created_at": "2015-04-02T21:33:16.512Z",
      "updated_at": "2015-04-02T21:33:16.512Z",
      "client_id": 7
    },
    {
      "id": 37,
      "data": null,
      "recorded_time": "2015-04-02T21:13:16.422Z",
      "event_type_id": 10,
      "device_id": 7,
      "created_at": "2015-04-02T21:33:16.424Z",
      "updated_at": "2015-04-02T21:33:16.424Z",
      "client_id": 7
    }
  ]
}

I am looking out for something like Json::EventRepresentation.for_collection.new(@events).as_json(wrap_in: :events) if its supported.
I looked through the gem's test suite and the readme but couldn't get a hint to achieve the desired behavior. Can anybody please guide me on how do I achieve the desired behavior?
Thanks.

hey @jiggneshhgohel  is Wrapping what you are looking for? You can pass a lambda to representation_wrap to make it dynamic.
class Json::EventRepresentation < Representable::Decorator
  self.representation_wrap = lambda do { |args| }
end

sorry @jiggneshhgohel. just realized that will probably not give you what you are looking for to add a key to your array. For collections, something like the following may be an option:
class EventsRepresenter < Representable::Decorator

  collection :events,
    :exec_context => :decorator,
    :decorator => EventRepresenter

  def events
    represented
  end
end

class EventRepresenter < Representable::Decorator
  include Representable::JSON

  property :id
  property :data, render_nil: true
  property :recorded_time
  property :event_type_id
  property :created_at
  property :updated_at
end

@summera Thanks for the solution. It's really helpful.In fact I did thought of creating a separate representer for representing the lonely collection with few customizations for e.g using wrap option available on collection in a represented.
However I also thought that for such a trivial thing why should we be bothered about creating and maintaining a separate representer and there might be an alternative to achieve the desired results in a dynamic manner for e.g passing custom option like
Json::EventRepresentation.for_collection.new(@events).as_json(wrap_in: :events)
while rendering the json and using this option in EventRepresenter in someway such that the given collection gets wrapped inside given key :events when the json gets rendered.@apotonick can you share your thoughts on this one?
@summera your solution is the way right now for me to continue and it also seems flexible enough for e.g when I need to add more data to the json which for now would be just containing  events array wrapped under :events. For e.g
{ events: [ .....], custom_data_a: ..., custom_data_b: ..., ...}
But I really wish if there is out-of-the-box support for wrapping lonely collections under a given key , when needed, while rendering the json and hence avoiding the need  to write and maintain a separate representer for the same.
Thanks,
Jiggneshh

Uhm, but isn't what you're asking for exactly what ::representation_wrap with a lambda does?
The problem here is that Representable tries hard to be a generic gem that explicitely does not solve everyone's requirements out-of-the-box, otherwise, this will end up like Rails.
I see your point, though, @jiggneshhgohel that it feels clunky to maintain two representers just to have a wrapping for the collections.
Maybe we should think about something as follows.
class Representer < ..
  property :title

  collection_representer do
    self.representation_wrap ...
  end
end

Here, you can configure specific items for the implicit collection representer. Cool?

@apotonick Thanks for such a prompt response. Using collection_representer in the manner you have suggested definitely looks like a good solution. I would try it out.
Closing this for now.

Oh no, wait, this does not work, yet! :laughing: :rocket:


Use longer extension name to reduce name collision chance

In #591, the test failed because the temp folder's name (/../z2c9zm7124q81f_py4xmd3scp7w9j7/..) also matches the path pattern .py, so it stopped the breakpoint unexpectedly. Using a longer name like .html should greatly reduce the chance of a similar issue from happening again.

Thank you


Separate input and output types

from #20

Another shortcoming is that there isn't a good separation between "input" types and "output" types. This matters in situations where a method accepts, for example, a Block in its parameters. At call time, a block won't have properties like id - those are assigned by the server. However, the Block type has id set as a non-optional property. This is a real issue and should be handled in a bugfix.

Thanks for identifying this! It will be nice for TS to let us omit properties we aren't updating from their default values when sending POST requests, as described here:

typescript forces all the properties id, title, that's why i have created that createTitle()
cause all TitlePropertyValue properties are required

https://github.com/makenotion/notion-sdk-js/discussions/45#discussioncomment-738035

Auto-generated types should resolve this issue as we now have input and output type distinctions.


Issue Increasing Frame Rate

I am using an ORX-10G-51S5C camera with ROS and recording the data into a rosbag. I am consistently getting a frame rate in the mid 20s and would like to increase it to more than 30 fps. I am calculating the frame by dividing msgs in rosbag by the length in seconds of the rosbag. I have set binning to 2, and in SpinView set the GevSCPD to 1000 and the DeviceLinkThroughputLimit to<PHONE_NUMBER>. What can be changed to increase the framerate and not impact the resolution significantly? When binning is set to 2 in SpinView, I am able to get 144 frames per second. I was able to get my GigE camera working by following this thread: https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver/issues/10.

@kaalessi I have exactly the same problem as you but just with a different camera, did you managed to increase the frame rate at the end?

@kaalessi I changed the pixel format according to #10 and the fps went up but I am not sure would the quality suffer so might be worth checking it out. I have only tested BayerRG8 so far.

@alankwok97 When setting the camera up, I also changed the pixel format like you to BayerRG8 and the frame rate was increased. I have not experimented with the other formats, but might give that a try today. Before changing the pixel format, I was getting like 6ish frames per second. I still haven't figured out the trick to get the frame rate up. I contacted FLIR/Point Grey Research last week and they seemed to think that if I can somehow increase the image buffer count for the ROS driver, then I may be able to get a higher frame rate. Changing the image buffer count in SpinView has helped temporarily, but it gets reset to the defaults even after saving. Their explanation was each individual program has its own buffer count. They also suggested it could be because the storage is too slow, but I have 6 solid state drives in RAID 0, so I doubt that is my problem. Other than that, they didn't have much of an idea. If you find anything out, please keep me up to date.

@kaalessi It's strange that you are only get 6 fps with the setting you are currently in as I basically have the same setting as you, GevSCPD to 2000 and the DeviceLinkThroughputLimit to<PHONE_NUMBER>, and I am getting 40-50 fps when I switch to BayerRG8 pixel format. Perhaps might be worth checking if your connection is really 1Gbit/s. Also, if you are still getting the EventBuffer error, increasing the ring buffer will also help and might be worth trying as well.
Regarding of the buffer count parameter, I tried altering it as well but as you said, mine didn't save either so I am not sure about that.
I will update you if I find anything new.

@alankwok97 Thanks for the response. I was getting 6 fps before I changed the pixel format to BayerRG8. Now that I am on that, I am getting between 20 and 30 something frames per second. I was getting the EventBuffer error previously, but fixed it by increasing both my ring buffer and UDP buffer. My network interface is also running at full 10G. There may be a spot in one of the .cpp files that we can manually edit the buffer count. If so, we may be in luck. I have used the grep command to search for both "frames" and "buffer" and other variants, but did not find anything too useful.

@kaalessi I figured that you can install Autoware instead of this driver since you have SpinView installed. With autoware, you don't even need to change any buffer settings and I am getting 60 fps easily (check via typing in the command rostopic hz  )
Here is the link: https://gitlab.com/autowarefoundation/autoware.ai/autoware/wikis/Source-Build
Just some head ups regarding of installing Autoware:

You need to configure Xorg as your default GNOME session
You need to fix the GUI bug

But they are all readily available online so I am sure you would be able to configure/fix them in no time.

@alankwok97 Awesome! Thank you so much! I will look into it. I just botched my Linux install playing with some settings. Once I reinstall everything, I will definitely check this out!


Snapdragon: compass calibration sometimes fails

The compass calibration on Snapdragon needs inspection.  Closing for now.


Add line length autocorrect for blocks

Shortens long lines by inserting a line break into blocks like this:
# original
foo.bar { |baz| batbatbatbatbatbatbatbat(baz) }

# auto-corrected after this PR
foo.bar { |baz|
batbatbatbatbatbatbatbat(baz) }

# auto-corrected after other block alignment cops run
# (just one example -- final output depends on config)
foo.bar do |baz|
  batbatbatbatbatbatbatbat(baz)
end

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


Update tests to use the new package layout

Currently the pub test are riddled with warnings about packages without "lib" directories. This should be fixed.

This issue has been moved to dart-lang/pub#135.


python: can't open file 'C:\Users\Brand\Desktop\Discord\Zero-attacker-main\Zero-Gen\Zero-Gen\info.py': [Errno 2] No such file or directory

bug has be been fixed
other then that most of the issues are fixed


Benchmarking utilities

This PR includes some utilities that could be useful for future benchmarking.
Some of the changes here are less obviously extensible to other benchmarking use cases. I'm just going to comment on the them directly to give context for why they exist. I'm happy to scrap or rework the ones that are too case-specific/ won't be useful for future benchmarking efforts.
This PR currently does not include the throughput benchmarking script (https://github.com/nishadsingh1/clipper/blob/benchmark/src/benchmarks/src/noop_bench.cpp). Given that we have a benchmarking example in the source, end_to_end_bench, and documentation accompanying it at bench/README.md, I wonder if it would be good to include a clean version of the throughput benchmaring script too. It could demonstrate usage of some of the benchmarking utilities not used by end_to_end_bench which we could also refer to in the documentation. Alternatively, we could move everything under bench/ and src/benchmarks/src/ (including the throughput benchmarking script) to some other branch with updated documentation at bench/README.md.

I'll explain one group of changes here since they function as a group. This relates to the changes in/addition of: bench/setup_same_prediction_bench_docker.sh, bench/setup_noop_bench_docker.sh, SamePredictionBenchDockerfile, NoopBenchDockerfile, and /bin/build_bench_docker_images.sh.
Our current benchmarking approach relies on Clipper to connect to model-containers that don't explicitly register with it. For this to happen, a model-container must try to connect to Clipper on the default port and with the IP address where Clipper exists. You can see an example of this in end_to_end_bench -- we just run ./bin/setup_sklearn_bench.sh, which spins up a locally running instance of SklearnContainer, and Clipper connects to it automatically in the end_to_end_bench script. However, if that SklearnContainer instance was running on a Docker container, its IP would differ from Clipper's and so it wouldn't connect. To allow it to connect, we can set the CLIPPER_IP environment variable on the docker container to the IP in which clipper is actually running.
This is what the new setup_noop_bench_docker.sh does for the NoopContainer -- it grabs the local machine's IP address (it assumes it's an AWS instance) and sets the env variable CLIPPER_IP to it. NoopBenchDockerfile is just the Dockerfile wrapper to this script.
An identical dynamic exists between setup_same_prediction_bench_docker.sh and SamePredictionBenchDockerfile for a new model-container SamePredictionContainer.
This is a sort of hacky solution to a very specific problem, so I understand if we'd want to either change the solution itself or not include one in this PR.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/461/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/462/
Test PASSed.

This new update removes the old noop_bench and end_to_end_bench and replaces them with generic_bench, which contains the intersection of their capabilities. Check out the new README for details. The intention is that this is clean/well documented enough to get merged into develop. Other changes we want to keep that don't fit that criteria will get added to a separate benchmarking branch.
Two questions before I request a review:

Do we want to keep the the scripts/dockerfiles for putting benchmarking-specific model-containers in docker containers? The reason for their existence is described in an above comment, and the corresponding files are: bench/setup_same_prediction_bench_docker.sh, bench/setup_noop_bench_docker.sh, SamePredictionBenchDockerfile, NoopBenchDockerfile, and /bin/build_bench_docker_images.sh.
(As per Corey's comment https://github.com/ucbrise/clipper/pull/225#discussion_r123912396) do we want to rename noop_container to sum_container (since it sums inputs) and same_prediction_container to noop_container?

I'll make the corresponding changes and request a review once they're up.

Yes. Keep the Dockerfile's for benchmarking containers. They make benchmarking much more convenient.
Yes, rename the containers. Can you grep for noop_container in the codebase though, because we are changing the semantics of that container? I don't think we have any tests that rely on noop_container actually summing the contents, but it would be good to double check.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/481/
Test PASSed.

Alright, it's ready for another review. Thanks a bunch to both of you for giving it a thorough pass once already. Pretty sure it's going to yell at me for formatting, but my local formatting script says all is fine -- would one of you mind pushing a formatting update?

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/483/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/484/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/488/
Test PASSed.

@Corey-Zumar @dcrankshaw Thanks a bunch for both of your reviews :)

I think I addressed all your comments. Some highlights:

removed accuracy reporting / creation + consideration of labels
no longer shuffle datapoint access order for threads
each thread gets its own copy of the data
setting reports_delay_seconds to -1 makes the script report only once the threads making requests have all completed
all the setup scripts have been updated to accept model names, versions, and IPs to connect to clipper with. the docker images allow for passing these values in as environment variables upon running them. Scripts are more transparent about which values they are using.
changed and updated the documentation, added a section on how to interpret reports

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/518/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/536/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/537/
Test PASSed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/538/
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/539/
Test PASSed.


updated requirements (stimulus checks & quality-controls) to aggregation branch

Merge request to fulfill below requirements:

Stimuli_interface.py: adding 'file_path' to StimuliImagesInterface's init(). This is the file path for the parsed mworks event file (.csv). This is to fool-proof rare cases, in which the unique set of images do not match the actual images shown. One case was caught when the experimenter skipped the first stimulus using a one-based indexing scheme rather than using zero-based indexing.

Added feature to convert_project.py to incorporate quality-control mechanisms from normalizer sessions.

All other changes are minor.

I submitted a PR request for merging my recent changes from the ‘aggregation’ branch before you make any changes.
I simply thought this might be helpful to show you my latest updates before you make additional revisions to the main branch.


Swap Eat and use option on Caviar

Is your feature request related to a problem? Please describe.
Now that decanting into 2 dose potions is possible barbarian herblore is a viable training method (it is 1t and you can create potions just like darts essentially).  The current problem is that caviar has a left click eat option which means for every potion you make you have to right click and choose the use option
Describe the solution you'd like
Add an option in menu entry swapper for Caviar to swap the eat and use options
Describe alternatives you've considered
Could also swap the potions drink and use options but jagex might disagree with going this far

Use shift-click configuration and simply hold shift


Convert acquire-logger from a static library to an object library.

Closes #28.

awesome!!  This works for me.
For those building with meson, with this PR i can now easily build against acquire-zarr by just including this wrap in subprojects/acquire-zarr.wrap:
[wrap-git]
url = https://github.com/acquire-project/acquire-zarr
revision = 28-private-logger-library  # or later something else
depth = 1
method = cmake

and then adding aquire_zarr_dep = dependency('acquire-zarr') to my meson.build
thanks @aliddell


db-doc failing with Snowflake

Environment
Liquibase Version: 4.18.0
Liquibase Integration & Version: GitHub Actions
Liquibase Extension(s) & Version: n/a
Database Vendor & Version: Snowflake
Operating System Type & Version:  Linux
Infrastructure Type/Provider: GitHub Actions
Description
Trying to use the db-doc action to generate database documentation against a Snowflake database.  Alas, I get this error instead:

Error getting jdbc:snowflake://blahblah-connection.snowflakecomputing.com:443/ view with liquibase.statement.core.GetViewDefinitionStatement@40cb95c1

Caused by: Expected single row from liquibase.statement.core.GetViewDefinitionStatement@6516181f but got 0
Caused by: Empty result set, expected one row

The full stack trace is:
[2022-12-27 23:43:14] SEVERE [liquibase.integration] Error getting jdbc:snowflake://blahblah-connection.snowflakecomputing.com:443/ view with liquibase.statement.core.GetViewDefinitionStatement@40cb95c1
  - Caused by: Expected single row from liquibase.statement.core.GetViewDefinitionStatement@6516181f but got 0
  - Caused by: Empty result set, expected one row
liquibase.exception.CommandExecutionException: liquibase.exception.DatabaseException: Error getting jdbc:snowflake://blahblah-connection.snowflakecomputing.com:443/ view with liquibase.statement.core.GetViewDefinitionStatement@40cb95c1
	at liquibase.command.CommandScope.execute(CommandScope.java:178)
	at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:55)
	at liquibase.integration.commandline.CommandRunner.call(CommandRunner.java:24)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
	at picocli.CommandLine.execute(CommandLine.java:2170)
	at liquibase.integration.commandline.LiquibaseCommandLine.lambda$execute$1(LiquibaseCommandLine.java:[352](https://github.com/MyOrg/edp-snowflake/actions/runs/3790586318/jobs/6445309629#step:12:353))
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:165)
	at liquibase.integration.commandline.LiquibaseCommandLine.execute(LiquibaseCommandLine.java:317)
	at liquibase.integration.commandline.LiquibaseCommandLine.main(LiquibaseCommandLine.java:84)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at liquibase.integration.commandline.LiquibaseLauncher.main(LiquibaseLauncher.java:107)
Caused by: liquibase.exception.DatabaseException: Error getting jdbc:snowflake://blahblah-connection.snowflakecomputing.com:443/ view with liquibase.statement.core.GetViewDefinitionStatement@40cb95c1
	at liquibase.snapshot.jvm.ViewSnapshotGenerator.snapshotObject(ViewSnapshotGenerator.java:132)
	at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:66)
	at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
	at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:69)
	at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
	at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:69)
	at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
	at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:69)
	at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
	at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:69)
	at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
	at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:69)
	at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
	at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:312)
	at liquibase.snapshot.DatabaseSnapshot.replaceObject(DatabaseSnapshot.java:445)
	at liquibase.snapshot.DatabaseSnapshot.replaceObject(DatabaseSnapshot.java:467)
	at liquibase.snapshot.DatabaseSnapshot.includeNestedObjects(DatabaseSnapshot.java:[373](https://github.com/MyOrg/edp-snowflake/actions/runs/3790586318/jobs/6445309629#step:12:374))
	at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:335)
	at liquibase.snapshot.DatabaseSnapshot.init(DatabaseSnapshot.java:105)
	at liquibase.snapshot.DatabaseSnapshot.<init>(DatabaseSnapshot.java:58)
	at liquibase.snapshot.JdbcDatabaseSnapshot.<init>(JdbcDatabaseSnapshot.java:34)
	at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:215)
	at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:188)
	at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:155)
	at liquibase.changelog.visitor.DBDocVisitor.writeHTML(DBDocVisitor.java:127)
	at liquibase.Liquibase$20.run(Liquibase.java:2297)
	at liquibase.Scope.lambda$child$0(Scope.java:180)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:179)
	at liquibase.Scope.child(Scope.java:158)
	at liquibase.Liquibase.runInScope(Liquibase.java:2445)
	at liquibase.Liquibase.generateDocumentation(Liquibase.java:2273)
	at liquibase.Liquibase.generateDocumentation(Liquibase.java:2268)
	at liquibase.integration.commandline.Main.doMigration(Main.java:1826)
	at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:396)
	at liquibase.Scope.lambda$child$0(Scope.java:180)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:179)
	at liquibase.Scope.child(Scope.java:158)
	at liquibase.integration.commandline.Main$1.run(Main.java:[395](https://github.com/MyOrg/edp-snowflake/actions/runs/3790586318/jobs/6445309629#step:12:396))
	at liquibase.integration.commandline.Main$1.run(Main.java:217)
	at liquibase.Scope.child(Scope.java:189)
	at liquibase.Scope.child(Scope.java:165)
	at liquibase.integration.commandline.Main.run(Main.java:217)
	at liquibase.command.AbstractCliWrapperCommandStep.run(AbstractCliWrapperCommandStep.java:33)
	at liquibase.command.CommandScope.execute(CommandScope.java:172)
	... 20 more
Caused by: liquibase.exception.DatabaseException: Expected single row from liquibase.statement.core.GetViewDefinitionStatement@6516181f but got 0
	at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:222)
	at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:233)
	at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:228)
	at liquibase.database.AbstractJdbcDatabase.getViewDefinition(AbstractJdbcDatabase.java:907)
	at liquibase.snapshot.jvm.ViewSnapshotGenerator.snapshotObject(ViewSnapshotGenerator.java:84)
	... 65 more
Caused by: liquibase.exception.DatabaseException: Empty result set, expected one row
	at liquibase.util.JdbcUtil.requiredSingleResult(JdbcUtil.java:132)
	at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:220)
	... 69 more

Steps To Reproduce
To reproduce, add a step like this to a Github Workflow:
    - name: Generate Liquibase Database Documentation
      uses<EMAIL_ADDRESS>      with:
        headless: true
        classpath: liquibase
        changeLogFile: liquibase/changelog.snowflake.yml
        outputDirectory: liquibase/db-doc
        url: ${{ SECRET.DB_URL }}
        username: ${{ SECRET.DB_USERNAME }}
        password: ${{ SECRET.DB_PASSWORD }}
        logLevel: INFO

Additional Context
My Snowflake database does have some Views and Materialized Views defined.  I am unclear if there is a specific object that is breaking this process.

Note that if GetViewDefinitionStatement had a toString method, then this would be easier to debug because we are seeing output like this:
liquibase.statement.core.GetViewDefinitionStatement@40cb95c1

which doesn't show the viewName property.

I confirmed that a Materialized View is breaking dbDoc.
I traced the SQL to something like:
select view_definition from information_schema.views
where table_name=? and table_schema=? and table_catalog=?

In the case of a Materialized View, the result set has 0 rows.  It appears that Snowflake does not list Materialized views in INFORMATION_SCHEMA.VIEWS.  (This is likely a bug.)
An alternative solution is to use the GET_DDL function:
select GET_DDL('view', 'CATALOG.SCHEMA.VIEW_NAME', true) as view_definition

It basically gives the expected result except that the view_definition is a create or replace statement rather than a create statement.

Another alternative is to use show views:
show views like 'VIEW_NAME' in schema CATALOG.SCHEMA

This returns a result set with a bunch of columns.  The text column is the view definition.  Note that this value is a create statement, not a create or replace statement.

Hello! Thanks for the detailed report! I see that you have some insight on the matter, do you minde submiting a PR with a possible fix? It would help speeding up the process . Let us now. Thanks!

Hello! I think that PR https://github.com/liquibase/liquibase/pull/3794 that is present on 4.21.1 may have fixed it.. could you give it a try?

This issue got stale, closing it for now, feel free to re-open if needed


Error when moving Azure certificate to another subscription: Property id '' at path 'properties.keyVaultId' is invalid

I am trying to move my Azure AppService website and all inked resources to another subscription. I am using the following command:
az resource move --destination-group <target-resource-group> --destination-subscription-id "<target-subscription-id>" --ids
"/subscriptions/<source-subscription-id>/resourceGroups/<target-resource-group>/providers/Microsoft.DomainRegistration/domains/<my-website-name>.com"
"/subscriptions/<source-subscription-id>/resourceGroups/<target-resource-group>/providers/Microsoft.Network/dnszones/<my-website-name>.com"
"/subscriptions/<source-subscription-id>/resourceGroups/<target-resource-group>/providers/Microsoft.Web/certificates/www.<my-website-name>.com"
"/subscriptions/<source-subscription-id>/resourceGroups/<target-resource-group>/providers/Microsoft.Web/serverFarms/ASP-<my-website-name>-81a3"
"/subscriptions/<source-subscription-id>/resourceGroups/<target-resource-group>/providers/Microsoft.Web/sites/<my-website-name>"

The command returns the following error
Deployment failed. Correlation ID: f391e0d7-9de4-45bb-ac97-4bccb2ddd487. {"error":{"code":"LinkedInvalidPropertyId","message":"Property id '' at path 'properties.keyVaultId' is invalid. Expect fully qualified resource Id that start with '/subscriptions/{subscriptionId}' or '/providers/{resourceProviderNamespace}/'."}}

I inspected all the rescources that I tried to move, and found out that the empty keyVaultId property is in the SSL Certificate resource. I am using Azure's free managed SSL Certificate, and it's not stored in KeyVault, so I don't understand why it's complaining about KeyVault ID.
This exact command used to work fine for me in the past, so this must be some recent change that is causing this error.

ARM

Is there any update on this? Not sure why this is labelled as feature request. This seems very much like a bug: the exact same command used to be working fine for me in the past, but at some point it just started producing this cryptic error.

@dmitry-sosnitskiy-zip Could you please add parameter --debug to the executed command and rerun it, then send the printed debug information to me? My email address is<EMAIL_ADDRESS>thanks~

{
    "error": {
        "code": "ResourceMovePolicyValidationFailed",
        "message": "Resource move policy validation failed. Please see details. Diagnostic information:  subscription id 'xxx', request correlation id '72da5076-64a6-42bb-88ec-fef860b2a68e'.",
        "details": [
            {
                "code": "ResourceMovePolicyValidationFailed",
                "target": "Microsoft.Web/Microsoft.Web/certificates/www.magesoftware.com",
                "message": "{\"error\":{\"code\":\"LinkedInvalidPropertyId\",\"message\":\"Property id '' at path 'properties.keyVaultId' is invalid. Expect fully qualified resource Id that start with '/subscriptions/{subscriptionId}' or '/providers/{resourceProviderNamespace}/'.\"}}"
            }
        ]
    }
}

Because this error was returned by service, so this issue needs to be investigated by service team.
'x-ms-correlation-request-id': '72da5076-64a6-42bb-88ec-fef860b2a68e'

Is there any update on this? Any ETA?

ARM service team should look into this

@yonzhan Any updates?

@ifeoluwaokunoren Could you please help transfer this issue to relevant members for investigation

@zhoxing-ms still no updates?

@ifeoluwaokunoren Any update?


fix(alerts): remove pagination from ListMultiLocationSyntheticsCondit…

The /alerts_location_failure_conditions/policies/ endpoint does not support pagination.  Each page that was being requested was returning the exact same data as every other page.
This change will remove extra unnecessary calls to /alerts_location_failure_conditions/policies/ that would occur anytime a policy had more than 50 conditions associated with it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Cole Snodgrass seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add aldryn-apphooks config

Fix #126
Fix #77
Fix #65
Fix #146

[x] Multiple apphooks
[x] Add posts to menu
[x] Configurable permalinks
[ ] Add haystack index
[x] Move configuration to apphook config
[x] Setting for menu style (None, Categories, Posts, Categories & Posts)
[x] Autosetup

:+1:
Sweet... would love to see this soon on the develop branch.
I would enjoy updating my site to use this feature.

Might be jumping the gun here a little, but I could no wait until this was merged into develop to give it a shot.
I cloned this repo and merged feature/appcnfg to develop branch and created a new django-cms project (following the usual steps from the readme.md at https://github.com/nephila/djangocms-blog).
I successfully created 2 separate blog pages associating each with different app config instances, and created one post on each of them. The separate blogs now showed their own posts. GREAT.
However, when I clicked on the post to view it, it ran into an error...
TypeError at /en/blog2/2015/09/27/first-post-second-blog/
get_meta_attribute() takes exactly 2 arguments (1 given)
Request Method:	GET
Request URL:	http://<IP_ADDRESS>:8080/en/blog2/2015/09/27/first-post-second-blog/
Django Version:	1.6.11
Exception Type:	TypeError
Exception Value:
get_meta_attribute() takes exactly 2 arguments (1 given)
Exception Location:	/home/nagarajan/dev/multiblog/venv/local/lib/python2.7/site-packages/django_meta_mixin-0.1.1-py2.7.egg/meta_mixin/models.py in as_meta, line 52
Python Executable:	/home/nagarajan/dev/multiblog/venv/bin/python
Python Version:	2.7.3

/home/nagarajan/dev/multiblog/venv/local/lib/python2.7/site-packages/djangocms_blog-0.5.1.dev1-py2.7.egg/djangocms_blog/views.py in get_context_data

    def get_context_data(self, **kwargs):
        context = super(PostDetailView, self).get_context_data(**kwargs)
        context['meta'] = self.get_object().as_meta()

/home/nagarajan/dev/multiblog/venv/local/lib/python2.7/site-packages/django_meta_mixin-0.1.1-py2.7.egg/meta_mixin/models.py in as_meta

        metadata.update(self._metadata_default)
        meta = Meta()
        for field, value in self._metadata.items():
            if value:
                attr = getattr(self, value, False)
                if attr is not False:
                    if callable(attr):
                        data = attr()

This is my virtualenv configuration...
aldryn-apphooks-config==0.2.5
cmsplugin-filer==0.10.2
dj-database-url==0.3.0
Django==1.6.11
django-admin-enhancer==1.0.0
django-appconf==1.0.1
django-appdata==0.1.4
django-classy-tags==0.6.2
django-cms==3.0.15
django-filer==0.9.12
django-meta==0.3.1
django-meta-mixin==0.1.1
django-mptt==0.6.1
django-parler==1.5
django-polymorphic==0.7.1
django-reversion==1.8.5
django-sekizai==0.8.2
Django-Select2==4.3.2
django-taggit==0.17.1
django-taggit-autosuggest==0.2.7
django-taggit-templatetags==0.4.6.dev0
django-templatetag-sugar==1.0
djangocms-admin-style==0.2.8
djangocms-blog==0.5.1.dev1
djangocms-column==1.5
djangocms-file==0.1
djangocms-flash==0.2.0
djangocms-googlemap==0.3
djangocms-inherit==0.1
djangocms-installer==0.8.0
djangocms-link==1.6.2
djangocms-picture==0.1
djangocms-style==1.5
djangocms-teaser==0.1
djangocms-text-ckeditor==2.6.0
djangocms-video==0.1
easy-thumbnails==2.2
html5lib==0.9999999
Pillow==2.9.0
pytz==2015.6
six==1.9.0
South==1.0.2
tzlocal==1.2
Unidecode==0.4.18

Wow, thanks for being so impatient! :)
This branch requires the master branch of django-meta-mixin (that will be released as 0.2). You can just pip install that from github

Thanks @yakky . It seems to work fine now.
I will try to migrate my existing blog to this and will let you know how that goes.

@motleytech thanks for your test!
Datamigration should correctly migrate existing installations to the new setup, let me know if it's handled correctly

Tried data migration on my blog database using python manage.py syncdb followed by python manage.py migrate. It ran into the following error...
Running migrations for djangocms_blog:
 - Migrating forwards to 0015_create_appconfig.
 > djangocms_blog:0011_chg_field_post_translation_abstract
 > djangocms_blog:0012_move_tags
 > djangocms_blog:0013_auto
 > djangocms_blog:0014_auto__add_blogconfigtranslation__add_unique_blogconfigtranslation_lang
 > djangocms_blog:0015_create_appconfig
Error in migration: djangocms_blog:0015_create_appconfig
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/management/commands/migrate.py", line 111, in handle
    ignore_ghosts = ignore_ghosts,
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/__init__.py", line 220, in migrate_app
    success = migrator.migrate_many(target, workplan, database)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/migrators.py", line 256, in migrate_many
    result = migrator.__class__.migrate_many(migrator, target, migrations, database)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/migrators.py", line 331, in migrate_many
    result = self.migrate(migration, database)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/migrators.py", line 133, in migrate
    result = self.run(migration, database)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/migrators.py", line 114, in run
    return self.run_migration(migration, database)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/migrators.py", line 84, in run_migration
    migration_function()
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/south/migration/migrators.py", line 60, in <lambda>
    return (lambda: direction(orm))
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/djangocms_blog-0.5.1.dev1-py2.7.egg/djangocms_blog/south_migrations/0015_create_appconfig.py", line 21, in forwards
    config = BlogConfig.objects.create(namespace=page.application_namespace)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/manager.py", line 157, in create
    return self.get_queryset().create(**kwargs)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/query.py", line 322, in create
    obj.save(force_insert=True, using=self.db)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/base.py", line 545, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/base.py", line 573, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/base.py", line 654, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/base.py", line 687, in _do_insert
    using=using, raw=raw)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/manager.py", line 232, in _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/query.py", line 1514, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 903, in execute_sql
    cursor.execute(sql, params)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/backends/util.py", line 69, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: column "set_author" of relation "djangocms_blog_blogconfig" does not exist
LINE 1: INSERT INTO "djangocms_blog_blogconfig" ("set_author", "name...

@motleytech argh, sorry, apparently a south migration was missing. It should be fixed now

@yakky
Thanks man. Ran into another error...
Running migrations for djangocms_blog:
 - Migrating forwards to 0016_create_appconfig.
 > djangocms_blog:0011_chg_field_post_translation_abstract
 > djangocms_blog:0012_move_tags
 > djangocms_blog:0013_auto
 > djangocms_blog:0014_auto__add_blogconfigtranslation__add_unique_blogconfigtranslation_lang
 > djangocms_blog:0015_auto__del_field_blogconfig_paginate_by__del_field_blogconfig_set_autho
FATAL ERROR - The following SQL query failed: ALTER TABLE "djangocms_blog_blogconfig" DROP COLUMN "paginate_by" CASCADE;
The error was: column "paginate_by" of relation "djangocms_blog_blogconfig" does not exist

Error in migration: djangocms_blog:0015_auto__del_field_blogconfig_paginate_by__del_field_blogconfig_set_autho
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()

<snip>

  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: column "paginate_by" of relation "djangocms_blog_blogconfig" does not exist

Ok, I had the chance to test in a live non trivial project. This time shoud be fixed. Sorry @motleytech and thanks for your patience

@yakky
No need for apologies. I am glad to be part of this, and happy to help in whatever way possible.
I tried the latest migrations and it seemed to work this time. Then I started to create a separate blog page and ran into some problems.
Here is what I did...
Created a new cms page - with title newpage, and filled in other required fileds. Then, Save and publish the page
New menu item showed up for 'newpage'. Clicking on it gave this error... (this page is not associated with the blog application, so not sure why aldryn_apphooks_config is involved here).
ImproperlyConfigured at /en/newpage/
No registered apphook None found
Request Method:	GET
Request URL:	http://<IP_ADDRESS>:8001/en/newpage/
Django Version:	1.6.10
Exception Type:	ImproperlyConfigured
Exception Value:
No registered apphook None found
Exception Location:	/home/username/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/cms/apphook_pool.py in get_apphook, line 97
Python Executable:	/home/username/dev/ws_project/venvs/cms_venv/bin/python
Python Version:	2.7.3
Python Path:
['/home/username/dev/ws_project/webcms/djcms',
 '/home/username/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/aldryn_apphooks_config-0.2.5-py2.7.egg',
 '/home/username/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/django_appdata-0.1.4-py2.7.egg',
 '/home/username/dev/ws_project/venvs/cms_venv/src/django-meta-mixin-master',
 '/home/username/dev/ws_project/venvs/cms_venv/lib/python2.7',
 '/home/username/dev/ws_project/venvs/cms_venv/lib/python2.7/plat-linux2',
 '/home/username/dev/ws_project/venvs/cms_venv/lib/python2.7/lib-tk',
 '/home/username/dev/ws_project/venvs/cms_venv/lib/python2.7/lib-old',
 '/home/username/dev/ws_project/venvs/cms_venv/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/home/username/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages',
 '/home/username/dev/ws_project/webcms/djcms/djangocms-blog']
Server time:	Wed, 30 Sep 2015 20:18:50 -0700

Error is at the following location...

/home/username/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/aldryn_apphooks_config-0.2.5-py2.7.egg/aldryn_apphooks_config/utils.py in get_app_instance
    Returns a tuple containing the current namespace and the AppHookConfig instance
    :param request: request object
    :return: namespace, config
    """
    app = None
    if getattr(request, 'current_page', None):
        app = apphook_pool.get_apphook(request.current_page.application_urls)

Restarting the server process does not help.
On editing the new page's advanced settings, I ran into another issue...
When I associated the page with the Blog application and attempted to assign a new Application configuration, I got an error at the top saying Please correct the error below. However, there is no field in red below.
I inspected the page source and saw that there is a hidden field with the label Application instance name: which has the associated error A instance with this name already exists. I made the field visible, which now showed up along with the error message in red, and had the text djangocms_blog in the text field. I changed this to djangocms_blog2, just to give it a new name and clicked on save.
The save worked, but I knew this was a terrible hack and had very little chance of working. As expected, it didn't really work.
On clicking on the newly created page, I got this error
Page not found (404)
Request Method:	GET
Request URL:	http://<IP_ADDRESS>:8001/en/newpage/

No blog article found matching the query, tried languages: en

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

@motleytech hmm, that's weird, which django CMS version are you using?

I am on django-cms==3.0.15. I see that there is a 3.0.16 available... could that be the culprit?

@motleytech it should not. I'll give it a run on 3.0.15

@yakky Thanks
Let me know if you run into issues. In the meanwhile, I will upgrade to 3.0.16 and see if that makes a difference.

Sorry... wrong info. I am on 3.0.12. I looked up the 3.0.15 in the wrong place.

I cannot reproduce the behavior on 3.0.15 or 3.0.12
Error 1) can be easily fixed on apphooks config by playing defensive, but I cannot see why it could happen
Regarding the error 2), does your advanced settings looks like this?

@yakky
Yes, it looks exactly like that.

I upgraded to 3.0.15 and I am able to replicate the same problems I had with 3.0.12.
I have 2 pages in my site... one is associated with the Blog application. The other is a simple cms page - the about page.
After the migration, I am able to see the blog and all the blog posts.
However, I am unable to view the cms about page, and getting this error when I click on the about menu item...
ImproperlyConfigured at /en/about/
No registered apphook u'' found
Request Method:	GET
Request URL:	http://<IP_ADDRESS>:8001/en/about/
Django Version:	1.6.10
Exception Type:	ImproperlyConfigured
Exception Value:
No registered apphook u'' found
Exception Location:	/home/nagarajan/dev/ws_project/venvs/cms_venv/local/lib/python2.7/site-packages/cms/apphook_pool.py in get_apphook, line 97

Also, the about page shows up as unpublished in the left admin panel, and when I try to publish it, I see the following error in the terminal...
[30/Sep/2015 22:54:17] "GET /en/admin/cms/page/3/en/publish/?redirect_language=en&redirect_page_id= HTTP/1.1" 405 0

Ah! I think you just found a bug in django CMS / apphook config :)

Damn bugs. :rage: Grrrr....
I am gonna see if I can find the bug and report it to the django cms team.

No worries, I'm investigating. I just fixed 1) in https://github.com/aldryn/aldryn-apphooks-config/tree/feature/code_style
With the current implementation of the configurable slugs, however, you can't have a subpage in the blog. But I think I can fix that
What really baffles me is the error 2)

You can support subpages of the blog page by setting:
BLOG_PERMALINKS_URLS = {
    'full_date': r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>\w[-\w]*)/$',
    'short_date': r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<slug>\w[-\w]*)/$',
    'category': r'^post/(?P<category>\w[-\w]*)/(?P<slug>\w[-\w]*)/$',
    'slug': r'^post/(?P<slug>\w[-\w]*)/$',
}

So that 'category' and 'slug' kind of slug does not conflict with django CMS ones

I am hoping that fixing 1 will have some effect on 2. In the meanwhile, let me try your suggestion about the blog permalinks thing.

@yakky
Also, any idea why the problem with the django cms apphook config shows up now, after the migration (and not before)?

@motleytech before the migration apphook config was not available for the blog as the blog app did not declare support for it, so the CMS fallbacked to the "old" behavior

Got it... I was suspecting something on those lines.

@yakky
Applied your play safe fix from aldryn_apphooks_config. That got rid of the improperly configured error on accessing the about page... but ran into another error.
Page not found (404)
Request Method:	GET
Request URL:	http://<IP_ADDRESS>:8001/en/about/
No blog article found matching the query, tried languages: en

I wonder why its searching for a blog article in the last line... the about page is not linked with the blog. Its just a cms page. :confused:

That's related to the permalink thing

Thanks... Now I understand what was wrong with the about page link. Had to fix a typo to get that to work properly.
BLOG_PERMALINKS_URLS should be BLOG_PERMALINK_URLS

@motleytech oops, sorry!

Yayy... it works now!!! Sweeet!
I am able to have separate blog pages with their own posts, along with cms pages.
Everything seems to work fine now. Thanks a ton for sticking with this @yakky

@motleytech good! Thanks a ton for testing this and helping fixing a few things along the way

Hi guys,
I've following your steps and that app awesome :).
I've noticed than when you Add blog article the Category box is empty despite the fact there exist some categories. But if you Save and continue editing suddenly categories appear.

@vnavascues indeed, thanks for spotting this

@yakky
I see that after migrating my blog, the menu shows the categories of a blog as submenu items of the blog.
Is this a bug or by design?

It's a new feature since 0.5.0. Actually we can now add a setting for this in the apphook config

Sorry... I am a little rusty in my django. How can I add this setting?
Also, we should have aldryn_apphooks_config in the settings INSTALLED_APPS in order for the collectstatic to copy the js and css from the app to the static location.
One more problem which I ran into again recently (because I had not created a new blog page in a few days). Whenever I try creating a new page associated with the blog application (in the advanced settings), the Application Instance name field is always hidden and defaults to "djangocms_blog". This gives an error (which I reported up in this discussion) without being able to highlight the error field.
Currently I am working around this by going into dev tools, unhiding the filed and giving the app instance a new name.
Any idea what could be wrong here? This looks like a cms bug.

The error due to Application Instance name went away after I installed apphooks config in the right place. Kindly ignore my comments on that error.

@motleytech I'll push the new setting shortly and the README fix

@motleytech Menu configuration landed

Thanks @yakky
Will start playing around with it right away.

@motleytech @vnavascues I'm about to merge this into develop and release an alpha version to make testing easier. Search index will land later

Thanks again for this excellent set of features.

@motleytech thanks for your valuable tests

Coverage decreased (-94.6%) to 1.427% when pulling b9ac41fac58840ee6d3e84aff0bdf59cb58af0fe on feature/appcnfig into 78d612a387417466cbb32583e041d71386c43e4e on develop.


Create upload dir when creating settings, fixes #3521

The Problem/Issue/Bug:

Since with mutagen syncing we now bind-mount the upload_dir, but since it doesn't get mounted unless it exists, we need to make sure it exists if it's defined.

How this PR Solves The Problem:

Create the upload_dir with the settings files

Manual Testing Instructions:
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

TestMutagenSimple is failing all the time on wsl2 in the same place. So something interesting is going on here.


Options that accept space separated values

I was wondering if there is a possibility of having a Option that accept multiple space separated values or alternatively a function to specify how many parameters are needed by Option  .
Example:
test --delete file1 file2 file3

It is not possible right now, this could be done but that would disable normal arguments and thus subcommands. Will work on it soon.

In my case I need an option to specify swapping two songs in a playlist:
mediaplayer --swap 1 9
the alternative
mediaplayer --swap 1 --swap
doesn't seem as explicative

I found a workaround using argument as the second option.
The issue could be closed


Strange glowing artifacts when using Directional Lightmap in combination with Glow effect

Godot version
v4.0.beta10.official [d0398f62f]
System information
Fedora Linux 37 (Workstation Edition), AMD Radeon™ RX 6700 XT
Issue description
Baking Directional Lightmap on the Sponza scene from the glTF Sample Models repository causes a strange glow on a certain part of the scene when Glow effect is enabled.

Switching to Screen mode shows how bright this arfitact is:

Steps to reproduce

Create a scene and set up a Directional Light and a World Environment
Put in the Sponza scene
Set up LightmapGI, enable Directional and Bake

Minimal reproduction project
(File exceeds GH size limit)

Related to https://github.com/godotengine/godot/issues/65497 and https://github.com/godotengine/godot/issues/68464.
This is likely due to NANs being output by the scene shader (due to incorrect specular calculations).

@atirut-w The MRP link is no longer accessible. Do you still have the project available somewhere?

Darn. Not sure if I still have it, but I can try to recreate it later today. Is there a better place to upload to other than Google Drive?

Dropbox or MEGA are two file hosting services I'm familiar with

Still an issue as of 4.3. Strangely enough, switching to lighting view does not show the glow. Sorry to use Google Drive again.  It seems the link dying was entirely my fault for accidentally deleting the folder it's hosted on.
Updated link (will also update the original link): https://drive.google.com/file/d/1sTuSK-Ypkr7KrwyVABG9RORf44fvja3a/view?usp=sharing

Strangely enough, switching to lighting view does not show the glow.

The glow is here because of specular artifacts. The Lighting debug draw mode uses the fallback 3D material for everything, which is mostly rough, so there's no opportunity for specular artifacts to show up.


[Modal][base] Convert code to TypeScript

Convert the ModalUnstyled and related modules (everything inside mui-base/src/ModalUnstyled) to TypeScript, to increase consistency with other MUI Base components.
There should be no functional changes.
Use other components as a reference.

Please assign me to this issue.

Here you go!


Skip bump only releases in fixed mode, too

Clear and concise description of the problem
There is the version option --skip-bump-only-releases

this option is only useful and can only be used with independent mode. Also please note that each changelogs are still going to be updated with the "version bump only" text and only the releases will be skipped.

From my point of view, the use of this option in fixed mode would also be desirable, as ‘version bump only’ releases can also occur here.
Suggested solution
--skip-bump-only-releases supports fixed mode, too.
Alternative
Using version --dry-run and shell-scripting, "version bump only" can be avoided https://stackoverflow.com/questions/78990282/how-to-avoid-version-bump-only-releases-in-fixed-mode
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I think you might have misunderstood what this option really does. It skips GitHub Releases in the UI on the GitHub page only. It will still bump and publish the package version and update the changelogs, it's only the GitHub (UI) Release that is being skipped.
When you're using fixed mode, you are ready to publish and create a GitHub Release in the UI. You should never have a bump only release in the UI when using fixed mode (you could get some in the changelogs but again this option does not skip those)

You're right, I have been thinking about not publishing (to NPM registry) in case of a "version bump only". If you want, feel free to close this issue.
But, on the other side, I think --skip-bump-only-releases supports fixed mode, too. remains kind of valid.


How to build a command-line utility(CLI) using Node.js

Introduction:
Command-line utilities are used almost every day by the developers. They are useful and fast when you want to get something done. Most of the developers’ tasks can be automated using a CLI. We can utilize quite a number of packages and built-in libraries that Node.js offers to build a highly portable, multi-operating system CLI.
Key takeaways:
The reader will be able to:
Build a simple CLI to translate between different languages
Use a translation API to fetch the language translations and display the output
Use the terminal colors to decorate the output and make it presentable.
References:
N/A

Thank you for your topic suggestion @ephnjor2021, but it seems that this topic has already been sufficiently covered in this previously published article - https://www.section.io/engineering-education/create-a-nodejs-cli/. Please select a different topic area to explore.


Failed to code sign "Yep".

终端提示，当前是develop分支
git branch -v
*develop 96c111c alertCanNotAccessCameraRoll for check failed of UIImagePickerController.isSourceTypeAvailable(.PhotoLibrary)
master  5345257 [Close #25] Translate Readme into English
Xcode提示：
Failed to code sign "Yep".
None of the valid provisioning profiles allowed the specified entitlements: com.apple.developer.associated-domains, com.apple.security.application-groups.

See #24


feat: fedimint metrics

Export LN metrics from the server in prometheus format. More metrics can be added in future.
This supports the monitoring and administration of servers.

Does prometheus format mean we have to run prometheus beside it? Or will this pipe directly into Grafana?

You can use Grafana Agent  as a lightweight alternative do load the metrics in graphana

Does this PR enable us to test locally with a standard Grafana install? If so, could you provide a short HOW TO? This is my first time working with the combo so would appreciate any guidance on how this work. Happy with RTFM links as well.

The easiest way is to create an account on https://grafana.com/, then Add new connection, pick Hosted Prometheus metrics and Via Grafana Agent. Follow the instructions to create a new config and change
- targets: ['localhost:9100']

to
- targets: ['localhost:3000']

Then you can build dashboards using the grafanacloud-xxx-prom data source.
But of course before that start the metrics with something like:
for i in 0; do fedimint-metrics monitor --database $FM_DATA_DIR/server-$i/database --cfg-dir $FM_DATA_DIR/server-$i --password pass$i;done

And to make some lightning payments, you can run
fedimint-load-test-tool load-test --generate-invoice-with cln-lightning-cli

Cool! I like this approach and was along the same lines as what I was thinking. I will look at the code closer tomorrow but I had some higher level questions:

Could you add the above explanation to a README for the crate? In my opinion, your description on how to load it into Grafana is essential knowledge for running this code.
Does Grafana run locally when running it in the browser? I'm curious how it is able to access localhost when using grafana.com
Is it possible to make this API authenticated? Some guardians might want to run a web-accessible dashboard but not want the whole world able to query it

Cool! I like this approach and was along the same lines as what I was thinking. I will look at the code closer tomorrow but I had some higher level questions:

Could you add the above explanation to a README for the crate? In my opinion, your description on how to load it into Grafana is essential knowledge for running this code.
Yes

Does Grafana run locally when running it in the browser? I'm curious how it is able to access localhost when using grafana.com
Grafana is running remotely. What is running locallly is Grafana Agent which pushes the metrics to grafana.com endpoint

Is it possible to make this API authenticated? Some guardians might want to run a web-accessible dashboard but not want the whole world able to query it
This won't happen. Grafana Agent will run locally and push the metrics to some remote endpoint, so you don't need to open this api port to the world, it can always listen on localhost

@elsirion When you have time take a look at this and https://github.com/fedimint/fedimint/pull/2681

Closed in favor of https://github.com/fedimint/fedimint/pull/2681


Applying OCGNN on custom dataset

Trying to use OCGNN on custom dataset containing node features and adjacency matrices. Any helper functions that support OCGNN for custom dataset? Thanks!

Our code is based on DGL libary, any dataloader function based on DGL can be used in our code.


Two columns resizing at the same time

In the actual example, if you try to resize State (grabbing from the left of Country), both State and Country move in opposite directions. If you resize any other column, this behaviour disappear.

@HenryVonfire that is because both Country and State initially have a set width. When you resize State, it assigns it a width value which forces the Country column to adjust its own width depending on the size remaining in the table. This doesnt happen to all the columns because a majority of them have an initial set width.

If that's the case, why it's behaviour changes after resizing another column? shouldn't it do always the same?

why its behaviour changes after resizing another column

When a column isnt given a width, it adapts and stretches to its available width. When you resize it, it gets forced a new fixed with which causes all other columns without a set width to resize themselves.

That's clear now, thanks for your explanation!

@HenryVonfire np! 😸


Cache protoc

https://github.com/aneoconsulting/ArmoniK.Admin.GUI/blob/main/.github/workflows/ci.yaml#L29

Or try an install using apt


Failing travis

@artofhuman, cheers,
It looks like Travis bug?

Maybe, I do not have time to look now. I will to create docker-compose and try to reproduce this errors. And I think about use gem https://github.com/thoughtbot/appraisal to run tests in different  rails versions.

Good idea, AA now supports Rails 5, so it can't be a problem.

Fixed by #27


DEV-2474-bob-sepolia-deployment

@yonikesel1 BTC/USD adapter verified https://bob-sepolia.explorer.gobob.xyz/address/0x680C84807BFFf58bcfC0f70038F06Cc904De4F38?tab=read_proxy

yes these were deployed before we froze this requirement


Publishing blocked by FParsec dependency

Analyzer error when trying to actually use the VS extension and referencing FParsec

Could not load file or assembly 'FParsecCS, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

This blocks publishing newer versions. Might look at FParsec alternatives with similar APIs

Fixed by including sources of FParsec in the library


How to use the key after creation

Hey,
I am rather new to TPM and dont't know what I am doing :).
I am trying to create a key, sign it (get a certificate) and use it with curl.
Ok, I can create a TSS key:
openssl genpkey -provider tpm2 -algorithm RSA -out testkey.priv

That works, but to use that key it seems I have to use a "handel". For example to get the pubkey:
openssl pkey -provider tpm2 -in handle:0x81000000 -pubout -out testkey.pub

But how do I know what the correct handle is? Or do I have to load the created private key first?
It seems to me I am missing a step.
Thanks for any help!

Howdy. You don't have to use the handle. Simply use the testkey.priv in the -in argument.
In general there are two ways to generate a privkey: use openssl (and the tpm2 provider), or use the tpm2 command (from tpm2-tools). Openssl can store the key into a file only. The tpm2-tools can store the key into the NVM of the TPM chip-- in this case the tool displays the handle (address) assigned to this key.

Howdy! :). Thank you for taking the time! That worked.


[Snyk] Fix for 1 vulnerabilities

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

applications/puzzle/package.json
applications/puzzle/yarn.lock

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

768/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5
Prototype Pollution SNYK-JS-ASYNC-2441827
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Prototype Pollution

Merging


Fix png decode errors

What kind of change does this PR introduce?

Checklist:

[ ] Unit Tests
[ ] Documentation
[ ] Update CHANGELOG.md
[ ] Ready to be merged

Sorry, this was a mistake. Closing.


Add linting

add linting with tslint

for open source saturday - milan 22/04/2017

Can you lint automatically when running build?

done, test coming soon

Awesome! Do you mind setting up circle CI for this as well?

can you add build trigger on pull request commits?


Update hybrid-azuread-join-managed-domains.md

added note about non-support for smartcards in AAD

@RavennMSFT : Thanks for your contribution! The author, @MicrosoftGuyJFlo, has been notified to review your proposed change.

#sign-off


Fixed issue #70 : Complete Redesign

Updated Home page
Updated Contact page
Updated About page

Hey @kauxp, there is a conflicts as you will see the files above, resolve these conflicts.

There is an horizontal scroll at bottom, remove this scroll.

The generate link button is breaking, fix this. Try to give padding around text with some width.

The size on clicking is changing use the same size as we are using on clicking.
iPhone-13-PRO-localhost-4g3a28F8VH.webm

The hamburger is not visible, fix it. Also align it to the end
hamburger issue.webm

The points are not left align same for tablet.

Same for this for tablet view.

Footer height is too long. Fix this

Okay, I will make the changes.

Closing this PR as it will continue from PR #166