[Question]: How to handle Ping Directory autoscaling

Hi team!
We've been diving into the devops documentation and having a few discussions with some of your colleagues from Ping Identity. But one topic is still a bit unclear to us: how is Ping Directory meant to scale horizontally when using the ping devops framework for kubernetes (helm)?
More specifically, I can break the question down into 2 parts:

Is Ping Directory designed to scale up when deployed via the helm chart? Are there any operations associated with scaling up?
Is Ping Directory designed to scale down when deployed via the helm chart? What are the operations associated with scaling down?

What makes it a bit confusing is this part in the documentation:
https://github.com/pingidentity/pingidentity-devops-getting-started/blob/master/30-helm/pingdirectory-scale-down/README.md
Which comes with the question - would it be reasonable to have the prestop hook enabled at all times? Because if so, I'd imagine the answer to the question of scaling would be - yes, it can scale up and down without intervention. Is that right?
Is there any reason not to use the preStop hook at all times, other than the time it takes for a PD node to rejoin the cluster? Would you be able to give an anectodal observation of this impact on startup times (i.e. how much longer it takes for a node to rejoin)? And would you advise against keeping the preStop hook at all times?
One thing I would imagine, if there are no other complications, is that we would be able to even enable an HPA for Ping Directory, which would help solve our scalability worries in peak utilisation times (we have a use-case where burts of high traffic are expected on random ocasions). And if you have any pointers on how to use HPA with PingDirectory via your devops framework, that would certainly be appreciated.
What do you think?

Scaling up will work just as it does when building out the original pods of a statefulset. The pods are able to join themselves to the existing PingDirectory topology without issue.
Scaling down is where the preStop hook comes in to play, as the linked documentation describes. There is a significant time cost with large data sets and large topologies to have this hook enabled at all times. The main issue with having the hook enabled at all times is it leads to a lot of unnecessary leaving and rejoining the topology if the PD pods ever stop for reasons other than scaling down. For example, on a simple restart of a pod (such as to apply some update from a changed server profile), the pod would leave the topology, restart, and then have to rejoin the topology and reinitialize its data. This can take a long time depending on the server profile and the dataset.
It's hard to make a generate estimate on exactly how long since it varies a lot depending on the size of the topology and the dataset, but I believe it could add a few minutes to start times for each pod.
If you do enable this hook, PingDirectory could scale up and down without intervention. But due to the above caveats we don't recommend autoscaling for PingDirectory. Our helm charts don't support directly enabling HPA with PingDirectory.

Thanks for the answer. It's extremely helpful. As a follow-up question - what happens technically when a pod leaves the topology?

I'm not sure exactly what you are asking. The leaving pod has to tell the other pods to remove the leaving pod from their configuration and stop attempting to replicate data to that leaving pod. Once that config change has reached all the other servers in the topology, the pod is done and can shut down.

I guess what I had in mind was to narrow down on the question - what makes leaving the topology "slow".
Is it perhaps that the leaving pod might drop data upon leaving (or perform some sort of cleanup?) ? And/or subsequently needs to perform a full data sync when re-joining (is that what happens behind the scenes maybe?) ?
Or is it just the mere process of communication and acknowledgement with the cluster that the leaving pod is leaving (and rejoining) that is inefficient to perform?
In other words - what is it that makes the process of leaving and joining the PD topology heavy or inefficient? 🤔

In general the larger a topology grows, the time it takes to leave or join the topology can take a lot longer. The act of leaving or joining can take time because of having to lock the topology configuration and communicate the new server's connection info across every other server, and then come to an agreement on the master of the topology among all the servers.
After rejoining the topology, the specific step that can take a long time with a lot of user data is re-initializing replication (the dsreplication initialize command) from an existing server to the server being added. Leaving the topology won't cause any data to be removed from either the server leaving or the remaining servers, but it still needs to be re-initialized when it rejoins to ensure everything is in sync.
If you have a large data set, it's the re-initializing replication step that is likely to take a long time. If you have a lot of servers, the act of leaving (remove-defunct-server command) or joining (dsreplication enable command) the topology is likely to take a long time.

Thank you Henry! Really really great insights. I can certainly see the behavior you're describing when recreating the scenario in a controlled environment. Theoretically speaking, this could be a tradeoff that one could take, depending on the use case. For example, with a relatively small user base (say low millions or records range), one could sacrifice a few minutes in rollout times for the ability to autoscale horizontally on demand.
Now, if I can flip the question - let's imagine one were to scale the PD cluster up and down manually between 3 to 6 replicas, all while without triggering the 90-shutdown-sequence.sh at any point. Theoretically, on peak cluster size, everything would be "normal". However, on the lower end of the cluster size, the topology would constantly try to re-connect to the non-existing PD nodes. Functionally, and out of pure curiosity - how would this state (of missing parts of a PD topology) affect the functioning of the PD cluster? Would there be a performance degradation do you think? Or would there eventually be a malfunction of the PD cluster? 🤔
This is pure curiosity, and a theoretical question; I fully recognize this is not how a PD cluster should be operated. But it's very interesting and potentially even essential to have an idea about in an emergency situation :)

Great. And I would assume that the PD cluster and helm chart is smart enough that this readonly scenario would not happen during major kubernetes maintenance scenarios such as during major cluster upgrades when kubernetes nodes might be recycled and pods are moved to new nodes, right?

If you take too many pods down at the same time you could still run into it, due to having too few servers still running. But you could configure the cluster upgrade to avoid taking down more than one at a time.


correlation_matrix using a large amount of memory

Based on this question on the forum: http://itensor.org/support/3528/out-of-memory-error-when-using-correlation_matrix
the function correlation_matrix seems to be using upward of 20 or 25 Gb of memory for an MPS with 16 sites and a bond dimension of 600 (and Electron sites of dimension four).

Can be reproduced by just inputting a random MPS with a large bond dimension.


Shop crashes when removing Extension:Commercial (version: 6.6.2) & Extension:Publisher is active

PHP Version: 8.3   | Shopware Version: <IP_ADDRESS>  | Affected area / extension: Extension:Commercial

Expected behaviour:
When I remove the Commercial extension and the Publisher extension is active, I would expect that the shop does not crash.
Actual behaviour:
The shop crashes when removing the Commercial extension. Afterwards it requires to deactivate the Publisher extension directly in the database in order to make the shop available again.
How to reproduce:
Start situation:
Shop version (OnPrem): <IP_ADDRESS>
Extensions:

Commercial version: 6.6.2 (active)
Publisher version: 3.2.1 (active)

After updating my Shop from version <IP_ADDRESS> to <IP_ADDRESS>, I wanted to update the Commercial extension to the new available version 6.7.0. This update is not available right away, as you can see in following issue:
Issue 5131
In order to update to the newest Commercial version 6.7.0 we need to remove the whole extension. When you remove the Commercial extension though while the Publisher extension is still active, the shop crashes and you get a 500 Internal Server Error for both the Admin and Storefront.
I had to deactivate the Publisher extension directly in the database in order to make the Shop available again.
I was only able to reproduce this issue for the Shop version <IP_ADDRESS>. When I tested the same procedure in a <IP_ADDRESS> shop, the shop does not crash.
Feel free to ask any questions if I forgot some necessary details. :)
Best regards,
Bäumi

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-38994
[created from NEXT-38994, comment 503892]

[public] We have not been able to reproduce this behaviour in the latest version of Shopware with the information available. Please create a new ticket with more information if you think this is a general behaviour. Otherwise, please contact our support team or visit the forum.
[created from NEXT-38994, comment 505141]


Convert CIM XML to Internal Format (RSM-021)

Describe the solution you'd like.

Input into the GEH will be in CIM XML format. We need to convert the incoming XML document to internal commands.
I will update this issue when I have received a RSM-021 CIM XML example.

covered by #31


Updated classifiers to use same inheritance interface. Updated examples

@olegranmo
I've updated all classifiers to have the same interface:
Ex: class TMClassifier(TMBaseClassifier, MultiClauseBankMixin, MultiWeightBankMixin):

There are now four Mixing classes <Multi/Single>ClauseBankMixin and <Multi/Single>WeightBankMixin which you inherit based on the model needs.

The multi-clause versions uses dictionaries instead of list, allowing for sparse input/output

I've added some unit tests. all but the multi-channel model works as expected.

Great! Are the changes ready to be merged?


prior train

RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 768 but got size 512 for tensor number 3 in the list.
my clip feature is 512 how can i train this prior

@yangzhip you need to set image_embed_dim = 512 when instantiating DiffusionPrior

@yangzhip you need to set image_embed_dim = 512 when instantiating DiffusionPrior

Yes, the dimension I have changed in the config file is 512, but there is still an error. The character of the text in the code after the clip is 768. How to change it here？ Thank you!

@yangzhip could you share your script?


Sparse matrix addition performance

I compute the sum of a sparse matrix of size 400,000 with 3,200,400 non-zero elements and it's square with the standard linear algebra provider in 140s. Using Intel MKL speeds up the process by a couple of seconds at best. Is this time ordinary for a matrix of this size or am I doing something wrong? My CPU is Intel Core i7-4790. Matrices are created using Matrix.Build.SparseFromCoordinateFormat, Control.Describe() shows that linear algebra provider is Intel MKL, matrices are added using (+) operator.

Could you provide a code sample? Perhaps one in which the matrix is stored in a file or something?

Could you provide a code sample? Perhaps one in which the matrix is stored in a file or something?

Here is an example of what I am doing.  The matrix and its square are read from the .mtx file through my MatrixReader in COO format. I don't think there is any problem with the reader, it has been used for many other benchmarks and worked well. Also, addition of smaller matrices(120000 non-zeroes) takes only a couple of ms. Кeading time is not counted
let COOMatrixToMathNETSparse matrix =
  match matrix with
  | MatrixCOO matrix ->
      Matrix.Build.SparseFromCoordinateFormat(
          matrix.RowCount,
          matrix.ColumnCount,
          matrix.Values.Length,
          matrix.Rows,
          matrix.Columns,
          matrix.Values
      )
  | _ -> failwith "Unsupported"

  LinearAlgebraControl.UseNativeMKL()

  let leftMatrixReader = fst this.InputMatrixReader
  let rightMatrixReader = snd this.InputMatrixReader
  let leftMatrix = leftMatrixReader.ReadMatrix float32 |> COOMatrixToMathNETSparse
  let rightMatrix = rightMatrixReader.ReadMatrix float32 |> COOMatrixToMathNETSparse

  this.ResultMatrix <- leftMatrix + rightMatrix

I’m sorry, but I am not familiar with this syntax. What language is this?
Could you attach the matrix files so we could give it a try in C#?

This is F# :)
Matrices are attached
Data.zip

The amazon0312.mtx file doesn't seem to have a valid format (the third column - value - is missing)
...
400727<PHONE_NUMBER>440
2 1
3 1
...

The other file squared_amazon0312.mtx seems to have infinity values
...
400670 49 -Infinity
400670 98 1.358869E-07
400670 281 Infinity
400670 403 6.954114E+16
400709 179 1.071733E+25
400709 180 -6375.167
400709 353 Infinity
400709 354 Infinity

Can you please check that the files are correct?

First matrix is in boolean format, my matrix reader can automatically convert it to real format, so I thought that there would be no problems with this. Here I deleted Infinity and converted first matrix to proper format(file is too big for github I guess) https://drive.google.com/file/d/1GV622DiAIQTvmyjA6WcPMKrSy2xROdab/view?usp=sharing

Ok, thanks for the prompt reply. Just to recap, so we are on the same page:
You have matrix A, which is created from the contents of the file “amazon0312.mtx”, and matrix B, which is created from the contents of file “squared_amazon0312.mtx”.
Then you add them by calling A + B, which is slow using the native provider but fast using the MKL provider. Correct?

All but the last statement is true. The problem is that Intel MKL does not provide any performance improvement compared to the native provider and thats why I think that I might be doing something wrong. My goal is to test how well MathNET handles large sparse matrices.
Indices are 1-based, I think it is necessary in mtx format for some reason.

Using Intel MKL speeds up the process by a couple of seconds at best.

Ok, so what exactly are you trying to do which is slow then? You mentioned that you try to add the matrices and that MKL is faster, I’m confused now.

Thread is dead, but might help someone so I'll add. I actually found, that with big sparse data sets it's faster to deconstruct the Storage to columns, rows and values; than updateing the actual matrix. Here is sample code:
if (matrix.Storage is SparseCompressedRowMatrixStorage<double> sparse)
{
	var columns = new List<int>(sparse.ValueCount);
	var rows = new List<int>(sparse.ValueCount);
	var values = new List<double>(sparse.ValueCount);

	foreach (var (row, col, value) in sparse.EnumerateNonZeroIndexed())
	{
		columns.Add(col);
		rows.Add(row);
		values.Add(value);
	}

	//add what you want to add to Matrix

	//rebuild matrix
		matrix = Matrix<double>.Build.Sparse(
	SparseCompressedRowMatrixStorage<double>.OfCoordinateFormat(order.Count, order.Count, values.Count, rows.ToArray(), columns.ToArray(), values.ToArray())
);

}

With this approach I managed to increase the speed from around 100s, to 400ms. Previously I tried using Storage.At() or SetRow(). Increasing the matrix of size 20k x 20k (2492335 Non zero) to 20.8k x 20.8k (2700249 Non zero).


connectionString know what to put in the fields...

I can't fill in all the fields, could you give an example with photos?, to know what to put in the fields...
connectionString="Server=YOURIP;port=YOURPORT;Database=YOURDB;User Id=YOURUSER;Password=YOURPASSWORD;" providerName="Npgsql"
Thank you so much, Víctor.

Here's an example that assumes a Server at IP <IP_ADDRESS> Port 5433 with a database named MyEvents, a postgres user named MyPostgresUser and a password MySuperSecretPassword:
<connectionStrings>
    <add name="EventsDbContext" connectionString="Server=<IP_ADDRESS>;port=5433;Database=MyEvents;User Id=MyPostgresUser;Password=MySuperSecretPassword;" providerName="Npgsql" />
  </connectionStrings>

Does that help?

Here's an example that assumes a Server at IP <IP_ADDRESS> Port 5433 with a database named MyEvents, a postgres user named MyPostgresUser and a password MySuperSecretPassword:
<connectionStrings>
    <add name="EventsDbContext" connectionString="Server=<IP_ADDRESS>;port=5433;Database=MyEvents;User Id=MyPostgresUser;Password=MySuperSecretPassword;" providerName="Npgsql" />
  </connectionStrings>

Does that help?

Hi @jh-isw ,
can you export and submit your postgresql event table so you can import and create the same table with the same fields?
Best regards, Víctor.

Hi @runtimevic,
I had the DB only temporarily for testing, but I guess what you are missing is to update the database with the migration:
Build the software, so all nuget packages get fetched.
Then, from within the Visual Studio Developer console, try:
enable-migrations
update-database -Verbose

Then, you can start the application.
Did that work?


Test ID.7

Great work, the brand new ID.7 is now part of my FHEM smarthome.
Feature suggestion: Currently, a single user/password combination for the car is accepted. If different users operate the car, quite a few data items are not available in case the weconnect-mqtt login is under another user name.
It should be possible to provide credentials for different users, and then switch the weconnect-mqtt login according to the person currently operating the car.
Regards
pah

Hey, I‘d rather prefer VW fixing this. For legacy cars it works charmingly with different users…


why make items private

why in latest version make field items private ? it's not convenient for subclass use i think.

We have provided setItems() and getItems(), so the filed items is better to be private.

I just not found getItems() in MultiTypeAdapter ...is it in other class ?

Sorry, at present, there is no such method, this is a bug, thank you for your reminder.

😄 plan to add the method in version 3.0?

@asker517 I will create a patch for 2.4.2 and update to 2.4.3.

@drakeet OK,thanks 👍


Support downloading config file from S3 bucket

If you are running separate yace instances in test and production, it would be convenient if you would be able to use same docker image in both places and simply tell that download yace config file from s3://bucket_name/s3_object_key
The reason, why we have to specify AWS_REGION (you can override that as well when you specify env variable for CONFIG_FILE) is that we have to specify some region for the AWS session that would download the config file from S3 bucket.

Hey @jylitalo thanks for your contributions.
I think this adds too much complexity for a rare use case.
I would suggest that you solve your problem by building your own image e.g.:
You could add your config file, and then run this image on both environments.
FROM quay.io/invisionag/yet-another-cloudwatch-exporter:vxxxx
ADD config /etc/config.yml

Sorry to disappoint you here.
Greetings, Thomas

No worries!
First I thought that I would build entrypoint script, which would use awscli to copy a config file from S3 to the local filesystem, but our base mage doesn't have awscli and I thought that it wouldn't make sense to add it, since I already have all the relevant libraries in golang.
Anyways, we already have our local builds and this is something that we can always rebase on top of yace master, so this is not big issue for us.


AFURLRequestSerialization: Remove headers added by default to requests.

We found out that when the app's version changes, cached responses that
are still in the cache are ignored when doing a networking request.
After investigating further the problem stems from Apple's network
library, CFNetwork, that compares the user agent HTTP header with the
one of the cached request. If they don't match, a network request is
invoked instead of taking the cached response.
The solution is simply to remove the headers that AFNetworking adds by
default.
Furthermore, CFNetwork itself sends this header and accept-languages
header, and this time they don't interfere with the cache.
Before this change:
User-Agent: MyApp/1.5.6 (iPhone; iOS 13.3.1; Scale/2.00)
After this change:
User-Agent: MyApp/1.5.6 CFNetwork/1121.2.2 Darwin/19.3.0

@Bmantl this PR will invalidate all the cache. Make sure it's ok before you start supporting this code.

@barakwei can we merge this?

CI Fail due to bad tests.


Direct link from resourceType etc. to component

In the attributes of a node view, there are often references to other places in the JCR tree - for instance with sling:resourceType, sling:resourceSupertype, cq:template, maybe others. It would be nice to have a shortcut to directly go there. It should be easily possible to open that in another tab / window in the browser.
It might make sense to show the different locations of https://github.com/ist-dresden/composum/issues/147 here directly, too.
A button for this could either be done for a predefined list of attribute names, or just show up on anything that "looks like a path or path fragment" (contain some slashes?) and is either a direct path in the JCR, or resolves to something using the ResourceResolver search path.

implementation done, release 2.0


Thumbnail and non-image upload support in paste-image

Added:

Option to make it easy to have editor where we can embed large images but just display thumbnail.
Made by adding enableThumbnail option. If enableThumbnail == true, during upload we will show a thumbnail of the image instead of full size. Also, in this case, the uploader(...) function will get both the original file and the thumbnail version, upload both, then return whichever URL (thumbnail or full size) it wants.

Option to drag-drop non-image files, for example .zip or other files. In this case sm.ms does not work, and we need custom uploader. However, uploading .zip file can work well and shows a spin icon during upload replaced with the link to .zip file when complete.

Fixed:

Issue where revokeObjectURL() was not called if upload failed
Removed "?HyperMD-Uploading" to fix error in Chrome

Notes:

To really support thumbnail we need capability to click on the thumbnail image and display the full image.
We can change the fold add-on (or create new add-on, not sure which is best yet) to detect if image ends with _thumb.jpg and Ctrl+Click to display the full image (.jpg)
for example:

![](myimage.png_thumb.jpg) -> this is thubmail, when clicked, we open "myimage.png" in new window

I didn't rename paste-image to "file-upload" as we discussed in #17, because I'm not sure of all places that will need change and maybe you're also making changes to "paste-image." Will leave it to you to rename to avoid merge conflicts.

Maybe generating thumbnail is not essential. A developer may do this in his own uploader function.
A better solution just occurred to me: developers who use HyperMD shall be able to use his own placeholder. He can create a inline box, displaying progress bar, thumbnail, upload options etc. Besides, the final Markdown output (for images, ![xxx](url)'; for files, [xxx.zip](url)) can also be made by the developer.
What do you think about it?

The thumbnail can be a cool example. Here's my plan:

write a new add-on "insert-file", which has an configurable "fileHandler" pointing to a function (files, action)=>boolean

if the handle function can process the file(s), it returns true. Otherwise, false.
action is an object that has these members:

setPlaceholder(div)
resize() when div's size changes, this method must be called to update the view
finish(text) when handler's job(uploading) is done, no matter a success or a fail (HyperMD doesn't care about the result), this function shall be called. Then the placeholder will be removed and replaced with the text

Write a building script that can transpile ES6 to ES5 so we can write HyperMD components with modern JavaScript syntax.

I like the proposed changes, they are very good. Unfortunately I won't have time to do all the changes you propose - I'm not very familiar with codemirror yet.
Closing this PR since I'm assuming you'd like to work on the insert-file plugin. Just checking to avoid duplicate work - will you add the insert-file plugin?
Also, what do you think of using typescript instead of es6? I think there's a lot of benefit, since type checking and easy to transpile too

Won't be hard to write the add-on. I'll do it tomorrow.
TypeScript is a good option, I like it's type-checking but it's UMD style is not cool. Don't know whether Typescript supports plugin/postprocessor

You can export to es6 from typescript, then just run a preprocessor (e.g. with gulpjs)
Here's a quick test with es5 export, can just run in VS code.
typetest.zip
btw, what do you mean by the "UMD style is not cool?" -> does it miss support for something?

Did some more research for UMD. TypeScript does not output global namespace for UMD is open discussion: https://github.com/Microsoft/TypeScript/issues/8436
Also https://github.com/Microsoft/TypeScript/pull/2605
I think there are several options for language choice:

ES6 transpile to ES5
TypeScript with UMD, some hack for global namespace.
var exports = {}; // hack for global namespace
var require = function (varName) { return window[varName]; }; // hack for global namespace: require is not used at runtime, just at compile time for typescript UMD to work
TypeScript with UMD, extra transpiler to add global namespace during compilation to end up with files like we have now
TypeScript with UMD, require modular loading (no hacks)
Keep the code as-is (ES5)

Not sure which is best short-term. Perhaps (5.) keep the code as-is and revisit later, because it allows for faster iteration now.
On the flipside, here's the InsertAction in typescript. It feels very nice to have the type checking.
export interface InsertAction {
    /**
     *
     * @param placeholder A placeholder to show in the markdown
     * document during upload or after upload finished
     */
    setPlaceholder(placeholder: string | HTMLElement): void;

    /**
     * If the placeholder's size changes, call to update view
     */
    refreshSize(): void;

    /**
     * When handler's job (uploading) is done, no matter a success or a fail
     * (HyperMD doesn't care about the result), this function shall be called.
     * Then the placeholder will be removed and replaced with the text
     * @param text
     */
    finish(text: string): void;
}

I make a simple working insert-file.ts addon, as we discussed above. Here it is: https://gist.github.com/nokola/f11f91b15ee4acdd17588334e1b57f78
I won't have time to extend it yet, because I have to work on other parts of my project (the actual file upload...)
I think it's best that it's part of HyperMD, but I wanted the addon today to continue with my project, so I made this quick/simple one.
Please feel free to use as you wish/copy/etc. or just use the .js output!


COMPAT: Categorical Subclassing

[x] related to #8640
[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff

It allows to subclass Categorical related to #8640.  Shoud it use _simple_new or _constructor?

Current coverage is 85.23% (diff: 100%)

Merging #13827 into master will increase coverage by <.01%

@@             master     #13827   diff @@
==========================================
  Files           140        140
  Lines         50420      50420
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          42975      42976     +1
+ Misses         7445       7444     -1
  Partials          0          0

Powered by Codecov. Last update cc216ad...a232f73

The changes in this PR are fine, but I'm not sure it's a good idea to subclassing Categorical in the API, though I would guess nothing major is likely to change before v2.0. Categorical is diving pretty far into pandas internals.

It may bettr to discuss in #8640, I' m thinking to the following stricture:

CategoricalMixin ( move internal methods related to _categories and _codes)

Categorical (no API change)
String (automatically handle _categories, _codes and .str methods)

I don't think we have to wait for 2.0 as long as it does't break existing user's code, but it also should be discussed separatelly (in ML).

Updated to use _constructor and added small number of tests.

ty!


Diagnostic support for Camel URI

note: Diagnostic is the naming used in LSP (and VS Code) for Validation in Eclipse

basic support is available. Closing this epic


MarvelApiClient synchronously calls

Hi guys! I've been reading your code specifically MarvelApiClient and I can't understand why the api calls are executed synchronously?, really I would like to understand the motivation.
¿Why you decided to do it this way?
How decide that the api calls should not be asynchronously?
What do you think about this  mini famous disclaimer?
"synchronous requests can be the reason of app crashes on Android greater or equal than 4.0. You’re going to get aNetworkOnMainThreadExceptionerror".
Maybe if the api call was inside an IntentService it makes sense to me that's why I would like to know the motivation.
thank you for your awesome contributions are really cool!

Hi @erikcaffrey
It's our understanding that API clients are not responsible for where are they being executed. In this way, callers have the flexibility to decide if they are going to use a queue, an executor or whatever they want to use.
Thanks for your support!


initial ideas for combine #52

initial PR for comment

example:
task_config <- data.frame(
    id=c('AZ','CO','CA'),
    capital=c('Phoeniz','Denver','Sacramento')
)
step1 <- create_task_step(
    step_name = 'prep',
    target = function(task_name, step_name, ...) {
        sprintf('%s_%s', task_name, step_name)
    },
    depends = c('A','B'),
    command = "process(target_name, I('C'))"
)
step2 <- create_task_step(
    step_name = 'plot',
    command = function(target_name, task_name, ...) {
        capital <- task_config[task_config$id == task_name, 'capital']
        sprintf('visualize(\'%s\', \'%s\')', task_name, capital)
    }
)
step3 <- create_task_step('report')
task_plan <- create_task_plan(c('AZ','CA','CO'), list(step1, step2, step3),
                              final_steps='report', ind_dir='states/log')

now use the normal task_makefile:
task_config <- data.frame(
    id=c('AZ','CO','CA'),
    capital=c('Phoeniz','Denver','Sacramento')
)
step1 <- create_task_step(
    step_name = 'prep',
    target = function(task_name, step_name, ...) {
        sprintf('%s_%s', task_name, step_name)
    },
    depends = c('A','B'),
    command = "process(target_name, I('C'))"
)
step2 <- create_task_step(
    step_name = 'plot',
    command = function(target_name, task_name, ...) {
        capital <- task_config[task_config$id == task_name, 'capital']
        sprintf('visualize(\'%s\', \'%s\')', task_name, capital)
    }
)
step3 <- create_task_step('report')
task_plan <- create_task_plan(c('AZ','CA','CO'), list(step1, step2, step3),
                              final_steps='report', ind_dir='states/log')
task_makefile <- create_task_makefile(
    task_plan, makefile=file.path(tempdir(), 'states.yml'),
    file_extensions=c('ind'), packages='mda.streams')

# Do not edit - automatically generated
# from the task_makefile.mustache template
# by create_task_makefile()

target_default: states
    depends:
      - states_ind

packages:
  - mda.streams

file_extensions:
  - "ind"

targets:
  # --- AZ --- #

  AZ_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  AZ_plot:
    command: visualize('AZ', 'Phoeniz')

  AZ_report:
    command: report(I('AZ'))

  states/log/AZ.ind:
    command: sc_indicate(target_name)
    depends:
      - AZ_report

  # --- CA --- #

  CA_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  CA_plot:
    command: visualize('CA', 'Sacramento')

  CA_report:
    command: report(I('CA'))

  states/log/CA.ind:
    command: sc_indicate(target_name)
    depends:
      - CA_report

  # --- CO --- #

  CO_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  CO_plot:
    command: visualize('CO', 'Denver')

  CO_report:
    command: report(I('CO'))

  states/log/CO.ind:
    command: sc_indicate(target_name)
    depends:
      - CO_report

  # --- Overall job --- #

  states_ind:
    command: sc_indicate(I('states/log/states.ind'))

or instead, specify a combiner function that is available via the sources:
task_makefile <- create_task_makefile(
    task_plan, makefile=file.path(tempdir(), 'states.yml'),
    file_extensions=c('ind'), packages='mda.streams', ind_complete=FALSE, finalize_fun='my_combiner', target_name='file_out.csv')

# Do not edit - automatically generated
# from the task_makefile.mustache template
# by create_task_makefile()

target_default: states
    depends:
      - file_out.csv

packages:
  - mda.streams

file_extensions:
  - "ind"

targets:
  # --- AZ --- #

  AZ_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  AZ_plot:
    command: visualize('AZ', 'Phoeniz')

  AZ_report:
    command: report(I('AZ'))

  states/log/AZ.ind:
    command: sc_indicate(target_name)
    depends:
      - AZ_report

  # --- CA --- #

  CA_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  CA_plot:
    command: visualize('CA', 'Sacramento')

  CA_report:
    command: report(I('CA'))

  states/log/CA.ind:
    command: sc_indicate(target_name)
    depends:
      - CA_report

  # --- CO --- #

  CO_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  CO_plot:
    command: visualize('CO', 'Denver')

  CO_report:
    command: report(I('CO'))

  states/log/CO.ind:
    command: sc_indicate(target_name)
    depends:
      - CO_report

  # --- Overall job --- #

  file_out.csv:
    command: my_combiner(target_name = file_out.csv,
      states/log/AZ.ind,
      states/log/CA.ind,
      states/log/CO.ind)

limitations

this includes the possibility of multiple "final" targets, because length(job) can be > 1 and it will work, but it isn't tied to the current arguments (you'd have to change the codes to actually use this though)
the format for a combiner function is limited to function(target_name, ...), meaning only filenames can be used. It would be nice to support function(...) that return an object by detecting if target_name is an actual file with remake:::target_is_file()
this is rigid and does not allow you to combine any steps other than final ones.

Looks promising. See discussion in slack about hanging depends: off of target_default: and maybe sticking with states as the target name for the summary .ind file, using states_all or similar as the new default target name.

this includes the possibility of multiple "final" targets, because length(job) can be > 1 and it will work, but it isn't tied to the current arguments (you'd have to change the codes to actually use this though)

What is job?

the format for a combiner function is limited to function(target_name, ...), meaning only filenames can be used. It would be nice to support function(...) that return an object by detecting if target_name is an actual file with remake:::target_is_file()

Couldn't you simply ignore that first argument for a combiner that returns an object? I agree that function(...) would be a little bit cleaner, so just depends on how much time it'd take to support the latter vs just accepting the slightly less clean workaround

this is rigid and does not allow you to combine any steps other than final ones.

OK

Couldn't you simply ignore that first argument for a combiner that returns an object? I agree that function(...) would be a little bit cleaner, so just depends on how much time it'd take to support the latter vs just accepting the slightly less clean workaround

I think remake won't support that, unless I wrapped used target_name = I({{target_name}}). Since I'd need to sniff out if it was a file or not to do that, I'd rather skip that arg when it is an object

Oh, OK, I didn't realize you couldn't use target_name for object targets.

What is job?

job is this internal list guy. I modified it in my PR, but it still represents the same thing

I see it now.

And how hard would it be to fully support multiple final targets?

It shouldn't be too bad, but I had some questions before progressing. Main one is whether or not hash_depends is a necessary option to keep in here or not. I think it could be a type of combiner and thus I'd want to take out the special block of code that includes it and instead have people specify it in the same way they specify other combiners.

Cool idea! I'm game.

Oh, OK, I didn't realize you couldn't use target_name for object targets.

I'm going to double check that...I realize the syntax I am coding in is target_name = %s, when I think I just need target_name, which may work for the objects and we'd be :+1:

Added new code per our discussion.
task_makefile <- create_task_makefile(
    task_plan, makefile=file.path(tempdir(), 'states.yml'),
    file_extensions=c('ind'), packages='mda.streams', finalize_fun=c('my_combiner','other_function'), target_name=c('r_object', 'other_file.csv'))

creates
# Do not edit - automatically generated
# from the task_makefile.mustache template
# by create_task_makefile()

target_default: states

packages:
  - mda.streams

file_extensions:
  - "ind"

targets:
  states:
    depends:
      - r_object_promise
      - other_file.csv_promise

  # --- AZ --- #

  AZ_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  AZ_plot:
    command: visualize('AZ', 'Phoeniz')

  AZ_report:
    command: report(I('AZ'))

  states/log/AZ.ind:
    command: sc_indicate(target_name)
    depends:
      - AZ_report

  # --- CA --- #

  CA_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  CA_plot:
    command: visualize('CA', 'Sacramento')

  CA_report:
    command: report(I('CA'))

  states/log/CA.ind:
    command: sc_indicate(target_name)
    depends:
      - CA_report

  # --- CO --- #

  CO_prep:
    command: process(target_name, I('C'))
    depends:
      - A
      - B

  CO_plot:
    command: visualize('CO', 'Denver')

  CO_report:
    command: report(I('CO'))

  states/log/CO.ind:
    command: sc_indicate(target_name)
    depends:
      - CO_report

  # --- Overall job --- #

  r_object_promise:
    command: my_combiner(I(r_object),
      states/log/AZ.ind,
      states/log/CA.ind,
      states/log/CO.ind)

  other_file.csv_promise:
    command: other_function(I(other_file.csv),
      states/log/AZ.ind,
      states/log/CA.ind,
      states/log/CO.ind)

Cool, and then for the record, we said we'd probably reference the combiner outputs in the parent remake file something like this, right?
r_object:
  scmake(I('r_object_promise'), remake_file='states.yml')

other_file.csv:
  scmake(remake_file='states.yml')

Does it work to use sc_indicate as a combiner? I just realized sc_indicate accepts the information about data files as a single data_file argument rather than in its ...s, so we might need a very lightweight wrapper that converts from ... to a vector.

You are right...this doesn't work w/ sc_indicate with the current pattern

@aappling-usgs curious if you see the need for flexibility whether or not we use the _promise (and the corresponding I({data_file}))
I could see an additional arg, as_promises, or something like that that is TRUE by default. This way, if you are using the tools simply to generate a templated task table, and have no linkage to a parent remakefile, you avoid the promises elements to this.

to do:

[ ] add as_promises = TRUE as arg
[ ] add packages = scipiper` as default arg (?)
[ ] allow finalize_fun to be NULL, which would tie all of the final steps to the default target as depends.
[ ] use code in #90 to simplify
[ ] check for file vs object, determine whether to pass in target_name

With ☝ updates, we can:

specify makefile = NULL to return the rendered string (instead of writing to file)
specify finalize_fun = NULL to skip the combiner and make all of the final step targets depends on the default/all target
there is a default combine_to_ind function for finalize_fun that is a wrapper to sc_indicate
the quoting of files and non-quoting of R objects works as expected.

make all of the final step targets depends on the default/all target
Did you mean "dependencies of" or (equivalently) "make the default/all target depend on all of the final step targets"?

I updated the code per peer review. Tests run fine locally, but one test seems to fail when I run devtools::check():
Running ‘testthat.R’ ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
         stop(e)
     }, "4 simultaneous processes spawned", quote(.check_ncores(length(names))))
  24: h(simpleError(msg, call))
  25: stop(e)
  26: (function (e)
     {
         update_build_files(target_names = target_names, remake_file = remake_file, status_pre = status_pre)
         stop(e)
     })(structure(list(message = "4 simultaneous processes spawned", call = .check_ncores(length(names))), .Names = c("message",
     "call"), class = c("simpleError", "error", "condition")))

Which I didn't think had impacted. Odd

Hi @jread-usgs , I think I'm waiting on you for a decision on https://github.com/USGS-R/scipiper/pull/86#discussion_r255132174. I don't see that local devtools::check() error showing up in Travis and so am inclined to ignore it for the moment...but of course if we see it again in the future we should probably figure it out. After that, I think this PR is good to merge, and after a couple of weeks of people testing it on this separate branch, we should pull it into the USGS-R master branch.

Should be good to go with commit b8ea8ac...I'll just wait for the tests to pass and then merge :+1:


Missing anime information in JSON response when using "upcoming" filter in getTopAnime endpoint

Description:
I have encountered an issue with the Jikan API when using the "upcoming" filter in the /top/anime endpoint. The problem is that the JSON response is missing the expected anime information when using the "upcoming" filter.
Steps to Reproduce:

Make a GET request to the following URL: https://api.jikan.moe/v4/top/anime?filter=upcoming
Inspect the response received.

Expected Behavior:
I expected the API to return a JSON response containing the relevant anime information for upcoming anime when using the "upcoming" filter.

The issue is specific to the "upcoming" filter, as other filters like "airing," "bypopularity," and "favorite" return the expected anime information. (e.g. https://api.jikan.moe/v4/top/anime?filter=airing)
This problem started occurring recently, and I was previously able to retrieve the correct anime information with the "upcoming" filter.
There are no error messages or warnings returned in the response.

duplicate of #388
not yet deployed #408

Understood, thanks.


Add support for menu subsubitems

depends on #1231, #1232 and #1233
This PR adds support for menu subsubitems (third level items).
Screenshots

[ ] add changeset

I'll review this once #1233 has been merged. Setting as draft for now.

@jomunker the base PR has been merged, please update this branch and solve conflicts so we can review it again, thanks!

@jomunker the implementation seems to differ from the design:

The selected sub-sub items should not have a blue background but the text and the border on the left should be blue instead.
The left border of the last item should extend all the way to the bottom of the item, like the border on the first item extends all the way to the top.

Are these things already implemented in one of the follow-up PRs?
Or do I maybe have an outdated design?

Current implementation
Design

@jomunker the implementation seems to differ from the design:

The selected sub-sub items should not have a blue background but the text and the border on the left should be blue instead.
The left border of the last item should extend all the way to the bottom of the item, like the border on the first item extends all the way to the top.

Are these things already implemented in one of the follow-up PRs? Or do I maybe have an outdated design?
Current implementation	Design

Seems like i fixed the design in the follow up PR. See the following screen recording. Sorry for the confusion with the follow up PRs.
https://github.com/vivid-planet/comet/assets/56400587/f9d2343a-dbcc-4d44-9ca1-baa2ed97f856

Seems like i fixed the design in the follow up PR. See the following screen recording.

The bottom part of the border on the last item is still missing in the video.
Can you please add that? In a follow-up PR is fine.


Re-use in-game lighting properly

Isometric mode has noticeable dark spots around certain block edges due to incomplete light info

a50850cefe21783a76f7969b932d58aed444a691


enhance/fix clipboard

chore: publish patch
fix(views): enable copy plaintext from preview

The change in packages/common-server/src/etc.ts  looks reasonable. 2 things though:

There are 33 files modified in this commit, could we decouple those seemengly unrelated changes from the change that is within packages/common-server/src/etc.ts

Just manual validation in the PR comment:
2a. Does it work when copy pasting into Gmail(or gmail like client)?
2b. Does it work when copy pasting into VSCode editor?

Ah,

The change in packages/common-server/src/etc.ts looks reasonable. 2 things though:
1. There are 33 files modified in this commit, could we decouple those seemengly unrelated changes from the change that is within packages/common-server/src/etc.ts

2. Just manual validation in the PR comment:
   2a. Does it work when copy pasting into Gmail(or gmail like client)?
   2b. Does it work when copy pasting into VSCode editor?

Had non-rebased changes. Rebased and cleaned up. Only one file fix.
2a. Does it work when copy pasting into Gmail(or gmail like client)? yes
2b. Does it work when copy pasting into VSCode editor? yes


Intermittent reminder of an alternative point of view

I just added MotivationLevel in d286a782dc7dde4017437403719a9d95c49c95f4. Do you want to make it a computed property on the enum so it's more or less likely based on the level?

Nice! But I can't decide if I think it should be more frequent for the Terrifying level or less.


Update test_panel.py

closes #12101
changed deprecated getargspec to signature for python 3 while keeping the getargspec for python 2

the compat changes need to be incorporated in this PR

merged via https://github.com/pydata/pandas/commit/0b8fa9dcdb6f47e40441467dd7ebb529914bb719
thanks!


⚠ Bofrost.lu has degraded performance

In 67e67a9, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1121 ms

Resolved: Bofrost.lu performance has improved in a1b6e0d after 6 minutes.


Code sample issue

Type of issue
Code doesn't work
Feedback
Code sample:
az bicep publish --file {bicep_file} --target "br:{registry}/{module_path}:{tag} --force"
--force shall be out side of ""
Page URL
https://learn.microsoft.com/en-us/cli/azure/bicep?view=azure-cli-latest
Content source URL
https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/latest/docs-ref-autogen/bicep.yml
Author
@dbradish-microsoft
Document Id
60edc003-8f74-62af-e9fd-79efb5a77d9f

@jamesyao-msft
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@jamesyao-msft, as this is generated content from source code --help, I am passing your observation to the Bicep team for correction. Please follow up in Azure/azure-cli issue 30335. Thank you for helping to improve our reference content.


Make Framework an Enum

Following issue #80,
this PR makes Framework class inherit from Enum so that there is no type hint issue when using @distributed_job decorator.

Thanks!


When you remove a bid, the bids list doesnt update until you change tab

I think abradsha fixed that problem in Home Fragment and it's showing up again in the bids.

When I was doing the demo and I deleted a bid from the bids tab, the result of the bid no longer showing up in the listview until I logged out and logged back in.

Fixed this in the past but it came back due to a separate bug i fixed. Fixed again. For now.


[eas-cli] improve logs announcing loading of env variables

Why
Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests.
How
How did you build this feature or fix this bug and why?
Test Plan
Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction.

#2643  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @szdziedzic and the rest of your teammates on  Graphite


Update README.md

Replaced CODE_CHALLENGE with CODE_VERIFIER since it is the code_verifier the one that is required to use oauth.accessToken()

The required parameter by the MAL API was actually code challenge, so actually the second parameter name should be codeChallenge
accessToken(code, codeVerifier) .... -> accessToken(code, codeChallenge)


Why scroll to page at index is removed?

Before update to v2.0 i used this method in MXSegmentedPager

(void) scrollToPageAtIndex:(NSInteger)index animated:(BOOL)animated;

Thanks.

I removed it because your can use the method - (void) showPageAtIndex:(NSInteger)index animated:(BOOL)animated; from MXPagerView directly.


Local vs Remote Query Snippet Results Differ

The main benchmark snippet can get benchmark run data from either a local directory or through http from the deephaven-benchmark GCloud bucket.  When comparing the results of the same query for identical data, local and remote, the results differ.
The culprit is that when partial history is required (via benchmark_max_runs_arg) the latest runs from local storage are not sorted in descending order.  To match up with the bucket ReST api, grab the benchmark_results.csv* file for the timestamp and sort.  The gsutils rsync preserves timestamp on files but not directories.

This bug is completely wrong.  The sort is based on row-id, which is sortable.  The issue was that the underlying data was not identical to what was in GCloud.


How could I add images on the lists?

I would like to be able to include images in the unordered or ordered lists.

Looking for suggestions on how to approach this. Thank you!

Hi @nrochatvc!
At the moment the data model of the lists plugin does not support images as list item children.
We also don't have this requirement on our roadmap currently.
So if that's something you're absolutely needing, I'd be happy to coordinate on contributing this new behavior into the codebase, if you're up to providing a pull request.
Cheers! :wink:


In use case 2, it is not clear how it knew to only select the MGI gene set from Enrichr when in report mode

It only selected those particular gene sets because of the subsequent steps (see directly below)
I think that having the breadcrumbs in report mode (#92) will help with this


deployment to AWS with docker compose + configs

Hi I wanted to take my local dev and deploy in AWS using docker compose. How would you setup the return calls to use DNS instead of just localhost?
A few things I think docker needs is config params in ENV file and DNS added in docker instead of only localhost. I would want to try using cloudfared so you can set up on port 8081 and by DNS over 443 you can hit that port from telegram to our new bot. Anyone else try to deploy this in AWS?
I have a lot of cloud experience but would need to make some changes in order to get it working any suggestions are welcome.

I found out you can just deploy and no public Ip is needed. This is working for me with free version in AWS.


Breaking changes

Codecov Report

Merging #58 (ba7c696) into main (9cab8bb) will decrease coverage by 2.07%.
The diff coverage is 71.20%.

@@            Coverage Diff             @@
##             main      #58      +/-   ##
==========================================
- Coverage   90.32%   88.24%   -2.08%
==========================================
  Files          64       64
  Lines        2934     3319     +385
==========================================
+ Hits         2650     2929     +279
- Misses        212      279      +67
- Partials       72      111      +39

Flag
Coverage Δ

unittests
88.24% <71.20%> (-2.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

diff/operations_diff.go
87.34% <0.00%> (+7.07%)
:arrow_up:

diff/paths_diff.go
90.62% <0.00%> (-2.93%)
:arrow_down:

diff/variables_diff.go
65.38% <6.25%> (-26.29%)
:arrow_down:

diff/diff.go
91.00% <25.00%> (-2.82%)
:arrow_down:

diff/variable_diff.go
55.55% <25.00%> (-27.78%)
:arrow_down:

diff/header_diff.go
52.27% <30.76%> (-13.45%)
:arrow_down:

diff/endpoints_diff.go
80.43% <33.33%> (-5.11%)
:arrow_down:

diff/server_diff.go
62.85% <37.50%> (-9.56%)
:arrow_down:

diff/tag_diff.go
76.19% <37.50%> (-23.81%)
:arrow_down:

diff/media_type_diff.go
78.57% <40.00%> (-12.34%)
:arrow_down:

... and 49 more

Continue to review full report at Codecov.

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


Storage test keeps failing in CI

Describe the bug
A clear and concise description of what the bug is.
TEST_F(BlobSasTest, AccountSasService_LIVEONLY_) // keeps failing in CI
Exception or Stack Trace
Add the exception log and stack trace if available
To Reproduce
Steps to reproduce the behavior:
Code Snippet
Add the code snippet that causes the issue.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: [e.g. iOS]
IDE : [e.g. IntelliJ]
Version of the Library used

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Bug Description Added
[ ] Repro Steps Added
[ ] Setup information Added

@gearama what's the error text? Can you please paste a link to the pipeline build that failed (especially if it is intermittent) and any other relevant details?

This is likely to be caused by an extra service table in signed service (ss) in the SAS token.
Before we added table support, the signed service(s) in SAS token include blob, file, queue, like ss=bfq. After we added table, it became ss=bfqt. The difference of ss query parameter will cause mismatch between playback requests and recording. We'll need to redo the recording to fix this issue.

This issue was logged back when Tables were still in PR, and at a time it was going to add some functionality to Storage-Common.
That is no longer the case. Tables is merged to main, and it only depends on Core. Storage tests are not failing.
@gearama, can this issue be closed?

@gearama Can this issue be closed?


fix: fix types for event listeners, remove typedoc

fixes #191
After looking at dom.d.ts a bit I figured out that I was missing some declarations for addEventListener/removeEventListener, which is why it would fail in strict mode. Unfortunately I couldn't figure out how to make these changes in the .ts files, but we can just put them directly in the .d.ts files and modify those directly, since I'm not really using Typedoc anymore so there's no need to keep it around.

This is the magic; you need these type: string declarations too:
https://github.com/nolanlawson/emoji-picker-element/blob/39e1ce51fb1f9efa7d5d292c2966be3dbcf19247/picker.d.ts#L20-L23


An error occurs when running the layout example.

go run ./macos/_examples/layout/main.go
Error:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Content hugging priorities must be positive.'
*** First throw call stack:
(
        0   CoreFoundation                      0x00007ff801a4ed86 __exceptionPreprocess + 242
        1   libobjc.A.dylib                     0x00007ff801541321 objc_exception_throw + 48
        2   CoreFoundation                      0x00007ff801a4ec26 +[NSException raise:format:] + 214
        3   AppKit                              0x00007ff805ed1a52 -[NSView(NSConstraintBasedLayoutInternal) setContentHuggingPriority:forOrientation:] + 96
        4   libffi.dylib                        0x00007ff812d5d892 ffi_call_unix64 + 82
        5   main                                0x0000000100f7f4f0 runtime.zerobase + 0
)
libc++abi: terminating due to uncaught exception of type NSException
SIGABRT: abort
PC=0x7ff8018c77a2 m=0 sigcode=0
signal arrived during cgo execution
...

The cause of this error may be setting a negative priority when using Auto Layout.
But there seems to be no problem with the parameters of SetContentHuggingPriorityForOrientation.
Wondering why.
	gridView.SetContentHuggingPriorityForOrientation(appkit.LayoutPriorityDefaultHigh, appkit.LayoutConstraintOrientationHorizontal) // (750.0,0)

I found that the data type of LayoutPriority is not correct. LayoutPriority should be 32-bit floating point number, while appkit go enum define it as 64-bit:
type LayoutPriority float64

Changing it to float 32 fixes crash for SetContentHuggingPriorityForOrientation.

@hsiafan Thanks for figuring this out. I thought I had tried this before, but I guess not. I would love a PR to fix the generation code on this if you're willing.

Turns out we were treating all floats the same, but it's been fixed. Thanks all!


Needs to be updated for Ubuntu 18.10

Perhaps it all works fine out of the box, but it would be good to have that confirmed, and the documentation updated for the latest tools / features such as xRDP (on Server 2016, 2019, etc).

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

ID: c07bfc89-b3b5-7090-768b-75412724e1c2
Version Independent ID: 72e55502-a116-a71c-a9b2-a65c3f74b27c
Content: Feature Descriptions for Linux and FreeBSD virtual machines on Hyper-V
Content Source: WindowsServerDocs/virtualization/hyper-v/Feature-Descriptions-for-Linux-and-FreeBSD-virtual-machines-on-Hyper-V.md
Service: na
Product: windows-server-threshold
GitHub Login: @shirgall
Microsoft Alias: kathydav

We are in the process of updating this with PR https://github.com/MicrosoftDocs/windowsserverdocs/pull/1958
Be aware that there's a known issue with SRIOV and Ubuntu 18.10

Is the issue resolved now? Can this ticket be closed?

#please-close


Issue 664 traefik service namespace

Small change to add a missing namespace to the Traefik Service resource and improve the error messages when deleting during an uninstall which helps identify the other issue.

Thanks! How does the missing namespace manifest itself? Fails to launch?

Oh! Found where you commented.
This pr addresses https://github.com/acorn-io/acorn/issues/664
Again, thanks so much for figuring that out

It was hiding in plain sight in the output :-)
  •  Deleting acorn-system/acorn-api Service v1
  •  Deleting traefik Service v1
  •  Deleting acorn-system/acorn-system ServiceAccount v1


Rename io packages to iolocal

Rename packages as "io" is a common first segment of package names (io.circe for example) and can hence be very annoying to users that then have to sort their imports or prefix them with _root_.
Open question: Shall the module also be renamed from io to iolocal to keep naming consistent?

Yes, let's rename the package. I thought about it.


Disable ciphers that are only supported by some JDK-11 versions

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

FYI @vekterli

👍


Add support for camel cased SVG viewBox attriubte

The viewBox attribute should be camel cased (https://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute), but in practice, both forms are used.

I'm about to release 3.0, could you rebase your PR to code from dev branch?


Return  the newly created template  from copyAs(...)

This could help in many instances to reduce code verbosity.
In my case, using coffee template decalarations like these:
do(tmpl=Template.my_template.copyAs 'my_template_copy')->
 tmpl.helpers ....

would make the code more readable

Waiting for review in #18


⚠ Bofrost.es has degraded performance

In 76d92fc, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1920 ms

Resolved: Bofrost.es performance has improved in d7a48a1 after 6 minutes.


Use the text prop to set text in editor

The documentation says that the text prop is used to set the contents of the editor, but the current code expects to find that information in a PlaceHolder prop.  This PR fixes the code to match the documentation.

Hey @reggie3! thanks for your attention. It looks like just a Readme mistake. Text value of editor is setting in onText function with onChangeText prop of TextInput in DragTextEditor.js. Also in that part you mentioned PlaceHolder prop is setting the first value of text state with a condition.Tell me If I'm missing something you said ?

It sounds like you're saying that if we want to provide text to the DragTextEditor component, then it needs to be provided via the PlaceHolder prop;  Is that correct?  If not, how should the text be provided?

Want to provide external text to the component other than text entered on the keyboard? If so. Yes, You can do that with the PlaceHolder prop. The prop name may vary but you should do this for all the PlaceHolder props.

Okay, that makes sense.  If that is the case, then I don't think this PR is necessary.

@reggie3 If you want, it would be good to update the PlaceHolder prop to a expression that indicates it can get external values in readme and code. I think lib needs it.


chore: change of ownership from developer-productivity to sre

This PR changes the ownership of this repo to SRE, as the developer productivity team doesn't exist anymore.

@celiogafesi did you mean to merge this branch onto Tradeshift:master rather than ScaCap:master?

@celiogafesi did you mean to merge this branch onto Tradeshift:master rather than ScaCap:master?

Hello @ghaiszaher, yes! Opened this PR by mistake. Thank you 🙂


Prevent a crash when a node being compared has no attributes

Something with no attributes is deemed "less than" as something with attributes

Hmmm.. I wonder if there is a os-independent way to sort instead of CompareStringEx()..


Failover is not triggered when it should be after both F5 VMs are stopped or rebooted

If both of the F5 VMs are stopped or rebooted failover of AWS objects is not triggered by the script even the new F5 VM elected active is not the same as before the reboot. Let's consider the following sequence of events that reproduces the error consistently:

bigip1 is Active and AWS PIPs/routes are pointing to it (bigip2 is Standby).
Both systems are stopped at the AWS-instance level.
bigip2 is started and becomes Active. Failover is not triggered and AWS keeps trying to use bigip1 which is still unavailable. The outage continues until the bigip1 is brought up as well.
bigip1 is started and becomes Standby. Failover is still not triggered and AWS will send traffic to bigip1. If VSs are configured in traffic-groups None the requests will be processed by bigip1, but persistence tables may not work correctly, and the discrepancy in Active/Standby state at the F5 vs AWS level will cause confusions.

I have not tested the behavior of the cluster when both VMs are "shutdown" at the F5 level (rather than stopped at the AWS level), but I suspect it will be as described above.

Hi, this is a documentation limitation, and it has been added to the backlog, internal ID AUTOSDK-409.

Further analysis (in AWS environment) shows that the issue is intermittent and occurs when f5-cloud-failover script is not fully initialised when the BIG-IP VE changes status from Standby to Active.
In my tests (using https://github.com/F5Networks/f5-aws-cloudformation/blob/master/supported/failover/across-net/via-api/3nic/existing-stack/payg/f5-existing-stack-across-az-cluster-payg-3nic-bigip.template) time between the Journal started message in /var/log/ltm and the [f5-cloud-failover] Global logLevel set to message in /var/log/restnoded/restnoded.log was between 68 and 99 seconds.
In the same set of tests the time between the Journal started and Active for traffic group traffic-group-1 messages in /var/log/ltm was between 72 and 122 seconds.
Ideally, completion of the LTM HA peering establishment should be made conditional on the readiness of the CFE and there should be a configurable timeout (which would ensure that HA peering is eventually established if CEF is misconfigured, etc).
Based on my test results, the default value of the should be around 30 seconds for AWS implementations.
Alternatively, unconditional 30-second delay may be introduced. Please advise the recommended ways to implement such a delay (e.g. by using "hidden" bigdb keys).

With 1.5, we have updated CFE to be able to handle more gracefully this situation. We need to update our documentation to highlight also that:
if reboots are performed and for some reason the objects are mapped to the wrong BIG-IP the user can force a failover event by POSTing to the /trigger endpoint of the currrently active BIG-IP (as described here: https://clouddocs.f5.com/products/extensions/f5-cloud-failover/latest/userguide/apidocs.html#tag/Trigger) which should have the cloud objects

Closing.
This issue was resolved with Release 1.5.


Fix links in providers documentation

Summary
This adds in some missing cross-references and fixes some typos in
existing crossrefs for the qiskit.providers documentation.  The class
BackendV1 has a private method as part of its abstract API for
subclasses to implement, but sphinx.ext.autosummary won't summarise
private methods (without us having fairly annoying knock-on effects in
the rest of the documentation), so instead we just put in an explicit
.. automethod directive to get it.

Details and comments
Fix #6964.
The AerBackend crossref won't show up in the Terra documentation alone, but (hopefully) should when it's compiled together with the Aer documentation in the metapackage release process.

@1ucian0: That's absolutely true - it is called like qiskit.execute - but Sphinx cross-refs are a bit mysterious.  The current form of the documentation renders like this, with the cross-reference correctly linked.


serviceaccount impersonation fails

Bug description
While working with flux and the multitenancy setup, flux is not able to impersonate the service account which is tenant owner. This happened after upgrade from capsule-proxy v0.4.5 to v0.5.0.
How to reproduce

Install capsule and capsule proxy v0.5.0.
Install flux.
Create a tenant with the owner the sa gitops-reconciler and a tenant namespace
More details on https://github.com/maxgio92/capsule-gitops-testing/

Expected behavior
Service account should be impersonated and flux reconciliation should not fail.
Logs
Flux reconciliation logs:
my-kustomization       my-namespace                            XXXXXX        False           False   timeout waiting for: [Namespace/my-namespace: 'Unknown': namespaces is forbidden: User "system:serviceaccount:my-namespace:gitops-reconciler" cannot list resource "namespaces" in API group "" at the cluster scope]

Capsule-proxy error:
{"level":"error","ts":"2024-02-09T14:01:48.606Z","msg":"Reconciliation failed after 30.767523613s, next try in 1m0s","controller":"kustomization","controllerGroup":"kustomize.toolkit.fluxcd.io","controllerKind":"Kustomization","Kustomization":{"name":"my-kustomization","namespace":"my-namespace"},"namespace":"my-namespace","name":""my-kustomization","reconcileID":"XXXXXX","revision":"XXXXXXX","error":"timeout waiting for: [Namespace/my-tenant-namespace status: 'Unknown': namespaces is forbidden: User \"system:serviceaccount:my-namespace:gitops-reconciler\" cannot list resource \"namespaces\" in API group \"\" at the cluster scope]"}

Additional context
This was initially posted in https://github.com/projectcapsule/capsule-proxy/issues/349 and the fix was proposed for v0.4.7 release, but unfortunately I still get the issue in the latest v0.5.0 release. The only workaround is to downgrade to v0.4.5. More details can be found in  https://github.com/projectcapsule/capsule-proxy/issues/349 as the issue is identical.

Could you share your capsuleConfiguration?

Hi Oliver, me and Adrian are working on the same project. The configuration is:
apiVersion: capsule.clastix.io/v1beta2
kind: CapsuleConfiguration
metadata:
  labels:
    app.kubernetes.io/instance: capsule
    app.kubernetes.io/name: capsule
    app.kubernetes.io/version: 0.3.2
  name: default
spec:
  enableTLSReconciler: false
  forceTenantPrefix: true
  overrides:
    TLSSecretName: capsule-tls
    mutatingWebhookConfigurationName: capsule-mutating-webhook-configuration
    validatingWebhookConfigurationName: capsule-validating-webhook-configuration
  protectedNamespaceRegex: ""
  userGroups:
  - system:authenticated

@maxgio92 do you have to investigate here?

Hey @adabuleanu and @mtheeren-asml, thank you for reporting this.
I'd like to highlight that https://GitHub.com/maxgio92/capsule-gitops-testing Is not an official repository, so I recommend to start from the official docs at capsule.clastix.io.
Then, I'd like to ask you:

would you mind providing the log of capsule-proxy at the time of the specific request forbidden?
why are you setting all authenticated users (system:authenticated group) into the Capsule group, and not the SA group?

Finally, not to introduce too much noise, we've just released an addon for Flux: Https://GitHub.com/projectcapsule/capsule-addon-fluxcd. Take a look at it :) We're going soon to document it in the main official documentation.

Hey @maxgio92 ,
We actually based ourselves on the official docs, but I guess @adabuleanu mentioned that repo as an example.
Regarding your questions:

Sure, unfortunately in the logs there's nothing besides

2024-02-08T02:02:50Z	{"level":"Level(-4)","ts":"2024-02-08T02:02:50.161Z","logger":"proxy","msg":"impersonating for the current request","username":"system:serviceaccount:consumer:gitops-reconciler","groups":["system:serviceaccounts","system:serviceaccounts:consumer"],"uri":"/api/v1/namespaces/consumer-service-exposure-poc"}
2024-02-08T02:02:50Z	{"level":"Level(-4)","ts":"2024-02-08T02:02:50.189Z","logger":"proxy","msg":"impersonating for the current request","username":"system:serviceaccount:consumer:gitops-reconciler","groups":["system:serviceaccounts","system:serviceaccounts:consumer"],"uri":"/api/v1/namespaces"}

Because we are having some troubles with setting up a correct IAM, we are currently using gcloud login but we're lacking groups so all users are coming from same group. Since this will be reworked later on we have for the time being set this to system:authenticated

I will take a look at the addon.

@mtheeren-asml as you can see from you logs, your serviceaccount only have the groups system:serviceaccounts and system:serviceaccounts:consumer but not system:authenticated. If I understand the docs correctly "Allows a user read-only access to basic information about themselves." this group is only given to User kinds, not ServiceAccounts. Since your ServiceAccounts are missing the system:authenticated group they are not considered tenant user and therefor the error message is correct. You would need to add system:serviceaccounts:consumer. The addon @maxgio92 offers a clean solution for this case, since you probably have a dedicated namespace/serviceaccount for each tenant and dont want to update the capsuleConfiguration always manually.

The problem exists when upgrading from capsule-proxy 0.4.5 to 0.4.6. The problem we're seeing is 100% related to one of these two commits:

https://github.com/projectcapsule/capsule-proxy/commit/1c829a4cb5943d3e594456460159361f7ab787b4
https://github.com/projectcapsule/capsule-proxy/commit/472404f7006a4152e4eec76dee07324dd1e6e823

Since these are basically what makes 0.4.6 from 0.4.5. Since we use TLS certs, I'd assume that we're not really affected by the CVE and our problem is the change in the impersonation code handling.
If we aren't affected by the CVE, then we are affected by https://github.com/projectcapsule/capsule-proxy/commit/1c829a4cb5943d3e594456460159361f7ab787b4.
@oliverbaehler is there an issue describing the reason for the fix under https://github.com/projectcapsule/capsule-proxy/commit/1c829a4cb5943d3e594456460159361f7ab787b4?

@mtheeren-asml as you can see from you logs, your serviceaccount only have the groups system:serviceaccounts and system:serviceaccounts:consumer but not system:authenticated. If I understand the docs correctly "Allows a user read-only access to basic information about themselves." this group is only given to User kinds, not ServiceAccounts. Since your ServiceAccounts are missing the system:authenticated group they are not considered tenant user and therefor the error message is correct. You would need to add system:serviceaccounts:consumer. The addon @maxgio92 offers a clean solution for this case, since you probably have a dedicated namespace/serviceaccount for each tenant and dont want to update the capsuleConfiguration always manually.

I was in vacation, so sorry for the latest response. In v0.4.7 the fix for https://github.com/projectcapsule/capsule-proxy/issues/349  introduced the groups for serviceAccounts, but it did not add the system:authenticated. Was this done on purpose? In the v0.4.5 capsule-proxy logs, we can see this appearing in the groups:
{"level":"Level(-4)","ts":"2024-02-28T15:07:04.076Z","logger":"proxy","msg":"impersonating for the current request","username":""system:serviceaccount:consumer:gitops-reconciler","groups":["system:serviceaccounts","system:serviceaccounts:consumer","system:authenticated"],"uri":"/api/v1/namespaces/consumer-service-exposure-poc"}

but not in the v0.5.0 logs:
2024-02-08T02:02:50Z	{"level":"Level(-4)","ts":"2024-02-08T02:02:50.161Z","logger":"proxy","msg":"impersonating for the current request","username":"system:serviceaccount:consumer:gitops-reconciler","groups":["system:serviceaccounts","system:serviceaccounts:consumer"],"uri":"/api/v1/namespaces/consumer-service-exposure-poc"}

What this intentional (related to CVE Authentication bypass using an empty token) or a miss when applying the fix for  https://github.com/projectcapsule/capsule-proxy/issues/349?

Hey @oliverbaehler, @maxgio92. I work with Adrian and Mathieu on the same project.
We wonder if the fix from https://github.com/projectcapsule/capsule-proxy/commit/d188f1242cf08ce1a7c38739bf9b6e434d871a3a fixing https://github.com/projectcapsule/capsule-proxy/commit/1c829a4cb5943d3e594456460159361f7ab787b4 is missing system:authenticated for any particular reason?
Is it possible that the commit https://github.com/projectcapsule/capsule-proxy/commit/d188f1242cf08ce1a7c38739bf9b6e434d871a3a is missing:
diff --git a/internal/request/http.go b/internal/request/http.go
index 29370b7..8a30af6 100644
--- a/internal/request/http.go
+++ b/internal/request/http.go
@@ -11,6 +11,7 @@ import (
        authenticationv1 "k8s.io/api/authentication/v1"
        authorizationv1 "k8s.io/api/authorization/v1"
        "k8s.io/apiserver/pkg/authentication/serviceaccount"
+       "k8s.io/apiserver/pkg/authentication/user"
        "sigs.k8s.io/controller-runtime/pkg/client"
 )

@@ -106,6 +107,7 @@ func (h http) GetUserAndGroups() (username string, groups []string, err error) {
                        if namespace, _, err := serviceaccount.SplitUsername(username); err == nil {
                                groups = append(groups, serviceaccount.AllServiceAccountsGroup)
                                groups = append(groups, fmt.Sprintf("%s%s", serviceaccount.ServiceAccountGroupPrefix, namespace))
+                               groups = append(groups, user.AllAuthenticated)
                        }
                }()
        }

?

Hello @adabuleanu @rgruchalski-klarrio, good catch! No worries for the late reply, we're going to reopen the issue.
Would you like @rgruchalski-klarrio to open a PR with that patch?
We can discuss the possible fix there if it's ok for you.
/cc @oliverbaehler @prometherion

LGTM, that's definitely a regression.

Will do shortly, thank you for acknowledging!

Hey @maxgio92, @prometherion I've created a PR: https://github.com/projectcapsule/capsule-proxy/pull/405.

Hey @oliverbaehler would you mind re-opening this issue?


Upgrade uWebSockets to v20.14.0

https://github.com/uNetworking/uWebSockets/releases/tag/v20.14.0

With this upgrade, would it be wise to consume uWebSockets as a submodule?

I think i have some changes to the Makefile of the vendored version (plus submodules are annoying)
we do already have a submodule for prometheus tho, so I'm not opposed to it
honestly might be better to invest in cmake or something instead

found the commit where I butchered the uSockets Makefile:
https://github.com/cgsdev0/rollycubes/commit/24c802ffa536e1e0ad9bdc9ab034e57050b81aa7#diff-a394cdbce2b3f26c1dbac8b131f98ed08a929ee74c325f5b30e5450e060a3c28


About Power consumption

First, I'm impressed by your good work.
I wonder how to measure power consumption on TX board.
I can't find more details about measuring power consumption.
Thanks

Please ask on NVIDIA support page.

@sacmehta ,
I wonder how to measure and compare power consumption in your paper.
For public confidence, your paper is needed to reveal how to measure and compare energy fairly.

What do you mean by public confidence?
NVIDIA TX2 is manufactured by NVIDIA and "not me". So, you need to ask them how to measure these metrics. They can provide you much better support than me.

Did NVIDIA directly measure the results in your paper?
I just want to know how "you" measure power consumption.
For examples, In SqueezeDet  paper, the author said that they measure power consumption by nvidia-smi with 100ms interval.
I just want to know your measuring method.

You can measure power on desktop GPUs using nvidia-smi and we also used the same on Desktop GPu. However, nvidia-smi doesn’t work on TX2. Please post on nvidia forums for more help.

If you have a laptop with mobile GPUs, you can use powertop. Note that this work only on battery mode.
https://wiki.archlinux.org/index.php/powertop
You need to do calibration etc. see above page for more help.

@sacmehta many thanks !!

You need to very much familiar with Tx2 architecture, including register specification. Look for such details on NVIDIA’s page. It is not pretty straightforward for measuring power on TX2. If you think you are comfortable with computer architecture, please follow below thread to measure power on TX2:
https://devtalk.nvidia.com/default/topic/1000830/jetson-tx2-ina226-power-monitor-with-i2c-interface-/
Sorry, but I won’t be able to provide more help. Good luck

Also, while measuring power, make sure you restart your machine after every run and let it stay in idle position for about 5 minutes . This time window allows OS to finish startup related activities. To get a good estimate of power, Don’t launch any other process such as web browser while measuring power. Also, for each datapoint, repeat your experiments atleast 5 times to ensure that there is no variation in results.
For battery driven devices such as laptop and TX2, make sure that battery is fully charged (atleast 95%) before every run.


File Processing Workflow

Issue based on pull request https://github.com/aws-samples/step-functions-workflows-collection/pull/323

README [ ./eventbridge-stepfunction-lambda-python-cdk/README.md]

example-workflow.json [ ./eventbridge-stepfunction-lambda-python-cdk/file-processing-workflow-model/example-workflow.json]

IDEA collected from [https://quip-amazon.com/VqBUAHFgmKxv/Serverless-Workflows-Collection-Submission-Ideas under Level 2 Patterns as File Processing Workflow]
You must ensure that the sections of the model README.md are completed in full.

The PR had 4,000 files, please review and resubmit


Target framework for code samples

It would be helpful if this article provided more information about the target framework for the code samples above. After trying to implement them in a console app targeting .Net Core 2.1 unsuccessfully, I eventually came to find that .Net Core doesn't support user interaction and does not provide a PlatformParameters constructor with any arguments.

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

ID: d02de0bf-09d7-a7fc-1b4a-213426e96b2d
Version Independent ID: 36f6c8fe-6bc1-6643-4b66-2c38bcd2e5f0
Content: Authenticate with Azure Active Directory to access blob and queue data from your applications (Preview)
Content Source: articles/storage/common/storage-auth-aad-app.md
Service: storage
GitHub Login: @tamram
Microsoft Alias: tamram

@mmyk Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@mmyk  - Thanks for your feedback. We have this work in our backlog and will address it soon.
#please-close


How can I use my custom rule which is similar to defined rule?

I want to add a new Rule to this plugin. The rule is based on the Methods which should be named in lowerCamelCase style. I noticed that it is already defined in the rule. However, the rule's implementation is different than the defined rule.
How can I suppress the defined the rule and use my own custom rule?
Can you help me which way I should use with providing the code example if possible?

https://github.com/alibaba/p3c/blob/master/idea-plugin/p3c-common/src/main/resources/rulesets/java/ali-pmd.xml


Validate > new group added after validation is not included in real-time validation

Repo steps:

initialise instance of validate on form
validate form in invalid state and see errors
addGroup programatically
observe real-time validation does not apply to new validation group

Came across this today on a project.  It had it's own copy of the validation plugin, so I've resolved it there.  Will this still need rolled into the repo here or has it been picked up?

@sarah-storm This hasn't been picked up yet in this repo, please PR your fix,

Closed with #182 and published to npm in the latest @stormid/validate.


CRM Dynamics HTML templates - XLT snippets not working

Hello,
We are encountering the following issue:

Edit existing HTML template which contains XLT snippets
Switch focus to another content section in the editor
Existing Merge tags (snippets )  are removed. Only ${{Snippet is shown in the editor.
When using the actual HTML template  the XLT snippet doesnt work anymore.

We have the latest solutions installed

Xrm.Oss.Xrm-Html-Templating 1.4.3
Xrm.Oss.Xrm-Templating-Language 3.9.4

CRM Dynamics Version 1710 (9.2.22101.170) online - 2022 release wave 2.
Any support/hints on how to solve this will be greatly appreciated.
Thank you.

Hi @catalinpotinte,
This is a bug in the upstream unlayer editor. There are already quite a few tickets regarding this issue in their bug tracker.
I have just published a workaround as prerelease, can you test in your dev environment?
https://github.com/XRM-OSS/Xrm-Html-Templating/releases/tag/v1.4.5
Kind regards,
Florian

Hi @DigitalFlow ,
Thank you for the update.
After installing XrmOssXrmHtmlTemplating_1_4_5_target_CRM_8.0_managed.zip  we noticed that  the existing templates from our system are no longer loaded in the Editor. Select Template doesn't fetch the existing HTML templates

Also opening the HTML template/ editing the existing templates in the doesn't help. Changes to the template are not saved.

Installed solutions: XrmOssXrmHtmlTemplating 1.4.5
Xrm.Oss.Xrm-Templating-Language 3.9.4
Please let me know if additional details are needed.
Kind regards,
Catalin

Hi @DigitalFlow
I was fast yesterday :) and installed v.1.4.6 before you edited the comment to v.1.4.7.
Anyways v1.4.6 solved the Loading/save of existing HTML templates.
I just tried to import v.1.4.7 and the install failed with : Solution manifest import: FAILURE: Holding solution XrmOssXrmHtmlTemplating_Upgrade already exists.
Best Regards,
Catalin

Hi @DigitalFlow
Loading/editing/saving templates is available again.
When you first load/edit --> the  snipets are resolved to their name in the editor  e.g. Contact FullName.
If you load the same Template again ->   Contact FullName is displayed as  ${{Snippet("email_contact_fullname")}},
If i will encounter other issues i will get back to you with details.
Anyways, the Templates work now.
Thank you.
Kind Regards,
Catalin


Property validation error when creating Service Key

Request failed with status code: 400, BXNIM0106E: Validation of property 'response_type' with value '[uaa, cloud_iam]' failed. Valid values: 'cloud_iam'
https://github.com/IBM-Cloud/bluemix-go/blob/00b345fa91ae8faa596c29f827f762bd5721b1b7/authentication/iam.go#L107
Thoughts?

Same error, received when using the IBM Terraform provider with a Service ID.

Request failed with status code: 400, BXNIM0106E:
same error...


where is export_flame_params.py?

Hello, I have finished training and evaluation based on README. Now I am going to run the real-time demo. However, I am a bit confused about how to run this part:
# export the FLAME parameter sequence for reenactment
python scripts/export_flame_params.py <path to 1st flame_params.json> <path to 2nd flame_params.json> ... --output ./sequence_data

There is not export_flame_params.py, only export_flame_sequence. Also, what is <path to 1st flame_params.json> <path to 2nd flame_params.json>?

Hello, I have finished training and evaluation based on README. Now I am going to run the real-time demo. However, I am a bit confused about how to run this part:
# export the FLAME parameter sequence for reenactment
python scripts/export_flame_params.py <path to 1st flame_params.json> <path to 2nd flame_params.json> ... --output ./sequence_data

There is not export_flame_params.py, only export_flame_sequence. Also, what is <path to 1st flame_params.json> <path to 2nd flame_params.json>?

I guess it's the flame_params from train and test datasets.
I successly generate the  sequence_data, but the web demo won't work.

Hi, we made a typo in the readme, it should be export_flame_sequence.py. The flame_params.json are the ones in the train and test subfolders.
@endlesswho Could you open the console (press F12) and copy the error messages here?

There is bug. Remove ss in line
https://github.com/buaavrcg/BakedAvatar/blob/af57b4a43abb4f3ce7197878c3b0c38632459f43/web_demo/src/shaders.js#L84

There is a bug. Remove ss in line
https://github.com/buaavrcg/BakedAvatar/blob/af57b4a43abb4f3ce7197878c3b0c38632459f43/web_demo/src/shaders.js#L84
Then do build
npm run build

Thanks for pointing out! It might be accidentally introduced when cleaning up the code.


Add sailfishos-chum-gui-sk.ts

Add Slovak translation.

Thank you

@okruhliak, I moved the strings translation for the SailfishOS:Chum GUI application to Transifex: https://www.transifex.com/olf/sailfishos-chum-gui/dashboard/
I would appreciate very much, if you apply for the role as "Coordinator" for Slovak (sk) there.

@Olf0 , OK, thanks for the info. I can be a coordinator for Slovak. In Transifex, my nickname is "holask".

Done, thank you!


Storm Distance and Bearing (still shows 0)

Has anybody got this to work, I have priate weather for a short time and from the outset it's great so my gradtude to those that maintain it.
My question is that could someone tell me if they can get this to work?

Hi, thanks for using this service and reaching out to file an issue.
Unfortunately, that feature isn't working at the moment, but is planned for V2.0 in the next few months. I've been batting around a couple different ideas for how to define "storm" (leaning towards either lightning potential or some precipitation threshold).
I'm going to tag this as an enhancement to keep it on the table, and let me know if you encounter anything else!

Also going to transfer this to the API repo, just to keep things a little organized.

Hi, thanks for using this service and reaching out to file an issue.
Unfortunately, that feature isn't working at the moment, but is planned for V2.0 in the next few months. I've been batting around a couple different ideas for how to define "storm" (leaning towards either lightning potential or some precipitation threshold).
I'm going to tag this as an enhancement to keep it on the table, and let me know if you encounter anything else!

Thanks for getting back to me, after reading your deliema I've come to understand how difficult this maybe. After some rabbit hole i've noticed that there is people that have personal weather stations such as ecowitt so if someone is 100kms east of my location then you could then have there location vs your location.
now this is a huge task to see if you could tap into a personal weather station but its a thought.
the other thing could be that the weather radars that are provided with the amount of rain seeing a particular color off the radar map? or am I just clutching at straws?


In implementation of Seasonal Decompose (STL) with FourierSeries, max_cycle=np.max(seasonal_cycle) is wrong?

For the Textbook's implementation of Seasonal Decompose (STL) with FourierSeries & RidgeCV.
(if I understood correctly)
In .\src\decomposition\seasonal.py
class FourierDecomposition(BaseDecomposition):
...
    def _calculate_fourier_terms(self, seasonal_cycle: np.ndarray, max_cycle: int):
        """Calculates Fourier Terms given the seasonal cycle and max_cycle"""
        sin_X = np.empty((len(seasonal_cycle), self.n_fourier_terms), dtype="float64")
        cos_X = np.empty((len(seasonal_cycle), self.n_fourier_terms), dtype="float64")
        for i in range(1, self.n_fourier_terms + 1):
            sin_X[:, i - 1] = np.sin((2 * np.pi * seasonal_cycle * i) / max_cycle)
            cos_X[:, i - 1] = np.cos((2 * np.pi * seasonal_cycle * i) / max_cycle)
        return np.hstack([sin_X, cos_X])
...

    def _prepare_X(self, detrended, **seasonality_kwargs):
...
            seasonal_cycle = (getattr(date_index, self.seasonality_period)).values
        return self._calculate_fourier_terms(
            seasonal_cycle, max_cycle=np.max(seasonal_cycle)
        )

max_cycle=np.max(seasonal_cycle) is wrong
ie,eg:
seasonal_cycle = df.index.dayofweek.values => we know: dayofweek gives 0,1,2,3,4,5,6
max_cycle=np.max(seasonal_cycle) => it takes 6 -- this is wrong
it should take 7 as the max_cycle (-- the period in FourierSeries)
eg:
For a comparison of a simple ex

using 7 clearly fits better than using 6.
eg:
For a comparison of a the textbook energy_consumption data:

(this is not so obvious)
(but you can see, if use 6, there are always 2 days sticks to the same level,, in each period)

Good catch! It definitely should be 7 and not 6. I'll add it to the errata and correct in the next edition. Can you help me with the chapter number and page number?

Good catch! It definitely should be 7 and not 6. I'll add it to the errata and correct in the next edition. Can you help me with the chapter number and page number?

Chapter 03 > Decomposing a time series > Fourier decomposition
page 67
stl = FourierDecomposition(seasonality_period="hour", model = "additive", n_fourier_terms=5)
Figure 3.16 - Decomposition using Fourier terms (zoomed-in for a month)
Figure 3.17 - Multiple seasonality decomposition using Fourier terms
Figure 3.18 - Multiple seasonality decomposition using Fourier terms (zoomed-in for a month)


Whitelist the local network to avoid exposing prometheus to internet

I'm not sure If i'm in the right repo to report this, but as I'm familiar with prometheus-operator I'll post here to discuss.
Few days ago, when I start playing with prometheus-operator I setup all my stuff and expose the prometheus over my ingress. Because I'm using let's encrypt to generate ssl certificates, my domain was exposed to the internet. Every signed certificate by lets encrypt is public accessible, including the domain, so google started indexing my prometheus-operator.  👎
I always take care to avoid this type of issue when I'm launching a service, but believe me it' happens with everyone. I know it's partially my fault on this 😢
Just googled for prometheus and I saw a lot of sites running prometheus directly exposed to the internet, this expose sensitive information to everyone. 🔥
I have 2 suggestions for this:
1 - By default prometheus implement a simple authentication with a  random password.
2- prometheus-operator help the user to expose ingress, forcing the whitelist ip address

Authentication has been extensively discussed on the upstream project and it will not happen that authentication will be implemented directly in Prometheus itself. However, a solution that many people use is that they expose Prometheus and Alertmanager via the bitly/oauth2_proxy. That way there is at least some authentication before it. Nontheless it is probably a good idea to also limit that to a subnet which could be a VPN.
Regarding the ingress, I don't think that the Prometheus Operator should be involved in that, however it could be something the helm chart could address. (/cc @mgoodness) Other than that it is probably a good idea to write in the exposing Prometheus and Alertmanager documentation that this can happen and that whitelisting and authentication is a good idea.
I have documentation for using the bitly/oauth2_proxy on my to do list (one of the todos in #98), but haven't gotten around writing it yet.

@gianrubio You could use HTTP Basic Auth for the Ingress (at least the nginx ingress), not a whitelist but at least something to protect the Prometheus.

I'm not completely satisfied using oauth on ingress to protect prometheus, because other developers can drop in the same issue (maybe they're not using operator), but it's best than nothing.
The latest ingress release has support for the oauth authentication. I'll do the docs for prometheus-operator + oauth during this weekend.

As an update of what's going on in the community: there is the idea of custom admission controllers, that automatically and transparently add sidecar containers. The discussion was started mainly around https://istio.io/ to automatically inject sidecar proxies that would terminate incoming ssl traffic, but the same concept should be applicable for authentication means.

Either way I don't think this is something the Prometheus Operator can handle by itself, it's a more general problem that needs to be solved by the community. Closing here.
Feel free to keep commenting and re-open if you feel it necessary.


Add DropStudent endpoint.

Professors can drop any student.
Students can always drop themselves.

POST /class/<class_id>/drop
Drop the student with ID id from your class with ID class_id. Any student can
drop themselves from a class, and a professor can drop anyone from a class except
themselves.
Request Body
{
  "id": "ID"
}

Response Format
No data is returned with this endpoint.

Status Code
Semantic

200
OK

400
Bad request (see format)

401
Unauthorized

500
Server error

Force-merging this since Cindy is using this behavior already.


Issue when run script pmhsc,py

Can you help me establish why this is failing -
This worked well with no issues
python pmhsc.py --genmaps
The following had issues...
Python 3.9.5 (default, May 14 2021, 00:00:00)
Fedora 33
Using all of these command yields the same issue.
python3 pmhsc.py --decrypt -i example/example.enc -o example/example.dec
python pmhsc.py --decrypt -i example/example.enc -o example/example.dec
placing file in the same directory
python3 pmhsc.py --decrypt -i example.enc -o example.dec
python pmhsc.py --decrypt -i example.enc -o example.dec
`
Traceback (most recent call last):
File "/home/kitty/Documents/codebreaker-master/pmhsc-master/pmhsc.py", line 151, in
main()
File "/home/kitty/Documents/codebreaker-master/pmhsc-master/pmhsc.py", line 146, in main
decrypt(args['mapping'], args['input'], args['output'])
File "/home/kitty/Documents/codebreaker-master/pmhsc-master/pmhsc.py", line 96, in decrypt
plaintext += search_mapping(l)
TypeError: can only concatenate str (not "NoneType") to str
`
What am I doing wrong ?
How can I fix this ?

Hi there!
Unfortunately, I can't reproduce the error. It seems to be working fine for me:
user@xps ~/c/pmhsc (master)> python --version
Python 3.9.5
user@xps ~/c/pmhsc (master)> python pmhsc.py --genmaps
Mapping completed in 13.80 seconds.
user@xps ~/c/pmhsc (master)> python pmhsc.py --encrypt -i example/example.txt -o example/example.enc
Encryption completed in 5.91 seconds.
user@xps ~/c/pmhsc (master)> python pmhsc.py --decrypt -i example/example.enc -o example/example.dec
Decryption completed in 153.16 seconds.

I do believe I know what caused your problem however. The example/ files were generated using a mapping.p file (created doing the --genmaps command) that I generated on my own local machine. I used that mapping file to encrypt the file you are trying to decrypt. Our mapping.p files are different and you won't be able to decrypt the example file using your personally generated mappings. This is working as intended.
To get it to work follow the command I did above. First encrypt the example.txt you will see that your encrypted file will be different from the original one. Now try to decrypt the file you encrypted :)
Also, I would recommend you check out rmhsc as it is better than pmhsc because it can encrypt any filetype while pmhsc can only do plaintext files.
Thanks for checking my project out! I hope this helps.

It works ... thank you.
Not sure why it didn't work initially .. followed you steps an now it does. Go figure. Thank you