Optimize SaveEventDelegate#preSaveCheck by removing if possible the recursion

Expected Behavior
The recursion algorithm implemented in preSaveCheck might not be necessary and might be transformed into a loop on a stack/deque.
Context
On a project I'm working on we have performance issues. We made the exercise to profile the application to fix the bottleneck.
We have identified the aforementionned methods as responsible of a fraction of the time taken (not negligible).
On graph with entities with many bidir relationships it can lead to deep stack trace.
Please let me know if it makes sense. If so I can submit a pull request.
Your Environment

Java version: <IP_ADDRESS>5
Neo4j version (The version of the database): 3.5.21
OGM Version (The version of this software): 3.2.17
OGM Transport used (One of Bolt, HTTP or embedded): Bolt
Neo4j Java Driver version (in case of Bolt transport): 4.0.2

Something like that
        Deque<Object> process = new ArrayDeque<>();
        process.add(object);

        while (!process.isEmpty()) {
            Object curObj = process.poll();
            if (visit(curObj)) {
                children(curObj).stream().filter(o -> !visited.contains(o)).forEach(process::add);
                if (dirty(curObj)) {
                    firePreSave(curObj);
                }
            }
        }

Apparently the dirty(object) requires a depth first traversal

Nope, definitiv not. But I like the idea and the delegate class needed some love anyway.
While technical, the both the following approaches are DFS:
    static class X {
        String name;

        public X(String name) {
            this.name = name;
        }

        List<X> children;

        @Override public String toString() {
            return "X{" +
                "name='" + name + '\'' +
                '}';
        }
    }

    static class PrintR {
        Set<X> visited = new HashSet<>();

        void print(X x) {
            if(!visited.contains(x)) {
                visited.add(x);
                System.out.println(x);
                x.children.forEach(this::print);
            }
        }
    }

    static class PrintI {
        Set<X> visited = new HashSet<>();

        void print(X x) {

            Deque<X> stack = new ArrayDeque<>();
            stack.push(x);
            while(!stack.isEmpty()) {
                X cur = stack.pop();
                if(!visited.contains(cur)) {
                    visited.add(cur);
                    System.out.println(cur);
                    cur.children.forEach(stack::push);
                }
            }
        }
    }

you can see how the order differs a tiny bit.

    public static void main(String...args) {

        X a = new X("A");
        X b = new X("B");
        X c = new X("C");
        X d = new X("D");
        X e = new X("E");
        X f = new X("F");
        X g = new X("G");

        a.children = Arrays.asList(b, c, e);
        b.children = Arrays.asList(d, f);
        c.children = Arrays.asList(g);
        d.children = new ArrayList<>();
        e.children = Arrays.asList(f);
        f.children = Arrays.asList(e,b);
        g.children = new ArrayList<>();

        new PrintR().print(a);
        System.out.println("---");
        new PrintI().print(a);

    }

I have a solution and the main point to it are two changes, which I write down in the PR.


GUVNOR-2503: Asset screen Validate-button should use incremental builder

See https://issues.jboss.org/browse/GUVNOR-2503 and https://github.com/droolsjbpm/kie-wb-common/pull/421

@karreiro I hope to look in detail later..  but please delete the unused filter declarations; e.g. FILTER_JAVA etc from the classes you've modified.. it's pretty pointless keeping them.

Thanks @manstis

+1 to merge (with other related PRs)
There are five PRs all together:-

https://github.com/droolsjbpm/drools/pull/873
https://github.com/droolsjbpm/guvnor/pull/346
https://github.com/droolsjbpm/kie-wb-common/pull/421
https://github.com/droolsjbpm/drools-wb/pull/265
https://github.com/droolsjbpm/optaplanner-wb/pull/89

+1


SHACL shape validation

Thanks for great work.
Shapes are now getting used extensively, as they make working with rdf types lot easier by giving predictable shapes to data, in otherwise open-world.
It would be great if sophia can support shacl.

Thanks for your support. Yes, a SHACL implementation would be great.
Unfortunately, I don't have the bandwidth at the moment to make progress on that front, but any PR is welcome.
Alternatively, a separate crate implementing SHACL, relying on the Sophia API could be equally useful. Sophia does not intend to be a monolithic library, but a set of common APIs ensuring interoperability among independent implementations.


Interesting deadmessage

Feature Request
Description
How about allow user can edit the message of being run over by a train in config? The message now looks like it was killed by using the /kill command. User can provide a list of messages and the plugin will randomly select one of them as an announcement.
Examples
For example, it can be set by default to:

Steve tried to stop a train, but the train didn’t stop for him.
The train was faster than Steve. Much faster.
Steve wanted to be a hero. He became a pancake.

Is the killmessage train property enough, or do you need a list of messages to be selected randomly?

Is the killmessage train property enough, or do you need a list of messages to be selected randomly?

Yes, does it support a random list?

No

It's hard to set properties on a sign when the property is a list

No It's hard to set properties on a sign when the property is a list

Okay, thanks a lot!


Missing OG Images for Blog posts

Describe the bug

OG Images for blogposts have an incorrect format in the meta tag (it shows as .svg instead of .png)

Minimal example

Blog Post 2 on Brutal
Expected behavior

Show correct OG image for blogpost 2
Screenshots

Additional context
Add any other context about the problem here.

Turns out its just a typo here
https://github.com/ElianCodes/brutal/blob/da5b0f0999d311215a88e7c93533bfcae66bbd0e/src/layouts/BlogPost.astro#L7

Thanks for opening an issue!
Feel free to open a PR to fix this, in case you can't, I can do it tomorrow!


allow_domain, balancer: maintain a shared dictionary

Asynchronous checking in request_domain, allow_domain, is bound to fail because of the way SSL works.
The map of domain -> upstream must be loaded (with retry) when nginx starts (by a request to the default upstream app) and updated every minute (for now to keep it simple).

Done


PR for MosaicJSON notebooks made for v2d1

Adding srtm-stac-mosaic.ipynb and ade_mosaic.ipynb
updated visualizing.rst to account for srtm-stac-mosaic and ade_mosaic notebooks
updated querying.rst to account for ept_stores.ipynb name change

@wildintellect that was actually my suggestion to reduce confusion and issues with file paths. Open to other suggestions but chatting with Sam it sounded like there were issues (or at least I had issues) access the files which were located on the /alexdevseed path

The issue is that files were not in GCC, they only existed in Pilot Ops - which have now been copied over. Putting them in the repo assumes users will clone the repo, which is preferred but not always the case (many will copy/paste). Also it adds 300 MB to the clone, and more if we ever change the files (as is we'd want to expunge the binary large files with BFG if we do drop them).
Alternatives:

We could ask for a more permanent platform folder for demo data, that would always exist for MAAP users?
We can create a much smaller dataset for embedding in the docs.

I think the approach we take, as you indicate, ideally will work regardless of if the user clones the documentation repo and also uses a small amount of storage to reduce network transfer just to run an example notebook. In this case I think it would make the most sense to copy small example tifs from a publicly available S3 storage location.


Attempt to load missing resources by looking in the same directory as the obj

Fixes #54

Updated.

@likangning93 updated. I went with your suggestion here: https://github.com/AnalyticalGraphicsInc/obj2gltf/pull/117#discussion_r153909005.


Stop running tests in deps updater script.

It's a pain to keep multiple test environments in sync. Let's make sure
our test on pull requests find the problematic issues.

@dpebot merge when green


Youtube video Link sharing extension

It is basically allow you to share recent video link directly so you do not have to open youtube tab to check your history and then share it. Rather you can your directly.

Already added to my repository #176

@Sulagna-Dutta-Roy  I read your code of Youtube video Summariser and mine extension is totally different. Let me explain how mine and your are different. So bascially mine take the url of all the recent and you can copy it and share it whereas your is take text from the video and summarise it.

@Sulagna-Dutta-Roy  Please reply to me about this issue.

What happened? @jaydeep099
It seems I have assigned you long back. Also If I don't receive any PRs within a certain time then other contributor can work on this. Kindly Inform otherwise I will unassign this

You shouldn't have closed this without Informing here. @jaydeep099

Kindly check Code_of_Conduct before going to any repo. Thanks

Closing this. As Informed previously. Let it be


[feature][cdc] Fixed error in mysql cdc under real-time job

Purpose of this pull request

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

@CalvinKirs CI's maven command does not compile test-jar,
How should I handle this?
@EricJoy2048 CC


Revised distributions for stochasticmux

This PR implements several changes described in #148

New distributions for stochasticmux: const and binomial (new default)
Adjusted the poisson mode so that the expected value is actually rate and not rate+1

I've also relaxed the uniform convergence unit tests.  A p-value of >=0.95 was probably overkill for the sample size we were drawing, and I've reduced it to 0.5.  Strangely, poisson was giving me the most trouble here, while const and binomial were behaving better.  It's probably an artifact of setting rate=2 in the test.

There's a bit of weirdness here in the initialization with binomial mode.  (Will come back to this later...)
The binomials are parametrized by Bin((rate-1)/(1-p), 1-p) where p is the probability of selecting the streamer from the active set.  The reason for this dependence is subtle, but it ensures that the replacement times for streamers don't concentrate too much; a streamer gets replaced on average every rate * N_active samples, with variance like rate * N_active * (N_active-1).  (At least, assuming uniform weights on the streamers.)
The weirdness arises when we initialize streamers on at a time: the weight distribution is not fully known until the first batch of active streamers are fully initialized, so the calculations for p above are generally going to be wrong.  In the extreme case, the first active streamer will use the poisson approximation (since p=1 when there are no other streamers active yet); the second streamer will have bin((rate-1)/0.5, 0.5) (assuming uniform weights again), the third will have bin((rate-1)/0.666, 0.666), and so on.  In all cases, the expected values will be the same, but the first few streamers will have higher rate variance than the later ones.  Specifically, the variance sequence will look like (again, assuming uniform streamer weights) of (rate-1)/n (for n=1,2, ..., n_active).
Now, we could hack around this by pre-determining the weights so that everything is primed properly.  However, I think it might actually be beneficial to leave it as is because it injects more randomness in the rate distributions early on, which ought to have a comparable effect to having random offsets in a burn-in phase as @ejhumphrey suggested in #132 .
It's a bit weird, but given the potentially dynamic nature of the active stream distribution (especially in exhaustive mode), it won't be possible to always ensure that the rate distribution for a streamer is "correct" over time.  The best we can do is sample the rate value according to whatever the distribution will be at the time the streamer is activated.

Having slept on it, i think a better solution here is to initialize the active set weights by a random draw from the weights array instead of with zeros. This won't have any effect on const or poisson, but it will put the binomial mode in a less quirky position at initialization time.

@cjacoby :wave: I know it's been a gajillion years, but do you have any interest in looking this over?  I think it's basically good to go, but it does have some kinda breaky behavior relative to older versions that I'd like to get another set of eyes on.
Quick TLDR is summarized in https://github.com/pescadores/pescador/issues/148#issuecomment-1919834323

Ok, doc section is added and back-link is included.  I tried to clean it up a bit from my original notebook (4 years ago!) and put in some expository text.  Hopefully it makes sense?


Implement /search

https://developer.github.com/v3/search/
Hi, sorry for filing this and #157.
I'd prefer to use the repository search api.

My currently (ugly) workaround for this is to
use egit-github's version of the search API and kohsuke/github-api
for everything else.
I'd prefer to only use one library, but egit-github doesn't support
all of the features of the repo/readme API.
This repo's well-written and documented, so I'd prefer to use it
for everything.
If I'm able, I'll take a look at the code and perhaps try implementing this myself.

Implemented toward 1.65.


quill-cassandra: inserts with options create tombstones

Version:  2.0.0
Module:  quill-cassandra
Database:  cassandra
Expected behavior
An configuration option that allows the user to filter out all null (None) value attributes from inserts
Actual behavior
Inserts that contain null values right now create tombstones in the Cassandra database.
This causes increased database workload. Some additional info on how cassandra saves records is here: http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/dml/dml_write_path_c.html#concept_ds_wt3_32w_zj__dml-compaction
Steps to reproduce the behavior
connect to a cassandra node and run:
create table demo.test (a int, b int, primary key(a));
insert into demo.test (a,b) values (1,1);
insert into demo.test (a,b) values (2,null);
insert into demo.test (a) values (3);
tracing on;
select * from demo.test;

this should return a wall of text with
Read 3 live and 1 tombstone cells at the end. Note that the second entry created a tombstone but the last one did not.
Set up a cassandra context in scala similar to this:
lazy val clusterWithoutSSL =
    Cluster.builder()
      .withPort(port)
      .addContactPoint(contactPoint)
      .withCredentials(username, password).build()

lazy val ctx = new CassandraAsyncContext[CamelCase](
    CamelCase,
    clusterWithoutSSL,
    keyspace,
    preparedStatementCacheSize
  )

with the appropriate configurations filled out (contactPoint, port, username, password, keyspace and preparedStatementCacheSize)
Afterwards run:
    case class Test(a: Int, b: Option[Int])
    val record = Test(4, None)
    import ctx._
    ctx.run{
      query[Test].insert(lift(record))
    }

Afterwards you go to the cqlsh console and run:
select * from demo.test;
this should return a wall of text with
Read 4 live and 2 tombstone cells at the end
Therefore a new tombstone has been added.
Workaround
If it was possible to turn off prepared statements for cassandra it might be possible to solve this directly in quill. As far as i know the underlying datastax drivers allow for filtering null fields, source https://docs.datastax.com/en/developer/java-driver-dse/1.3/manual/object_mapper/using/#mapper-options search for saveNullFields, however I think turning this option on does not help with prepared statements, the source on this is here: https://www.datastax.com/dev/blog/4-simple-rules-when-using-the-datastax-drivers-for-cassandra . I couldnt find how to turn this option off in the cluster builder definition, if anybody has any hints I would love to try it out.
When I glanced through the code i found that quill implements its own mappers and reimplementing these might solve the issue (if we had non-prepared statements) https://github.com/getquill/quill/blob/c9a492119198a6e73819352f2bad47ca94e520f3/quill-cassandra/src/main/scala/io/getquill/context/cassandra/encoding/Encoders.scala#L27
Another possible point of interest would be the CqlIdiom:
https://github.com/getquill/quill/blob/0606e15ad252d72875792dddc917dd7fba1e36f0/quill-cassandra/src/main/scala/io/getquill/context/cassandra/CqlIdiom.scala#L155
Where the fields with Nones could be possibly be somehow filtered out aswell.
@getquill/maintainers

I am also seeing this, for what it's worth. Just did an insert, and when I read it back I see lots of warnings about 100 live cells and 1300 tombstones


New feature: Check disabled dates on the range

Describe the bug
I have passed certain values to datepicker as disabled dates and it is showing the same as blocked dates. I Have set min nights to 5. When I click on a date just before the blocked date, and select the range the datepicker is still allowing to select a range with the blocked dates.
To Reproduce
Steps to reproduce the behavior:

Add blocked dates [2021-03-02, 2021-03-03]
Set min nights to 5
Select date 2021-03-01 and select 5 nights.
The datepicker lets user choose the blocked dates as well

Expected behavior
If minimum nights required not available in a row, then disable all future dates
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. macOS]
Browser [chrome, safari]
Version [e.g. 22]

This is not a bug exactly, is a control of the blocked days, blocked days can be a number of uses, for instance when you don't want that anyone book on those days, for instance not checkins or checkouts on certain days, but they could be part of a booking.
Probably you should use bookings instead.

I tried using it with bookings prop but it still behaves the same way. Ideally when selecting checkin date the datepicker should disable all the dates that are not possible to be considered checkout date based on restrictions like min nights and available dates.

Hi @matiasperrone , i also need the same behaviour described by @cosmicstays, there's a way to implement it through props or with some javascript?
I've tried with blockedDays and bookings but it still behaves the same way.
Thanks

hi

Close for lack of response


[Touchable] TouchableHighlight sometimes doesn't throw error when child is not native

I'm running into an error Undefined is not a function in TouchableHighlight.js:161 where it looks like the _showUnderlay function is trying to call setNativeProps but that function doesn't exist on my component.
There is a ensureComponentIsNative(this.refs[CHILD_REF]); that fires in componentDidMount but the invariant exception is getting swallowed in Transaction.js:216.  This might be the real issue, why does the error get caught and ignored?
I tried to put together an example but the correct invariant error is thrown in my example.  I have a branch up on Github that you can clone down and modify to get it to reproduce (you'll need to comment out the define.amd = {} in haste/polyfills/require.js because of #406).

It looks like this is fixed now in 0.5: https://rnplay.org/apps/FtnarQ
Let me know if you run into it again!

:+1: thanks for verifying and closing, you're awesome.

:blush:


支持Segmented Log 和 Snapshot吗？

see https://martinfowler.com/articles/patterns-of-distributed-systems/wal.html

另外还希望添加CRC校验

see https://martinfowler.com/articles/patterns-of-distributed-systems/wal.html

Sequential writing is fast enough for file IO.

另外还希望添加CRC校验

Fletcher32 checksum had been used in this WAL implementation.


allow custom schema export file destinations and import locators (prepare for transform long schema names)

linked PRs
itwinjs-core: https://github.com/iTwin/itwinjs-core/pull/5011/files
I plan on backporting this to 3.6 as a bugfix for the transformation service to consume
What

do not use an BeXmlWriter that could be null if an i/o error occurs
add the option to supply a custom file name when exporting a schema
add the option to supply a custom schema locator (using SchemaLocaterCallback and ECSchemaXmlContext) during calls to nativeDb.importSchemas() which can use that locater to resolve references to schemas.

Why
For handling long schema names on the transformer.
linux + mac common file systems usually have a 255 byte limit to path segments and therefore to filenames. This means that exporting a schema with a name of length > 255 - '.ecschema.xml'.length could fail with an error on those operating systems. Transformation often exports schemas from the source and imports them into the target, which means certain transformations of models with certain schemas fail on linux agents.
This is especially noticeable in certain dgn user-defined schemas if generated from a non-ascii    label, a hex encoded utf16 string with ____ between every wide character is used to construct the schema name. This gets too long for 255 bytes very quickly. That is a summary to the best of my knowledge but @ColinKerr might know more about what/why for this.
In the accompanying JavaScript (itwinjs-core PR](https://github.com/iTwin/itwinjs-core/pull/5011/files, these two additions are used to write a shorter named file while exporting schemas during a transformation, and when the target imports them, it can still find the renamed schemas.

closing to investigate transforming schemas without touching the disk


CSUB-373: Enable Build WASM Runtime job for PRs againt dev/tesnet

automatic update of WASM blob will still happen only on merged to dev
Description of proposed changes:
Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #876 (6f0981c) into dev (cd2e16a) will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #876      +/-   ##
==========================================
+ Coverage   78.07%   78.14%   +0.07%
==========================================
  Files          67       68       +1
  Lines       10617    10666      +49
==========================================
+ Hits         8289     8335      +46
- Misses       2328     2331       +3

Impacted Files
Coverage Δ

primitives/src/lib.rs
93.33% <0.00%> (ø)

pallets/creditcoin/src/lib.rs
81.70% <0.00%> (ø)

pallets/creditcoin/src/migrations/v6.rs
89.21% <0.00%> (ø)

primitives/src/vrf.rs
93.87% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Federate resources from input yaml

Federates resources given in input yaml (emits yaml output).
Takes input from stdin if - is specified for file name.

Rebased.

Please rebase

@marun Rebased. PTAL!

Rebased!

This is indeed a welcome feature! I'm assuming you're intending to add test coverage and documentation?

Documentation a certain yes; Was not planning on adding a test for this as inspections of yaml for correctness is quite obvious. Are you indicating at unit testing the new function federateResources  or e2e yaml validation, where input is actual yaml file and output is actual yaml output?

@marun Updated the rest and working on tests now.

@marun @shashidharatd FYI I have been observing a flaky failure on ServiceDNS test as on this PR right now and I remember seeing an issue to track it (but could not locate the issue right now). Was it fixed? Also as I could not find the issue, I am not sure that its the same failure. Can you please confirm.

@irfanurrehman #839 should be fixed

@irfanurrehman #839 should be fixed

Ok; this looked like a different issue. I will look into it if I observe it again.
Meanwhile update the tests. PTAL!

@marun Updated. PTAL!

@irfanurrehman It doesn't appear that the code has been updated to address my comments.

@irfanurrehman It doesn't appear that the code has been updated to address my comments.

Apologies, it seemed to be some git push issue at my end. Pushed the correct branch now.

Great work, thank you!
/lgtm


How to save weights to text files?

I m trying to visualize weights of the nets. But could not find a way in API.

We don't have API for this yet. Try converting to numpy (w.asnumpy()) use numpy's savetxt


tf.keras.callbacks.BackupAndRestore showing wrong number of steps after restoring the model!

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): colab
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): colab
TensorFlow version (use command below): v2.8.0-0-g3f878cff5b6 2.8.0
Python version: 3.7.12
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: 11.2
GPU model and memory: Tesla V100-SXM2-16GB

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with:

TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"

Describe the current behavior
By using the BackupAndRestore, I can save and reload the model from the last saved checkpoint and the training will continue from the last epoch before the interruption. The problem I'm facing is that after the training of the epoch is complete, the number of steps for that epoch is wrong (it takes the number of steps of the epoch and multiplies it with the number of epochs completed). The time of the epoch is correct but because the number of steps is wrong, the time per step is also wrong (as It divides the time taken for this epoch and divides it with the wrong number of steps). This issue causes the next epochs to show wrong progress bar and wrong number of steps as well.
You can see an example here:
My model trains for 1481 steps per epoch and it usually takes 7 to 8 seconds per step therefore I expect the total time of the epoch to be around 1481 * 8 = 10000 to 12000 seconds. I get the following log for training the model after restoring the 16th epoch by using the last saved checkpoint.
Epoch 16/40
23696/23696 [==============================] - 11513s 484ms/step - loss: 32.1565 - lr: 0.0010
Epoch 17/40
74/23696 [..............................] - ETA: 40:37:26 - loss: 31.8166
As you can see, the number of steps should be 1481 but it's instead 16*1481=23696 for 16th epoch. The time per step should be 11513 / 1481 which is around 7s but what it shows is 11513 / 23696 = 484ms.
Also, the next epoch has a wrong total number of steps and ETA as well because of the wrong number of steps of the previous epoch. it stays like this until I restore from another epoch which produces the same issue
Describe the expected behavior
The expected behavior is to see the total time of the epoch (and not all the trained epochs) and to see the correct time per step
For example, I expect to see this in my case:
Epoch 16/40
1481/1481 [==============================] - 11513s 7s/step - loss: 32.1565 - lr: 0.0010
Epoch 17/40
74/1481 [..............................] - ETA: 3:19:00 - loss: 31.8166
Contributing

Do you want to contribute a PR? (yes/no): No
Briefly describe your candidate solution(if contributing):

Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
This is the training method of my model.
def train(self, loss_function:Callable, data_generator:Callable=None, learning_rate_scheduler:tf.keras.callbacks=None, learning_rate:float = 1e-3, epochs:int=40, batch_size:int=8, shuffle_data:bool=True, seed:int=0)->History:
    '''This method will generate the train_dataset and trains and backup the model after each epoch.
       it finally saves the model and removes the checkpoints
    '''
    def store_spectrograms():
        music_names = os.listdir(self._train_dir_path)
        music_names.remove("spectrograms")
        train_spectrograms_temp_dir_path = os.path.join(self._train_dir_path, "spectrograms")
        for music_name in music_names:
            #print(f"storing spectrograms for {music_name}")
            music_dir_path = os.path.join(train_spectrograms_temp_dir_path, music_name)

            for file_name in ["mixture.wav", "vocals.wav", "accompaniment.wav"]:
                destination_dir = os.path.join(music_dir_path, file_name[:-4])
                if os.path.exists(destination_dir):
                    # print(f"{destination_dir} already exists")
                    continue
                Config_Handler.make_dir(destination_dir)
                wav_file_handler = Wav_File_Handler(wav_file_path = os.path.join(music_dir_path, file_name))
                _, spectrograms = wav_file_handler.generate_segments_and_spectrograms(segment_length_in_seconds=self._segment_length_in_seconds, clip_stft_to_even_frequency_bins=self._clip_stft_to_even_frequency_bins)
                for i, spectrogram in enumerate(spectrograms):
                    spectrogram_id = f"id_{i}"
                    destination_path = os.path.join(destination_dir, f"{spectrogram_id}-spectrogram.npy")
                    np.save(destination_path, spectrogram)
            #print(f"storing spectrograms for {music_name} completed!\n")

    store_spectrograms()

    if os.path.exists(self._model_path):
      train_more = str.lower(input(f"Model is already trained, are you sure you want to train it for {epochs} more epochs? \n (y for yes and n for no:)"))
      while train_more not in ["y", "n"]:
        print("invalid answer!")
        train_more = input(f"Model is already trained, are you sure you want to train it for {epochs} more epochs? \n (y for yes and n for no:)")
      if train_more == "n":
        print("cancelling training!")
        return
      else:
        print(f"model will be trained for {epochs} more epochs")

    input_file_name = "mixture.wav"
    output_vocal_file_name = "vocals.wav"
    output_ac_file_name = "accompaniment.wav"
    music_dict = dict()

    train_dataset = tf.data.Dataset.from_generator(lambda: self.generate_data(self._train_dir_path),
                                             output_signature=(tf.TensorSpec(shape=(None, self._input_shape[0], self._input_shape[1], self._input_shape[2]), dtype=tf.float32),
                                                               tf.TensorSpec(shape=(None, self._input_shape[0], self._input_shape[1], 2, self._input_shape[2]), dtype=tf.float32)))
    # test_dataset = tf.data.Dataset.from_generator(lambda: self.generate_data(self._test_dir_path, shuffle_data=shuffle_data, seed=seed),
    #                                          output_signature=(tf.TensorSpec(shape=(None, 1024, 256, 1), dtype=tf.float32),
    #                                                            tf.TensorSpec(shape=(None, 1024, 256, 2, 1), dtype=tf.float32)))
    optimizer = AdamW(weight_decay=1e-6, learning_rate=1e-3)

    tensorboard_callback = tf.keras.callbacks.TensorBoard(
    log_dir=self._tensorboard_logs_dir, histogram_freq=0, write_graph=True,
    write_images=False, write_steps_per_second=False, update_freq='epoch',
    profile_batch=0, embeddings_freq=0, embeddings_metadata=None,)
    #tf.debugging.experimental.enable_dump_debug_info(self._tensorboard_logs_dir, tensor_debug_mode="FULL_HEALTH", circular_buffer_size=-1)
    #tf.debugging.experimental.disable_dump_debug_info()

    backup_and_restore_callback = tf.keras.callbacks.BackupAndRestore(
    backup_dir=self._checkpoint_path)
    callbacks = [tensorboard_callback, backup_and_restore_callback] + [tf.keras.callbacks.LearningRateScheduler(learning_rate_scheduler)] if learning_rate_scheduler != None else []
    self._model.compile(loss=loss_function, optimizer=optimizer)
    print("starting training!")
    history = self._model.fit(train_dataset, epochs=epochs, batch_size=batch_size, callbacks=callbacks, verbose=1)

    self.save_model()
    self._finalise_training()

    return history

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

@mohammadreza490
Please post this issue on keras-team/keras repo.
To know more see;
https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999
Thanks!

Will do thank you!


VSCode serverpod watch tasks and problem matchers

I'm wondering how to get a task that watches and generates on background the files of serverpod. I'm trying with this script at the moment but I'd need some help:
{
            "type": "melos",
            "script": "serverpodwatch",
            "icon": {
                "id": "eye",
                "color": "terminal.ansiCyan"
            },
            "label": "melos: serverpodwatch",
            "isBackground": true,
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": false,
                "revealProblems": "onProblem",
                "group": "watch"
            },
            "problemMatcher": {
                "owner": "dart",
                "fileLocation": "absolute",
                "pattern": [
                    {
                        "regexp": "^((.*): Found \\d issues\\.)?\\n",
                        "severity": 1,
                    },
                    {
                        "regexp": "Error on line (\\d+), column (\\d+) of (.*): (.*)\\.",
                        "line": 1,
                        "column": 2,
                        "file": 3,
                        "message": 4
                    },
                    {
                        "regexp": ".*╷\n",
                    },
                    {
                        "regexp": "(\\d+) │\\s*(.*)\n",
                        "line": 1,
                        "code": 2,
                    },
                    {
                        "regexp": ".*\\^|.*╵",
                        "loop": true,
                    },
                ],
                "background": {
                    "activeOnStart": true,
                    "beginsPattern": ".*Generating code\\.\\.\\.",
                    "endsPattern": ".*code generation complete.*\\."
                }
            }
        }

while on melos the code is:
serverpodwatch:
    name: watch
    run: melos exec --depends-on="serverpod" -- "serverpod generate --watch"

Is there any chance of adding a flag to serverpod generate that outputs the errors in a one-liner way?


allow setting zero minReplicas for autoscaling

for platforms where this is supported
Update Webhook accordingly
Update remotemachineset controller to do more dynamic detection of
supportability.
xref: https://issues.redhat.com/browse/HIVE-1486

/assign @dgoodwin
/cc @abutcher

/lgtm


Adds DevTools preview for VSCode marketplace

Type

[ ] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[x] Documentation Update

Description
Add a VSCode marketplace preview to help users know what to expect before installation.

Maybe it would be better to have some information visible in the panel in the screenshot?

Ok, I'll do that

I think the preview should show the actual code that you are running.


Does not work with engines

Hey @frank06 I'm adding an issue here since I don't have an answer for this: https://github.com/embermap/ember-data-storefront/pull/17
Storefront adds methods to Ember Data's store and because of this it needs to run in an initializer after Ember Data has created its store. This does not work inside of an engine.
Storefront's initializer: https://github.com/embermap/ember-data-storefront/blob/master/addon/instance-initializers/mixin-storefront.js
Data's initializer: https://github.com/emberjs/data/blob/master/addon/initialize-store-service.js
If anyone has any ideas how to fix this I'd love to hear. Maybe there are alternatives that don't involve using an initializer or mixin?

FWIW. I don't think this is true.  In the app I work on, ( heavily engine ified ), ember-data-storefront works correct.
In our app, and I suspect most, we share the store from the parent app into the engine.

Oh that's good to hear! Thanks @Duder-onomy
@frank06 how are you using this addon with engines? I've never used ember-engines, so I'm a little out of water here. If you could share a minimal engine app that doesn't work with storefront that would help me get this fixed.

@ryanto Sorry I totally missed this question and I'm no longer on that project. I recall there definitely was an issue and we ended up not using Storefront in engines. If I am able to gather more info or reproduce I'll let you know!

Hey Frank, no problem! It certainly wouldn't surprise me if there are some issues with engines.
I'm going to close this since I don't think there's anything I can do about it right now. If anyone reading this is having an issue with engines feel free to bump this!


Document features that require 21.1 upgrade finalization

Fixes #10348

This change is

v21.1/upgrade-cockroach-version.md, line 72 at r1 (raw file):

When upgrading from v20.2 to v21.1, certain features and performance improvements will be enabled only after finalizing the upgrade, including but not limited to:

- **Improved multi-region features:** After finalization, it will be possible to use new and improved [multi-region features](multiregion-overview.html), such as the ability to set database regions, survival goals, and table localities. Internal capabilities supporting these features, such as [non-voting replicas](architecture/replication-layer#non-voting-replicas) and [non-blocking transactions](transaction-layer.html#non-blocking-transactions), will be available after finalization as well.

@otan, PTAL.

v21.1/upgrade-cockroach-version.md, line 72 at r1 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
@otan, PTAL.

lgtm

v21.1/upgrade-cockroach-version.md, line 231 at r2 (raw file):

    ~~~

    {{site.data.alerts.callout_info}}

@irfansharif, PTAL. This is new, although Reviewable doesn't think so for some reason. As I mentioned in Slack, I'm not certain this is sufficient guidance.
Will the command return control before this is done? If yes, is there a way for users to observe the progress so as to know when the finalization has finished?

v21.1/upgrade-cockroach-version.md, line 231 at r2 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
@irfansharif, PTAL. This is new, although Reviewable doesn't think so for some reason. As I mentioned in Slack, I'm not certain this is sufficient guidance.
Will the command return control before this is done? If yes, is there a way for users to observe the progress so as to know when the finalization has finished?

@johnrk, could use your review here as well.

v21.1/upgrade-cockroach-version.md, line 231 at r2 (raw file):
Previously, irfansharif (irfan sharif) wrote…
The statement will return control only after it's done. The progress of the upgrade is inspectable; there's a jobs created for it and it should be visible through the jobs page/jobs tables. I'd say that the duration one should expect here is proportional to the amount of data in the cluster, to set the right expectations. Everything else LGTM; if you feel it's still insufficient guidance I'm curious about what else you think would be helpful to say here.

Thanks, @irfansharif. I don't know if "the duration one should expect here is proportional to the amount of data in the cluster" is enough. How can we give them a sense of how long this will really take?

v21.1/upgrade-cockroach-version.md, line 74 at r1 (raw file):
Previously, irfansharif (irfan sharif) wrote…
This isn't work I've done, did you mean to tag me?

Whoops. Sorry, @irfansharif. Git blame mislead me.
@rytaft, PTAL.

v21.1/upgrade-cockroach-version.md, line 231 at r2 (raw file):
Previously, irfansharif (irfan sharif) wrote…
It's hard to precisely say, it depends on two things: the migrations that were introduced in the particular release and the # of ranges in the system. In the 21.1 cycle the migrations are fairly lightweight. In a cluster with 50k ranges (which is quite a lot), a generous estimate would be around 1m. In future releases this might go up. I'm not sure how best to phrase this to make it actionable for readers. Suggesting that it should take under a minute for most users sounds fair to me.
The way I'm computing these numbers is here: https://github.com/cockroachdb/cockroach/blob/126ea38261fb12997b8b26d244ea02561aa2a805/pkg/migration/migrations/truncated_state.go#L26-L37

Oh, that's great. I was worried we were talking minutes to 10s of minutes to more. Thanks, Irfan. I'll update this soon.

v21.1/upgrade-cockroach-version.md, line 74 at r1 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
Whoops. Sorry, @irfansharif. Git blame mislead me.
@rytaft, PTAL.

There is no migration path for existing inverted indexes, so I'd say "After finalization, newly created  inverted indexes will contain...".
Not sure if you also want to mention why this is important, but you could also say "...rows containing empty arrays in ARRAY columns, which allows the indexes to be used for more queries. Note, however, that...."

v21.1/upgrade-cockroach-version.md, line 76 at r1 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
@raduberinde, PTAL.

LGTM

Thanks, @kannanlakshmi and @emily-horing. Done.

cockroachcloud/upgrade-to-v20.1.md, line 104 at r12 (raw file):
Previously, joshimhoff (Josh Imhoff) wrote…
Is this true? As updates depend on transferring leases, not copying replicas, I doubt it is very true if true. My view is update time depends more on number of nodes in the cluster.

I can remove that. I just added it at @emily-horing's suggestion, but the previous version was probably fine.

releases/v21.1.0.md, line 102 at r14 (raw file):
We announced the deprecation of dump in the 20.2 release notes: https://www.cockroachlabs.com/docs/releases/v20.2.0#deprecations. And we announced adding back --dump-mode=schema in the first 21.1 beta:

Added back support for cockroach dump --dump-mode=schema. This command calls SHOW CREATE ALL TABLES and returns the output. This gives users a migration path to use in v21.1 while switching over to SHOW CREATE ALL TABLES for v21.2. When executing this, the user is warned that the command is being removed in v21.2 and they should use SHOW CREATE ALL TABLES instead. [#61871][#61871]

What should we do exactly in this 21.1 release notes? Where does this fit?

releases/v21.1.0.md, line 98 at r3 (raw file):
Previously, taroface (Ryan Kuo) wrote…
@jseldess Sorry, I thought I had provided a new link here, but can't find my comment. The link should be:
https://www.cockroachlabs.com/docs/v21.1/eventlog.html

Thanks, @taroface.

v21.1/upgrade-cockroach-version.md, line 47 at r3 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
@johnrk, @petermattis, PTAL. Is this sufficient?

@johnrk, PTAL. I need to publish these notes on Monday, so I'm running low on time.

v21.1/upgrade-cockroach-version.md, line 50 at r14 (raw file):
Previously, mwang1026 (Michael Wang) wrote…
Small detail here -- the BACKUP option doesn't exist in 20.2, so to streamline upgrade we recently backported that BACKUP option as a no-op, but it won't be in earlier 20.2 releases (I think it'll be in 20.2.10 or 11?). Is that something we'd want to call out?

Oh, yeah, that's more complicated. So we'd need to tell them to make sure they're on the latest 20.2 and then use that option?

releases/v21.1.0.md, line 80 at r15 (raw file):
Previously, vy-ton (Vy Ton) wrote…
To better mirror Postgres' system catalog, we've added new empty, unimplemented pg_catalog tables and columns

@vy-ton, this is supposed to be a summary of "the most significant user-facing changes in v21.1.0." I'm happy to list this change, but I need help understanding what this means for users.

releases/v21.1.0.md, line 80 at r15 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
@vy-ton, this is supposed to be a summary of "the most significant user-facing changes in v21.1.0." I'm happy to list this change, but I need help understanding what this means for users.

Heard from Vy in another channel that this is fairly internal and can be left out.


Call Node3D::get_global_transform and Vector3::dot only once within Camera3D::is_position_behind

I am unsure whether maintenance like this should target master first to be cherry-picked if deemed relevant or if I should target 3.2 as done here so that changes can be merged upwards? (I did look through the contributor documentation but did not find anything w.r.t. branching yet.)

@adamreichold Pull requests must always be made for the master branch first. Relevant fixes are cherry-picked to 3.2 as needed.

Pull requests must always be made for the master branch first. Relevant fixes are cherry-picked to 3.2 as needed.

@aaronfranke Thanks for helping me out! I rebased the branch and retargeted the pull request.

Could you squash the two commits into one? See PR workflow.

Could you squash the two commits into one? See PR workflow.

Done.

Thanks!

Cherry-picked for 3.2.3.


Is it possible to make only file names encrypted but keep folder names intact?

What is your rclone version (eg output from rclone -V)
1.35
Which OS you are using and how many bits (eg Windows 7, 64 bit)
10 64Bit
Which cloud storage system are you using? (eg Google Drive)
Amazon Cloud Drive

It would be possible with a bit of patching if someone wanted to have a go

Please find a beta with the fix in: https://beta.rclone.org/v1.38-093-gc65734ee/ (uploaded in 15-30 mins)


OCPBUGS-36897: fix(api): Nodepool CEL validation fix

What this PR does / why we need it: Fixes Nodepool CEL validation to allow neither replicas or autoScaling to be set
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes # https://issues.redhat.com/browse/OCPBUGS-36897
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/retest-required

How about setting a default value of 0 on the .replicas field to mitigate the issue of old NodePools failing the validation, and preserve the previous behavior.
I don't think it's good to allow both .replicas or .autoScaling fields to not be set and rely on implicit defaulting.

How about setting a default value of 0 on the .replicas field to mitigate the issue of old NodePools failing the validation, and preserve the previous behavior.
I don't think it's good to allow both .replicas or .autoScaling fields to not be set and rely on implicit defaulting.

In my mind 0 and nil here have different meanings. If I see replicas=0..N and autoscaler.spec set, I interpret a conflicting intent. So both unset make sense to me. Happy to hear other's thoughts

If I see replicas=0..N and autoscaler.spec set, I interpret a conflicting intent

agreed, this is prevented with the current CEL which I suggest we keep as is. If we add a default only for the replicas field, we satisfy the requirement for people wanting to leave the fields unset but make the behavior of that at least explicit on the API.
If the user decides to set spec.autoScaling later on, the current CEL will disallow it.

/approve

/cherry-pick release-4.16


Can't export functions that have 'PackedStringArray' or 'PackedByteArray' parameters

Hello, I'm trying to connect my node to the request_completed signal of an HTTPRequest node, the function in which I'm connecting the signal is like this:
@:export
function httpQueryCompleted(res: Int, response_code: Int, headers: PackedStringArray, body: PackedByteArray) { }

but when I try to compile it, it throws the following errors:
./src/example/HxExample.cpp(2244): error C2039: 'PackedByteArray_obj': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2244): error C3083: 'PackedByteArray_obj': the symbol to the left of a '::' must be a type
./src/example/HxExample.cpp(2244): error C2039: '___binding_callbacks': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2251): error C2039: 'PackedStringArray_obj': is not a member of 'godot'
bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2251): error C3083: 'PackedStringArray_obj': the symbol to the left of a '::' must be a type
./src/example/HxExample.cpp(2251): error C2039: '___binding_callbacks': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2458): error C2039: 'PackedByteArray_obj': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2458): error C3083: 'PackedByteArray_obj': the symbol to the left of a '::' must be a type
./src/example/HxExample.cpp(2458): error C2039: '___binding_callbacks': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2465): error C2039: 'PackedStringArray_obj': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'
./src/example/HxExample.cpp(2465): error C3083: 'PackedStringArray_obj': the symbol to the left of a '::' must be a type
./src/example/HxExample.cpp(2465): error C2039: '___binding_callbacks': is not a member of 'godot'
\bin\include\godot/variant/__Variant.h(13): note: see declaration of 'godot'

Yes, we currently don't allow the generation of the types since they are not tested, yet.


Fix native binary builds in release pipeline

Description of proposed changes
Successful run based on this branch: https://github.com/gluwa/creditcoin/actions/runs/5204937395
Addresses the failure of the release pipeline during today's testnet tag/release: https://github.com/gluwa/creditcoin/actions/runs/5204502494
The windows builder was missing protobuf, so instead of a bunch of platform specific install I just used a gha (https://github.com/arduino/setup-protoc).
Also needed to specifically set the cargo feature resolver version in the workspace cargo.toml (this also addresses the following warnings you may have seen if you're running on a relatively recent rust toolchain):
warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest

Successful run based on this branch: https://github.com/gluwa/creditcoin/actions/runs/5204937395

Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #1124 (33a31c5) into dev (1d743f8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #1124   +/-   ##
=======================================
  Coverage   74.62%   74.62%
=======================================
  Files          74       74
  Lines       10687    10687
=======================================
  Hits         7975     7975
  Misses       2712     2712

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Traceback error for TMDB Actor collections

Version Number
1.19.1
What branch are you on?
master
Describe the Bug
Getting a Traceback error when creating a collection based on actor ID.
I have tried multiple actors with the same result
Relevant Collection/Overlay/Playlist Definition
Simon Reeve:
    collection_mode: hide_items
    tmdb_actor: https://www.themoviedb.org/person/1667074-simon-reeves
    file_poster: config/imgs/ppl-simonreeve.jpg
    smart_label: title.asc

Logs
https://gist.github.com/jrcalvert/c817bbb7025db1fa1e89ff231e955262

TMDb had a migration yesterday and there are some lingering issues:
https://status.themoviedb.org/
https://www.themoviedb.org/talk/653119157eb5f2013bae0006

Ok, thank you both
On Thu, 19 Oct 2023, 17:45 YozoraXCII, @.***> wrote:

TMDb had a migration yesterday and there are some lingering issues:
https://status.themoviedb.org/
https://www.themoviedb.org/talk/653119157eb5f2013bae0006
—
Reply to this email directly, view it on GitHub
https://github.com/meisnate12/Plex-Meta-Manager/issues/1670#issuecomment-1771360014,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXRBWR2TGFIKCTUMSY2Z3TYAFKJBAVCNFSM6AAAAAA6GZTJAKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZRGM3DAMBRGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Can you confirm that this is now working as expected?

From my point of view, I can confirm it.

Yes, for me too.
Thanks
On Mon, 23 Oct 2023, 20:57 tobi-github, @.***> wrote:

Can you confirm that this is now working as expected?
From my point of view, I can confirm it.
—
Reply to this email directly, view it on GitHub
https://github.com/meisnate12/Plex-Meta-Manager/issues/1670#issuecomment-1775925132,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXRBWU6GVEPOP4SMGONJSDYA3D2VAVCNFSM6AAAAAA6GZTJAKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZVHEZDKMJTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Save addresses of contracts deployed with Forge

Description
forge-script has a --json flag that outputs deployment information. While this output is unstable, we can pin the Forge version (as we already do) to ensure a consistent format.
We can leverage this to:

Output addresses of deployed contracts from one Forge script
Use these addresses in subsequent scripts
Have the deploy script parse the JSON return values and add them to the config

This approach will streamline our deployment process and make it easier to manage contract addresses across different scripts.
Tasks

Research the exact JSON output format for our pinned Forge version
Implement a function to parse the JSON output and extract contract addresses
Modify the deploy script to save these addresses to the config file
Update subsequent scripts to read contract addresses from the config

Acceptance Criteria

[ ] Deploy script successfully extracts and saves contract addresses from Forge JSON output
[ ] Config file is correctly updated with new contract addresses after deployment
[ ] Subsequent scripts can read and use the saved contract addresses
[ ] Process is documented for future reference

Resources

Forge Script JSON Output Documentation

I would love to work on this issue @kfastov

Hey @kfastov can I take this

@kfastov I'll like to work on this

Hi @kfastov will love to tackle this issue

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Software engineering background with great experience in smart contract development & ... with experience working on similar projects in previous odhacks(https://app.onlydust.com/) looking forward to make a first contribution here
How I plan on tackling this issue
I would implement the necessary functions as stated, and make the necessary modifications and ensure it meets the requirements.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
My background and how it can be leveraged
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile:  https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.
I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.
As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.
How I plan on tackling this issue
I will employ the following comprehensive approach to solve the issue of leveraging the --json flag in forge-script to streamline the deployment process and make it easier to manage contract addresses across different scripts:

Research the JSON Output Format:

Thoroughly review the documentation for the --json flag in the pinned Forge version.
Analyze the structure and content of the JSON output, identifying the key fields that contain the contract addresses and any other relevant data.
Understand any potential variations or edge cases in the JSON output format that the solution needs to handle.

Implement a JSON Parsing Function:

Create a new function or module that can parse the JSON output from the Forge script.
Use a JSON parsing library (e.g., json.decode() in Solidity) to convert the output string into a data structure that can be easily processed.
Implement logic to extract the contract addresses and any other relevant information from the parsed data.
Ensure the function can handle any potential variations or edge cases in the JSON output format.

Update the Deploy Script:

Modify the deploy script to run the Forge script with the --json flag.
Integrate the contract address parsing function into the deploy script.
After the deployment, save the extracted contract addresses to the project's configuration file (e.g., a JSON file, a YAML file, or environment variables).
Ensure the configuration file is updated correctly and that the addresses are saved in a format that can be easily accessed by subsequent scripts.

Integrate with Subsequent Scripts:

Modify the relevant scripts that need to interact with the deployed contracts.
Add logic to read the contract addresses from the project's configuration file.
Update any references to contract addresses in the scripts to use the values from the configuration file.
Ensure the scripts can handle cases where the configuration file does not contain the expected contract addresses.

Documentation and Examples:

Write clear and concise documentation explaining the overall approach and the steps involved.
Provide examples of how to use the new functionality, including how to run the deploy script and how to access the contract addresses in subsequent scripts.
Ensure the documentation is accessible and easy to follow for other developers working on the project.

By following this approach, I will:

Thoroughly understand the JSON output format from the forge-script with the --json flag.
Implement a robust and flexible JSON parsing function to extract the necessary contract addresses.
Seamlessly integrate the contract address extraction and storage into the deploy script.
Ensure subsequent scripts can easily access the deployed contract addresses from the project's configuration file.
Provide clear and comprehensive documentation to guide future development and maintenance of the deployment process.

This approach will streamline the deployment process, make it easier to manage contract addresses across different scripts, and improve the overall maintainability and reliability of the project's deployment workflow.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm A Software Engineer with Solid Background in the Web3 Space. Experienced in writing Solidity and have contributed to projects too.
How I plan on tackling this issue
1.Understand the structure of the JSON output generated by Forge when using the --json flag.

Pin the Forge version to ensure consistent output.
Deploy a simple contract using the Forge script with the --json flag.
Review the JSON output to identify key details such as where the contract addresses are stored.

Write a function that accurately parses the JSON output to extract the deployed contract addresses.

Based on the JSON structure, identify the path to the contract addresses (e.g., json_output["contracts"]["MyContract"]["address"]).
-Implement the parsing function.
Ensure the function can handle multiple contract deployments and edge cases like missing or malformed data.

Enhance the deployment script to automatically save the extracted contract addresses into a configuration file.

After deploying contracts, call the parsing function to retrieve the addresses.
Write these addresses to a config file (e.g., config.json).
If the config file already exists, append or update the existing entries.

Ensure that subsequent scripts read and utilize the saved contract addresses from the config file.

Modify the scripts to load contract addresses from the config file at runtime.
Replace any hardcoded addresses with references to the config file.
Add error handling to manage cases where the config file or specific addresses are missing.


Added Thinkful course for Ruby on Rails

@katgironpe this should be in list as well http://code.tutsplus.com/courses/building-ribbit-in-rails

@ijunaidfarooq worth another PR probably. I haven't looked through that course.

@katgironpe Yeah sure...
there many others from Tutsplus as well. Authored by Sir Jose Mota. And even a 45-minute episode by Sir Jeffery Way.. worth to watch and learn from them


Latest snapshot (<IP_ADDRESS>-68-g0f02eca) freezes computer

Expected Behavior
GlosSITarget starts normally
Actual Behavior
After GlosSITarget starts and the overlay display shortly, computer freezes completely and does not respond to any input from mouse of keyboard.
This does not happen with the latest stable release.
Steps to Reproduce the Problem

Install snapshot <IP_ADDRESS>-68-g0f02eca
Add GlosSI-target as non-steam game to steam
Click "play" with or without a controller connected

General Information

Version: <IP_ADDRESS>-68-g0f02eca
Platform: Win10 Desktop
Controller(s): irrelevant, does it with no controller attached, xbox controller attached or joycons pair attached
Application: GlosSITarget

Logs / Additional Files
glossitarget.log
GlosSIWatchdog.log
UWPOverlayEnabler.log
glossiconfig.log

Thanks for the reply. What is the relevant info I should include for them if I raise an issue there?

Probabla an Issue for https://github.com/ViGEm/ViGEmBus/issues

Providing actual support would probably help, then, rather than just closing immediately with a vague statement.
Having the same issue here, can't find any info on fixing it.
As for further information, this happens on any behavior with this snapshot build. The build is simply broken. If the problem is with ViGEmBus, then provide a proper way to introduce the problem, instead of lazily responding.

Providing actual support would probably help, then, rather than just closing immediately with a vague statement. Having the same issue here, can't find any info on fixing it. As for further information, this happens on any behavior with this snapshot build. The build is simply broken. If the problem is with ViGEmBus, then provide a proper way to introduce the problem, instead of lazily responding.

Paying me to do the actual support instead of complaining that I don't work for free in my spare time, for a software product that is essentially gifted to you, would actually help.
Let alone that I cannot provide support for dependencies that I'm merely using.

/ Torvalds Mode End

Firstly, let me state that I appreciate the efforts in maintaining such a nice piece of work for free and offering this to the community.
Just a naive question: the version of the dependency you use in the current stable build does not cause this behaviour. Couldn't you revert to using that version in the latest snapshot rather than using the broken one?


MB-7669 Allow SC Completed Moves to be approved

Description
The conditional in MakeAvailableToPrime was only allowing Moves in
Submitted status to be approved. This meant that Moves in the new
ServiceCounselingCompleted status didn't get a chance to get approved,
but the code still tried to create service items, which failed because
the Move wasn't approved yet.
Instead of wrapping the call to move.Approve in a conditional, we
should call it directly since it has its own logic for determining
when a move can be approved, and it will return an error if the move
can't be approved, which will prevent service items from being created.
Reviewer Notes

Create a new move from scratch as a service member
View the move as a Service Counselor at officelocal:3000/counseling/queue
Submit the move
View the move as a TOO
Update the orders to fill in all required fields
Approve the shipments and submit the move

Expected: You should be able to approve the move and shipments.
Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Messages

:book:
:link: MB-7669

  Generated by :no_entry_sign: dangerJS against 6dae2f694292a47ab11e617c3738b20ca947937d


Speculative config changes to help reactor rewards tests pass

See https://github.com/casper-network/casper-node/pull/4433 and https://github.com/casper-network/casper-node/pull/4446
Ticket https://github.com/casper-network/casper-node/issues/4401

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge


Ticket 70, Connecting coordinates to Grid Mapping variables

Chapter 5 is revised as specified in Ticket 70.
However, the consequent new Example 5.10 is no longer consistent with Example 5.12.  So I also merged the old Example 5.10 into Example 5.12, and made the necessary small changes in the associated text.

Hi,
Minor point: Would it better to italicise the first (rather than 2nd) occurrence of "grid mapping variable"?
I like your rewordings from the ticket - much clearer.
David

@davidhassell, thanks for catching the italics placement issue.  I've fixed it.


CPY001: copyright without a year

There are good reasons to omit year in copyright notice, see for example https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/, however ruff CPY001 enforces it:
Code:
# Copyright (c) Michal Čihař<EMAIL_ADDRESS>
Fails:
$ ruff check --preview weblate/wsgi.py
weblate/wsgi.py:1:1: CPY001 Missing copyright notice at top of file
  |
1 | # Copyright (c) Michal Čihař<EMAIL_ADDRESS>  |  CPY001

Makes sense.

For the record, you can customize the regex here. It's exposed as a setting: https://docs.astral.sh/ruff/settings/#lint_flake8-copyright_notice-rgx.

I know, but I would expect that out of the box the most common situations are handled gracefully. Following https://reuse.software/spec/#comment-headers would be really great

Here are the regexps reuse-tool uses:
https://github.com/fsfe/reuse-tool/blob/00a8d949b245218541fd0ece8a64c5480a9e84d7/src/reuse/_util.py#L115-L131

The reuse link does say: "The copyright notice SHOULD contain the year of publication."

Indeed, there is SHOULD and not MUST. A copyright statement without a year is valid, and there can be good reasons for that (see before mentioned https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ for reasoning from curl developers).

That's true, but it seems reasonable for the rule to enforce a SHOULD by default. You can use https://docs.astral.sh/ruff/settings/#lint_flake8-copyright_notice-rgx to change the regex if you'd like.

I'm going to leave this as-is given that the spec is a SHOULD, and so we include it by default, but allow users to override it.


The program cannot exit normally.

When I run the following commands
"python3 main.py --model WU-UCT --env-name PongNoFrameskip-v0 --MCTS-max-steps 10 --max-episode-length 3 --simulation-worker-num 2  --expansion-worker-num 2", the main process will be blocked at MCTStree.close() method. The workers cannot be terminated normally.

Hi,
Thanks for reporting the issue. The problem was resolved in the latest commit.


Will the Chat System Come?

Will the Chat System Come?
Talk
Correspondence

https://github.com/Ochii/cso2-master-services/projects/1#card-21335379


NUTCH-2727 Upgrade Hadoop dependencies to 2.9.2

fix unit tests of protocol-okhttp to use plugin class loader
and methods defined by Protocol interface to avoid dependency
conflicts (Hadoop depends on okhttp as well)

Rebased to master, committing now...


Renew SSL certificate for south korea

equinor.kr and www.equinor.kr

New certificate installed in radix. Yet to be installed in LB

Certificate installed on load balancer as well.


Extracting apiversion from HTTP request

We need the API version supplied by the HTTP request for #1625. This also improves the regex that defines allowed version values. Previously malformed versions like v1.2323.535 etc were allowed, now they'll be well formed decimals.
Signed-off-by: Nishant Totla<EMAIL_ADDRESS>

cc @vieux

@vieux fixed the test, it should succeed now.

LGTM

How is v1.2323.535 malformed? Unlikely, yes, but not wrong.

@MHBauer see discussion with @dongluochen above. I'll try to find out what the acceptable versions are. Currently the Swarm API doesn't really use the version AFAIK, even though users can provide it. Since we have this to mimic Engine API, I think it would make sense to just use what Engine uses.

engine format is x.xx

IMO we should merge it

To confirm @vieux's previous comment, here's where Engine defines API version: https://github.com/docker/docker/blob/master/api/common.go
It would perhaps also be nice if we have a minVersion like Engine, which will allow us to more closely control API changes, but we can handle that in a later PR.
cc @dongluochen @MHBauer

LGTM.


Add 'mypy' check and resolve issues

Hmm, we are missing the most crucial build here. I will need to check what happened.


Fix Faculty SLC Proposal Renewal error

Faculty should be able to renew proposals when they have created that proposal or are listed as the "Faculty" that will be teaching the SL Course.
If a faculty member tires to renew a SLC Proposal they are the "Faculty" of they get an error flash "Renewal Unsuccessful" and if they try and renew a proposal they created but are not listed as the "Faculty" they get an error flash "Unauthorized to preform this action".

 Fix Faculty SLC Proposal Renewal error #891


replaceConfigPaths is adding unnecessary keys to patternlab-config

replaceConfigPaths is adding unnecessary styleguide and patternlabFiles keys to patternlab-config.json

Resolved by e1dce1a


multi: implement automated negotiation for sidecar channels

In this PR, we add automated negotiation for sidecar channel using a newly added server-side network pipe abstraction. A new flag is added to the offer portion of a sidecar channel. If set, then the provider is to specify the entire bid up front in order to allow us to execute the automated negotiation portion. Along the way, we also start to sign the sidecar ticket using the provider's trader pubkey rather than their node's public key. This allows us to use the ticket as an authentication mechanism for the recipient to open a new network pipe to send information to the provider.
Two new state machines are added to the sidecar acceptor which will drive the sidecar ticket to completion in a synchronous manner. Upon restart, we re-launch these state machines to ensure that the ticket will always eventually be completed.
Lingering items:

[ ] Add a reliable sender abstraction to ensure proper fault-tolerance of the new acceptor state machines.
[ ] Ensure the acceptor state machines always terminate after completion or cancellation of the sidecar funding.

Hmm, I ran into a few problems testing this locally with aperture thrown in the mix.
When trying to register the ticket, I get server closed the stream without sending trailers on the client side (still need to find out what causes this, same problem we have for some LiT users).
On the server side I see:
2021-05-04 13:11:52.184 [DBG] SRVR: Stream creation validation failed (id=a2f291561097154db78b8071a11204593152a6c8b9665d8afb76ec95b29fe10f93a8d9eab8ab8e274cf70ba47d2465e463581f029e9d6933f53c633a5247d850): signature not valid for public key 03478ccbbf845f7ad48c2ff598dee53ea20a9b15784363ffba806904572750ec67 2021-05-04 13:11:52.184 [ERR] RPCS: [/poolrpc.HashMail/NewCipherBox]: signature not valid for public key 03478ccbbf845f7ad48c2ff598dee53ea20a9b15784363ffba806904572750ec67
Could there be something out of sync w.r.t what's being signed in the ticket? The key 03478ccbb... is the provider's account key.

2021-05-04 13:11:52.184 [DBG] SRVR: Stream creation validation failed (id=a2f291561097154db78b8071a11204593152a6c8b9665d8afb76ec95b29fe10f93a8d9eab8ab8e274cf70ba47d2465e463581f029e9d6933f53c633a5247d850): signature not valid for public key 03478ccbbf845f7ad48c2ff598dee53ea20a9b15784363ffba806904572750ec67 2021-05-04 13:11:52.184 [ERR] RPCS: [/poolrpc.HashMail/NewCipherBox]: signature not valid for public key 03478ccbbf845f7ad48c2ff598dee53ea20a9b15784363ffba806904572750ec67

Could there be something out of sync w.r.t what's being signed in the ticket? The key 03478ccbb... is the provider's account key.

Sorry, scratch that! I was using the wrong commit on the server side :see_no_evil: Was able to manually create an auto sidecar through the CLI after changing some stuff in the CLI code (see inline comments).

Thanks for the review y'all! Pushed up a new version addressing the latest comments, final thing I want to do is make the state machines a bit more robust (catching proper errors we return on the server-side, making sure it terminates, sending a "resend message" wrapped message on restart, etc).


GH-20 Document workaround for 1.x plug-ins to allow migration

Black Duck Security Report
Merging #25 into master will not change security risk.
Click here to see full report


allow filtering of association and evidence objects by baseline expression

depends on https://github.com/opentargets/data_pipeline/issues/53

SPECS FOR FIRST ITERATION
@mkarmona @emepyc
Add two filter/facets to the endpoint /public/association/filter to filter associations objects on the tissue their RNA expression is recorded and a level of expression.
filter/facet for RNA expression level
This filter will work as a range to select associations whose genes are expressed within a min and max expression level. Please refer to AggregationUnitScoreRange as an example
Add two parameters to the endpoint /public/association/filter:

rna-expression-level-min that takes as input an integer ranging from 0 to 10, and defaults 0 (no selection is applied)
rna-expression-level-max that takes as input an integer ranging from 1 to 10, and defaults 10 (no selection is applied)

When a value is passed it should filter out all the associations that have no tissue expression annotated in private.facets.expression_data.rna.level within the selected range
Add a facet that returns for each expression level (range 1 to 10) how many genes and disease are in the output have at least one tissue expressed at that level.
This could be visualised with an histogram in the UI, and the users could select the range they are interested in. Reusing the component we had for the score histogram.
This facet is useful when combined with the following one
filter/facet for tissue specific RNA expression
This filter will select the associations whose genes are expressed in a given tissue. When combined with the RNA expression level it should select just genes expressed in tissues within the selected expression range
Add a parameter to the endpoint /public/association/filter called rna-expression-tissue that takes as input a list of tissues ids.
E.g.
if this is the content of private.facets.expression_data.rna
{
   "1": [
     {
       "id": "adipose tissue",
       "label": "adipose tissue",
       "level": 2,
       "unit": "FPKM",
       "value": "100.0"
     },
     {
       "id": "CL_0000336",
       "label": "adrenal gland",
       "level": 4,
       "unit": "FPKM",
       "value": "1000.0"
     }
   ]
}

the GET params should be  rna-expression-tissue=adipose%20tissue&rna-expression-tissue=CL_0000336
The corresponding facet would return how many targets and diseases are linked to the requested tissue. The current API code should inject the label field in the facets, so that the UI can use the ID and show the label.
In a second iteration we can extend the API to work on the protein expression as well.


Objective-C ffigen should test against all Apple APIs

There should be an integration test that runs ffigen against all of Apple's headers and verifies that the resulting generated file passes analysis.
Bonus points for spot-checking that some complex classes, protocols, etc. are usable.

There are 4383 headers across 255 frameworks in my Apple SDKs directory (matching /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/*.framework/Headers/**.h).
When I try to generate bindings for all of them, it runs for 35min then crashes with no useful info (not sure if it's a legit bug, or if my laptop just ran out of memory or something).
So instead of pulling in all these headers as a glob, I'm going to add one framework at a time until something breaks.

There's one more bug that needs to be fixed before this can land: #1220

Tried running this test on the github CI bots in https://github.com/dart-lang/native/pull/1554. Unfortunately they don't really have enough memory to run this test without thrashing (see https://github.com/dart-lang/sdk/issues/56247). So what should be a 30sec analysis times out after 30min.


Update module headers

The latest update of the script fixes the isue with binaries in scripts/ being built for the host arch rather than the target arch which makes the headers useless for building on target arch or emulated target arch.

@floion has kindly agreed to double-check that we can use a tag in SRCREV with a quick build.

artik10 fails with:
Building script binaries for target arch...
|   HOSTCC  scripts/basic/fixdep
| scripts/basic/fixdep.c:106:23: fatal error: sys/types.h: No such file or directory
| compilation terminated.
| scripts/Makefile.host:118: recipe for target 'scripts/basic/fixdep' failed

@floion Ok I think I've worked out what the /usrgcc issue is - you are using a prefix and cross-compile no matter what, and the module-headers script only actually assigns the prefix env var if the host arch is not x86, and this suggests there is already a prefix var set to /usr or setting HOSTCC= makes it use /usrgcc for some reason. Will PR

As for the artik10 one @floion are other ARM architectures ok? Can you tell me what the prefix is for that? The error suggests it can't find sys/types.h when invoking the cross-compiler, I'm guessing the x-compiler toolchain for that is not configured to include headers correctly.
For most kernel stuff this doesn't matter as the system headers are not used, but this is a tool that's been compiled so now it's been highlighted.

The artik10 error is from more-or-less running ${cross_compile_prefix}-gcc fixdep.c, there is nothing fancy going

This is the do_compile for the artik10:
do_compile() {
mkdir -p kernel_modules_headers
if echo arm | grep  -q -e "[ix].*86" ; then
TGT_ARCH="x86"
elif [ "arm" = "aarch64" ]; then
TGT_ARCH="arm64"
else
TGT_ARCH=arm
fi
/home/florin/builds/resin-artik/build/tmp/work/artik10-poky-linux-gnueabi/kernel-modules-headers/1.0-r0/git/gen_mod_headers ./kernel_modules_headers /home/florin/builds/resin-artik/build/tmp/work-shared/artik10/kernel-source /home/florin/builds/resin-artik/build/tmp/deploy/images/artik10 ${TGT_ARCH} arm-poky-linux-gnueabi-
tar -czf kernel_modules_headers.tar.gz kernel_modules_headers
rm -rf kernel_modules_headers
}

@floion you PM'd me the do_compile for the nuc, could you do that here too please?

do_compile() {
mkdir -p kernel_modules_headers
if echo x86-64 | grep  -q -e "[ix].*86" ; then
TGT_ARCH="x86"
elif [ "x86-64" = "aarch64" ]; then
TGT_ARCH="arm64"
else
TGT_ARCH=x86-64
fi
/home/florin/builds/resin-intel/build/tmp/work/intel_corei7_64-poky-linux/kernel-modules-headers/1.0-r0/git/gen_mod_headers ./kernel_modules_headers /home/florin/builds/resin-intel/build/tmp/work-shared/intel-corei7-64/kernel-source /home/florin/builds/resin-intel/build/tmp/deploy/images/intel-corei7-64 ${TGT_ARCH} x86_64-poky-linux-
tar -czf kernel_modules_headers.tar.gz kernel_modules_headers
rm -rf kernel_modules_headers
}

ok that's a bug @floion the arch parameter should be a linux kernel arch not a yocto-specified one, i.e. it should exist in arch (ignore x86_64 in there, that's an annoying red herring), so the arch for targeting x86-64 should be x86 or omitted.

It goes through here "if echo x86-64 | grep -q -e "[ix].*86" ; then" so actually TGT_ARCH will be x86
What you saw there is just the do_compile with the variables parsed

OK, so regardless of this issue we're facing here, that is still a bug, that should never be set as x86-64, unless you're saying it will always be caught by that case? @floion ?

Actually, this bug is a lot easier to fix if it's using 'x86'. So that works out well

Yes, it is handled by that case. I believe x86-64 is unique in yocto and is the only case that yields that result, hence the check there

@floion but can TGT_ARCH ever end up as x86-64?

Don't know all the possible cases obv., but I think it cannot

repro'd the nuc issue locally. I am pretty certain it is due to prefix=/usr being set locally. PR incoming imminently.

@floion rebased to get v0.0.4.

A quick google suggests the artik10 issue might be fixed by being able to pass --sysroot=<sysroot> parameter @floion

I've confirmed we can pass C options via the HOSTCFLAGS Makefile variable.

It turns out yocto needs to use a super-specific cross-compiler invocation to build a binary that uses system headers/libraries, I updated module-headers to accept a custom argument for this and on this side pass through "${CC}" (the quotes matter since flags are being passed too)

v0.0.6 spells the end of an empire and the beginning of something new - x86 can now cross-compile to x86. And all was at peace with the galaxy again.

All issues discussed above now resolved.

Tested header build against artik10, edison and nuc. Header build (not within a yocto build but using yocto source, .config and Module.symvers) has separately been tested against ARM devices: rpi3, colibri imx6 and apalis-imx6.
The headers have recently been tested for actual kernel module build on-device on rpi3.

We discovered on arm64 a certain directory was missing. I updated the module headers script to only copy directories if they exist in the source.


[WIP]switched TOML.

The configuration format for fuji will be switched to TOML in the future.

I think config or something is more general about directory name.  toml is too specific about format for me.

It seems LoadConfigByte is a little bit big function. Could you separete to some more functions?  Perhaps, parsing gateway and status secion could be.

If you add a test for SearchSections, LGTM for all other commits. Thanks a lot!


谢谢

Brief Description of the PR
Checklist

[] Demo
[] Document

As the title of this PR is misunderstanding(release/0.19 doesn't need merged into master), I will just close.
If free to reopen it if you have specified issue.


While restoring a backup, the uid and resourceVersion should be ignored

While reading about https://github.com/jetstack/cert-manager/issues/3512, I wondered: why are we letting people apply a backup.yaml manifest that contains uid and resourceVersion fields?
In this PR, I propose to change the "restore" step to:
kubectl apply -f <(awk '!/^ *(resourceVersion|uid): [^ ]+$/' backup.yaml)

so that both the UIDs and resourceVersions are stripped.
cc @irbekrm

/assign

@irbekrm Do you think this PR looks OK?

Thanks for this change, looks good to me!
I've been having some doubts about that specific part in the backup doc, there seems to be a whole bunch of edge cases, i.e in case of ingress-shim Certificates.
But I guess, in any case, it does make sense to exclude resource version and uid.
I've ran the command and verified that it works.
/lgtm
/approve

I guess it could have also made sense to just provide some command how to strip the uid and resource version from backup file- that would help with https://github.com/jetstack/cert-manager/issues/3512 where they are deploying with flux.

/hold

/unhold


Abbreviated Month and Weekday display

Would it be possible to add FORMAT_ABBREV_MONTH and FORMAT_ABBREV_WEEKDAY to the formatDateTime calls, please?  Thank you.

We do have now this option:
"Other settings" -> "Abbreviate dates"


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3208

Questions ?
Please refer to the Backport tool documentation


Can we update tableau connection string via tableauserverclient api?

Hello All,
My use-case requires me to update the connections of all those workbooks/datasources that are connected to certain Redshift databases on tableau server.
I tested a script leveraging tableauserverclient API to update the credentials of published workbooks/datasources connections pointing to those Redshift databases and was able to update it successfully.
After the credentials update, workbooks published using following connection methods:

Standard user-password connection:  These workbooks worked fine after the script update.

ODBC Connection or Redshift connection with custom driver parameters: Although the script updated their username and password details, they failed to connect to the data source.

Our objective is to avoid access to Redshift using individual credentials and enable via IAM profile and Redshift SSO feature based on user's permissions in the architecture.
Since Tableau doesn't support SSO connectivity to Redshift, we devised a strategy to allow users to create workbooks using method #2 and then update the connection details as soon as their workbooks are published on server with method #1 where credentials used in #1 won't be shared with anyone except the admin team.
In order to find out why option #1 works but #2 fails miserably, I compared their connection entries in "public.data_connections" table of the Tableau Server database and observed difference in "Keychain" column of the mentioned table. The custom driver parameters embedded in publishing the workbook (using #2) are stored in keychain column as value of the "odbc-connect-string-extras" field whereas same field is empty for option #1:
Keychain column for option #1:
{odbc-connect-string-extras: '';
server: server1.redshift.amazonaws.com, dbname: test_database,
port: 5439, class: redshift, username: tableau_user}
Keychain column for option #2:
{odbc-connect-string-extras: DbUser=tableauuser; DbGroups=tableaugroup; Iam=1; AutoCreate=true;Profile=default;
server: server1.redshift.amazonaws.com, dbname: test_database,
port: 5439, class: redshift, username: tableau_user}
Since we do not want to provide access to Redshift using individual credentials, please let us know if there is an alternate approach for achieving this?
OR;
Is there any method or workaround for updating connection to use user-password (after being published on server) instead of using values from "odbc-connect-string-extras" field in keychain column?
Versions used in testing:
Tableau Server version: 2019.2
Tableau desktop version: 2019.2.3
Password update script reference:
API Reference

Has anyone else faced this issue before..?

This is pretty old, but this should be do-able using the Document API (https://github.com/tableau/document-api-python).


Need to set the fixed width for all the graphs irrespective of the Y1 & Y2 axis

Not having the fixed widths and alignment for all the graphs if the graphs contains different Y1 & Y2 axis:
ScottPlot Version:5.0.34 (What NuGet package are you using?)
Need to set the fixed width for all the graphs irrespective of the Y1 & Y2 axis
Enclosed the image in which the graphs alignments are not proper

See https://scottplot.net/demo/#shared-axes for how to match layouts across controls

Hi @kareem469, I don't see any labels cut off in your screenshot.
Note that you can set minimum size for axes if you need more space for large labels, as seen here https://scottplot.net/cookbook/5.0/CustomizingTicks/RotatedTicksLongLabels/

Hi @swharden
Check the below image

Thanks for the clarification!
formsPlot1.Plot.Axes.Bottom.MinimumSize = 50;
formsPlot2.Plot.Axes.Bottom.MinimumSize = 50;
formsPlot3.Plot.Axes.Bottom.MinimumSize = 50;
formsPlot4.Plot.Axes.Bottom.MinimumSize = 50;
``

50 may be too large, but you get the idea 👍

Yup, i got it 👍

In the above image, i want to cutdown the gap between the graphs.
I tried to set the Top of each graph but the second graph is sendtoback and cutdown. Same for all the below graphs. how to achive this?

Hi @kareem469, for the middle controls you can:
formsPlot1.Plot.Axes.Top.IsVisible = false;
formsPlot1.Plot.Axes.Bottom.IsVisible = false;

and it should collapse the space between the top of one plot and the bottom of another.

I tired as per the suggestion, but still there is space between the graphs.

Hi @kareem469, for the middle controls you can:
formsPlot1.Plot.Axes.Top.IsVisible = false;
formsPlot1.Plot.Axes.Bottom.IsVisible = false;

and it should collapse the space between the top of one plot and the bottom of another.

I tired as per the suggestion, but still there is space between the graphs.

Hi @swharden,
Need your help, unable to fix this issue

Is it because there is space between the controls when you drag and drop them using the designer? Does placing them inside a table solve your problem?

This worked for me. I put 3 FormsPlot controls inside a table and set margins for all of them to 0 using the visual designer
using ScottPlot;

namespace WinFormsApp1;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        formsPlot1.Plot.Add.Signal(Generate.Sin());
        formsPlot1.Plot.Axes.Bottom.IsVisible = false;

        formsPlot2.Plot.Add.Signal(Generate.Sin());
        formsPlot2.Plot.Axes.Top.IsVisible = false;
        formsPlot2.Plot.Axes.Title.IsVisible = false;
        formsPlot2.Plot.Axes.Bottom.IsVisible = false;

        formsPlot3.Plot.Add.Signal(Generate.Sin());
        formsPlot3.Plot.Axes.Top.IsVisible = false;
        formsPlot3.Plot.Axes.Title.IsVisible = false;
    }
}

I am not getting the alignment as there in the below image. I have used the tablelayoutpanel added the graphs and also set the margins to 0 and set the bottom & top visibility. But still thers is a gap and also the y axis bottom is cutdown little bit

Hi @kareem469, it sounds like you're getting closer. You are correct to point out that if you have no padding, ticks near the edge will roll off the screen. A solution is to manually place ticks https://scottplot.net/cookbook/5.0/CustomizingTicks/CustomTicks/
I created a high priority issue #3868 to track adding a feature to disallow tick labels a certain number of pixels away from the edge of the data area to make this easier to achieve in the future

Following-up, this is presently possible using the existing library:
using ScottPlot;

namespace Sandbox.WinForms;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        // make ticks go right to the edge of the plot
        formsPlot1.Plot.Axes.Top.IsVisible = false;
        formsPlot1.Plot.Axes.Right.IsVisible = false;

        // make tick labels large to maximize the effect
        formsPlot1.Plot.Axes.Left.TickLabelStyle.FontSize = 24;

        // remove ticks too close to the edge of the plot at the start of each render
        formsPlot1.Plot.RenderManager.RenderStarting += (object? s, RenderPack rp) =>
        {
            // determine the positions where ticks are allowed
            float minDistanceBetweenTickAndTop = 25;
            double maxTickValue = formsPlot1.Plot.Axes.Left.GetCoordinate(minDistanceBetweenTickAndTop, rp.DataRect);
            float minDistanceBetweenTickAndBottom = 25;
            double minTickValue = formsPlot1.Plot.Axes.Left.GetCoordinate(rp.DataRect.Height - minDistanceBetweenTickAndBottom, rp.DataRect);
            CoordinateRange allowedTickRange = new(minTickValue, maxTickValue);

            // remove text from ticks outside the allowed range
            for (int i = 0; i < formsPlot1.Plot.Axes.Left.TickGenerator.Ticks.Length; i++)
            {
                Tick tick = formsPlot1.Plot.Axes.Left.TickGenerator.Ticks[i];
                if (string.IsNullOrEmpty(tick.Label)) continue;
                if (allowedTickRange.Contains(tick.Position)) continue;
                formsPlot1.Plot.Axes.Left.TickGenerator.Ticks[i] = Tick.Major(tick.Position, string.Empty);
            }
        };
    }
}