API Server Performance

During benchmarking, we discovered there are performance gaps in both the API server and AsyncLLM engine where the request latency and throughput do not match a hand written gRPC server.
I'm planning to investigate this. The clues are:

Slowdown in the asyncio loop due to implementation to support streaming
Blocking call in the asyncio loop, which have trouble offloading requests, this should be resolved by the threading PR. #1628 but we should benchmark it.
The FastAPI + uvicorn is single threaded.

cc @WoosukKwon @zhuohan123

A simple py-spy profile didn't review anything too suspicious

One hypothesis is the time it takes to _schedule and sampling, which is on the main thread blocking networking. I think it is pretty significant overhead, about 0.5ms is spent per decode and blocking the network thread.
schedule_time_us: 118, execute_time: 7664, postprocess_time_us: 409

Hi ,
AsyncLLMEngine.generate is not producing the output in streaming way as done with transformer's model.generate. On using "AsyncLLMEngine.generate" the arrival of first token is taking so much time after that all tokens are coming very fast. Can anyone explain why is this happening.
Here is my code.

    engine = AsyncLLMEngine.from_engine_args(engine_args)
    results_generator = engine.generate(prompt, sampling_params, request_id)

    # Streaming case
    async def stream_results() -> AsyncGenerator[bytes, None]:
        previous_text = [""]*n
        async for request_output in results_generator:
            text_outputs = [output.text for output in request_output.outputs]

            # returning only single output
            extra_text = text_outputs[0][len(previous_text[0]):]
            previous_text = text_outputs
            yield extra_text.encode("utf-8")

    if stream:
        return StreamingResponse(stream_results(), media_type='text/event-stream')

async for request_output in results_generator: loop is delaying the first token by large amount (Around 8 to 10 sec).

This may explain discrepancy in results of benchmarks between vLLM and DS-FastGen? their benchmarks use the persistent client mode; as far as I know, the vLLM benchmarks use llm.generate() instead.

Is there any updates for this issue:-)

This has been resolved by https://github.com/vllm-project/vllm/pull/6883, RFC that tracked this https://github.com/vllm-project/vllm/issues/6797


Platform Android support for AndroidX

<!--
Please make sure the checklist boxes are all checked before submitting the PR. The checklist is intended as a quick reference, for complete details please see our Contributor Guidelines:

http://cordova.apache.org/contribute/contribute_guidelines.html

Thanks!

### Platforms affected
Only Android

### Motivation and Context

This Change is required to support new Version of Andoid. AndroidX put old support libraries into a new namespace.

### Description

It is a renaming of dependencies. Wherever the support library was imported, I replace it with the new namespace.

### Testing
I tested the camera plugin within the app of my employer and it works.

Thanks Siegmar for your PR. We've already discussed AndroidX a bit and it's a tricky decision. On the one hand, if we go for AndroidX and enforce it, we will probably break a lot of plugins. But on the other hand, there might be some changes by Google that forces us to enable AndroidX nevertheless.
In the meantime you could use the cordova-plugin-androidx-adapter (which you probably already do).
See also https://github.com/apache/cordova-android/issues/841 and the discussion on YT: https://www.youtube.com/watch?v=oarY6ZYj-CU, if interested.

Any update on when this plugin might move to AndroidX? I'm sure I'm not alone in saying this -- this is now the only remaining plugin my apps use that requires the use of cordova-plugin-androidx-adapter.

As cordova-android 10 now works only with AndroidX we should move forward with this.

It was done in https://github.com/apache/cordova-plugin-camera/pull/751, closing


[ISSUE #3501]Add Keys for ck and ack msgs to associate them

Make sure set the target branch to develop
What is the purpose of the change
#3501
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage decreased (-0.05%) to 53.422% when pulling d900366a9f03fc51fe490f6e120be1341d115e9c on cserwen:keys_ck_ack into 4506f34e24714ec4d6ac37babd8f096632fd6b1c on apache:5.0.0-alpha.


[JS] Update node-sass dependency for scss-to-json tool

Description
Update node-sass dependency for scss-to-json tool to fix security vuln. Note that this tool doesn't ship, so there's no need to push new packages.
How Verified

built and run locally

Microsoft Reviewers: Open in CodeFlow

/azp run


Use meeting primary key as the primary key for quizzes, instead of quiz.id.

Meeting_id must be unique. It doesn't make any sense to have another primary key unless I'm going to use quizzes for something else other than meetings. Should look for other cases that don't make sense too.

Closing this because quiz primary keys are not a problem in practice for me. All the quiz grading is automated and I cannot recall a time I needed to edit quiz post hoc in a manner that would be aided by better normalization and use of natural primary keys. I could revisit this in the future. For this semester it is a PITA and I worry about trickle down changes, particularly all the changes in elmclient.


[SPARK-48731][INFRA] Upgrade docker/build-push-action to v6

What changes were proposed in this pull request?
The pr aims to upgrade docker/build-push-action from v5 to v6.
Why are the changes needed?
https://github.com/docker/build-push-action/releases/tag/v6.5.0
...
https://github.com/docker/build-push-action/releases/tag/v6.0.0

https://docs.docker.com/build/ci/github-actions/build-summary/
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass GA.
Manual observation as following:
https://github.com/panbingkun/spark/actions/runs/9689581212

Was this patch authored or co-authored using generative AI tooling?
No.

cc @HyukjinKwon

cc @Yikun

Merged to master for Apache Spark 4.0.0-preview2.

+1, LGTM. Thank you, @panbingkun and @HyukjinKwon .
Since it's already 6.5.0, let me merge this.

https://github.com/docker/build-push-action/releases/tag/v6.5.0

Yea, thanks.


New convenience functions to add wellboreinterp and feature

New convenience functions for wellboremarkerframe and trajectory, to allow easy adding of wellboreinterpretation and wellborefeature objects.

Codecov Report

Merging #50 (156737e) into master (6b53213) will decrease coverage by 0.01%.
The diff coverage is 19.23%.

:exclamation: Current head 156737e differs from pull request most recent head 722dfb0. Consider uploading reports for the commit 722dfb0 to get more accurate results

@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
- Coverage   34.08%   34.07%   -0.02%
==========================================
  Files          48       48
  Lines       21538    21564      +26
==========================================
+ Hits         7342     7347       +5
- Misses      14196    14217      +21

Impacted Files
Coverage Δ

resqpy/well.py
27.46% <19.23%> (-0.10%)
:arrow_down:

Continue to review full report at Codecov.

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

@connortann - the changes to surface.py involve a lot of repetition, with exactly the same method appearing in TriangulatedSet, Mesh and PointSet. Keen to hear any suggestions for how to improve this (the best I could think of was adding a Parent class for these three classes to inherit from containing the shared method). Similarly the methods in well.py for BlockedWellbore, WellboreFrame and Trajectory are very similar, so it may be possible to improve these too

@connortann This should be ready to go now, apologies for the many commits to fix the unit tests.


cts:and-not-query (positive and negative) is ignored in QueryBatcher

Version of MarkLogic Java Client API
6.5.0
Version of MarkLogic Server
11.0.2
Java version
JDK 17
OS and version
ProductName: macOS
ProductVersion: 13.5
BuildVersion: 22G74
Input: Some code to illustrate the problem, preferably in a state that can be independently reproduced on our end
The current issue is a follow-up of this one: https://github.com/marklogic/java-client-api/issues/1640
In the last issue you correctly mentioned that the correct format for search positive/negative is: positive-query and negative-query
However, the way I created the last issue is not 1:1 with the issue that we actually had. Our issue is actually the following:
executing a search query and passing an options name parameter (where the options contains an and-not-query looking for a collection is simply ignored in QueryBatcher, but it works for a simple search).
Let me help you a bit with a piece of code:
QueryManager queryManager= markLogicDatabaseClient.newQueryManager();
        final RawCombinedQueryDefinition structQueryDef = queryManager
            .newRawCombinedQueryDefinition(new StringHandle(
                "<search xmlns=\"http://marklogic.com/appservices/search\">\n" +
			"  <query>\n" +
			"    <and-query>\n" +
			"      <term-query>\n" +
			"        <text>world</text>\n" +
			"      </term-query>\n" +
			"    </and-query>\n" +
			"  </query>\n" +
			"</search>"), "all");

        final SearchHandle result = queryManager.search(structQueryDef, new SearchHandle());
        result.getMatchResults();

The content of "all.xml" contains (between other stuff):
<cts:and-not-query>
	  <cts:annotation type="searchable-collections"/>
	  <cts:positive>
	    <cts:collection-query>
	      <cts:uri>collection1</cts:uri>
	      <cts:uri>collection2</cts:uri>
	    </cts:collection-query>
	  </cts:positive>
	  <cts:negative>
	      <cts:collection-query>
		<cts:uri>ignoredCollection</cts:uri>
	      </cts:collection-query>
	  </cts:negative>
	</cts:and-not-query>

Actual output: What did you observe? What errors did you see? Can you attach the logs? (Java logs, MarkLogic logs)
The output is correct for a simple search, the collections are filtered, but for QueryBatcher they are not.
Expected output: What specifically did you expect to happen?
The output is the same for both search and QueryBatcher (collections are taken into account)
Alternatives: What else have you tried, actual/expected?

@marcopacurariu3  I apologize for the delay - is all.xml your options file, and is that query in an additional-query element?

I'm able to reproduce this if I include any sort of query in additional-query in search options. While calls to queryManager.search will honor that query, it appears that calls to the non-public queryManager.uris method do not, which is what DMSDK uses. This is true regardless of whether filtered is set to true or false when calling the uris method.
I am going to file a bug with the server. In the meantime, is it possible to include the additional-query in your client code instead of in search options?

Great, thanks for reproducing it. Please also let me know when it's fixed. In the meanwhile, yes, we found a workaround and we are not using the additional-query part from all.xml.


Cap recursion in ORM

Summary of the Pull Request
What is this about?
Closes #2900
Closes #2901
Closes #2902
#2900
Considers 2 new cases in our Entity Conversion code:

If the discriminator field name is the field we're currently trying to deserialize, we're guaranteed to end up in an infinite loop
If for any other reason, we iterate more than 100 times while trying to convert an entity to a type

In both cases, we throw a new OrmShortCircuitInfiniteLoopException and stop deserialization.
#2901 & #2902

Add a LogTracer to the EntityConverter
When throwing an exception, include as many tags and information as possible to help pin down the faulting entity/fields

Validation Steps Performed
How does someone test & validate?
Added a test that demonstrates the issue where the discriminator field EventType is self referential.
I looked through our codebase and didn't find any situation where we have this self referential situation but it's possible for the issue to be coming from entities in our database -- which would be much harder to check for this self referential behavior. Though, if/when this issue happens again, because of the improved logging changes, we should be able to track down the offending etities.

Codecov Report

Merging #2992 (8a88ee9) into main (260abca) will increase coverage by 0.52%.
The diff coverage is 35.29%.

:exclamation: Current head 8a88ee9 differs from pull request most recent head cec51da. Consider uploading reports for the commit cec51da to get more accurate results

@@            Coverage Diff             @@
##             main    #2992      +/-   ##
==========================================
+ Coverage   28.51%   29.04%   +0.52%
==========================================
  Files         125      125
  Lines       13602    13672      +70
==========================================
+ Hits         3879     3971      +92
+ Misses       9723     9701      -22

Impacted Files
Coverage Δ

src/ApiService/ApiService/Log.cs
17.07% <ø> (+7.31%)
:arrow_up:

...rvice/ApiService/onefuzzlib/orm/EntityConverter.cs
85.92% <35.29%> (-6.67%)
:arrow_down:

... and 15 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Doesn't recognize ATmega2560

I get this error when trying to upload to the arduino mega:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

I suspected that ano thought it was an uno board, so I modified ano/commands/upload.py to print out the name of the board sent to avrdude:
print BoardModels.getValueForVariant(board, boardVariant, 'build', 'mcu')

And it prints out atmega328p.  Keep in mind this is after compiling and uploading with
$ ano build --cpu atmega2560
$ ano upload --cpu atmega2560       # I don't know if the flag actually does anything here

SOLVED:
After digging through the code I finally found out about the -m argument to specify the model. It now works, but I have to specify both the board and the cpu to compile and upload:
$ ano build -m mega --cpu atmega2560
$ ano upload -m mega --cpu atmega2560

More comprehensive documentation would probably be all that is necessary, unless an auto-detection system could be implemented in the future.

You can put these values in an ano.ini at the root of your folder.
As for improvements; when I get Arturo 2.0 out it will handle this sort of stuff much more gracefully.


adding new state value to keep backward competiblity

adding new state value to keep backward competiblity

@jaredmoo - fixed backward compatibility issues

Automation for azure-libraries-for-java

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

Automation for azure-sdk-for-node


Reduce number of INFO messages from lstm_test

Some more of these messages can be reduced. Attached log from run after this change.
lstm_test.log

I had tried changing it to
LOG(DEBUG), got some compile error.
On Wed, Jan 20, 2021, 16:09 Egor Pugin<EMAIL_ADDRESS>wrote:

@egorpugin commented on this pull request.
In unittest/lstm_test.h
https://github.com/tesseract-ocr/tesseract/pull/3250#discussion_r560858278
:

@@ -119,9 +119,9 @@ class LSTMTrainerTest : public testing::Test {
trainer_->MaintainCheckpoints(nullptr, &log_str);
iteration = trainer_->training_iteration();
mean_error *= 100.0 / kBatchIterations;

 LOG(INFO) << log_str.c_str();

 LOG(INFO) << "Best error = " << best_error << "\n" ;

 LOG(INFO) << "Mean error = " << mean_error << "\n" ;

 //LOG(INFO) << log_str.c_str();

Maybe make them as LOG(DEBUG) or LOG(TRACE)?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/pull/3250#discussion_r560858278,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABG37I26WKHTGCP5XOQNKV3S22XEZANCNFSM4WKHPD4Q
.

I had tried changing it to
LOG(DEBUG), got some compile error.
On Wed, Jan 20, 2021, 16:09 Egor Pugin<EMAIL_ADDRESS>wrote:

@egorpugin commented on this pull request.
In unittest/lstm_test.h
https://github.com/tesseract-ocr/tesseract/pull/3250#discussion_r560858278
:

@@ -119,9 +119,9 @@ class LSTMTrainerTest : public testing::Test {
trainer_->MaintainCheckpoints(nullptr, &log_str);
iteration = trainer_->training_iteration();
mean_error *= 100.0 / kBatchIterations;

 LOG(INFO) << log_str.c_str();

 LOG(INFO) << "Best error = " << best_error << "\n" ;

 LOG(INFO) << "Mean error = " << mean_error << "\n" ;

 //LOG(INFO) << log_str.c_str();

Maybe make them as LOG(DEBUG) or LOG(TRACE)?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/pull/3250#discussion_r560858278,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABG37I26WKHTGCP5XOQNKV3S22XEZANCNFSM4WKHPD4Q
.

Of course you should do it in terms of GLOG.

Of course you should do it in terms of GLOG.


Make mediaStore.saveFile return file URI (with content:// scheme)

It would be much appreciated if saveFile could return the file URI when I save the file. Thank you!

@Henry-Hiles, Just finished this. Will release soon within 3-4 days

@Henry-Hiles, Just finished this. Will release soon within 3-4 days

Thank you so much!

Released

Released

I've just realized this isn't what I want

As you can see from the title, i said content:// scheme, not file://, also it would be better if it was a Uri not String. Thanks!

It is content:// scheme. You can create a Uri object from the Uri String i.e. Uri.parse(uri)
Here is my console result after saving,
D/saveFile( 9771): al_aqsa_mosque.jpeg
I/flutter ( 9771): content://media/external/images/media/1000000073 <- returned by saveFile()

It is content:// scheme. You can create a Uri object from the Uri String i.e. Uri.parse(uri)
Here is my console result after saving,
D/saveFile( 9771): al_aqsa_mosque.jpeg
I/flutter ( 9771): content://media/external/images/media/1000000073 <- returned by saveFile()

Oh huh, I just realized its returning null for me, is that normal?

Also this should be updated:

It is content:// scheme. You can create a Uri object from the Uri String i.e. Uri.parse(uri)
Here is my console result after saving,
D/saveFile( 9771): al_aqsa_mosque.jpeg
I/flutter ( 9771): content://media/external/images/media/1000000073 <- returned by saveFile()

Oh huh, I just realized its returning null for me, is that normal?

Ah, I guess that means it failed. Hmm. Clearing out my downloads fixed it, but not ideal.

Okay, it returns null, if a file with the same name in the same place was generated by a different app...

It should ask for permission to overwrite the file. Like this,

It doesn't do that for me or any testers of my app, hmm

If it's overwriting a file created by this app, it overrides without confirmation (that's fine), but if another app created it it returns null.

However, you don't need to add these permissions to read and write the files created by your app.
Again if you uninstalled your app, the files your app is created will be treated as another app creates it, the next time you install your app.

However, you don't need to add these permissions to read and write the files created by your app. Again if you uninstalled your app, the files your app is created will be treated as another app creates it, the next time you install your app.

Yes I see thanks

You can ask for permission to read the `Downloads/ folder using
Future<DocumentTree?> requestForAccess({required String? initialRelativePath})

this method. There's an example here

You can ask for permission to read the Downloads/<YourAppFolder> folder using
Future<DocumentTree?> requestForAccess({required String? initialRelativePath})

this method. There's an example here

I see. And I need to have read access to overwrite the files? Would it be possible to return the uri with the (1) instead, if that's the one created? Thanks!!

You can ask for permission to read the Downloads/<YourAppFolder> folder using
Future<DocumentTree?> requestForAccess({required String? initialRelativePath})

this method. There's an example here

I see. And I need to have read access to overwrite the files? Would it be possible to return the uri with the (1) instead, if that's the one created? Thanks!!

No, that's not ideal behavior. It can be (1), (2) or who knows? Again null can be also returned if there is an actual issue. So. this is not possible.
But you can always check by using
Future<Uri?> getFileUri({
    required String fileName,
    required DirType dirType,
    required DirName dirName,
    String? relativePath,
  })

Here the fileName would be al %aqsa_mosque (1).jpeg
But it's better to ask for access as it is the standard approach. Users don't like to add duplicated files to the devices.

You can ask for permission to read the Downloads/<YourAppFolder> folder using
Future<DocumentTree?> requestForAccess({required String? initialRelativePath})

this method. There's an example here

I see. And I need to have read access to overwrite the files? Would it be possible to return the uri with the (1) instead, if that's the one created? Thanks!!

No, that's not ideal behavior. It can be (1), (2) or who knows? Again null can be also returned if there is an actual issue. So. this is not possible.
But you can always check by using
Future<Uri?> getFileUri({
    required String fileName,
    required DirType dirType,
    required DirName dirName,
    String? relativePath,
  })

Here the fileName would be al %aqsa_mosque (1).jpeg
But it's better to ask for access as it is the standard approach. Users don't like to add duplicated files to the devices.

What I meant was on the library side, if it's saved with a number, could you return uri that instead of null?

I want to stick with the standard way i.e. asking for request access.

I want to stick with the standard way i.e. asking for request access.

Well, if the file is being saved, surely the uri should be returned? Even if its under a different filename. This is how a browser would work, it'd save that way and still have an open option.

saveFile() now returns SaveInfo. It contains the saved file name, uri and the saved status, whether the file is created, replaced or duplicated
Check here: https://github.com/SNNafi/media_store_plus/blob/main/lib/src/save_info.dart

Thank you!

saveFile() now returns SaveInfo. It contains the saved file name, uri and the saved status, whether the file is created, replaced or duplicated
Check here: https://github.com/SNNafi/media_store_plus/blob/main/lib/src/save_info.dart
Available from 0.1.1

With latest release it no longer duplicates the file, instead throwing a PathAccessException saying it cannot copy the file

And then i tried it again and it worked? Hmm.

Yep it seems to work now, thanks!

Hmm... The save info is only returned on debug, not release builds.

Working fine. Checked on the release build. I don't know how you are testing things!


Warn on failure in the Discovery generation test

The test in test.discover.ts frequently fails because the Discovery service can return URLs to Discovery documents that 404. For the better part of the last 2 months, that test has failed because some service has a document URL which 404s, which makes automating updates difficult. This commit modifies that test to log a warning on failure, so it never fails the suite.

[x] npm test succeeds
[x] Pull request has been squashed into 1 commit
[x] I did NOT manually make changes to anything in apis/
[x] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate JSDoc comments were updated in source code (if applicable)
[ ] Approprate changes to readme/docs are included in PR

Note: The alternative to dropping the test is to reconfigure the generator to ignore 404s and skip the initial clean-up step that deletes the apis/ directory, but I wasn't able to figure out how to do the former in a nice way.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@bc52153). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #800   +/-   ##
=========================================
  Coverage          ?   67.79%
=========================================
  Files             ?        4
  Lines             ?      236
  Branches          ?       53
=========================================
  Hits              ?      160
  Misses            ?       63
  Partials          ?       13

Continue to review full report at Codecov.

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

That's a good idea, is there a way to change a test to emit a warning instead of causing a failure?
I haven't immediately found a way just Googling about Mocha

Friendly ping, lgty?


Migrating from Mac to Windows

I am trying to set my project up on a windows computer. I had it working fine in windows but am starting to have trouble in windows. I keep getting the following error when it is in the renaming process, it moves the files to the temp folder fine. I'm guessing it is something to do with the filepaths? I have been stuck on this all day.
C:\Users\ak7\Desktop\nexrender-boiler>node start.js
Started local static server at port: 23234
Project {
uid: 'r1DBTRJTx',
state: 'queued',
template: 'project.aepx',
composition: '6 Nations',
type: 'default',
assets:
[ { type: 'image',
name: 'fileHome.ai',
src: 'http://localhost:23234\assets\teams\ScotlandHome.ai' },
{ type: 'image',
name: 'fileAway.ai',
src: 'http://localhost:23234\assets\teams\ItalyAway.ai' },
{ type: 'project',
name: 'project.aepx',
src: 'http://localhost:23234\assets\Nations.aepx' },
{ type: 'script',
name: 'data.js',
src: 'http://localhost:23234\assets\teamSetup.js' } ],
actions: [],
settings: { outputModule: 'h264', outputExt: '.mov', startFrame: 0 },
errorMessage: null,
callbacks: {},
ticker: null,
api: null,
error: null }
[r1DBTRJTx] setting up project...
[r1DBTRJTx] downloading assets...
[r1DBTRJTx] renaming assets...
[r1DBTRJTx] project failed
Error message: ENOENT: no such file or directory, link 'C:\Users\ak7\Desktop\nexrender-boiler\temp\r1DBTRJTx\localhost:23234\assets\teams\ScotlandHome.ai' -> 'C:\Users\ak7\Desktop\nexrender-boiler\temp\r1DBTRJTx\fileHome.ai'
{ Error: ENOENT: no such file or directory, link 'C:\Users\ak7\Desktop\nexrender-boiler\temp\r1DBTRJTx\localhost:23234\assets\teams\ScotlandHome.ai' -> 'C:\Users\ak7\Desktop\nexrender-boiler\temp\r1DBTRJTx\fileHome.ai'
at Error (native)
errno: -4058,
code: 'ENOENT',
syscall: 'link',
path: 'C:\Users\ak7\Desktop\nexrender-boiler\temp\r1DBTRJTx\localhost:23234\assets\teams\ScotlandHome.ai',
dest: 'C:\Users\ak7\Desktop\nexrender-boiler\temp\r1DBTRJTx\fileHome.ai' }
C:\Users\ak7\Desktop\nexrender-boiler>

You have back slashes in your URL ()
Change them to usual slashes (/)

Ahhh thanks so much, for some reason i thought it was still using the windows file notation.
That seems to go to the next problem now, it can't find the .mov file. It doesn't seem it even makes it (hence it not being found)
Error message: ENOENT: no such file or directory, stat 'C:\Users\ak7\Desktop\nexrender-boiler\temp\BJQSw7eTg\result..mov'
{ Error: ENOENT: no such file or directory, stat 'C:\Users\ak7\Desktop\nexrender-boiler\temp\BJQSw7eTg\result..mov'
at Error (native)
errno: -4058,
code: 'ENOENT',
syscall: 'stat',
path: 'C:\Users\ak7\Desktop\nexrender-boiler\temp\BJQSw7eTg\result..mov' }

Try manually looking inside C:\Users\ak7\Desktop\nexrender-boiler\temp\BJQSw7eTg\ folder
is there a rendered file ?
if so, check what extension and what filename it uses
also result..mov in your provided example is obviously not really good filename ))
something went wrong, maybe it was aslo somewhere at the configuration step ?

Nothing is in the temp file except the initial assets, so it looks like nothing is being rendered. Where can I set the result..mov name? It's doesn't seem to be anywhere in the setup file either

can you show me example of, how you are creating project ?
from code you've sent before, i noticed you did extension config like
outputExt: '.mov'
try to change it to
outputExt: 'mov'

Here is the project below. I tried earlier to remove the . in the file name, and it had no effect.
`'use strict';
/**

Parameters for rendering
*/

let aepxfile  = 'Nations.aepx';
let datascript  = 'teamSetup.js';
let homeTeam    = 'ScotlandHome.ai';
let awayTeam    = 'ItalyAway.ai';
const aebinary  = 'C:\Program Files\Adobe\Adobe After Effects CC 2017\Support Files\aerender.exe';
const port      = 23234;
/**

Dependencies
*/
const http      = require('http');
const url       = require('url');
const path      = require('path');
const fs        = require('fs');

const Project   = require('nexrender').Project;
const renderer  = require('nexrender').renderer;
/**

HTTP server
*/
let server = http.createServer((req, res) => {
let uri         = url.parse(req.url).pathname;
let filename    = path.join(process.cwd(), uri);
fs.exists(filename, (exists) => {
if(!exists) {
res.writeHead(404, {"Content-Type": "text/plain"});
res.write("404 Not Found\n");
     return res.end();
 }

 fs.readFile(filename, "binary", function(err, file) {
     if(err) {
         res.writeHead(500, {"Content-Type": "text/plain"});
         res.write(err + "\n");
         return res.end();
     }

     // send 200
     res.writeHead(200);
     res.write(file, "binary");
     return res.end();
 });

});
});

/**

Renderer
*/
server.listen(port, () => {
console.log('Started local static server at port:', port);
// addtional info about configuring project can be found at:
// https://github.com/Inlife/nexrender/wiki/Project-model
let project = new Project({
"template": "project.aepx",
"composition": "6 Nations",
"type": "default",
"settings": {
// dont forget to setup the right output module; info:
// https://helpx.adobe.com/after-effects/using/basics-rendering-exporting.html#output_modules_and_output_module_settings
"outputModule": "h264",
"outputExt": "mov",
"startFrame": 0
},
"assets": [
{ "type": "project",        "name": "project.aepx",     "src": http://localhost:${port}/assets/${aepxfile}},
{ "type": "image",          "name": "fileHome.ai",      "src": http://localhost:${port}/assets/teams/${homeTeam}},
{ "type": "image",          "name": "fileAway.ai",      "src": http://localhost:${port}/assets/teams/${awayTeam}},
{ "type": "script",         "name": "data.js",          "src": http://localhost:${port}/assets/${datascript} }
]
});
console.log(project);
// start rendering
renderer.render(aebinary, project).then(() => {
// success
server.close();
console.log('rendering finished');
}).catch((err) => {
// error
console.error(err);
server.close();
});

});`

try making this path with extra back slashes because of windows path system
const aebinary = 'C:\\Program Files\\Adobe\\Adobe After Effects CC 2017\\Support Files\\aerender.exe';

It still gives the error that there is no result.mov
I have tried with the boilerplate and it is giving the same error also.

did you check manually, is there actual file ?
also, can you send latest output logs from the nexrender

There is no file in there, only the assets for the project.
I have even tried another server this time
The output given is:
Started local static server at port: 23234 Project { uid: 'Bk2XK7BTx', state: 'queued', template: 'project.aepx', composition: '6 Nations', type: 'default', assets: [ { type: 'project', name: 'project.aepx', src: 'http://localhost:23234/assets/Nations.aepx' }, { type: 'image', name: 'fileHome.ai', src: 'http://localhost:23234/assets/teams/ScotlandHome.ai' }, { type: 'image', name: 'fileAway.ai', src: 'http://localhost:23234/assets/teams/EnglandAway.ai' }, { type: 'script', name: 'data.js', src: 'http://localhost:23234/assets/teamSetup.js' } ], actions: [], settings: { outputModule: 'test', outputExt: 'avi', startFrame: 0 }, errorMessage: null, callbacks: {}, ticker: null, api: null, error: null } [Bk2XK7BTx] setting up project... [Bk2XK7BTx] downloading assets... [Bk2XK7BTx] renaming assets... [Bk2XK7BTx] filtering image assets... [Bk2XK7BTx] patching project... [Bk2XK7BTx] rendering project... [Bk2XK7BTx] verifying project... -------------------------- [Bk2XK7BTx] project failed -------------------------- Error message: ENOENT: no such file or directory, stat 'C:\Bitnami\wampstack-5.6.30-2\apache2\htdocs\nexrender\temp\Bk2XK7BTx\result.avi' { Error: ENOENT: no such file or directory, stat 'C:\Bitnami\wampstack-5.6.30-2\apache2\htdocs\nexrender\temp\Bk2XK7BTx\result.avi' at Error (native) errno: -4058, code: 'ENOENT', syscall: 'stat', path: 'C:\Bitnami\wampstack-5.6.30-2\apache2\htdocs\nexrender\temp\Bk2XK7BTx\result.avi' }
The only files in the temp folder are the the assets that are copied across. It's almost as if it doesn't even start the render

I have figured it out to be a problem with the actual output file within after effects to have been corrupted. Thanks for you help!

*Sorry unrelated but just wanted to check.
I have it set up on a windows server now & have it set to a shell_exec() command to call node start.js however it copies the project files across but fails to start rendering the video.
I am confident there is nothing wrong with the code though because if i run the same command locally it will render the video.
Must be permission related, but also seems odd since it is able to create a temp folder and  move assets to it. Can you think of anything in the rendering process as to why it might not be working?

Well, this might be related to the place, where you launch the shell_exec
from.
Maybe it wants to start it in the folder other then actuall renderer should
be started in
Or maybe it cannot find the renderer binary
Or maybe you are right, the problem with permissions :)
On Sat, Apr 8, 2017 at 10:45 AM, kick-push<EMAIL_ADDRESS>wrote:

*Sorry unrelated but just wanted to check.
I have it set up on a windows server now & have it set to a shell_exec()
command to call node start.js however it copies the project files across
but fails to start rendering the video.
I am confident there is nothing wrong with the code though because if i
run the same command locally it will render the video.
Must be permission related, but also seems odd since it is able to create
a temp folder and move assets to it. Can you think of anything in the
rendering process as to why it might not be working?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Inlife/nexrender/issues/32#issuecomment-292701766,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACFL3OBgVjPHeo2ZvqWZbPORWVVGKiTtks5rtzsKgaJpZM4MxoWI
.

--
Vladislav Gritsenko
Software Developer
https://inlife.github.io/
https://inlife.github.io/?utm_campaign=email&utm_medium=referral&utm_source=signature


Add official example badge

@gpsimenos Target UBLOX_EVK_ODIN_W2 should be removed from Jenkinsfile, and IAR compiler.

Merged as there is no code change. CI needs to be updated.


Segfault in mrb_str_format

The following input causes a segfault in mrb_str_format:
sprintf("%1$*c", 0)

This issue was reported by https://hackerone.com/haquaman, who suggested the following patch:
diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c
index 696d093..30adbb0 100644
--- a/mrbgems/mruby-sprintf/src/sprintf.c
+++ b/mrbgems/mruby-sprintf/src/sprintf.c
@@ -687,10 +687,10 @@ retry:
           CHECK(n);
           memcpy(buf+blen, c, n);
           blen += n;
-          FILL(' ', width-1);
+          if (width) FILL(' ', width-1);
         }
         else {
-          FILL(' ', width-1);
+          if (width) FILL(' ', width-1);
           CHECK(n);
           memcpy(buf+blen, c, n);
           blen += n;

CRuby causes an exceptoin for the format string.
unnumbered(1) mixed with numbered (ArgumentError)


Create multiple row in new and edit

When user click on save in edit or new screen, is there a way to insert multiple row in the same time in database ?

you will have to override handlers for edit and new actions.

this is the original code: https://github.com/SoftwareBrothers/admin-bro/blob/master/src/backend/actions/edit-action.ts#L29 (not super complicated)

thanks !


haskellPackages.inline-c-cpp: Patch to build with llvm

Motivation for this change
Unbreak haskellPackages.inline-c-cpp, cachix.
@domenkozar
Crossed by https://github.com/NixOS/nixpkgs/pull/104635/files
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

The root cause is a hack in inline-c-cpp, but since #104635 this isn't urgent enough to warrant a patch in Nixpkgs.


[issues] Use issue forms instead of markdown templates

Fixes https://github.com/microsoft/vcpkg/pull/30472#issuecomment-1485659707
You can test it here: https://github.com/autoantwort/vcpkg/issues/new/choose

That was fast ❤ There is also https://github.com/microsoft/vcpkg/pull/28806 which waits for a review from @AugP since January :)


为什么harbor 集群方案不在roadmap里面了

If you are reporting a problem, please make sure the following information are provided:
1)Version of docker engine and docker-compose
2)Config files of harbor, you can get them by packaging "Deploy/config" directory
3)Log files, you can get them by package the /var/log/harbor/

Which cluster plan is not in ROADMAP? Did you mean the HA features here: #327

No activity for a long time. Closing it for now. Please reopen if needed.


Cargo rebuilds project every time since 81688bc

Since 81688bc every cargo [build|run] [--release] rebuilds the whole project that uses froggy, including froggy itself.

81688bc introduced skeptic to check code examples in README.md

Steps to reproduce:
$ cargo new --bin froggy-testing
$ cd froggy-testing

Edit Cargo.toml:
[package]
name = "froggy-testing"
version = "0.1.0"
authors = ["anton"]

[dependencies]
froggy = "0.2.0"

Edit src/main.rs:
extern crate froggy;

fn main() {
    println!("Hello, world!");
}

Now build and run
anton@blues:~/Projects/froggy-testing$ cargo run
   Compiling froggy v0.2.0
   Compiling froggy-testing v0.1.0 (file:///home/anton/Projects/froggy-testing)
    Finished dev [unoptimized + debuginfo] target(s) in 0.66 secs
     Running `target/debug/froggy-testing`
Hello, world!
anton@blues:~/Projects/froggy-testing$ cargo run
   Compiling froggy v0.2.0
   Compiling froggy-testing v0.1.0 (file:///home/anton/Projects/froggy-testing)
    Finished dev [unoptimized + debuginfo] target(s) in 0.66 secs
     Running `target/debug/froggy-testing`
Hello, world!

"Fixed" by #31

Root cause: https://github.com/rust-lang/cargo/issues/4213
You can workaround this issue by simply adding empty README.md.skt.md file.


Token extensions

Problem
Currently, FTP doesn't have the ability to add custom data to a token.
Solution Idea
Create a UI that allows the ability to read, add, update, delete, etc. custom data for tokens within the Edit Token modal. This is part of the W3C draft called $extensions. Style Dictionary has a different approach so that should be considered as well.

A user should be able to define any objects, arrays, strings, etc at multiple levels, within this UI to have custom data per token.
Data is allowed to reference other data w/ same syntax. E.g. {another.token.name.extension.data}
Data is saved in JSON format.
Allow any of this data to be used as a Documentation token as well!

Example
Below is an example of a color token w/ additional data I created in a previous Tokens system. All of the data here gets rendered on a website and aids to help categorize and bring forth information in different dimensions. This was created w/ Style Dictionary.
Outside of the value key, everything else can be considered part of an $extension of the token. This setup allows me to include data, in each token, around:

WCAG compliance status and ratio
Token names in SCSS, etc.
Status of token (beta, rc, released, ...)
Version token was released in.
Specific items I wanted to add which would add how tokens appear on the website
etc...

{
  "color": {
    "palette": {
      "green": {
        "base": {
          "value": "{color.brand.green.value}",
          "rgb": "{color.brand.green.rgb}",
          "scss": "",
          "ios": "",
          "android": "",
          "sketch": "",
          "meta": {
            "name": "{color.brand.green.meta.name}",
            "description": ""
          },
          "docs": {
            "paletteCategory": "{color.brand.green.docs.paletteCategory}"
          },
          "wcag": {
            "black": {
              "aa": "{color.brand.green.wcag.black.aa}",
              "aaLarge": "{color.brand.green.wcag.black.aaLarge}",
              "aaa": "{color.brand.green.wcag.black.aaa}",
              "ratio": "{color.brand.green.wcag.black.ratio}"
            },
            "white": {
              "aa": "{color.brand.green.wcag.white.aa}",
              "aaLarge": "{color.brand.green.wcag.white.aaLarge}",
              "aaa": "{color.brand.green.wcag.white.aaa}",
              "ratio": "{color.brand.green.wcag.white.ratio}"
            }
          },
          "status": "{color.brand.green.status}",
          "release": "{color.brand.green.release}"
        },
}

MVP
Maybe an initial MVP version of this could be to just have an Extensions textarea in the Edit Token modal which would allow users to plugin JSON as they wish and that gets stored and read? This way you don't have to build a complicated UI around it from the start.

My use case is that I want to remove what I consider to be redundant information from token names when working in Figma and the Tokens Studio plugin, while retaining the same information in code. I discussed it briefly with @mikekamminga some time ago, when he made me aware of the extensions property in the design tokens spec, which I believe could be used to solve the issue.
Scenario 1, working with the Tokens Studio plugin: In a css variable I might want a token to be called eds-core-color-infographics-blue-100 – but when working with the tokens in Tokens Studio the name space is superfluous for the design system designers since all the tokens are in the same namespace, the tier name is normally used as the name of the set group or the theme group (or both), and since the type is “color” there’s already a “color” heading visible. What I would like to do instead is adding the following to an extension field, either for each and every token, but ideally on a higher level to remove redundancy:
"infographics": {
  "type": "color",
  "extensions": {
    "com.equinor.eds.namespace": "eds",
    "com.equinor.eds.group": "core",
    "com.equinor.eds.category": "color"
  },
  "blue-100": {
    "value": "some-color-value"
  }
}

(Sometimes type and category will be the same value, other times it will not – when using dimension for spacing for example.)
That way the information is still there, and can be added as segments in code in css-variables for example, but without taking up unnecessary space in a graphical user interface.
Scenario 2, synchronising with Figma variables: Similarly, when creating variables with the Tokens Studio plugin, I prefer as few groups as possible. Since I want the design system designers to add the core tokens as a library, I put them in a separate file called EDS Core Tokens – so both the namespace and the tier name is already there, and since the collection is called “color”, I don’t want to repeat that as a group name.
There might be other ways to achieve a similar result, adding abstraction sets for the sole purpose of synchronising with Figma for example, but I’m not sure how scalable that will be further down the road when there are more apps that support design tokens.

Figma variables with simplified and verbose token structure.

Tokens Studio with simplified and verbose token structure.

+1
I have a similar use case with @vnys so having the ability to simplify the naming structure on Figma when creating them with TS will be really helpful.
 Here's how it currently looks like for our component-specific tokens.

+1
I have a similar use case with @vnys so having the ability to simplify the naming structure on Figma when creating them with TS will be really helpful.
 Here's how it currently looks like for our component-specific tokens.

I also have a use case.
My use case is needing to make references to other arbitrary composition tokens.
I essentially want to declare a relationship between one component and another component.
For example, we have a navigation bar that renders a specific button variant. I want to be able to declare that relationship with tokens so to not duplicate the button variant definition for each time the button is used.

This request has been moved to our new feedback tool. Go check out https://tokensstudio.featurebase.app/ to create a free account. You can upvote and comment on existing posts, make a new request, and subscribe to be notified when requests move into our roadmap.

Added to Featurebase Roadmap : 🪙 Token metadata enhancements


Add blockcypher support

This opens the door for supporting other currencies in the future, as blockcypher already supports many.

 This file should not be touched as it's for direct connections to bitcoind.
Types of blockchain clients supported:

bitcoind
blockchain.info
chain.com
blockcypher (soon)

Oops, sorry I checked in the wrong version before. That made no sense.
I went a little over-zealous with a massive search and replace. It's a little tricky that everything has block and chain in it but means very different things (blockchain_info vs blockchain_client).
Fixed now, look good?

@shea256 are you waiting for anything on this? Not sure you saw the changes I submitted.


Move Zeroes

Problem Link
https://leetcode.com/problems/move-zeroes/
Coding platform
Leetcode
Programming language

[ ] C
[ ] C++
[ ] Java
[ ] Python

Additional context (OPTIONAL)
Add any other context or screenshots about the feature request here.

@Nivedita967  Mam I would like to solve in c++.Kindly Assign me.

Would like to submit solution for java and python

@pri1311 You can work on only one language at a time.

Even if I create different PRs?

Even if I create different PRs?

Yes, At a time, You can work on one language only.

I would like to work in python. Please assign it to me :)

Done with Python, can I work on Java now?

would like to work on Python

I would like to work in python. Please assign it to me :)

Python is not open for this.

Can I work on Java now?

i would like to do it in C

Can I work on Java now?

You have not yet completed all your previous works.

Hi @Nivedita967
Is this issue still open? Can I solve it in Java or C?

Is this issue still open?

Hi @Nivedita967
Is this issue still open? Can I solve it in Java or C?

Go for Java @abhinav5481


Create DR Runnbook

Create DR Runnbook

The expectation is that we will have a plan for failover to the QA environment after restoring the database.

complete


Allow use of multiple compound ids in deleteMany or findMany

Problem
I have an explicite many-to-many relation (with a compound id) and I want to delete multiple relations.
model CategoriesOnPosts {
  post       Post     @relation(fields: [postId], references: [id])
  postId     Int // relation scalar field (used in the `@relation` attribute above)
  category   Category @relation(fields: [categoryId], references: [id])
  categoryId Int // relation scalar field (used in the `@relation` attribute above)

  @@id([postId, categoryId])
}

I have a list of relations I want to delete
function deleteMany(ids: {postId: Int, categoryId: Int}[]) {

I can do (but it will do sequential requests)
await prisma.$transaction(ids.map((id) => prisma.categoriesOnPosts.delete({
  where: {
    postId_categoryId: id
  }
}))

I can also do (but it will do first a select with a complex filter and then do the delete)
await prisma.categoriesOnPosts.deleteMany({
  where: { OR: ids }
})

Suggested solution
It would be nice to be able to directly use the primary identifier (like what we can do with an id) and directly do the delete
await prisma.categoriesOnPosts.deleteMany({
  where: { postId_categoryId: {in: ids} }
})

Alternatives

Additional context

This also applies to findMany and non-m-n models as originally suggested at https://github.com/prisma/prisma/issues/18527 by @uhyunpark:

Problem
I made a model with a compound @@unique / @@id field, and want to query them with an array.
model student {
  regionName String
  schoolName String
  classNumber Int
  isVerified Boolean

  @@id([regionName, schoolName, classNumber], name: 'unique_class_id')
}

Suggested solution
const ids = []
await prisma.student.findMany({
  where: {
    unique_class_id: {
      IN: ids
    }
  }
})

I have a similar problem however I have a list of compound IDs that I would like to keep... and then use delete many to delete the rest (with another restircitng condition). I was hoping to be able to use notIn for this... something like this (modified from the OP):
await prisma.categoriesOnPosts.deleteMany({
  where: {
    postId_categoryId: {notIn: ids},
    user_id: {in: users}
  }
})

But seems this is not possible without the feature requested here. I can't think of any work around ways to achieve this in the current prisma... any suggestions?


List of safes - Long safe names messes up the visuals

Details:
The safe name can be 50 characters long, but if the name is that long when you see the safe in the list of safes (top left corner) the long name makes the ETH number to fall a row and the "default" tag to mess up as well
URL: https://rinkeby.gnosis-safe.io/welcome
Snapshot:

Steps:
1 - Load a safe or create a new one
2 - Make the name of the safe 50 characters long
3 - Check the list of safes at the top left corner

Default label will be changed and not contain any text in the new designs. This won't be an issue.


SIMSBIOHUB-379: Parse intake key-value pairs

Overview
Links to Jira tickets

SIMSBIOHUB-379

Description of relevant changes

{List all relevant changes, in particular anything that will help the reviewers test/verify this PR}

@curtisupshall I pushed some changes into this PR, mostly just around updating the intake endpoint to work with the latest structure being sent from SIMS (SIMS changes are in this open PR https://github.com/bcgov/biohubbc/pull/1185). Once the SIMS PR goes through, we should be able to run the sims publish and see the BioHub intake get hit, including the validation and a call to your parsing code.

Running this locally I've run into an issue publishing a survey without an end date. The UI doesn't force a survey end date to be specified but the intake in BioHub fails when trying to insert into the search_datetime table. Should end date be required in SIMS? will that be applicable for other submitters?

Good catch! Committed a change which ignores date values that are null.


Split getRepresentation into getMembers and getRepresentation?

Hi @RubenVerborgh,
As you know, I'm using the ResourceStore interface to implement components of a Solid server.
So to start off with the easy option, I started writing an in-memory resource store. I found that the first thing you have to do is put an if in getRepresentation, to distinguish between getting a container and getting a document. A document representation should be a Stream indeed, but if a container representation has to be a Stream at the ResourceStore level, then it needs to know about Turtle, which I think was probably not your intention.
So I added a ResourceStore#getMembers method (which does not know about Turtle and only returns a list of container member URLs) to resolve this. It occurred to me that this does mean that the store now knows about container tree structures, so maybe I'll rename it to ResourceTreeStore. In my in-memory implementations , only documents are stored, and containers are implied by the path prefixes of the documents, so it already knows about tree structures. But it would also be possible to have ResourceStore act as a dumb key-value store, where the next layer up explicitly updates the container member listings by writing Turtle to the store. I think I prefer the ResourceTreeStore approach, but wanted to check with you first if that's something you explicitly decided against when you designed the ResourceStore interface?

TL;DR: I would create a Container interface with that method (and possibly some more).

I intended ResourceStore as the interface that handles resources and their representations in general, independent of what the resource represents (a type of container or something else). This has the following consequences:

components using ResourceStore do not need to know how to construct representations or how to perform content negotiation
we can easily apply the Decorator pattern on ResoureStore to achieve various functions

As an example of the latter, I thought of using a ResourceStore for content negotiation. Suppose you have a ResourceStore that just reads files from disk, then you can put a ResourceStore in between that (for example) can translate between RDF formats. Or one that can generate virtual graphs. Etc.
Well, I guess all of that is still possible when you add an extra method. It's just that, when "listing things and representing them" becomes an additional responsibility, implementation get more complex. With the current abstraction, converting a folder listing to JSON-LD is the same a converting any other resource. With more complex interface, that becomes different.
I don't think getRepresentation should be split. I do think that there is a use case for getMembers (maybe even with a filter a argument, etc.). And getRepresentation could then internally (or not) invoke that method.
However, I would argue that this method (/ these methods) belong to a different interface called Container (subclass of Resource) or ContainerStore.
I think it's good to keep interfaces atomic, and getMembers might be a bit of a level breaker in that it returns a list of resource identifiers.
A counter-argument is that we currently have addResource. But maybe that method is in the wrong place, and we need a getContainer method somewhere that return a Container with addResource and getResources.

a getContainer method somewhere that return a Container with addResource and getResources.

Nice! I like it. Thanks!


New single-hue lineColors schemes

Some new templates to offer single-hue lineColors.
ocean1

ocean2

forest1

forest2

sunset1

sunset2

moonlight1

moonlight2

lava1

lava2

:+1: can't see any reason that this should not be merged!


Update vim plugins for 18.03

Motivation for this change
Things done

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

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

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

@GrahamcOfBorg build vimPlugins

No attempt on x86_64-darwin
The following builds were skipped because they don't evaluate on x86_64-darwin: vimPlugins
No log is available.

No attempt on aarch64-linux
The following builds were skipped because they don't evaluate on aarch64-linux: vimPlugins
No log is available.

@GrahamcOfBorg build vimPlugins.LanguageClient-neovim

Success on x86_64-linux (full log)
Attempted: vimPlugins.LanguageClient-neovim
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06
/nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/ci/release-hook.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/ci/script.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/install.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/tests/test.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/wrapper-server.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
checking for references to /build in /nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06...
/nix/store/w35h4rrqxnwn4nx8d5b6c4h5gjrha2ii-vimplugin-LanguageClient-neovim-2018-03-06

Success on x86_64-linux (full log)
Attempted: vimPlugins
Partial log (click to expand)
/nix/store/s4d4c9x2p56h7x1m3iny1wbh7ff0d0bv-vimplugin-vimtex-2018-03-10
/nix/store/9b18w3idh1w6j77qkkwzq2s5i1d8g9jn-vimplugin-vimwiki-2018-02-26
/nix/store/46kq8fd4kk677kmf8msa0q2w0wrjrq64-vimplugin-vinegar-2017-12-28
/nix/store/yprd1hl1db1mr9pcbwzb1w44d0q2chqk-vimplugin-vundle-2018-02-02
/nix/store/sdmc45r7gqjipik57vp7nwdbrpp4a7hz-vimplugin-wombat256-vim-2010-10-17
/nix/store/753w5qbpwb59c0md7fijbrh7h7brrfv8-vimplugin-xptemplate-2017-12-06
/nix/store/a9kzv55a89hqfy36krph8yzzcg7rggdk-vimplugin-xterm-color-table-2013-12-31
/nix/store/85fd486i5ssx0widc0h3762zdi5byk88-vimplugin-zeavim-2017-12-20
/nix/store/n51s55q09ij0sy9ynl3jg0qxlgygh2xc-vimplugin-zenburn-2015-09-18
/nix/store/ly1lj8czikyh1y78cy5mwclqhxdgdihp-vimplugin-zig-vim-2018-02-28

Success on x86_64-darwin (full log)
Attempted: vimPlugins.LanguageClient-neovim
Partial log (click to expand)
installing
post-installation fixup
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06
/nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/ci/release-hook.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/ci/script.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/install.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/tests/test.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/wrapper-server.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/k1mzqnnrv5lhks1ig3pqmvkj916k5gad-vimplugin-LanguageClient-neovim-2018-03-06

The github evaluation error is independent from this pull request.

Success on aarch64-linux (full log)
Attempted: vimPlugins.LanguageClient-neovim
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06
/nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/wrapper-server.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/tests/test.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/install.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/ci/script.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06/share/vim-plugins/LanguageClient-neovim/ci/release-hook.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
checking for references to /build in /nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06...
/nix/store/5bq0nrbcc12myigyfdb7lgwqc731bb0v-vimplugin-LanguageClient-neovim-2018-03-06


move packages

successor to #95. Move packages around and change names of stuff. There isn't really anything interesting going on in this PR, I just wanted to avoid shuffling packages around in the previous one.

Scene -> Stage to avoid naming overlap with android.transition.Scene
Transformer -> Rigger to avoid naming overlap with various other classes
Make Stage.getComponents() a List to ensure that they are ordered

LGTM


group_uniq_array  supports changelog

Describe what's wrong

How to reproduce
Error message and/or stacktrace

Additional context

closed in https://github.com/timeplus-io/proton/pull/484


run_choice issue in NEP

i am honestly not sure what the issue is here, but...

it's trying to use choice #3. i am not entirely sure why! if you look at the NEP function here:
https://github.com/horrible-little-slime/phccs/blob/71bd20d3559b2d8a4f212fd14cde5bcb0c093906/src/level.ts#L404
it should default to using run_choice 2. very weird. really confused as to why this would be a thing.

update: this is a more annoying issue than i thought, because phccs kept throwing free things into NEP and ran into this choice adventure 3 times, spending a turn 2 of them. :garf:


Lead symbol in class member names

Try rid off member names with lead "_" symbol.

Please show an example of the code.

Like here https://github.com/JordanCpp/Lib-LDL/blob/master/include/LDL/Allocators/FixedLinear.hpp
You have members like :
size_t Capacity;  <-- name with lead "" symbol.
size_t Position; <-- name with lead "" symbol.
uint8_t* Content; <-- name with lead "" symbol.
LDL::Allocators::Allocator* Allocator; <-- name with lead "" symbol.
STL are reserved names with lead ""
you can move "" move to end like
size_t Capacity_;

Thanks. It will need to be done.


Add support for North Star hard-sectored floppies.

North Star Floppy disks use 10-sector hard sectored disks with either FM
or MFM encoding.  They may be single- or double-sided.  Each of the 10
sectors contains 256 (FM) or 512 (MFM) bytes of data.  The disk has 35
cylinders, with tracks 0-34 on side 0, and tracks 35-69 on side 1.
Tracks on side 1 are numbered "backwards" in that track 35 corresponds
to cylinder 34, side 1, and track 69 corresponds to cylinder 0, side 1.
The North Star sector format does not include any head positioning
information.  As such, reads from North Star floppies need to by
synchronized with the index pulse, in order to properly identify the
sector being read.  While there is a command line option:
--sync-with-index, that does this, the North Star reader forces this
behavior by default.
Due to the nature of the track ordering on side 1, an .nsi image writer
is provided for double-sided disks.  The .nsi image writer supports both
single- and double-sided disks, but single-sided disks may also be
written in .img format.

FYI @davidgiven, @ejona86

FYI @davidgiven, @ejona86

This should be good to go for reading North Star hard-sectored floppies using a standard 48TPI 300RPM (360K) drive.  I was to successfully read all of the North Star floppies I had.  Thank you for making such a great device!

Apparently I completely failed to notice this PR. Sorry! And, that external enclosure looks awesome! They made the best power switches. That's a IBM 360kB 48tpi drive in it, by the star on the front; I'm looking for one of these but have completely failed to find one...
I'm currently in the process of reworking the entire architecture to make it more consistent and flexible. See the protobuf branch if you want a preview. This means that merging won't be trivial and some rework will need to be done, but I'll do that myself, eventually --- thanks very much for the PR.
This is also the first format which has a non-trivial mapping between track in the sector image and cylinder on the disk, and I'm wondering if this is quite correct in the core code. The primary key for a SectorSet is supposed to be the logical track, where the conversion from logical to physical happens in the encoder/decider. I see that you're doing it in the .nsi reader/writer. This is incorrect, as it ends up with the sector's logicalTrack/logicalSide being set incorrectly, but I'm not sure whether it'll actually work when doing it 'properly'. This is also rather bound up with the 40-track support, which is problematic and probably needs throwing away.
It might actually be worth adding options to the .img image reader/writer to allow for image formats like this. Acorn images tend to be HCS rather than CHS too.

Thanks David,
Agree with you on the enclosure and power switches!  All IBM floppies with the star are 48-TPI, but not all IBM 48-TPI floppies have the star.  I have one newer one that is 48-TPI without the star.  They also switched drive manufacturers at some point.  Those IBM external floppy drives show up on eBay from time to time.  Just remove the factory 37-pin cable, make a short 34-34-pin cable, and the FluxEngine fits right inside.  I use a USB "extension" cable so I can have cables coming out the back for normal use as well as firmware update without needing to open the case.  One thing to do though is to adjust the drive RPM to exactly 300 RPM while the case is open, it makes the writing work much more reliably.
I'm fine with the approach of adding different track ordering to the .img file reader/writer.  That would reduce a lot of code duplication, at the expense of some complexity.
The firmware change that is included in this pull request may be good to take regardless of the North Star support.  The firmware change fixes a race condition regarding counting the hard secor pulses.  It is useful for Micropolis (Vector Graphic) and probably others.  The Micropolis reading works ok, because the cyl/sector information is encoded in the sector header.  Writing Micropolis will be problematic, as it's possible to write the sectors incorrectly with the current firmware.  For Norh Star, there is no positioning data encoded in the sector header, so correct counting of the index pulses is absolutely critical for both reading and writing.
Take care,
Howard

I've merged the Northstar code into #266, migrating it to the new architecture. It's entirely possible I've mangled the image reader and writer. PTAL?
I need to rework the way sectors are mapped to images and vice versa. With the new much more flexible configuration system, I'm thinking of adding a new geometry configuration paragraph; there'd then be a separate stage between the encoder/decoder and image reader/writer which maps between filesystem blocks and sectors. The image reader/writer then doesn't have to know about tracks and sectors. This should, I hope, allow the .img reader/writer with an appropriate Northstar geometry mapper. It needs thought, though.

BTW: a while back I did review the hard-sector detection code and it seemed good. && vs ? : false may be more clear, but whatever.
I've believed for a while that the CP/M images with the Micropolis are in "backwards" on the second side, but I've not gone and verified it so I hadn't sent any documentation updates.

That is now merged and will go live as soon as the autobuilder finishes. Thanks very much!


Fixing cypress code coverage that was broken when upgrading to cypress 10.7

@tejal-shah Is an analogous change likely to be required in other projects, e.g. starter-projects or other projects that were created from it?

@kswenson , I don't see the code-coverage broken in the starter-projects, but given that the Cypress team has deprecated the use of plugins/index.js which is where we import code-coverage, imho we should make similar changes in the other projects. I'll try and spend some time on it this week along with updating the cypress version on some other projects.


Bot responding incorrectly to !withdraw

Bot isn't responding to !withdraw, and telling me that it doesn't have the item that I'm questing
To Reproduce
Steps to reproduce the behavior:

... Try to !withdraw a large quantity of metal. (!withdraw name=Refined Metal&amount=200)
... Bot will tell you that they don't have the large quantity of item.
... ? ? ?

Expected behavior
I expect it to give me the item.
Screenshots and logs
https://i.cubityfir.st/uu7cLRw8R
https://i.cubityfir.st/ETbCTRECSU
https://i.cubityfir.st/X6RiYFbb74
Version:
3.0.2

I can't reproduce this

Seemed to be an issue with the SteamAPI at the time, it was happening to everyone at that point, and I haven't heard it mentioned since.
This can get closed.

Then just close it


Fix scope name in  azure-devops-wiki-connector.md

The scope "Microsoft Graph (read)" doesn't exists in the list. There is only "graph (read)" scope.

Thank you.


Metadata - select box uses hard-wired placeholder

Describe the issue
The select box in the KFP runtime configuration appears to be using a hard-wired placeholder text Create or select  ... https://github.com/elyra-ai/elyra/blob/master/packages/ui-components/src/DropDown.tsx#L88

To Reproduce
Steps to reproduce the behavior:

Create a Kubeflow Pipelines runtime configuration
Inspect the Kubeflow Pipelines engine select box

Expected behavior
Scenario 1: The select box input area displays the default value (if one is defined) if the user can only choose from a set of predefined options but cannot add an option ("read-only" drop down) https://github.com/elyra-ai/elyra/blob/master/elyra/metadata/schemas/kfp.json#L76
Scenario 2: The select box input area displays the uihints.placeholder value, if one is defined:
https://github.com/elyra-ai/elyra/blob/master/elyra/metadata/schemas/kfp.json#L71 (none is defined yet in this case) and it's an "editable drop down")
Deployment information
Describe what you've deployed and how:

Elyra version: 2.1/master
Installation source: from source

Are you thinking that the default value specified in the schema should be a placeholder or the actual value of the field?

Are you thinking that the default value specified in the schema should be a placeholder or the actual value of the field?

The actual/selected value.


Core configurator addon fails to install/upgrade

It currently fails with:
19-04-09 22:29:44 ERROR (MainThread) [hassio.addons.addon] Add-on core_configurator not supported on raspberrypi3 with ['armv7', 'armhf'] architecture.

You need to update to min 0.91.1

That's right, thanks!


Aggregate resource duration to step group and workflow level

Summary
Calculate and display total workflow resource duration.
Motivation
The implementation in #2219 gives great visibility to resource demand at individual pod level. Being able to see total resource usage of a workflow in the workflow list in the UI would make the usefulness a magnitude higher.
Proposal
The logic of the implementation should be pretty straightforward, sum up all Pod metrics for the workflow. It would be nice to have metrics on step group level as well, and that would work in the same fashion (summarize all pods executed in that step).

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Interested in submitting a PR for this?

Resource duration is already aggregate to workflow level. It would be great if you want to write the code to aggregate to DAG/step-group level.

So it exists but not displayed in the Web UI then?

It is displayed under the "summary" tab in the workflow view.


Fixes operation buttons on middleware deployment controller disappeared.

Fixes #12805

@miq-bot add_label providers/hawkular

@josejulio Could you please review ?

LGTM
@miq-bot assign @bronaghs

@miq-bot assign @dclarizio
CC @h-kataria @martinpovolny

@martinpovolny @h-kataria - bump

I thinks that except for the small issue I commented above this seems ok.

@martinpovolny I changed the .nil? for .present?, so if you don't have any other observation, this is ready for merge.

euwe? guess no, right?

@martinpovolny - ready to merge?


RSA host key validation through SSH tunnel seems to ignore ports

Description
I connect to databases using the same ssh tunnel host for the SSH tunnel for different database hosts. The IP of the ssh tunnel host stays the same. Each ssh tunnel host port connects to a different database host.
When I connect to a database a SSH Message is shown stating the RSA host key has changed. Only the ip of the ssh tunnel host is shown. The port isn't. After accepting the change, the record of this ip without a port postfix in the .ssh/known_hosts file has changed. I suspect that the port of de ssh tunnel host is ignored when validating the RSA host key of the database host.
DBeaver Version
<IP_ADDRESS>302171528 Community Edition
Operating System
Ubuntu 20.04.5
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Thank you for your report.


Docs: Transports

https://github.com/vis2k/Mirror/blob/master/docs/Transports/index.md
Need good description here of how transports work as components now.
Also need list item for Multiplex and a page for that.

done


upgrade: Show error if trying to upgrade current pseudo-port

$ sudo port upgrade outdated
Nothing to upgrade.

$ ls Portfile
ls: Portfile: No such file or directory
$ sudo port upgrade
Error: port upgrade needs at least one port name to upgrade

$ ls Portfile
Portfile
$ sudo port upgrade
Error: port upgrade does not work with the 'current' pseudo-port

Closes: https://trac.macports.org/ticket/15186

This is the same message we already use for other commands, such as port variants --index. I am not sure how to express that in a better way...

Closing, we seem to need more discussion to decide what the behavior should be.
See https://trac.macports.org/ticket/15186


Add component unit testing

https://blog.algolia.com/how-we-unit-test-react-components-using-expect-jsx/

This is proving harder than I though, especially with pages that are wrapped in Redux connects. Will postpone for now, might take another look at it later on.


Issue137 rays calc from plasma2 d use new gglos calc signal

While becnhmarking (Issue #137) Found a bug in _GG.LOS_calc_signal() for minimize = 'memory' and 'hybrid'.
=> This PR is necessary to update devel with last changes so Laura can branch for new Issue #138

Not passing tests

Passing test with last commit

Codecov Report

Merging #139 into devel will decrease coverage by 0.07%.
The diff coverage is 13.79%.

@@            Coverage Diff             @@
##            devel     #139      +/-   ##
==========================================
- Coverage   45.15%   45.07%   -0.08%
==========================================
  Files          70       70
  Lines       20333    20377      +44
==========================================
+ Hits         9181     9185       +4
- Misses      11152    11192      +40

Impacted Files
Coverage Δ

tofu/version.py
100% <ø> (ø)
:arrow_up:

tofu/data/_core.py
41.06% <14.28%> (-0.02%)
:arrow_down:

tofu/geom/_core.py
66.56% <18.51%> (-0.76%)
:arrow_down:

tofu/data/_comp.py
20.39% <3.84%> (-0.22%)
:arrow_down:

Continue to review full report at Codecov.

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


hub fork fails when GHE returns 404

When I try to fork a repo which is located on a GHE server, I get an error message "No decoder found for format  (text/html; charset=utf-8)". I've built hub from source from master, and its version reports git version 1.9.1 (repo hash is 456adff).
Updates from https://github.com/github/hub/issues/660#issuecomment-60888761: while the authentication problem was fixed in https://github.com/github/hub/pull/669, GHE returns 404 for hub fork:
master u=!po-test> HUB_VERBOSE=1 hub fork
> GET https://ghe.mycompany.net/api/v3/repos/nik/test
> Authorization: token [REDACTED]
< HTTP 404
{"message":"Not Found","documentation_url":"https://developer.github.com/v3"}
> POST https://ghe.mycompany.net/api/v3/repos/po/test/forks
> Authorization: token [REDACTED]
< HTTP 404
{"message":"Not Found","documentation_url":"https://developer.github.com/v3"}
master u=!po-test> git remote -v show
origin  git@ghe.mycompany.net:po/test.git (fetch)
origin  git@ghe.mycompany.net:po/test.git (push)
master u=!po-test> hub --version
git version 1.9.1
hub version 2.2.0-preview1

@nikreiman Is this still an issue. Is it possible that you've upgraded your Enterprise instance since then?

@mislav I'm not sure, I gave up on hub some time ago, and I also no longer work at the company with GHE.

Closing due to stale


Setting allowSwipeToPrev to false prevents slide from bouncing back

Normally, when you don't swipe all the way the slide bounces back (for example, in the basic demo).
When you set allowSwipeToPrev to false, the slide stops in it's partially slid position until it reaches the threshold and goes to the next slide. See this fiddle, which is the exact same code as the demo except with this option.
This is unexpected and unattractive behavior that did not occur in Swiper 2.7.6.

Fiddle is not working for me. Include swiper scripts and styles from CDN

OK, try this one.


CHANGES.md

Is there a place to look to see changes?

Typically I use GitHub's releases for changes. For this repo, 0.2 was a complete rewrite, but I haven't taken the time to document the differences between the current and previous version.
I'm not opposed to starting a CHANGES.md though.

What's new in 0.2.5?

CHANGES.:trollface:
What's new in 0.2.6?

What's new in 0.3.0??? 😽


HttpOnly, Secure, SameSite=strict cookies

Hello,
I was wondering if there was a reason that the token cookie isn't using some of the properties listed in the title. I noticed that httpOnly is used for the 'NONCE' cookie on line 271 of index.js but wasn't seeing it anywhere else. I'll keep digging around but if ya'll had some insight already that would be super helpful. Thank you.

I just added the secure, httpOnly, and sameSite flags to the TOKEN cookie and everything seems to be working fine

Great! If you'd like to make a PR, I'd be happy to review and merge it :)

Sounds good, however I've only vetted that the updated cookies work with GSuite's auth flow.


python311Packages.gto: 1.7.0 -> 1.7.1

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 297824 run on x86_64-linux 1

2 packages failed to build:

python312Packages.gto
python312Packages.gto.dist

12 packages built:

dvc (python311Packages.dvc)
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist (python311Packages.dvc.dist)
python311Packages.dvc-gdrive
python311Packages.dvc-gdrive.dist
python311Packages.dvc-hdfs
python311Packages.dvc-hdfs.dist
python311Packages.dvclive
python311Packages.dvclive.dist
python311Packages.gto
python311Packages.gto.dist

Result of nixpkgs-review pr 297824 run on x86_64-linux 1

14 packages built:

dvc (python311Packages.dvc)
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist (python311Packages.dvc.dist)
python311Packages.dvc-gdrive
python311Packages.dvc-gdrive.dist
python311Packages.dvc-hdfs
python311Packages.dvc-hdfs.dist
python311Packages.dvclive
python311Packages.dvclive.dist
python311Packages.gto
python311Packages.gto.dist
python312Packages.gto
python312Packages.gto.dist


Error when restoring model using an Embedding layer

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): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.12.0
Python version: 3.6
Bazel version (if compiling from source): NA
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: 10.0
GPU model and memory: RTX 2070 (8GB)

Describe the current behavior
Attempts to restore a frozen Keras model including an "Embedding" layer fail. The same problem appears when tf.graph_util.convert_variables_to_constants() and tf.import_graph_def() are used.
The error is:
Traceback (most recent call last):

  File "<ipython-input-11-95d358f9d586>", line 3, in <module>
    tf.import_graph_def(sg)

  File "/home/werner/.local/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)

  File "/home/werner/.local/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 431, in import_graph_def
    raise ValueError(str(e))

ValueError: Input 0 of node import/state/embedding_lookup was passed float from import/state/embeddings:0 incompatible with expected resource.

I tried:

Saving the model with tensorflow.saved_model.simple_save(), then running the freeze_graph script to generate a frozen model, then loading the frozen model again in C++ / Python. The same error.

convert_variables_to_constants(), and  tf.import_graph_def() the graph -> same error.

Code to reproduce the issue
Minimal model:
from tensorflow.keras.layers import Embedding, Dense, Input
from tensorflow.keras.models import Model
from tensorflow.keras import backend as K
import tensorflow as tf

sinput = Input(shape=(1,),  name='state_input', dtype='int32')
sinput_em = Embedding(output_dim=16, input_dim=100, input_length=1, name="state")(sinput)
model = Model(inputs=[sinput], outputs=[sinput_em])
model.compile(loss={'state': 'sparse_categorical_crossentropy' },   optimizer='adam')

Steps when save_model() is used:

### Save model
from tensorflow.saved_model import simple_save
simple_save(K.get_session(),
            "SavedModel/testembedding",
            inputs={"state_input": sinput },
            outputs={'state': sinput_em})
# then run the script:
#  ~/.local/bin/freeze_graph  --input_saved_model_dir=SavedModel/testembedding --output_graph=frozenemb.pb  --output_node_names=state/embedding_lookup/Identity_1 --clear_devices

# try to load again:
frozen_graph="frozenemb.pb"
with tf.gfile.GFile(frozen_graph, "rb") as f:
    restored_graph_def = tf.GraphDef()
    restored_graph_def.ParseFromString(f.read())

with tf.Graph().as_default() as graph:
    tf.import_graph_def(
        restored_graph_def,
        input_map=None,
        return_elements=None,
        name=""
        )

# -> error in import_graph_def()

OR steps when convert_variables_to_constants() is used:

def serialize_graph(model):
    g = tf.graph_util.convert_variables_to_constants(
        tf.keras.backend.get_session(),
        tf.keras.backend.get_session().graph.as_graph_def(),
        #[n.name for n in tf.keras.backend.get_session().graph.as_graph_def().node],
        [t.op.name for t in model.outputs]
    )
    return g

sg = serialize_graph(model)

newg = tf.Graph()
with newg.as_default():
   tf.import_graph_def(sg) # -> error

Other info / logs
Seems to be related to #21889 (the error message is different)

Can you try using the tf.keras.experimental.export? This handles Keras models more gracefully.

Hi, thanks for the suggestion!
I tried tf.keras.experimental.export, and the export itself works fine. However, the same error remains when I try to load the graph after freezing. Here is my code:
# define the model, the one used now has an additional softmax layer, then:
saved_to_path = tf.keras.experimental.export(
      model, 'SavedModel/testembedding')

# import works fine
# Load the saved keras model back.
model_prime = tf.keras.experimental.load_from_saved_model(saved_path_model)
model_prime.summary()

# freezing:
from tensorflow.python.tools import freeze_graph
from tensorflow.python.saved_model import tag_constants

input_saved_model_dir = saved_to_path
output_graph_filename = "SaveFiles/testemb.pb"
output_node_names = "out/Softmax"
input_binary = False
input_saver_def_path = False
restore_op_name = None
filename_tensor_name = None
clear_devices = False
input_meta_graph = False
checkpoint_path = None
input_graph_filename = None
saved_model_tags = tag_constants.SERVING

freeze_graph.freeze_graph(input_graph_filename, input_saver_def_path,
                            input_binary, checkpoint_path, output_node_names,
                              restore_op_name, filename_tensor_name,
                              output_graph_filename, clear_devices, "", "", "",
                              input_meta_graph, input_saved_model_dir,
                            saved_model_tags)

# load again, -> ERROR: ValueError: Input 0 of node state/embedding_lookup was passed float from state/embeddings:0 incompatible with expected resource.
frozen_graph="SaveFiles/testemb.pb"
with tf.gfile.GFile(frozen_graph, "rb") as f:
    restored_graph_def = tf.GraphDef()
    restored_graph_def.ParseFromString(f.read())

with tf.Graph().as_default() as graph:
    tf.import_graph_def(
        restored_graph_def,
        input_map=None,
        return_elements=None,
        name=""
        )

Any more ideas?

@werner-rammer , I am getting the same error, did you find a solution for this?

@disha3 , unfortunately not! Bad thing is that in the not-too-distant future I'll really need this ...

cebce4a should fix this issue. Please reopen if it's still an issue.

Thanks! When I use the changed  version of graph_util_impl.py (by copying the file to my local pyhton lib) it works!
Looks as if the mentioned commit above fixes the issue.
Thanks again!

Can you please merge this to master, it's been since April 18, the merge is tagged with 1.12.1 but it's not even in master, so we can't verify or even use graph freezing (if it works, I don't know if it does).
What happened to this PR?
Why is it only in this "testkevinbonz repo"?
This is a breaking bug that makes it impossible to freeze saved_models that contain embeddings, so much for the "keras by default", also, the bug breaks BERT for me

Thanks! When I use the changed version of graph_util_impl.py (by copying the file to my local pyhton lib) it works!
Looks as if the mentioned commit above fixes the issue.
Thanks again!

changed version of graph_util_impl.py？which vesion？ i have same problem need your help。

Hi,
well I simply copied from the github-repo:
https://github.com/tensorflow/tensorflow/blob/cebce4a2b5e33a06a1c92772008082895568f10a/tensorflow/python/tools/freeze_graph.py
and updated the file locally in the python lib (maybe just search for freeze_graph.py on your machine).

problem solved -- replace local graph_util_impl.py with https://github.com/tensorflow/tensorflow/blob/cebce4a2b5e33a06a1c92772008082895568f10a/tensorflow/python/framework/graph_util_impl.py


Optimized the code for offsets.py

This update includes key refactoring and optimizations for improved maintainability:
Constants for Base Offsets: Defined BASE_OFFSET and CHARACTER_OFFSET constants to avoid hardcoding and simplify future adjustments.
Refactored Character Offsets into Classes: Created a Character base class with common attributes (hp, mp, exp, etc.), with each character as a subclass to reduce duplication.
Added Missing Attributes: Added strength and magic attributes to all characters for consistency.
Organized Item Offsets: Grouped item offsets by type (healing, offensive, etc.) for easier reference and updating.

It's better than mine at least. I'll take it. Thanks
Sorry I didn't see this before October ended- I've given it a Hacktoberfest accepted label anyways.
The only possible issue I can see, without having my development environment on-hand right now to test: Let's separate the re-organized inventory items into a separate PR. I'll have to fix the OptionMenu code in the GUI to read/display them properly before merging. The rest looks like it shouldn't require any other code changes.


✨ Use cross-compilation to speed up core image build

Summary
This PR uses cross-compilation instead of emulation to speed up make kubestellar-image.
On my MacBook with an M1 Max chip it now takes 200+ seconds to build the image:
[+] Building 214.7s (145/145) FINISHED                                       docker-container:kubestellar

The time above is now mostly consumed by make innerbuild --- as it should be.
The time above doesn't include the extra time to push to quay.io. Pushing time varies from machine to machine. On my MacBook at home it takes roughly 200 secnods; on my dev Ubuntu on AWS it takes roughly 100 seconds.
Related issue(s)
#1499

/lgtm
/approve

Has anybody tested whether the cross-compilations actually produce images that work on a different platform than the build platform?  I find a suspicious line in core.Dockerfile:
COPY --from=builder /root/go/bin                                         /usr/local/bin/

I tested by doing a make kubestellar-image in a Linux VM on my Apple Silicon M2 Mac, then using the image from a Linux VM in the IBM Cloud.  Got a failure on yq.
mspreitz@mjs-dev7a:~$ docker create --name foo quay.io/kubestellar/kubestellar:git-bb1c09328-clean
Unable to find image 'quay.io/kubestellar/kubestellar:git-bb1c09328-clean' locally
git-bb1c09328-clean: Pulling from kubestellar/kubestellar
...
Digest: sha256:9fd4c9a740a0cecda6fef3083ebc00b2e5655de2534b9b399980887eb3a7b3cf
Status: Downloaded newer image for quay.io/kubestellar/kubestellar:git-bb1c09328-clean
1d958405dd008ad9bccdf9b8e8845e51b04cb9acccd5b50025dfeab35c80d058
mspreitz@mjs-dev7a:~$
mspreitz@mjs-dev7a:~$ docker cp foo:/usr/local/bin ulb
                               Successfully copied 57.3MB to /home/mspreitz/ulb
mspreitz@mjs-dev7a:~$
mspreitz@mjs-dev7a:~$ find ulb
ulb
ulb/kubectl
ulb/yq
mspreitz@mjs-dev7a:~$
mspreitz@mjs-dev7a:~$ file ulb/yq
ulb/yq: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=18f653ba6b10f7ea0a6cc9fc5816475ee52df46f, for GNU/Linux 3.7.0, with debug_info, not stripped
mspreitz@mjs-dev7a:~$
mspreitz@mjs-dev7a:~$ ulb/yq -h
-bash: ulb/yq: cannot execute binary file: Exec format error


Dispatcher bugfix

Codecov Report

Merging #215 (df78dd9) into master (3ed897c) will increase coverage by 0.02%.
The diff coverage is 25.00%.

@@            Coverage Diff             @@
##           master     #215      +/-   ##
==========================================
+ Coverage   43.91%   43.93%   +0.02%
==========================================
  Files          32       32
  Lines        4582     4582
==========================================
+ Hits         2012     2013       +1
+ Misses       2570     2569       -1

Impacted Files
Coverage Δ

assemblyline_core/dispatching/dispatcher.py
77.94% <25.00%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

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


Should "nvm install" persist a node version across terminal sessions?

This is a general question: Should nvm install --lts (or whatever version) persist the npm and node versions across terminal sessions?

Nope - nvm is per-shell. New shells will start with the default version auto-used; the first version installed becomes the default. You can nvm unalias default or nvm alias default whatever to set a new default.

Thanks for the context! Would it be useful to note this in the readme around the nvm install documentation? I'm glad to try putting together a PR.

Sure, maybe under https://github.com/creationix/nvm#usage ?


Flask secret

Move flask secret to env variables for safety

Implemented in dev, will be merged to master with next release tag