NPE when creating a Lucine index

OrientDB Version, operating system, or hardware.

v2.0 SNAPSHOT[ ] - .18[ ] .17[ ] .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.1 SNAPSHOT[ ] - .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.2 SNAPSHOT[ ] - .9[X] .rc1[ ] .beta2[ ] .beta1[ ]

Operating System

[X] Linux
[X] MacOSX
[ ] Windows
[ ] Other Unix
[ ] Other, name?

Expected behavior and actual behaviour
Null pointer exceptions when creating a Lucine index in the log:
ERROR c.o.o.c.s.i.l.p.OLocalPaginatedStorage [lt-dispatcher-9] - $ANSI{green {db=wdb}} Error while flushing index via index engine of class OLuceneIndexEngineDelegate.
java.lang.NullPointerException: null
        at com.orientechnologies.lucene.engine.OLuceneIndexEngineDelegate.flush(OLuceneIndexEngineDelegate.java:69)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.synch(OAbstractPaginatedStorage.java:2428)
        at com.orientechnologies.orient.core.index.OIndexManagerShared.createIndex(OIndexManagerShared.java:197)
        at com.orientechnologies.orient.core.index.OIndexManagerProxy.createIndex(OIndexManagerProxy.java:87)
        at com.erp.db.WorkspaceSearch.check(WorkspaceSearch.scala:84)

Nevertheless, the index is working fine after this.
Probably there should be simply a null check in OLuceneIndexEngineDelegate.flush, because it's there in few other methods.
Steps to reproduce the problem
val itp = OClass.INDEX_TYPE.FULLTEXT.toString
val factory: OIndexFactory = OIndexes.getFactory(itp, null)
db.getMetadata.getIndexManager.createIndex(name, itp,
        new OSimpleKeyIndexDefinition(factory.getLastVersion, OType.STRING), null, null, null,
        OLuceneIndexFactory.LUCENE_ALGORITHM)

I wasn't able to repoduce the problem with your code (Scala, I guess).
But, as i understand, your suggestion is to check for null on the flush method:
@Override
  public void flush() {
    delegate.flush();
  }

to
@Override
  public void flush() {
    if (delegate != null)
    delegate.flush();
  }

I will check the lifecycle before add the line;  I don't like defensive programming

I was unable to replicate the problem with the code snippet provided (is it Scala?) using either 2.2.9 and 2.2.10

@robfrank I found that it's not always reproducible. If I create a fresh database it's working fine but with the database which I have currently it always gives the exception.
I do not think that  if (delegate != null) is a good solution but there few similar checks in the class already. I guess it should never happen and the exception means that something can be wrong with the index lifecycle. It can happen only if flush is called before init.

yes, you're right. We will investigate on the lifecycle.

Hi, we reviewed the life cycle, dropped the delegate/delegator and improved other parts of lucene support. All this fixes will be in the next 2.2.14 release. Fell free to reopen the issue if something goes wrong.


android can't process uint32 asset_id

our testnet with uint32  assetId:<PHONE_NUMBER> .
and android receive and process as  as negative int  which value "-2147482136" ;
android code or log

this because java  have no unit32 .
java convert  uint32<PHONE_NUMBER> to int32, and the convert overflow, and got a negative value -2147482136.
int signedIntAssetid=-2147482136

//unsignedAssetid will be<PHONE_NUMBER>
long unsignedAssetid = signedIntAssetid & 0xffffffffL;


register in HIFIs Cloud Service portfolio

Following the V2.0 update we should register PIDA as a service in the HIFIs cloud https://helmholtz.cloud/services/.
For this we need

a short description
a longer description of the service with required metadata

I think in the future we should integrate something more specific towards semantic artefacts as the "target group".
Thanks for the start - this will be good to refine with the above!


[1.4.0] Update certificate revocation information

Description:
Update the open-banking.xml configuration page to add the following configs under certificate management.
https://docs.google.com/document/d/1px5i2eaABenRyR_E7z8nF4SoZb4OLdHwgIbLf84c-28/edit
Update the Certificate Revocation Validation section in the security pages for both UK Belin with the newly added configuration sections.

Thanks for the information provided. Added the information to the 1.3.0 docs as per the offline discussion. Please review https://docs.google.com/document/d/1qWBiJ4WnDAZ-vHsH4F64Ayxd-PLIWTAr_MDREmfBd3k/edit.
Appreciate any suggestions for the doc updates.

Added information to the 1.4.0 docs as per the offline discussion. Please review the following pages:

WUM Updates page: https://docs.wso2.com/display/OB140/WUM+Updates
API Security for Berlin:https://docs.wso2.com/display/OB140/API+Security+for+Berlin (In an excerpt)
API Security for UK:https://docs.wso2.com/display/OB140/API+Security+for+UK (In an excerpt)

Once confirmed, we can make them public.

This was reviewed by @kasundharmadasa. Therefore, closing this issue.


Same IDs

The outer div, the form and the input  are all sharing the same id. Is this by intention?
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L104
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L113
I was also wondering about the double writing of on:focus and on:clear:
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L118
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L122
But I feel like this is by intention and I just didn't get the concept behind it, so maybe this issue can just be closed.

The outer div, the form and the input are all sharing the same id. Is this by intention?
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L104
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L113

Hmm. Yes, it seems like Search should not have the same id.

I was also wondering about the double writing of on:focus and on:clear:
https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L118

https://github.com/metonym/svelte-typeahead/blob/9c2eb8e949b9b43dc1b4c7d9eba7025856210dd4/src/Typeahead.svelte#L122
But I feel like this is by intention and I just didn't get the concept behind it, so maybe this issue can just be closed.

This is required to forward the events to the Search component.


Unhandled promise rejection --> Cannot read properties of null (reading 'classList')

Describe the bug
When accessing the Dashboard containing Bubble-Card views/cards, the event bus is flooded with this and similar messages:
`event_type: call_service
data:
domain: system_log
service: write
service_data:
logger: frontend.js.modern.202409060
message: >-
Unhandled promise rejection from Chrome WebView 128.0.6613.127 on Android
14
  TypeError: Cannot read properties of null (reading 'classList')

  M (/hacsfiles/Bubble-Card/bubble-card.js:1:61291)

  J.updateBubbleCard (/hacsfiles/Bubble-Card/bubble-card.js:1:82622)

  set hass (/hacsfiles/Bubble-Card/bubble-card.js:1:82541)

  changedProps.has (src/panels/lovelace/cards/hui-card.ts:164:33)

  update (src/reactive-element.ts:1329:13)

  performUpdate (src/reactive-element.ts:1261:16)

  scheduleUpdate (src/reactive-element.ts:1233:24)
level: debug

origin: LOCAL
time_fired: "2024-09-14T03:41:03.514171+00:00"
context:
id: 01J7Q9XCMTK8B2KAFNGPDW2WQ8
parent_id: null
user_id: 7dadcc12bad942b1b22abffa30dccbfd
`
This occurs in Safari for Mac, Chrome for Mac, iOS Companion, and Android Companion.
To Reproduce
Steps to reproduce the behavior:

Install Bubble-Card
load a Dashboard View with Bubble-Card

Expected behavior
I would expect that the null object is ignored.  (?)  But I am not sure.  What is "normal"?  The only reason why I found this, is because I was working on a total Dashboard overhaul and redesign.  I found it to become a bit sluggish to load and perform some custom:state-switch card transitions.  One of my cards, when used as a custom:button-card template inside a Bubble-Card Popup, wouldn't update the CSS colours (ie: coloured RGB light, selected colour is used for the Text colour, and img_cell background behind the icon).  When the entire yaml is in the card, without using a template, the card and colours all work just fine.
It was during the troubleshooting for this, that I was listening to call_service on the events bus and saw this overwhelming recurrence of these Unhandled Promise Rejection messages.  I tested further and determined they occur in any browser, and any platform.
Having had recently upgraded HACS to 2.1 from 1.x (and there was a breaking change mentioning the url /hacsfiles/ not being used in 2.0), I uninstalled Bubble Card and fully shut down and restarted my HA.  The Unhandled Promises also vanished.  (But obviously the Bubble-Cards didn't work.)
I re-installed Bubble-Card in the new HACS and the same issue persists.
Screenshots
YAML
If applicable, add any relevant YAML code.
Your code here

Informations (please complete the following information):

iOS Companion version 2024.8.1 (iPhone 14 Pro Max iOS 17.6.1)
Android Companion 2024.7.3-full (Samsung Galaxy S23 Ultra, Android 14 & OneUI 6.1)
iMac Safari 17.6 and Chrome 128.0.6613.114
Bubble Card version: 2.2.4
Home Assistant:
Core  2024.9.1
Supervisor  2024.09.1
Operating System 13.1
Frontend  20240906.0

Additional context
As I was reviewing this issue again, after typing out this report, I realized that the error is slightly different for each browser type:
Android:
message: >-       Unhandled promise rejection from Chrome WebView 128.0.6613.127 on Android 14       TypeError: Cannot read properties of null (reading 'classList')       M (/hacsfiles/Bubble-Card/bubble-card.js:1:61291)       J.updateBubbleCard (/hacsfiles/Bubble-Card/bubble-card.js:1:82622)       set hass (/hacsfiles/Bubble-Card/bubble-card.js:1:82541)       changedProps.has (src/panels/lovelace/cards/hui-card.ts:164:33)       update (src/reactive-element.ts:1329:13)       performUpdate (src/reactive-element.ts:1261:16)       scheduleUpdate (src/reactive-element.ts:1233:24)
Mac Safari:
message: |-       Unhandled promise rejection from Safari 17.6 on Mac OS 10.15.7       TypeError: null is not an object (evaluating 'e.popUp.classList')       /hacsfiles/Bubble-Card/bubble-card.js:1:61290       M (/hacsfiles/Bubble-Card/bubble-card.js:1:63096)       updateBubbleCard (/hacsfiles/Bubble-Card/bubble-card.js:1:82623)       hass (/hacsfiles/Bubble-Card/bubble-card.js:1:82557)       changedProps.has (src/panels/lovelace/cards/hui-card.ts:164:26)       s (src/reactive-element.ts:1329:20)       scheduleUpdate (src/reactive-element.ts:1233:24)
iOS:
message: |-       Unhandled promise rejection from WebKit 605.1.15 on iOS 17.6.1       TypeError: null is not an object (evaluating 'e.popUp.classList')       /hacsfiles/Bubble-Card/bubble-card.js:1:61290       M (/hacsfiles/Bubble-Card/bubble-card.js:1:63096)       updateBubbleCard (/hacsfiles/Bubble-Card/bubble-card.js:1:82623)       hass (/hacsfiles/Bubble-Card/bubble-card.js:1:82557)       changedProps.has (src/panels/lovelace/cards/hui-card.ts:164:26)       s (src/reactive-element.ts:1329:20)       scheduleUpdate (src/reactive-element.ts:1233:24)
Thank you! 🍻

Reproduced on Chrome 129.0.6668.70 Windows
hundreds of Uncaught (in promise) TypeError: Cannot read properties of null (reading 'classList')

Yes, seems it is related to popups-only. Whenever I try to do anything with popup I am bombed with promise rejections.

That would explain why you have this error, the pop-ups have to be inside of a vertical stack.

All of my pop-ups are inside vertical-stack cards.
They have been all along, and I was still getting all of those promise rejections.

And are they working? I would love to fix this issue but can you try to send me more detailed steps to reproduce this?

Yes, works but elements are misaligned in popup, maybe I am doing something wrong.
About this popup rejection issue, maybe there is possibility to make a condition check if parent is stack or not, and then show an error. The problem with promise rejection is that it chokes the browser.

This is something that is supposed to be done already, but I guess that this is not working 😅


API Methods to override logout_accross_devices

Issue
https://github.com/silverstripe/silverstripe-session-manager/issues/46
Related
https://github.com/silverstripe/silverstripe-session-manager/pull/59

If we add @internal what's the point where we remove the @internal? When we tag 1.0.0 of session-manager, which likely to happen a fair bit beyond when we tag 4.8.0 of framework?


EasyEngine should set redis.conf parameters

By default, redis uses a maxmemory of 0 (unlimited) and maxmemory-policy "noeviction" which is bad behavior:
noeviction: return errors when the memory limit was reached and the client is trying to execute commands that could result in more memory to be used (most write commands, but DEL and a few more exceptions).
Instead, why not set the maxmemory based on the available system memory (a switch statement in Python could do) and set maxmemory-policy to something recommended like:
allkeys-lru: evict keys trying to remove the less recently used (LRU) keys first, in order to make space for the new data added.

With fresh installation of redis server with EasyEngine,
maxmemory will be set to 20% of system memory
maxmemory-policy will be set to volatile-lru

volatile-lru: evict keys trying to remove the less recently used (LRU) keys first, but only among keys that have an expire set, in order to make space for the new data added.
Did you integrate expiry into your Nginx helper plugin? If not, the cache is going to fill and no data will be evicted.


⚠ Processors has degraded performance

In ce5bd4f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 42 ms

Resolved: Processors performance has improved in e485f87.


Developers: "Closed Opportunities" nav to profiles and issues broken

Same issue as #8 but on the closed table.
Text reads 'Done' should be "Closed Opportunities" in larger font

made the same (h2) but not sure it will be satisfactory.  the entire markup in the dev version is completely different than what is in prod for some reason

All good


How to disable/destroy the magnifier?

I want to create a UI for toggling the magnify functionality off and on.  Turning it on is easy enough, since that's what the magnify function does.  What's the best way to turn it off?
Thanks!

@arnoldbird try to $('img').unwrap()

I will add a destroy() public method when time permits, but in the meantime you can do as @arnoldbird suggests. Thanks for the input.


Add Meteor scorer

Sample usage:
compare-mt example/ted.ref.eng example/ted.sys1.eng example/ted.sys2.eng --compare_scores 'score_type=meteor,meteor_directory={meteor_directory},options=-l en -norm'
Using sufficient statistics to calculate the METEOR score is a lot harder than I expected, would figure that out later.

Still a little slow but acceptable.
Sample usage:
compare-mt example/ted.ref.eng example/ted.sys1.eng example/ted.sys2.eng --compare_scores 'score_type=meteor,bootstrap=1000,meteor_directory={meteor_directory},options=-l en -norm'

Has this been tested to match the standard way of running METEOR? If so, I think it's ready to merge!

Yes!


[stable/minecraft] Add spec.selector.matchLabels.app for app/v1 compat

What this PR does / why we need it:
@billimek Commit 8c4f4e0161 introduced the change that utilizes app/v1 API for the Deployment (yay!). For me this required spec.selector.matchLabels.app to be set and match what is defined in template.metadata.labels.app. I'm running latest k3s 0.10.0, K8s 1.16 with Helm v3.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/ok-to-test

Sorry, did that from my other laptop so the user was not correct when I signed it. Should be all set now. Thanks @billimek!

/lgtm


Window sensors do not report open_close state after 2.9.0 (says entity is undefined)

Type of problem

[ ] I have a question.
[ ] A feature does not work as expected.
[x] I found a bug (see error log below).

Version
2.9.0
Detailed description
Window sensor say that the entity that represents the state is not available. Seems like here is a mistake:
https://github.com/Taraman17/hass-homee/blob/8baa5480b61b7fbdc79bfdfc42c5a2a99b38675d/custom_components/homee/binary_sensor.py#L53
Should be AttributeType.OPEN_CLOSE. If you agree, I will submit a PR. I did local change and it works now.

Closed with #55


This example no longer works - AuthorizationFailed.

Following this article 1:1 results in this error:
Deployment failed. Correlation ID: c9c2c000-3d5e-493a-bb74-904e6688d63f. RoleAssignmentReconciler retry timed out: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailed" Message="The client 'xxx' with object id 'yyy' does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/zzz/resourceGroups/MC_rg_staging_kube_staging-cluster_westeurope/providers/Microsoft.Authorization/roleAssignments/***' or the scope is invalid. If access was recently granted, please refresh your credentials."

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

ID: 719f4010-810f-b3c7-d807-222b39b20e20
Version Independent ID: 82ac8cfa-b0a2-c77a-408a-ab9aa2b6bce4
Content: Configure kubenet networking in Azure Kubernetes Service (AKS)
Content Source: articles/aks/configure-kubenet.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@rudolfdobias Thanks for the question! We are investigating and will update you shortly.

@rudolfdobias I ran through the example but was not able to repro the issue you are seeing.
I would suggest trying to run through the doc again and seeing if you are still having issues. Another problem could be with your AAD. Depending on your permission levels you might not have the correct permissions needed to complete the tutorial. What is your role in your AD?

I have come across the same issue while deploying the AKS cluster using ARM template.
Is it important which account tries to run ARM template? What are the permissions in AD required to deploy AKS cluster?

@rudolfdobias I ran through the example but was not able to repro the issue you are seeing.
I would suggest trying to run through the doc again and seeing if you are still having issues. Another problem could be with your AAD. Depending on your permission levels you might not have the correct permissions needed to complete the tutorial. What is your role in your AD?

My role is Global Administrator.
I tried everything ten times, even with your default values. It always waits for ~5 minutes and then fails.
After couple of hours I tried to assign Owner role over my whole subscription to AzureContainerService (represented as objectId "yyy" in posted error) and then it worked. The service clearly did not have rights to contribute to the MC_*resource_group which is created by the aks deployment.
I dont know why it did not work but I'm pretty sure I didnt manipulate with roles of AzureContainerService before.
There should be some rights-checking preflight in this deployment - or - some redundant role assignment step for this case. It is really frustrating when even the copied tutorial does not work.

@rudolfdobias the only thing I can really think of is if the command in the doc did not work as expected
az role assignment create --assignee  --scope $VNET_ID --role Contributor
I have ran through this doc a couple of times now and don't get an error. That being said, I have done other AKS related items so it's possible my permissions were already configured correctly.
I am also following the issue linked by @cwebbtw
If you like, I can enable you for a support request to have this looked into further. You can reach me at<EMAIL_ADDRESS>and simply provide me with your Azure SubscriptoinID and link to this issue.
besides that, I cannot repro your issue and don't see any direct issues with this specific doc. I will continue to follow the other issue open on the AKS repo directly for any updates.

@MicahMcKittrick-MSFT  I have exactly the same issue. I use Terraform for AKS deployment and during terraform apply I get following error:
Code="CreateRoleAssignmentError" Message="RoleAssignmentReconciler retry timed out: autorest/azure: Service returned an error. Status=403 Code=\"AuthorizationFailed\" Message=\"The client 'xxx' with object id 'yyy does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/zzz/resourceGroups/MC_mas-azure-20190724_k8s_westeurope/providers/Microsoft.Authorization/roleAssignments/qqq' or the scope is invalid. If access was recently granted, please refresh your credentials.\""


Elements in simple array are ordered wrong

Hi,
I'm reading this array:
% bpls xgc.mesh.bp
  int32_t  /cell_set[0]/node_connect_list  {539867, 3}

using these calls:
engine = open(io, "xgc.mesh.bp", mode_read)

var_node_connect_list = inquire_variable(io, "/cell_set[0]/node_connect_list")
node_connect_list = Array{Int32}(undef, 539867, 3)
get(engine, var_node_connect_list, node_connect_list)

The resulting array is
539867×3 Matrix{Int32}:
     1   88287  242715
     0   90729  243700
    43   88722  243652

and the elements are ordered different than in the bp file:
% bpls -d xgc.mesh.bp "*connect_list"
  int32_t  nd_connect_list                 {539867, 3}
    (     0,0)    1 0 43 0 1 2
    (     2,0)    43 0 42 0 2 3
    (     4,0)    0 41 42 4 0 3

That is, with bpls the first row is 1 0 43 and in Julia the first row is 1 88287 242715

The bpls tool is written in C++ which uses row-major array ordering. Julia, like Fortran, uses column-major ordering. This transposes array sizes. That is, while bpls says the array has size (539867, 3), it actually has size (3, 539867) in Julia. If you call ADIOS2.shape for your variable then this should also be the size that is returned. (What ADIOS2 calls "shape" is called "size" in Julia.)
In other words, your example looks as if you are reading the variable into an array with the wrong size.
See also item 20 in this Advice.

Thanks Eric, the dimensions need to be re-ordered in the definition of the array:
node_connect_list = Array{Int32}(undef, 3, 539867)


Problem when using jcodec to generate a video with several images

I'm using the last 0.2.5 version of jcodec to generate a video with several images. I'm doing this:
AWTSequenceEncoder encoder = AWTSequenceEncoder.createSequenceEncoder(file, 25);
Then for each image:
encoder.encodeImage(image);
The when I'm finished:
encoder.finish();
This return a corresponding video file, without any exception, and I see correctly the first image in VLC, for example, but it seems that the duration of the video is 0. What did I do wrong? I did not use an older version, maybe it's just a problem with 0.2.5?

Closing, I did not see that I recreated my AWTSequenceEncoder  before each time I added an image


Why use new() constraint in the Enumeration class?

The implementaion is a little weird:
1、There's no public paramterless constructor, so how does the new() constraint work?
2、I don't see any necessary to new T() if just to get a static value. Why not use info.GetValue(null) directly?
3、The List method of the CarType doesn’t scale well, what if we need to add a new option?

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

ID: d118f070-8743-e905-2d08-dc725a4e8b5f
Version Independent ID: 4a95bf3d-1028-7c9e-5b7c-0733fc6addaa
Content: Using Enumeration classes instead of enum types
Content Source: docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/enumeration-classes-over-enum-types.md
Product: dotnet
GitHub Login: @CESARDELATORRE
Microsoft Alias: wiwagn

@stg609 I agree with you on points 1 and 2, so I created Pull Requests https://github.com/dotnet/docs/pull/6967 and https://github.com/dotnet-architecture/eShopOnContainers/pull/704 to fix that.
I'm not sure about point 3, so I'll let someone else answer that.

Hi @stg609
The book has been updated to current codebase.
You will not see it published until the PR #8201 goes through, though.
We'll keep discussion on https://github.com/dotnet-architecture/eShopOnContainers/pull/704.


add an option to disable auto-creation of static routes for dpinger

[x] Redmine Issue: https://redmine.pfsense.org/issues/12687
[x] Ready for review

Summary
Users may NOT want static routes added for every gateway monitor IP.
This has been discussed before, and I've been running for years with this tiny patch. No kittens have died. 🙀
The original code was written probably over a decade ago, in the era of apinger (anyone remember that?)
apinger did not bind to an interface, so the static routes were needed, but I don't think they are anymore now that we've got dpinger. There are a lot of footguns when adding routes to anycast IPs (which is the suggested best-practice) since they tend to be DNS servers. I would bet somewhere ~50% of all installs just use <IP_ADDRESS> etc. So your DNS gets hosed if one of your gateways goes down in Multiwan, defeating the entire purpose.
Changes
This PR adds a checkbox to System → Advanced → Miscellaneous to disable the auto-added static routes:

Evidence

Directly from the code /etc/inc/gwlb.inc:

From the docs:

Related discussions

Changing the monitor IP of a gateway caused all traffic to that IP to go over said gateway, despite not being default - bug? r/PFSENSE
Gateway monitor IPs are being put into the routing table
Setting host as Monitored IP makes it unreachable? | Netgate Forum
Bug #2514: static routes for monitor IPs should be removed - pfSense - pfSense bugtracker
Bug #12608: WireGuard tunnels monitored by dpinger causing system to stop routing completely in certain situations - pfSense Packages - pfSense bugtracker

Testing

Tested on a 5100 running 2.4.x and 2.5.x, as well as a 6100 running pfS+ 22.01 rc.
If anyone would like to test this on their system, install the System Patches package and add commit ad2dd2c1debaf2281eaed685ad8464c027c3b0b1.

The original code was written probably over a decade ago, in the era of apinger (anyone remember that?)

Yes, I do.  :slightly_smiling_face:

@dennypage Do you have any thoughts on this PR?

Why make this a global option instead of a per-gateway option? If users want to do this selectively, it makes more sense to allow them to disable the behavior on a case-by-case basis rather than one single master on/off that forces them to add manual routes for the cases they do want to have routes.
A gateway option to add the static routes that defaults to enabled would be a lot more flexible, IMO.

@jim-p Thanks for looking. I thought about that but IMO if they want static routes, shouldn't they be adding those on the proper Static Routes page?

The only use case I could come up with for having it be a per-gateway setting is a PPPoE connection. Because I don't have any to test with, I wasn't sure if the binding was required there for dpinger to do the right thing. Anyway, I'm happy to make the setting per gateway if everyone agrees that's the right thing to do.

It's not that they don't "belong" there necessarily, but if there is an automatic way to do it, it puts an undue burden on the user for it to be "all or nothing" in cases like this. The more gateways they have, the more of an impact this option would have if they wanted to disable the route for just one gateway out of many.
There could still be a global option but a fine-grained way to control it is more user friendly.

Ok, I'll do it.

@jim-p I added a per-gateway setting. So this change can be effected using either the original global override or per-gateway now

Is this ok now? Any other changes you want to see here @jim-p ? Thanks

Might be a while before I can look it over in detail, we're pretty busy with the 22.01/2.6.0 release testing and such at the moment, but I'll check it out when I have some spare cycles.

Ok got it, I was naively hoping it could squeak into 22.01 😊

Ah, nope, we closed the window on new features a while ago, far too close to get anything else in but significant regressions at this point. But the next release is not too far off (22.05).

I've been running 22.05 dev builds now at home (6100) for a week or so. Hoping when the dust from 22.01/2.6 settles this can be considered for a merge!

@jim-p Any issues with this? I don't know when the cutoff is for 22.05 but it seems like it's going to be soon. Could you let me know if you need any more changes?

@jim-p Ok, I think I got all of them with this last commit. Hope you don't mind that I spelled "addresses" with a lowercase "a". Seemed like the right thing to do.

@jim-p Sorry for the last minute message here, but as I was working on the v2 of this patch, I realized a critical error slipped through.
The global dpinger_dont_add_static_routes config flag never gets properly set in config.xml with the currently merged version of this patch, because of a missing piece of code in /usr/local/pfSense/include/www/system_advanced_misc.inc:
if ($post['dpinger_dont_add_static_routes'] == "yes") {
    $config['system']['dpinger_dont_add_static_routes'] = true;
} else {
    unset($config['system']['dpinger_dont_add_static_routes']);
}

Since this is already merged I don't think I can push more changes to it, right? I have the corrected code at #4590 but not sure how to get that pulled in.


[Feature Request] Support for MangaDex v5 API

Why/User Benefit/User Problem
After a recent hack of MangaDex, the developers of that platform expedited their plans to move to a new version of the site. As of May 5th, 2021, they have opened the v5 version of the API for public beta testing. This will be the only way to interact with MangaDex moving forward.
What/Requirements
Neko needs to migrate from its current v4 API implementation to the new v5 implementation.

I don't mean to bug you but how's it going? Is there anything we (the users) can do to help?

I don't mean to bug you but how's it going? Is there anything we (the users) can do to help?

It's done just didn't have time yesterday to debug android studio not wanting to sign the apk.  It should be out today


Hovering over text doesn't give hints, but clicking does

This is in Microsoft Edge on Windows 10.
https://user-images.githubusercontent.com/43425812/192708136-22c885de-f794-4fe4-9f33-ff349a4ecc46.mp4

Hey @hamirmahal, the instructions are outdated here and should be updated. We changed from hover to click for hints a little while back.


One more requirement for the AKS screenshot

though it is said in the text that the region must be eastus or canada, it might be handy to (for the time being) also put a red circle on the screenshot (kubernetes-create-cluster-2.png) as well.

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

ID: a28fe6ff-a564-a867-2f1d-91197e74f22b
Version Independent ID: 2119d269-d3e2-3e8d-4753-e9dfe8a313a0
Content: Create a Kubernetes development environment in the cloud - Azure Dev Spaces
Content Source: articles/dev-spaces/quickstart-netcore-visualstudio.md
Service: azure-dev-spaces
Product: unspecified
GitHub Login: @ghogen
Microsoft Alias: ghogen

#in-progress


BugFix 3.3:  Correct RocksDB NowNano() for overflow

This is same fix submitted to 3.4 and devel branches.
WinEnvIO::NowNanos() typically overflows its int64_t due to the way code "preserves" the nanoseconds.  This code actually preserves the accuracy.  The code includes a condition statement that will support future machines where clock frequency is sub-nanosecond.

see https://github.com/arangodb/arangodb/pull/8187 for reference


failed to evaluate array

You have consider only slice. Following test fails
ar2 := [5]int{500, 100, 10, 20, 80}
test2 := In(ar2, 800, "int")
if test2 != false {
	t.Errorf("Test Failed: %v sequence and %v key inputted, %v expected, received: %v", ar2, 800, false, test2)
}

I can consider this the new feature of my package. Thanks a lot for your suggestion 👍 .  You can also send PR. It will be gladly appreciated.

I have implement this in my own way. You can take a look. If you wish I can send pr.
https://github.com/aerokite/goin

Reflect is costly...

Yes. It is costly if you use this method frequently.
But when user calls In(ar interface{}, value interface{}, typ string), he may pass array too. In that case, seq, ok := ar.([]int) will not work.

hmmm..ok send PR.

Update implementation. This update reduce 812 ns / op to 122 ns / op

Thanks

Fixed by pr: #3


Requirement version resolution fix

Use importlib.metadata's distribution to extract package versions
closes: https://github.com/iterative/mlem/issues/688

I forgot about this for a few weeks but came back to this today and fixed the tests, with intention of merging this and releasing to fix  #688

Seems that CI is broken (not related to changes here, see example in this test PR)
Will need to look at it separately and come back to this afterwards


Hab suite baselines move gym

Motivation and Context
In order to separate habitat from habitat_baselines, we move the gym environments to habitat. This enables users to quickly start using the habitat environments without having to install the habitat_baselines trainers.
How Has This Been Tested
Tested that training starts for a few tasks and that
import os

# Video rendering utility.
from habitat_sim.utils import viz_utils as vut

# Quiet the Habitat simulator logging
os.environ["MAGNUM_LOG"] ="quiet"
os.environ["HABITAT_SIM_LOG"] ="quiet"

# If the import block below fails due to an error like"'PIL.TiffTags' has no attribute
# 'IFD'", then restart the Colab runtime instance and rerun this cell and the previous cell.

# The ONLY two lines you need to add to start importing Habitat 2.0 Gym environments.
import gym

# flake8: noqa
import habitat.utils.gym_definitions

for name in [
        "HabitatGymPick-v0",
        "HabitatGymPlace-v0",
        "HabitatGymCloseCab-v0",
        "HabitatGymCloseFridge-v0",
        "HabitatGymOpenCab-v0",
        "HabitatGymOpenFridge-v0",
        "HabitatGymNavToObj-v0",
        "HabitatGymReachState-v0",
        # "HabitatGymTidyHouse-v0",
        # "HabitatGymPrepareGroceries-v0",
        # "HabitatGymSetTable-v0",
        # "HabitatGymNavPick-v0",
        # "HabitatGymNavPickNavPlace-v0",
    ]:
    env = gym.make(name)
    video_file_path ="data/example_interact.mp4"
    video_writer = vut.get_fast_video_writer(video_file_path, fps=30)
    done = False
    env.reset()
    while not done:
        obs, reward, done, info = env.step(env.action_space.sample())
        video_writer.append_data(env.render("rgb_array"))
    video_writer.close()
    if vut.is_notebook():
        vut.display_video(video_file_path)
    env.close()

properly behaves.
Types of changes

Docs change / refactoring / dependency upgrade
Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

This will be quite valuable, thank you!
Minor note (as discussed with @ASzot) -- we should not keep "Gym" in the name of the tasks.

Thanks, this looks great. I will give it a more detailed test once we have this PR https://github.com/facebookresearch/habitat-lab/pull/837 merged into main. But after that PR merges, this one should be ready to merge as well.


Add support for whitelisting networks.

This pull request splits out changes to support a top-level ACL type, and separated host-based and net-based ACLs.

Last minute breaking change broke the tests, apparently.


⚠ Bofrost.at has degraded performance

In 411b566, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2073 ms

Resolved: Bofrost.at performance has improved in 021b9bd.


Order by related fields

Example: a User has many Posts. Should be possible to order the Posts by User name.
Maybe:
query {
  allPosts(orderByRelated: [user_name_ASC]) {
    id
  }
}

related to this issue with Prisma1: https://github.com/prisma/prisma/issues/95

Duplicate of #108.


Concraceptive Info Page

Template for methods and Contraceptives + Implant screen

Create an abstracted template for methods and contraceptives based on the information displayed in the Implant page
Use template to create Implant screen

Todo:

Add down arrow + quiz icon glued to the screen
Add blurring filter to elements below the down arrow + quiz

For the tab bar, it seems like there's a margin on the right and left side. Let's extend this to be the full width

Looks great. Awesome work

Thank you for the extensive review and patience!!!!!


ng-change callback not being called.

The ng-change callback on a select menu is not being called. The bug is visible even in the live example of the ng-change directive documentation:
https://docs.angularjs.org/api/ng/directive/ngChange
When I click the "Confirmed" checkbox, the "counter" variable isn't being incremented:

ngChange only fires when the input is changed. In the example, only the first input has ng-change, the second on doesn't. So the counter only increments when you click the first checkbox. So I think everything works as expected.

If you are having a specific problem with select + ngChange, please provide a demo of the problem - maybe it's somethign different

Yeah, I had ng-change="console.log('foo')" which does not work, but when I called a scope function it did. The other problem was that I didn't know that ng-model had to be defined in order for the callback to work.


Fix CI for MacOS

osxfuse has removed as it has been succeeded by macfuse

CI runs for all MacOS versions

load_macfuse is not used as is not required now

Add timeout for mnt::test::mount_umount to check infinity loop

143ac80 can pass CI. I tested it at https://github.com/dev-jwel/fuser/actions/runs/2499357942. But it failed for MacOS CI. This is intended result.


fixed lingering python bugs after recent refactor (arose when ncsims > 0 and when wantfig = 1)

parts of the python pipeline had not been tested during the recent large-scale refactor. there were lingering bugs that only arose when I tried to run the noise ceiling monte carlo simulation procedure.
these did not manifest earlier because:

ncsims was set to 0 in perform_gsn.py to exclude the monte carlo sims, so when running the rsa noise ceiling procedure there were whole chunks of code that executed beyond the scope of example01
wantfig was also disabled in perform_gsn.py, same story
we didn't extensively test the pipeline previously, beyond ensuring that the python and matlab outputs matched for the example test case.

the bugs are mostly of the sort that typically arise when porting from matlab to python, e.g. using the wrong value for "axis =" since numpy squeezes out dimensions of size 1 automatically, but matlab does not.
I attempted to fix the bugs and tested the code in the following ways:

I tested that the output of running perform_gsn on the example01 data is exactly the same as before (actually, I believe all the changes were in parts of the code that are unused during a default call to perform_gsn... otherwise we would have caught these bugs sooner)
I tested that the rsa_noise_ceiling part of the library runs as a standalone function call, plots the figure correctly, etc.
I tried to compare the python and matlab outputs when calling rsa_noise_ceiling.py with default inputs on the example01 data, but there are many instances of random sampling in both pipelines so it's hard to test for numeric equivalence beyond ensuring that the results are in the same ballpark (they are...)

I read through and looked at the changes.  Looks like mostly bookkeeping changes and seem good to me.

I will wait for @gretatuckute to review, then will incorporate any feedback and merge

@jacob-prince Thanks! I looked over your edits, they look reasonable to me -- the call to rsa_noise_ceiling() works for me.


chore: More split changes

Additional split changes from import MI PR

Summary by CodeRabbit

Refactor

Improved clarity and control flow for handling unpublished actions.
Enhanced import logic for action collections with better reusability and clarity.
Method names and invocations have been corrected for consistency.
Integrated UpdateLayoutService to streamline updating page layouts during application imports.
Added methods for bulk validation and insertion of actions to optimize action processing.

Bug Fixes

Fixed method naming inconsistencies to prevent potential invocation errors.

New Features

Implemented new checks to ensure action collections are correctly identified in the current application during import.

/ok-to-test

/ok-to-test<EMAIL_ADDRESS>@tag.ImportExport, @tag.Sanity, @tag.Templates, @tag.Fork"


Assign a default  TemplateEngineLanguageGenerator to Generator

Fixes #5102
Description
Originally, while user wants to apply LG template feature in AdaptiveDialog, he/she should add a specific LG resource in Generator property.
It does not align with the current design pattern. It's good to have the data binding work ootb, and by adding a default empty TemplateEngine, AdaptiveDialog can leverage the capability of LG engine to do data binding (though lg file is empty). That's also kind of naturally aligned with current design

@chrimc62, could you please review this PR? Thank you.

@boydc2014, could you please review this.


doesn't compile after recent rocksdb update

Remove PlainTable's feature store_index_in_file (#4914) introduced yesterday breaks compilation of python-rocksdb:
rocksdb/_rocksdb.cpp:13542:25: error: 'struct rocksdb::PlainTableOptions' has no member named 'store_index_in_file'
__pyx_v_table_options.store_index_in_file = __pyx_t_8;

fix with version 0.7.0


Allow 2 Rhea if they have source = skos:broadMatch

Hi @balhoff

We should be able to use the same Rhea in two different terms, if they are broadMatch
One term should be allowed more than 1 RHEA, but only 1 exactMatch

Can you fix the check ?
(note to self: I will be able to add the same Rhea to the ABC-type sodium transporter activity term in #21796)

@pgaudet you can give it a try now.

Thanks @balhoff !


Class for api calls

This PR extracts the Octokit API Calls into a separate class.
The change allows refactoring the tests in a subsequent PR which will enable upgrading to node.js 18 (now blocked because nock does not support node.js 18).
The changes will be merged as tagged version together with the refactored tests.
Follow up

refactor tests and release tagged version
update to node.js v18 and release tagged version

@jansiwy Sorry, made the missing members private as well.


Incorrect path to remote module when using Next.js basePath feature

Describe the bug
When the project that exposes remote modules uses the basePath feature, the consumer application won't use the remote domain, but the local one.
For example:

Producer running on http://localhost:3010 exposing a HelloWorld component and using a base path /example
Consumer running on http://localhost:3000

The consumer will try to load the HelloWorld component from

http://localhost:3000/example/_next/static/chunks/__federation_expose_HelloWorld.9bdd1047e6e492ea.js

Instead of

http://localhost:3010/example/_next/static/chunks/__federation_expose_HelloWorld.9bdd1047e6e492ea.js

Reproduction
https://github.com/MontealegreLuis/nextjs-module-federation-base-url-issue
Used Package Manager
npm
System Info
System:
    OS: macOS 13.6.9
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 3.54 GB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm
    pnpm: 8.15.1 - ~/.nvm/versions/node/v20.11.0/bin/pnpm
  Browsers:
    Chrome: 130.0.6723.117
    Safari: 17.5

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

File issue with vercel.


🔗 Add "Open in Colab" badges in community tutorials page

What does this PR do?
cc @burtenshaw
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a GitHub issue? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks! can you approve?


Add nushell completions for bend

Create a script that adds nushell completions for bend
To use the script install nushell >= 0.93 and source it from your config.nu

Thank you very much for your contribution!
But I'd rather keep utils in a separate repository.
Do you want to put this in your own github account and I'll link to it in the documentation?

I also commited this script in the official nushell/nu_scripts repo, this may be a more appropriate place.
Here is the link https://github.com/nushell/nu_scripts/tree/main/custom-completions/bend
Feel free to add it to the docs

I'll close the PR then. I have to figure out the best way of listing the existing tooling for Bend devs

For now it's here https://github.com/HigherOrderCO/Bend/issues/452. Later we'll move it somewhere with more visibility


Add LIKE operator support

Adds LIKE operator support.
Implementation is based on CockroachDB implementation.
Updates #52.

Codecov Report

Merging #241 into master will decrease coverage by 0.02%.
The diff coverage is 59.34%.

@@            Coverage Diff             @@
##           master     #241      +/-   ##
==========================================
- Coverage   61.34%   61.31%   -0.03%
==========================================
  Files          68       69       +1
  Lines        6327     6405      +78
==========================================
+ Hits         3881     3927      +46
- Misses       1933     1964      +31
- Partials      513      514       +1

Impacted Files
Coverage Δ

sql/parser/expr.go
77.13% <0.00%> (-1.44%)
:arrow_down:

sql/scanner/token.go
22.22% <0.00%> (ø)

sql/query/expr/comparison.go
25.19% <50.00%> (-1.24%)
:arrow_down:

sql/query/expr/like.go
65.71% <65.71%> (ø)

sql/query/expr/expr.go
33.33% <77.77%> (+14.81%)
:arrow_up:

engine/memoryengine/store.go
91.96% <0.00%> (-1.79%)
: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 dfeafd1...95e675d. Read the comment docs.

@tdakkota can you please mark outdated discussions as resolved?

@tdakkota Could you give us some input on what's missing?

@asdine I think it’s ready for review, otherwise the PR would be still a draft.

@tdakkota marked this pull request as ready for review 7 days ago


tf2_geometry_msgs

Hi, I've tried to launch kf_hungarian_tracker node, but got error
ModuleNotFoundError: No module named 'tf2_geometry_msgs'

I tried to install it on Foxy (from debians and from source), but seems like this python script is not installed yet
https://github.com/ros2/geometry2/blob/ros2/tf2_geometry_msgs/src/tf2_geometry_msgs/tf2_geometry_msgs.py
I did some sys.append(path) stuff but then
ModuleNotFoundError: No module named 'PyKDL'

I tried to install it from pip, but failed. Seems like this is a broader problem:
https://github.com/ros2/geometry2/blob/d65b7eb996dcc81bfd3389153b25b9d56eed0e8c/tf2_geometry_msgs/CMakeLists.txt#L21-L28
I see no issue about this problem, so how you deal with it?
Regards,

This project as-is is incomplete and not meant for general consumption yet. I can't offer any support on this - though I will say that this issue did come up before and I don't recall off hand how to solve it, but my foxy binaries have worked with this fine.

This project as-is is incomplete and not meant for general consumption yet. I can't offer any support on this - though I will say that this issue did come up before and I don't recall off hand how to solve it, but my foxy binaries have worked with this fine.

I've found those two ros answers:

transform-pose-in-tf2

ros2-import-tf2_geometry_msgs

Although there for eloquent I followed the links to tf2_geometry_msgs issues, ale this seems still not resolved.
For now, I commented out the tf2_geometry_msgs import


refactor: change package names to match published packages

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[x] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[x] No

Checklist

[x] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[x] I have added a convincing reason for adding this feature, if necessary

Other information

It was discussed in https://discord.com/channels/616186924390023171/1096095302957682698/1096095302957682698
This is mainly for:

consistency
improving the github release names to match the npm/cratesio packages
make it easier for contributors to guess the name when writing a change file without having to look for it in .changes/config.json

Ah ok, lots of conflicts to fix :D

I will update the PR shotly

@lucasfernog We have to revert this, it just broke the released cli for everyone.


VictoryStyleInterface breakage

When the PatternFly charts are built with the latest Victory chart packages, the koku-ui build breaks with due to our use of VictoryStyleInterface. Apparently, Victory changed the properties and objects associated with this interface, so our current usage is no longer valid.
Fixes https://github.com/project-koku/koku-ui/issues/838

Codecov Report

Merging #839 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #839   +/-   ##
======================================
  Coverage    74.2%   74.2%
======================================
  Files         210     210
  Lines        3714    3714
  Branches      649     649
======================================
  Hits         2756    2756
  Misses        866     866
  Partials       92      92

Impacted Files
Coverage Δ

...istoricalTrendChart/historicalTrendChart.styles.ts
100% <ø> (ø)
:arrow_up:

...rc/components/charts/costChart/costChart.styles.ts
100% <ø> (ø)
:arrow_up:

src/components/charts/commonChart/chart.styles.ts
100% <ø> (ø)
:arrow_up:

.../components/charts/trendChart/trendChart.styles.ts
100% <ø> (ø)
:arrow_up:

.../historicalCostChart/historicalCostChart.styles.ts
100% <ø> (ø)
:arrow_up:

...istoricalUsageChart/historicalUsageChart.styles.ts
100% <ø> (ø)
:arrow_up:

.../components/charts/usageChart/usageChart.styles.ts
100% <ø> (ø)
: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 21c7caf...201cd1c. Read the comment docs.


Mocha not passing done

It appears the mocha test files aren't passing the "done" callback parameter in the frame work. Example below:
package.json
"dependencies": {
    "wdio-mocha-framework": "^0.3.1",
    "wdio-selenium-standalone-service": "0.0.5",
    "webdriverio": "^4.0.9"
}

sample.conf.js
exports.config = {
    specs: [
        './tests/login.js'
    ],
    maxInstances: 10,
    capabilities: [{
       maxInstances: 1,
        browserName: 'chrome'
    }],
    sync:true,
    services: ['selenium-standalone'],
    reporters: ['spec'],
    mochaOpts: {
        ui: 'bdd'
    }
}

tests/login.js
var assert      = require('assert');

describe('sample login page', function() {

    it('Should load the correct page', function () {
        browser.url('https://www.sample.com');
        assert.equal(browser.getTitle(), 'Sample Title');
    });

    it('Log in to sample.com', function() {
        browser
            .setValue('input#Username', 'sample')
            .setValue('input#Password', 'sample')
            .submitForm('form[name=sample]')
            .waitForVisible('input[name=somethingOnNextPage]', 10000);

        assert.equal(browser.getTitle(), 'Sample Title');

    });

    it('Send slack notification if error', function(done) {

        //webhook(channel, message, cb)
        slack_api.webhook('@sampleuser', 'Sample Message', function(err, resp){
            if (err) return assert(false, 'Slack notification failed: '+err);
            done();
        });
    });
});

But the slack notification (and several other attempted variants with page interaction) error out with the following:
TypeError: done is not a function
    at Context.<anonymous> (/Sample/Path/App_Repo/tests/login.js:26:13)
    at Context.executeSync (/Sample/Path/App_Repo/node_modules/wdio-sync/build/index.js:620:12)
    at /Sample/Path/App_Repo/node_modules/wdio-sync/build/index.js:814:34

Running these tests directly with Mocha runs fine, so something is happening in the wdio import of the test files. I should note I've tried setting the sample.conf.js sync value to false as well, but this just means that it finishes without waiting for anything and the mocha tests still don't have a defined done function. Similar results setting the async-only: true mochaOpts in the sample.conf.js

@SuperSephy we don't pass the callback variable through because all commands are running synchronously anyway so you don't need to handle async with done. In cases where you want to use 3rd party libraries I would advise you to either wrap your 3rd party command call in a webdriverio custom command (see http://webdriver.io/guide/usage/customcommands.html bottom) or run the test block async and return a promise like
it("...", function async () {
    return new Promise(function(resolve, reject) {
        slack_api.webhook('@sampleuser', 'Sample Message', function(err, resp){
            if (err) return reject(err);
            resolve();
        });
    });
});

Using a callback is not really a good way to handle async as it won't come with proper stack traces.

Appreciate the response, I'll try that. Thank you.

I have faced the same issue when upgrading from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>I had to change my tests from:
    it('should show the account debts when we navigate to the route', (done) => {
      global.browser
        .url(accountDetailDebtsUrl)
        .getCssProperty('[data-test="AccountDetailTabDebts"]', 'color')
        .then((color) => {
          assert.strictEqual(color.value, 'rgba(255,255,255,1)');
        })
        .call(done);
    });

to

    it('should show the account debts when we navigate to the route', () => {
      return global.browser
        .url(accountDetailDebtsUrl)
        .getCssProperty('[data-test="AccountDetailTabDebts"]', 'color')
        .then((color) => {
          assert.strictEqual(color.value, 'rgba(255,255,255,1)');
        });
    });

@oliviertassinari well help you to debug your test way better 😉

@christian-bromann I'm pointing it out, in case someone if having the same issue.
At least now mocha also get notified when the promise fail.
I'm wondering how he is handling it. I guess you are right, that's more information he can take advantage of.


[Feature] Optimize CI DAG to reduce running time and provide better visualization

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Currently, we have two jobs - lint and build and embed lots of steps inside the job.
I notice some of the steps can be run in parallel and it would help reduce total test running time.

However, I am not sure if there's block to share artifacts like actions, binary or container images. I create this issue to check whether there's opportunity to make the improvement.
Use case

Reduce test running time
Build decent DAG graph for better visualization

Related issues
No response
Are you willing to submit a PR?
/cc @wilsonwang371

[ ] Yes I am willing to submit a PR!

#215 help reduce the running time to  9mins (build, test, run) + 6mins (compatibility test).

We need further work to break down steps in first job.  @wilsonwang371

Current running time is ok and we can close this issue


Allow a PATCH request to restart at an offset of 0

It would be useful to allow a PATCH request to start at an offset of 0. In particular, iOS's upload mechanism for closed/background apps aggressively retries uploads and will not call your application if there is a wire error, so I would like to use the concatenation extension in order to pre-chunk the data and send it to the background uploader.

It would be useful to allow a PATCH request to start at an offset of 0.

Can you elaborate on why creating a new upload instance is not acceptable for you in this case?

In particular, iOS's upload mechanism for closed/background apps aggressively retries uploads and will not call your application if there is a wire error, so I would like to use the concatenation extension in order to pre-chunk the data and send it to the background uploader.

Are you referring to an actual issue in TUSKit's implementation here or a more general problem?

The way that TUSKit has background uploads implemented, they will not continue long after the app closes.  The only way that you can continue background uploads if the app is closed for an extended period of time is to use the NSURLSession framework, which retries on wire failures. (See here.)
Here is an example of the problem I am encountering implementing TUS on that framework:

User is offline and a file needs to be uploaded.  A file creation request is placed on the NSURLSession and the user closes the application.  However, the upload task is remembered by the OS, and when it eventually succeeds, the application is restarted and the call is returned to the application.
The application puts a PATCH request for the full file on the wire.
The PATCH requests fails halfway through because the user's connection drops.  iOS does not restart the application, but tries the PATCH request again, even when it receives an error code from the server, because that error code causes the connection to be dropped (and is thus a wire failure).

The only way around this that I can see is to break up the file into chunks, which are either uploaded sequentially to a single resource (resetting the offset as appropriate) or to partial files that are reset to zero each time.  Therefore, having a way to reset offsets would allow us to implement truly background uploads (e.g. your app is not running) on iOS, just like DropBox or other services do.
You can see the effect I describe in my example by running the background example app in our fork (there are some bugs in the example, so you can only select one file to upload each time you run it).  If you set up tusd to limit the read to 1,000,000 bytes, then the connection is dropped which should result in a second PATCH request.  However, iOS never makes the callback to the application because from iOS's perspective, the request has not succeeded and wire failures are ignored.

Thank you for this detailed description and I do understand your struggles but are there no alternatives to using NSURLSession? Do the Long-Running Tasks (https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH4-SW4) not fit your needs? If not, I apologize since I am not an iOS developer for myself. Maybe @MMasterson could help with these questions?

The long-running tasks you've pointed to mostly just wake the application up when something has changed.  You can't just run an arbitrary process in the background, sadly.  You can request more time to complete an upload, but you can't expect it to be an extended period (this is what the latest TUSKit version does).

Could alternative libraries, such as AFNetworking, help? For example, https://github.com/AFNetworking/AFNetworking#creating-an-upload-task

@cjhenck @Acconut AFNetworkign would require a little bit of a rewrite, but is do-able if if this will solve the problem @cjhenck's having using their background upload functionality - but it might be the just give us the same problem. I'll have to do a little more digging on coming up with a perfect solution.
The idea of a "locker" has been brewing up in my mind where the upload is cached with its progress if it loses connection and continues when connection is found again.
@cjhenck how big are the files you are uploading? Generally - I'd like to create a scenario that is close to yours

The files may be up to 70 or 80mb in size, but the problem is that we have a number of users in developing markets who may not have very good access to the internet, but I still want to support their uploads.  E.g. I want them to be able to hit "upload" in the app when they have no internet, and to have that upload complete even if they go in and out of network connection.  Because you cannot keep the app running indefinitely in the background, that means letting the OS (NSURLSessions) handle the uploads.
AFNetworking will still rely on the NSURLSessions, so will still have the same problems (or not work at all if your app is closed, since it is set up to use callbacks).

Not a problem, will be working with Network Limiter in the entirety of solving the problem
Instead of patching the entire protocol, how do you feel about a queue type situation - where it caches and holds the upload data and progress and continues it when the app is back in foreground/with internet access?

Thanks for pointing this out and making tus better @cjhenck! I think I understand what you're saying. I'm going to summarize in my own words so you can help spot mistakes in my version.
On iOS you want to outsource uploading to the OS, so it can happen in the background. There is no other way to let the uploading continue if the application goes to sleep (or whatever is the correct term here). Outsourcing uploads/requests to iOS, eliminates however the use of a real tus implementation there, as you cannot run your own code in these parts.
So the workaround is to split the 70mb file up in say 10x 7mb chunks with tus, and then basically have iOS do 10 non-tus uploads (they may look like tus uploads, but they are not resumable, only retryable, and this, iOS will fiercely attempt). For this reason, with every retry, the server needs to allow going back in time, discarding what it had already received, alloing the client (iOS) to retry its 7mb chunk from the beginning.
I wonder, since we're not doing actual tus uploads, if the protocol is the place to accomodate that. This may sound like I made a call in my mind already but I honestly wonder.
I would be very happy to have background uploading on iOS feature-wise. The use case you describe seems like that covers a large portion of mobile upload behavior, and it addresses the main problem why tus was created.
I could also see scenarios however where this could lead to confusion, bugs, corrupt files, and these uploads are not truly resumable. I guess I wanted to make super double extra sure there is no way to do actual resumable uploads in the background.
For this to make it in the protocol, I personally feel it would be helpful if we could also think of other scenarios where a Reset would be useful. I could still be tipped both ways. What do you think @Acconut @bhstahl?

I agree that we probably shouldn't modify the protocol just for one use case, but if we can think of other suitable worthwhile reasons, then I could be swayed.
I guess the real question is, if the client has complete control, unlike NSURLSessions, are there cases for resetting an upload instead of creating a new one?

@kvz your description is absolutely correct.  At the moment I can't think of alternative uses, but I do have a revised "flow" for iOS that would make use of the full protocol while the app is running (though the code would be more complicated):

While app is running in the foreground, create a partial upload and use the tus protocol normally on that partial upload.  PATCHing, resuming, etc.
When the app is transitioning into the background, chunk the upload into 10 (etc.) files and send POST requests to the system.  The app will be re-launched when those POST requests complete.
When the POST requests complete, send the new PATCH requests for those partial uploads which will be aggressively retried until they succeed
When they succeed, send the POST to finalize the files.

I agree with everyone that this is a bit of a hack, but I cannot think of any other way to support rapid background uploads in iOS, though there are workarounds for occasional uploading that I have added to the TUSKit issue and which may be sufficient for most use cases.

I guess there may even be a better approach to solving @cjhenck issues on iOS. In the past some people suggested to allow sending the first chunk for the upload already in the initial POST request (when using the Creation extension), mainly for reducing the overhead of a second attempt but since then it hasn't made its way into the protocol specification.
Anyway, the way this solution is meant to work is following:

Split your upload into multiple really small chunks
For each chunk you create a new NSURLSession which sends a POST request to create a new partial upload and include the entire chunks' data (Expect: 100-continue can be very handy in this case to allow early failures)

If the request fails, the OS will retry the upload creation request which causes an entirely new partial upload to be created
If the request succeeds, the OS will notify you and you can add it to a list of succeeds partial uploads

Once all partial uploads have succeeds, you send a new POST request for the final upload which simply concatenates all previous, partial uploads. The you are done.

What do you think?

I think this is an excellent solution. It solves the exact same problem and with fewer requests.

Love this solution @Acconut! <3 Should we explicitly update the protocol to accommodate this in a 1.1 version you think?

Should we explicitly update the protocol to accommodate this in a 1.1 version you think?

Yes, this is a good opportunity to ship the 1.1 release alongside with some other discussion which are still open, e.g. #79 and #81

@cjhenck @kvz @bhstahl @MMasterson I, finally (sorry), got the time to start adding this feature to the specification. I would be pleased to hear your feedback: #88

I also plan to add this to tusd as soon as possible.

Closing this in favor of #88.


fix: ProseCodeCopyButton, ProseCode, tokens improvements

I wonder why do we have lead and typography.lead tokens? Seems like they duplicating each other @Tahul


Searching with a referenced field

Hi there
First off, thanks a lot for this awesome library!
We have a case where we would like to search all records that match field A (database A) and field B (database B). The databases are connected via a regular relationship in Filemaker.
Receiving those records from a result works fine, searching just doesn't seem to work and returns:
BlueFeather\EloquentFileMaker\Exceptions\FileMakerDataApiException: Parameter is invalid in file C:\dev\myapplication\vendor\bluefeather\eloquent-filemaker\src\Services\FileMakerConnection.php on line 139
This is the query we're using:

$entries = FM::table($layoutName)
->where('fieldA', 'valueA')
->where('DatabaseB::fieldB', '1');
->get();

The field "fieldB" is a textfield but has a 1 or some other text inside.

I did some testing on this and it appears to be working correctly. Please make sure that your data api user has the correct permissions in your other file, and that you're using the correct table occurrence name for your related field.
It should be entered exactly as the field name is shown in the "display data from" field in the inspector. Your example uses "DatabaseB" as the first part of the field name, but it should be a related TO name, not a database name.

Here's an example query of mine which queries to an external data source and works fine:
$users = User::where('name', 'david')->where('user_JSFMUSER::name', 'joe')->get();

Ah! I think you're using the raw FM facade instead of a model. Maybe that's the difference. I'll do some additional testing on there.
I definitely recommend using a model instead of the FM Facade, though. Can you give that a try?

Ah, actually, I tested with the FM Facade and it worked as well. Here's my test:
$users = FM::layout('users')->where('name', 'david')->where('user_JSFMUSER::name', 'joe')->get();
This sounds like you might have a TO or permission issue.

I can't use an FM Facade at the moment because I have over 200 fields that I have to query and adding them all manually would take quite some time I think.

You are currently using the 'FM' Facade right now FM::xx. I recommend against doing this. You would probably be better served using an eloquent model. I'm not sure what you mean about having to add fields manually.

As for permissions: If I only query for a single value I can see all the correct values also from the related databases.
Do I need to add the same API user inside the other database as well to make queries?.

If you can see the fields you probably have the correct permissions.

Can you try to make the 'user_JSFMUSER::name" field a type text and query for the value 1 to see if it's not the field but the value?

That worked fine for me. This might be a validation thing on your field.

It seems that the dot inside the fieldname is the problem. Underlines seem to work but the dot seems to throw it off.
Escaping or url_encoding the dot didn't work either.

Dots in keys are a "known issue" with the Data API, but are also considered a bad idea in general when dealing with JSON and databases in general due to the number of issues they cause, including issues like this. I don't think Claris is going to update this any time soon as using dots is considered a bad idea specifically for this reason, so I think the best solution is to rename your TO to not include a dot in the name.
https://community.claris.com/en/s/question/0D50H00007irC2QSAU/data-api-error-when-dots-in-field-names

Thanks a lot for your help and the explanation! I have renamed the field and now it works fine!


What would it take to replace tweenState with Animated?

The drawer being such a central part of many apps seems to be a key place that should be using Animated.

This is doable and desirable. We would need to replace tweenHandler with something like getAnimationStyle:
<Drawer
  getAnimationStyles={(animatedRatio) => {
    return {
      main: {
        opacity: Animated.multiply(animatedRatio, .5)
      }
    }
  }}
//...

Under the hood we would simply replace the two calls to tween with Animated.spring. Also updatePosition would need updating similarly.

open to suggestions on the exact api

That would be really great to do the switch!

in updatePosition does only tweenHandler need to be replaced? What exactly would we replace it with? a function that returns a call to interpolate? ...ah, I see what you're doing--I never needed to use the tweenHandler prop so I knew nothing about it until now--you're returning interpolations for the various components that could be animated, each of which has multiple style properties that can be animated.
...So basically, if one were to fork this today and get this done (and didn't use tweenHandler) you just need tween() to properly respond to the parameters here:
tween({
      start: this._left,
      end: this.getOpenLeft(),
      duration: this.props.tweenDuration,
      easingType: this.props.tweenEasing,
      onFrame: (tweenValue) => {
        this._left = tweenValue
        this.updatePosition()
      },
      onEnd: () => {
        this._activeTween = null
        this._open = true
        this._prevLeft = this._left
        this.adjustForCaptureGestures()
        this.props.onOpen()
        this.clearInteractionHandle()
      }
    })

Looking at it, everything seems easily replaceable with Animated.spring or Animated.timing except onFrame, which I have no idea at the moment what it is.
...Otherwise, my only thoughts are regarding the API. Obviously your initial idea is to replicate the old API so it's backwards compatible. I guess the opposing view is a simpler API. My initial thought was simply returning a single interpolation that handles the main horizontal movement of the drawer. Perhaps that's an easier option baked in. I.e. if you return a function, it's a single interpolation, but if you return a config object, well, the old API where you can control everything will kick in. I don't know all the ins and outs, but something like that where a simpler use case is targeted with the goal of it getting more usage is what I'm envisioning.

....so something like this right?:
...
function tween() {
this.animation.addListener(this.props.onFrame);
Animated.timing(this.animation, {
toValue: this.getOpenLeft(),
duration: this.props.tweenDuration,
easing: this.props.tweenEasing,
}).start(() => {
this._activeTween = null
this._open = true
this._prevLeft = this._left
this.adjustForCaptureGestures()
this.props.onOpen()
this.animation.removeAllListeners()
});
}

@rt2zz - What are your plans/timing for switching to Animated?

@rgoldiez I highly desire to, but have not had the time. I see a future for react-native-drawer if we can get this ported to Animated. In the meantime if the performance of Animated is needed I might suggest https://github.com/react-native-community/react-native-side-menu.
The functionality is more limited, but it is a great project and the upside is animated 👍
Open to PR's here to add Animated or maintainer help as well! Also open to collaborating with the side-menu folks.

This makes even more sense now that react-native is focusing on powering more and more of Animated with native code.
See point 2 @ https://github.com/facebook/react-native/wiki/Roadmap
As happy as I am (using it in almost all my projects) with react-native-drawer it doesn't have that 100% native feel.

@rt2zz - I'll get to work on a PR that moves away from tween and to Animated!

@rgoldiez nice! let me know how I can support. If some api changes are needed to simplify, I am all ears, I am open to making this a 2.0 with breaking changes

@rt2zz - I've got Animated wired in instead of tween.  Seems to be working in the simulator (still have yet to install on a device to test).  I'm trying to get some time to test with the different drawer types (static, overlay, displace) - they are all working with a simple scenario.
One question: I personally have been using tweenHandler={Drawer.tweenPresets.parallax} in my app..... and I have Animated doing parallax with type='static' but it's by hardwiring parallax for now.  Any thoughts on how to handle the parallax option?  Should it be a new prop?

@rt2zz - Opened.

@rt2zz - Updated the PR: https://github.com/root-two/react-native-drawer/pull/244
Still work to be done and testing to do.  For example, there's a weird bug when useNativeDriver={true} if you try to open the drawer shortly after the app initially loads.  Can't figure this one out.


method is needed to refresh existing access token using refresh_token

added method to refresh access tokens,
also cleaned up api,
and made option to return result,
and added Oauth2 tests to not reduce overall coverage
very similar to #108 and #121

Coverage increased (+0.6%) to 91.052% when pulling 8ec5a1deddae7c4555fd53a8b78104008277f97e on jstacoder:feature/refresh_tokens into b25449332e0f8bd80479d5e8aca9fb2b3f6b3350 on sidecars:master.

Coverage increased (+0.6%) to 91.052% when pulling 8ec5a1deddae7c4555fd53a8b78104008277f97e on jstacoder:feature/refresh_tokens into b25449332e0f8bd80479d5e8aca9fb2b3f6b3350 on sidecars:master.

Coverage increased (+0.6%) to 91.052% when pulling 8ec5a1deddae7c4555fd53a8b78104008277f97e on jstacoder:feature/refresh_tokens into b25449332e0f8bd80479d5e8aca9fb2b3f6b3350 on sidecars:master.

@jstacoder Could you provide a usage example? Might I suggest updating README.md in this PR?

@bendavis78  good idea, added.

tests are now failing due to pycparser no longer officially (they never really did) supporting py2.6


Cookbook question

In the section about futures.
this line var fetchJSON = fetch.chain(parseJSON); it throws an error because chain doesn't yet exist since fetch hasn't been called.
I used R.chain as a work around since it dispatches to fantasy-land chain as well as R.map since i get errors with rest of the code.
Is that a good solution and should the docs be updated? or do you guys recommend something else?
cheers,
david

Not familiar with the cookbook but it seems like fetch needs an argument which should be a URL. So try fetch(url).chain(parseJSON)

right but at the bottom you will see getNewTitles('/products.json').fork(console.error, console.log); products.json being the url.. if you visit my above link it may help

At first glance the cookbook seems incorrect. Fetch is a function right? So it does not have a property called chain. You could do this:
var getNewTitles = R.compose(
   R.map(R.prop('title')), // In the cookbook this was R.map('title') which looks incorrect
   R.map(R.filter(R.prop('new'))),
   R.map(R.prop('items')),
   R.chain(parseJSON),
   fetch
);
getNewTitles('/products.json').fork(console.error, console.log);

This should work unless there are other errors I missed. And of course you need a server that responds to the url.....

yeah thats exactly what i did :+1: i was just making sure i wasnt missing anything

Feel free to update the example from the cookbook, @davidchase.


Support Wildcards

This solves #3
Changes

Replacing occurances of "*" in the secret name to instead be "x"
An issue occured where the hashing would produce backslash characters - now replacing occurances of backslash characters with an "x"

Benefits

Cached certificates such as:

---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: selfsigned-issuer
spec:
  selfSigned: {}
---
apiVersion: cache.weavelab.xyz/v1alpha1
kind: CachedCertificate
metadata:
  name: wildcard-cert
spec:
  issuerRef:
    name: selfsigned-issuer
    kind: ClusterIssuer
  dnsNames:
    - "*.example.com"

Work without problems! 🎉

Thanks for the submission! I'm sorry this change fell though for me. I get a lot of github emails so most of them get lost. My only issue with this solution is that it can enable conflicts for cases where both a wildcard and an x host exist. Ex:
x.site.com and *.site.com` will end up with the same upstream cert name and have unexpected behavior. PR #6 uses hashes to ensure that conflicts like this are not possible in newer versions.

Thanks for the submission! I'm sorry this change fell though for me. I get a lot of github emails so most of them get lost. My only issue with this solution is that it can enable conflicts for cases where both a wildcard and an x host exist. Ex:
x.site.com and *.site.com` will end up with the same upstream cert name and have unexpected behavior. PR #6 uses hashes to ensure that conflicts like this are not possible in newer versions.

Solid, thanks for the changes!


[WIP] [W4 #880] Allow update batch size

Commit 1: [tensor] Allow updating batch size after allocation
Allow updating batch size after memory allocation for tensor.
If previously allocated memory is first set to null and then allocated again
with the new batch size. As tensors share memory, the previously allocated
might not be freed when set to null and can lead to high peak memory usage.
It is recommended to free the memory for all tensors whose batch size is changing
first, update batch size and then allocate again to keep the peak memory requirement
at check.
As the memory is allowed to be re-allocated, the src_tensor for a tensor is not
reset anymore after memory allocation. When reallocating, the src_tensor is used
again in order to maintain the memory management done once duing initialization.
This patch also sets appropriate interface in Var_Grad and Weight classes as well.
Commit 2: [model] Allow updating batch size after allocation
Allow updating the batch size after memory allocation has been done
This allows changing the batch size for training anytime.
Further, it allows changing the batch size from training to inference and back
which is demonstrated with MNIST example in nnstreamer element of nntrainer.
The model file starts with batch size of 32, which is changed to 1 for inference.
Also added another unittest in cpp-api which sets different batch size in different
stages of the model, after initialization, after compile, after train and trains multiple times
with different batch sizes to validate that the training works.
Resolve #914
Self evaluation:

Build test: [x]Passed [ ]Failed [ ]Skipped
Run test: [x]Passed [ ]Failed [ ]Skipped

Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #937. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/937-202102042124590.95591402053833-9c0109aa72a9cd1b34fbfa0f92f247528abf6f62/.


update chain-config and error format

#178

Please post a preview

Please post a preview

Now, I can not run in local environment, i am trying ....

Sorry, I could not load the latest modification effect in my local env. Maybe some problems with our website tools. Please review the changed files format, and merge firstly. No local preview emporarily.

Change the translated_docs  check the preview


Minor parsing issue; space after import, before semi-colon

What version of OpenRewrite are you using?

OpenRewrite. Latest: v8.37.x
Maven/Gradle plugin: N/A -- noticed while reading parser code.

How are you running OpenRewrite?
N/A
The issue is caused by IMPORT missing here, and applies to all languages: https://github.com/openrewrite/rewrite/blob/main/rewrite-java-21/src/main/java/org/openrewrite/java/isolated/ReloadableJava21ParserVisitor.java
What is the smallest, simplest way to reproduce the problem?
    @Test
    void spaceBeforeSemiColon() {
        rewriteRun(
          java(
            """
              import java.util.List ;
              """
          )
        );
    }

What did you expect to see?

import java.util.List ;

What did you see instead?

import java.util.List; // <- space is removed

Thanks for the runnable report @traceyyoshima ! I imagine this breaks the print idempotence, and then blocks any changes to those files? Did you already explore any possible fix?

IMPORT

Ya, the parsing bug will result in a parsing error which would prevent changes.
Ah, I didn't realize the link I provided didn't include the line number. IMPORT needs to be added here: https://github.com/openrewrite/rewrite/blob/main/rewrite-java-21/src/main/java/org/openrewrite/java/isolated/ReloadableJava21ParserVisitor.java#L1769. The imports needs to be detected as a statement during parsing to handle space before the semicolon.

Ah that helps, thanks! Seems manageable, although I've logged off for today and I'm out all of tomorrow. Will try to have another look Sunday or Monday then. Thanks for clarifying!

Your suggestion indeed fixes the test you added; Could you double check I understood you correctly?

https://github.com/openrewrite/rewrite/pull/4577

Your suggestion indeed fixes the test you added; Could you double check I understood you correctly?

Detect whitespace before import semicolon #4577

The changes look good


about me text editor are limited

about me text editor are limited to 300 char
i think its should be 3000

Hi @yossigruner, go ahead and make a PR for this

Fixed


Constantly getting RRDtool Plugin Errors if I have ports forwarded

Hardware is a Gl.inet Slate
Running v0.99.8
With two incoming WANs

Broadband Cable Modem
T-Mobile 5G Router

I'm currently using VPN PBR to my website server (and other things) set to only use "PortONE" (the cable WAN) because it supports port forwarding and the T-mobile one doesn't (or so I've been told)
I also have Port Forwarding enable for the specific ports that I need open / routed (images of both configs below)
I'm not sure if this is a U.S.E.R. error or a bug (probably me :-)) Or if I'm even doing this correctly or not.
"Cronos" (<IP_ADDRESS>) is my website server

I'm not sure if this is related or not, but after some period of time, I'll notice my internet speed has dropped and I'll look to find out that Speedify is no longer running. Clicking the "restart speedify" button doesn't do anything. But after a reboot everything is back to normal.
Not sure if this is related or not.

Gotta replicate that before the next release, next version will include a
menu to download all logs while removing passes.
On Wed, Jan 4, 2023, 8:12 PM Chanse Arrington @.***>
wrote:

I'm not sure if this is related or not, but after some period of time,
I'll notice my internet speed has dropped and I'll look to find out that
Speedify is no longer running. Clicking the "restart speedify" button
doesn't do anything. But after a reboot everything is back to normal.
Not sure if this is related or not.
—
Reply to this email directly, view it on GitHub
https://github.com/SmoothWAN/SmoothWAN/issues/87#issuecomment-1371197980,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXAFHDUUIJ5CKHFCPZ6W4IDWQWVQBANCNFSM6AAAAAATRASQ5Y
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I'm getting the same harmless errors after reboot but with single instance of rrd_update_r per file which is normal since on restart/power-cycling there is a delay in syncing UBIFS.
It's normal to have these errors while changing firewall settings or on startup since OpenWRT is a collection of software that are not related to each other (no ecosystem to manage).
I couldn't find functionality issue, regarding the last comment feel free to open a new issue with logs generated using the Generate Logs button in SmoothWAN's Speedify menu. (navbar)

Note to self: Modify collected to to wait for NTP/dnsmasq service.

Removed my previous comment to avoid confusion:
Apparently the Slate/Flint UBIFS in uboot appears to be very old <4.14 kernel, please remove this and report back if the errors are frequent:

@TalalMash Done! I'll let you know how it goes.

@TalalMash Well... I don't understand what's happening in this log, lol. I'm including the latest System Log and Kernal logs below.
I'm not sure if this is the same problem or a new problem, but for some reason the Speedify service stops running after a certain amount of time. It's done this since day 1 on the Slate. After I rebooted to remove the line you mentioned above, this time it made it a little over 14 hours and stopped around at 00:40:27 local time
After the service stops, it shows a button of "Restart the Speedify service". (see pic)

Clicking this button doesn't seem to do anything. The service never restarts.
The only way to get the Speedify service restarted (that I know of) is to reboot the device.
After the restart, the service automatically launches and all if right in the world again. :-)
System Logs
Kernel Logs

@TalalMash this time it lasted 12 hours.  (logs and image below)

System Logs
Kernel Logs

It looks like few of the Speedify log files are corrupt, and unfortunately
Speedify reads logs as resume data, does it happen again when you reset
Speedify from the setup menu?
The corruption is probable from the now deleted mount option.
On Wed, Jan 11, 2023, 10:33 PM Chanse Arrington @.***>
wrote:

@TalalMash https://github.com/TalalMash you can tell how long before
the error by the "Uptime" time counter row on the Overview page screenshots
above.
—
Reply to this email directly, view it on GitHub
https://github.com/SmoothWAN/SmoothWAN/issues/87#issuecomment-1379384923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXAFHDRAMCVMAK5IYOMYZELWR4DIXANCNFSM6AAAAAATRASQ5Y
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm releasing a new version in the next few days if you need to start over, the kernel log shows Speedify with a memory leak. You can also start over with the current version with that mount line removed, thanks for the report.

@TalalMash Yeah, looks like memory leak in the graph as well.
14:00 was my last reboot of the device and there's a steady memory increase until about 21:00 (this is when I reset Speedify through the Speedify area in the menu.
Then another steady increase until it crashed at about 05:30

@TalalMash Looking at the Processes tab, the only thing that's steadily increasing is ./speedify -d logs
It started under around 24% after reboot and is slowly / steadily increasing. Currently sitting at 42%

@TalalMash 3.75 hours in and it's at 53%

That's interesting, this is highly likely to be a Speedify bug. Any weird
names or characters with the WAN interfaces? What settings are used And how
many WANs are there.
You can submit the logs using the generate logs to Speedify for further
info that may help, I'll try to replicate it based on your configuration.
On Thu, Jan 12, 2023, 5:57 PM Chanse Arrington @.***>
wrote:

@TalalMash https://github.com/TalalMash Yeah, looks like memory leak in
the graph as well.
14:00 was my last reboot of the device and there's a steady memory
increase until about 21:00 (this is when I reset Speedify through the
Speedify area in the menu.
Then another steady increase until it crashed at about 05:30
[image: CleanShot 2023-01-12 at 08 56 @.***
https://user-images.githubusercontent.com/123082/212100071-773e7da0-b0c4-4594-b18c-cefbe3de7d35.png
—
Reply to this email directly, view it on GitHub
https://github.com/SmoothWAN/SmoothWAN/issues/87#issuecomment-1380498912,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXAFHDVU4Z4XOPHLMPL765TWSALT5ANCNFSM6AAAAAATRASQ5Y
.
You are receiving this because you were mentioned.Message ID:
@.***>

Continue in https://github.com/SmoothWAN/SmoothWAN/issues/89

Fixed in latest release.


IndexError when trying to sample from fine-tuned model

Hi! Here's a breakdown of my setup and the issue:
Setup

Environment: Google Colab Pro (NVIDIA A100 40GB GPU)
Steps I followed:

Cloned the repo and ran !pip install -r requirements.txt.
Ran !python ProGen2-finetuning/src/download_pfam.py PF02680 to get one of the example families to fine-tune.
Prepared the dataset with the prepare_data.py script using the parameters instructed in the Readme, but without the --bidirectional flag.
Successfully executed !python ProGen2-finetuning/src/finetune.py to fine-tune the progen2-small model with the train and test data files generated in the previous step.
Ran the sample script over the fine-tuned model with the next parameters:

python ProGen2-finetuning/src/sample.py \
    --model=checkpoints/progen2-small-finetuned/e5/ \
    --device=cuda \
    --batch_size=4 \
    --iters=1 \
    --max_length=512 \
    --t=1.0 \
    --k=10 \
    --prompt="<|pf02680|>1"

Issue Description
While running the sample script, this was the output:
INFO: Device: cuda
INFO: Loading model from checkpoints/progen2-small-finetuned/e5/
INFO: Loading tokenizer
INFO: Prompt tokens: ['<|pf02680|>', '1']
INFO: Sampling batch 1 / 1
100% 510/510 [00:10<00:00, 49.14it/s]
Traceback (most recent call last):
  File "/content/ProGen2-finetuning/src/sample.py", line 266, in <module>
    main(args)
  File "/content/ProGen2-finetuning/src/sample.py", line 207, in main
    c = truncate(c)
  File "/content/ProGen2-finetuning/src/sample.py", line 84, in truncate
    terminus = seq[0]
IndexError: string index out of range

I tried executing the same steps inside a venv in the Colab Pro Terminal as instructed in the Readme, but got the same error. Then, when inspecting the output file, no sequences are printed there, as expected when analyzing the lines of code that raise the error.
Can someone provide guidance on how to proceed? Thanks in advance!

i have the same issue, did you solved it?

Hi! Thanks, but that method didn't work out for me :(
I edited the sample.py script as you mentioned, which allowed the treatment of the IndexError exception, but still not getting sequences. I got this output:
INFO: Device: cuda
INFO: Loading model from checkpoints/progen2-small-finetuned/e5/
INFO: Loading tokenizer
INFO: Prompt tokens: ['<|pf02680|>', '1']
INFO: Sampling batch 1 / 1
100% 510/510 [00:10<00:00, 49.34it/s]
<|pf02680|>1<|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|> ****
<|pf02680|>1211QNR2EQ2TP2NFTQ22PWF2PPP2Q2KW2QTT222IW2EVI2R2KI2TI2P22EK222TK2E2KWWWIE22<|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|><|pf02680|> ****
INFO: Generated samples were saved to file generated_samples/samples_ctx<|pf02680|>1_k10_t1.0.fa
INFO: Sampling finished.

Then, the contents of the output file were:
>seq_0
>seq_1
>seq_2
K
>seq_3

您好，您的来信我已经收到，感谢您的来信!谢谢


testing action with non-conforming code

Failed norminette so pull is automatically blocked / rejected by me (administrator).


feat: Move files to .trash folder if they are in use

Description
Attempt to move files to .trash folder if they are in use, this should solve #578. The issue is that on Windows we cannot delete files that are in use. When using a global package cache and hardlinking files into environments this means that if a given DLL or exe is in use in any environment with the same package the deletion files. But we can rename the hardlink. Conda and mamba have similar fallback behaviour.
The solution in this PR is slightly different than the ones used in conda and mamba as far as I am aware. This PR:

Creates a folder in .trash in the root of the environment rather than having a file like mamba_trash.txt to keep track of all the files which could not be deleted. Then a separate empty_trash procedure should simply attempt to delete all files in the .trash folder and if successful, it should remove the .trash folder.
When moving a file to .trash it is renamed to uuid.rattler_trash. Mamba and conda kept the original filename and appended .mamba_trash, but then they had to worry about filename collisions and having some fallback procedure for coming up with new names on a collision. It thus seemed simpler to me to just give a unique name to each file in the trash folder. Though in this way we lose information about the origin of the file.

Please tell me if you think the approach or the implementation is wrong.

Awesome! I am wondering - did you check that "moving" to a different folder works when the file is in use? If yes, then this is a great solution.
I also thought that we could try to have filename.<uuid>.trash as a filename but it might get longer than the allowed length.
I think going for UUID is fine with me. We would probably also be on the safe side with, idk, filename + 4 random characters or so.
There are also ways to add metadata to files that are NTFS specific (similar to xattrs on Unix) but not sure if that would be worth it to investigate.

Lets add the filename indeed to make it slightly easier to debug. If filename becomes to long we can worry about it then.

I have changed it to the filename..trash pattern and attempted to make the test more robust.

Thank you so much for this PR and your patience reviewing our comments! Highly appreciated! :)

Thank you for taking the time to review and comment.