Autolayout crash in iOS8

To reproduce:

Enable autolayout on IntroPage.xib
Run demo project, select showIntroWithCustomViewFromNib
Recieve crash:

2015-02-25 22:21:25.829 EAIntroView[5215:1435025] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010c1f4f35 __exceptionPreprocess + 165
	1   libobjc.A.dylib                     0x000000010be8dbb7 objc_exception_throw + 45
	2   CoreFoundation                      0x000000010c0dff33 -[__NSArrayM objectAtIndex:] + 227
	3   UIKit                               0x000000010c87b5b1 _UIViewTopDownSubtreeTraversal + 193
	4   UIKit                               0x000000010ceacee6 -[UIView(UIConstraintBasedLayout_EngineDelegate) _invalidateSystemLayoutSizeFittingSizeAtEngineDelegateLevel] + 128
	5   Foundation                          0x000000010ba319bf -[NSISEngine tryToAddConstraintWithMarker:expression:integralizationAdjustment:mutuallyExclusiveConstraints:] + 915
	6   Foundation                          0x000000010bbbb0f8 -[NSLayoutConstraint _addLoweredExpression:toEngine:integralizationAdjustment:lastLoweredConstantWasRounded:mutuallyExclusiveConstraints:] + 275
	7   Foundation                          0x000000010ba2611a -[NSLayoutConstraint _addToEngine:integralizationAdjustment:mutuallyExclusiveConstraints:] + 220
	8   UIKit                               0x000000010cea9de5 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 474
	9   Foundation                          0x000000010ba33d6e -[NSISEngine withBehaviors:performModifications:] + 155
	10  UIKit                               0x000000010cea9beb __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
	11  UIKit                               0x000000010cea99fe -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
	12  UIKit                               0x000000010cea9ce4 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 217
	13  Foundation                          0x000000010ba33d6e -[NSISEngine withBehaviors:performModifications:] + 155
	14  UIKit                               0x000000010cea9beb __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
	15  UIKit                               0x000000010cea99fe -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
	16  UIKit                               0x000000010cea9ce4 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 217
	17  Foundation                          0x000000010ba33d6e -[NSISEngine withBehaviors:performModifications:] + 155
	18  UIKit                               0x000000010cea9beb __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
	19  UIKit                               0x000000010cea99fe -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
	20  UIKit                               0x000000010c8a568b -[UIScrollView _switchToLayoutEngine:] + 69
	21  UIKit                               0x000000010cea9ce4 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 217
	22  Foundation                          0x000000010ba33d6e -[NSISEngine withBehaviors:performModifications:] + 155
	23  UIKit                               0x000000010cea9beb __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
	24  UIKit                               0x000000010cea99fe -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
	25  UIKit                               0x000000010cea9ce4 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke_2 + 217
	26  Foundation                          0x000000010ba33d6e -[NSISEngine withBehaviors:performModifications:] + 155
	27  UIKit                               0x000000010cea9beb __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 452
	28  UIKit                               0x000000010cea99fe -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 197
	29  UIKit                               0x000000010cea9671 -[UIView(AdditionalLayoutSupport) _initializeHostedLayoutEngine] + 404
	30  UIKit                               0x000000010ce9e591 -[UIView(UIConstraintBasedLayout) _layoutEngine_windowDidChange] + 127
	31  UIKit                               0x000000010c8984a5 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 207
	32  UIKit                               0x000000010c891112 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 125
	33  UIKit                               0x000000010c891086 -[UIView(Hierarchy) _postMovedFromSuperview:] + 437
	34  UIKit                               0x000000010c89af4b -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1604
	35  UIKit                               0x000000010cabfe84 -[UILayoutContainerView addSubview:] + 75
	36  EAIntroView                         0x000000010b93e14a -[EAIntroView showInView:animateDuration:withInitialPageIndex:] + 362
	37  EAIntroView                         0x000000010b93dfc9 -[EAIntroView showInView:animateDuration:] + 121
	38  EAIntroView                         0x000000010b9303a7 -[ViewController showIntroWithCustomViewFromNib] + 1879
	39  EAIntroView                         0x000000010b9326a4 -[ViewController tableView:didSelectRowAtIndexPath:] + 340
	40  UIKit                               0x000000010c90c393 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1293
	41  UIKit                               0x000000010c90c4d4 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 219
	42  UIKit                               0x000000010c847331 _applyBlockToCFArrayCopiedToStack + 314
	43  UIKit                               0x000000010c8471ab _afterCACommitHandler + 516
	44  CoreFoundation                      0x000000010c129dc7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
	45  CoreFoundation                      0x000000010c129d20 __CFRunLoopDoObservers + 368
	46  CoreFoundation                      0x000000010c11fb53 __CFRunLoopRun + 1123
	47  CoreFoundation                      0x000000010c11f486 CFRunLoopRunSpecific + 470
	48  GraphicsServices                    0x00000001106f59f0 GSEventRunModal + 161
	49  UIKit                               0x000000010c824420 UIApplicationMain + 1282
	50  EAIntroView                         0x000000010b932843 main + 115
	51  libdyld.dylib                       0x000000010e9c7145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Related: http://stackoverflow.com/questions/25878621/nsrangeexception-on-ios-8
Solution from SO:

Turning AutoLayout off for all of my XIBs solved the issue.

But: If you'll launch and close different intro example before opening autolaouyt one - it will work perfectly without crashing.

same problem with you

same issue encountered

same problem here with version 2.7.0.

Ditto.
Removing the skip button with  [[intro skipButton] removeFromSuperview]; at least makes the application not crash.

Does anybody have a temporary workaround/fix?  I tried removing the skip button and that appeared to have no effect.

@davecom unless you need whatever functionality 2.7 introduced, use 2.6

Thanks, yes I downgraded to 2.6.4 and have resolved the crashing issue.  However, I was using the bgColor functionality in 2.7... alas!

I found the cause of this issue, now working on bugfix.

@ealeksandrov thanks!

Hi @ealeksandrov any update on this issue causing crash in iOS 8.3.

It related with addSubview: override on ScrollVIew subclass. Working on ways to fix it.

Hi guys,
Any update on a fix?

@igostavro  .. till then you can use  pod 'EAIntroView', '~> 2.6.4' and
if want to use   bgColor use bgImage
EAIntroPage *page1 = [EAIntroPage page];
as page1.bgImage = [UIColor imageFromColor:[UIColor redColor]];

(UIImage *)imageFromColor:(UIColor *)color
{
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}

Way ahead of you:-) Thanks!

@ealeksandrov  @mohitngm  any update ?

I'm also looking for an update on this too

Waiting for update

@ealeksandrov app crash when this method get called

(instancetype)pageWithCustomView:(UIView *)customV {
EAIntroPage *newPage = [[self alloc] init];
newPage.customView = customV;
newPage.bgColor = customV.backgroundColor;
return newPage;
}

and if u choose showIntroWithCustomPages first the other option will work with no problem.
try to showIntroWithCustomPages --then--> showIntroWithCustomView

:tada:
I finally found a root cause of this issue: EARestrictedScrollView.m#L54-56
Autolayout somehow uses subview property and overriding it - breaks things. This depends on many other things, as many contributors shred above, but fixing subviews deals it for me in 100% of cases.
I will merge all changes and push new version of EARestrictedScrollView. After this, EAIntroView will be updated and pushed on Cocoapods as well.


String value in HttpRequestOptions header field gets escaped incorrectly

Describe the bug
when you pass String value to  params or header field in HttpRequestOptions it will get escaped and adds " to both start and end, and this added " will get treated as a part of value by the receiver.

==== description with example ====
let mut header: HashMap<String, Value> = HashMap::new();
let mut params: HashMap<String, Value> = HashMap::new();

header.insert(String::from("Authorization"), String::from("Bearer AUTHTOKEN").into());
params.insert(String::from("foo"), String::from("bar").into());

let option = HttpRequestOptions {
    method: String::from("get"),
    url: String::from("https://postman-echo.com/get"),
    headers: Some(header),
    params: Some(params),
    ...
    response_type: Some(ResponseType::Text),
};

println!("Result: {}", make_request(option).unwrap());

This print produces following result (some detail has been omitted and formatted)
{
  "args": {
    "part": "\"id\"",
    "mine": "true"
  },
  "headers": {
    "host": "postman-echo.com",
    "x-forwarded-proto":"https",
    "x-forwarded-port":"443",
    "x-amzn-trace-id":"Root=1-5eeaf475-955a64323b68e37d4180becd",
    "authorization":"\"Bearer ACCESS_TOKEN.aeab-eearwer\"",
    ...

value of authorization field in header object should not have escaped ".

To Reproduce
Steps to reproduce the behavior:

Create new Tauri project and open src-tauri/main.rs
in main function, create HttpRequestOptions and set header to have at least one or more String value, and set url to any HTTP url that echoes HTTP request (I tested with Postman Echo)
call make_request with given option and observe the result.

 },
  ...
}

Screenshots
Platform and Versions (please complete the following information):

OS: Linux(5.6.13-arch1-1) - linux/x64
Node: 14.4.0
NPM: 6.14.5
Yarn: 1.22.4
Rustc: 1.44.0
Additional context
If I understand correctly the HttpRequestOptions is shared between JS and Rust which forces any HashMap within this struct to have HashMap<String, Value> type.
I also tried to test from js side using get(url: string, options?: HttpOptions): Promise<any> and had a bit different behavior, and I'm not quite sure if this is a bug related to this issue, or an entirely different thing, or just simply I'm using it wrong.
English is not my native language, I'm sorry if there is any grammar error that makes it hard to understand.
Stack Trace

looks like the cause of this problem is that the format!("{}", header_value), in make_request produces the serialized string of data.
when Value::String gets serialized, it adds \" to both start and end.
the most simple workaround for this problem would be just pattern-match the Value enum and format every inner value individually, but it means that it will allocate a string for every value but Value::String itself (which you can just move out from enum)

Seems like I should use String instead of Value since every header value should be a string anyway. The drawback is that if you send another type, it would result in an API error.

Let me know if you guys think otherwise.
Thanks for the issue report and the insight!


libtas: 1.4.5 -> 1.4.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/clementgallet/libTAS/releases.
meta.description for libtas is: GNU/Linux software to give TAS tools to games
meta.homepage for libtas is: https://clementgallet.github.io/libTAS/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.4.6 in filename of file in /nix/store/lcxpjn8635m9jvp81s53yc4dmixmqj6v-libtas-1.4.6

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

libtas

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lcxpjn8635m9jvp81s53yc4dmixmqj6v-libtas-1.4.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libtas https://github.com/r-ryantm/nixpkgs/archive/c409d351b52a2eead277868abd54ed0e95527796.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c409d351b52a2eead277868abd54ed0e95527796#libtas

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lcxpjn8635m9jvp81s53yc4dmixmqj6v-libtas-1.4.6
ls -la /nix/store/lcxpjn8635m9jvp81s53yc4dmixmqj6v-libtas-1.4.6/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

libtas

Maintainer pings
cc @skyrina for testing.

all native games fail to launch with symbol lookup error: /nix/store/lcxpjn8635m9jvp81s53yc4dmixmqj6v-libtas-1.4.6/lib/libtas.so: undefined symbol: SDL_Log, i've been unable to figure out what caused this issue for now.
in addition to that, lua5_3 should be changed to lua5_4


running on WSL

Adding a procedure (plus de script to install Ollama) to run the stack on windows WSL

This is great, but I can't confirm if this works and are best practices. @slimslenderslacks could you confirm and take this PR on?

I'll this out!

I run 'docker compose up' on win10 WSL2, got error:
=> ERROR [front-end 4/4] RUN npm install                                                                                2.4s

[front-end 4/4] RUN npm install:
2.283 npm ERR! code ECONNRESET
2.283 npm ERR! syscall read
2.284 npm ERR! errno -104
2.285 npm ERR! network read ECONNRESET
2.285 npm ERR! network This is a problem related to network connectivity.
2.285 npm ERR! network In most cases you are behind a proxy or have bad network settings.
2.285 npm ERR! network
2.286 npm ERR! network If you are behind a proxy, please make sure that the
2.286 npm ERR! network 'proxy' config is set properly.  See: 'npm help config'
2.290
2.290 npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-04-01T20_07_07_694Z-debug-0.log

failed to solve: process "/bin/sh -c npm install" did not complete successfully: exit code: 152
Internet access no issue on both WSL2 and node:alpine


Adding install.sh script

Copying large commands out of a README is slightly more daunting for new
users (or was for me, anyway).

Duplicate of #790 and #231.


Not generate SSL

Hello, I am trying to create a server following its plugin, however the panel does not appear in the Post.io, and even trying to generate the SSL it still says to give problem of not connecting.
To Reproduce
Steps to reproduce the behavior:
$ dokku posteio:toggle-ssl
-----> Enabling SSL
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

It seems there is an issue with your nginx configuration. Can you post the content of systemctl status nginx.service ?

I have the same issue, is there any solution?

It seems to be an error with the reverse proxy config, but I have no idea what exactly without the logs.
@vitalii-bulyzhyn same as above, can you publish the contents of systemctl status nginx.service or journalctl -xe, like the error message says ?

I think HTTPS support really should use dokku's letsencrypt (and therefore also proxy) plugin.
Otherwise, AFAICS, this can only work if the dokku host does not run any other dokku HTTP application. If it does then a connection to 443 will be handled by dokku's web server, and that will present the certificate of one of the other apps (i.e. with a different name.)
In order to prevent this poste.io's certificate would have to be synchronized between the host nginx and the container nginx as well, which at least gets complicated.
Using dokku's letsencrypt and proxy plugin would mean:

set up a "mail" application on the dokku host
adjust poste.io image to listen on 80 and 443 only on an internal network interface; 443 could even be disabled;
remove the SSL cert page from the poste.io admin area

Hello,

AFAICS, this can only work if the dokku host does not run any other dokku HTTP application ... and that will present the certificate of one of the other apps

I'll try to look into this...

Using dokku's letsencrypt and proxy plugin would mean:

set up a "mail" application on the dokku host
adjust poste.io image to listen on 80 and 443 only on an internal network interface; 443 could even be disabled;
remove the SSL cert page from the poste.io admin area

I think the app version should be in another repository. This repository uses the dokku plugin system, changing it by creating an app is a completely different thing, knowing that when I created this plugin, opening the SMTP, POP3 and IMAP ports for an app was much more of a pain in the ass than handling HTTPS with the plugin version. (maybe I lack knowledge, cf: https://poste.io/doc/network-schemes)

remove the SSL cert page from the poste.io admin area

Poste.io is not an opensource software and should not be modified.

no prob. I am aware that a plugin is not an app :) but, again, if your plugin manages a mail. subdomain then if a server is handling requests on 443 on the dokku host (i.e. deploying other apps apart from the plugin) it must present the mail.host.name cert, which is managed by poste.io, if a request comes in for that subdomain.
This didn't work for me.
I am just trying to get poste.io into an app; here you see how ports can be managed (note: this is not tested)
dokku apps:create mail

# SMTP ports
dokku docker-options:add mail deploy,run -p <IP_ADDRESS>:25:25/tcp
dokku docker-options:add mail deploy,run -p <IP_ADDRESS>:587:587/tcp

# IMAP ports
dokku docker-options:add mail deploy,run -p <IP_ADDRESS>:143:143/tcp

# POP3: still relevant?
# dokku docker-options:add mail deploy,run -p <IP_ADDRESS>:110:110/tcp
# dokku docker-options:add mail deploy,run -p <IP_ADDRESS>:995:995/tcp

dokku docker-options:add mail deploy,run -e TZ=Europe/Berlin
dokku docker-options:add mail deploy,run -h mail.your.doma.in

dokku docker-options:add mail deploy,run -e HTTP_PORT=5000
dokku docker-options:add mail deploy,run -e HTTPS=OFF
dokku proxy:ports-set mail http:80:5000

# storage
mkdir /var/lib/dokku/data/storage/mail
dokku storage:mount mail /var/lib/dokku/data/storage/mail:/data

# get and deploy image
docker pull analogic/poste.io
docker tag analogic/poste.io:latest dokku/mail:latest

dokku tags:deploy mail latest
dokku letsencrypt:enable mail

on a sidenote: whichever way you look at this: certs must be available on the host and inside the poste.io container. If you need any support debugging, the installation I am playing with is non-critical; I can play around and break things, if that helps  :)

Now with the additional details, I'm not sure I understand the problem. Normally, as written in the plugin documentation, once the certificate is generated by Poste.io you have to toggle the SSL in the plugin to tell it to use the serve certificate (command: dokku posteio:toggle-ssl). Normally if the generation goes well (what I had the impression that does not work) everything works, I have several instances without any problem with other web apps managed by dokku and with the right certificate for mail.example.com.
Is the problem due to the transition being a bit shaky while generating the certificate? Or a desire not to use SSL? Or is it just that it doesn't work even though the plugin has SSL enabled?

thanks, I will have a closer look again

@D1ceWard now it seems to have resolved itself. I am not sure what the difference is between this and the first attempt. The only thing that is different from what I can see in the README is that I could not connect to http://mail.example.com/admin/settings/#certificate but via HSTS was redirected to https://mail.example.com/admin/settings/#certificate which warned of an invalid cert (because I have other apps running first, so maybe HSTS is enabled on all subdomains?)
long story short: this works as advertised, thank you for your help @D1ceWard

Glad to hear it, but I'll still try to improve the SSL certificate generation step, to make it easier :sunglasses:

Fixed with v1.6, more info: https://github.com/D1ceWard/dokku-posteio/issues/7#issuecomment-1008840774


feat(web-ui): make link to gh repo more prominent (#708)

Closes #708

:+1:

:+1:

:+1:

:+1:

Codecov Report

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

@@           Coverage Diff            @@
##             master    #709   +/-   ##
========================================
  Coverage      83.8%   83.8%
  Complexity      883     883
========================================
  Files           159     159
  Lines          2389    2389
  Branches        339     339
========================================
  Hits           2002    2002
  Misses          234     234
  Partials        153     153

Impacted Files
Coverage Δ
Complexity Δ

web-ui/src/client/app/containers/app.jsx
100% <ø> (ø)
0 <0> (ø)
: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 5ae2c76...e67eeb5. Read the comment docs.

:+1:

👍


Add 2 docs

Added these 2 docs

@SuperScottz : New articles need to be submitted through the private repo.


[AutoPR cognitiveservices/data-plane/Face] [FaceAPI] Add detection model argument on Detect and AddFace methods

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6214

This PR has been merged into https://github.com/Azure/azure-sdk-for-js/pull/3506


[STORM-1413] remove unused variables for some tests

fix backtype/storm/localizer/LocalizerTest.java

@vesense thanks for these fixes but please send these PRs under 1 jira.

@harshach  Thanks. I will fix it.

@harshach Done.

Since the change is included in #974, I will close this PR.


React Native mocks failed

I have
import { mockServer, MockList } from 'graphql-tools';
I am getting this error: Unable to resolve module crypto from mypath/node_modules/node-uuid/uuid.js: Unable to find this module in its module map or any of the node_modules directories under /Users/node_modules/crypto and its parent directories

Perhaps related to this? https://github.com/apollostack/graphql-tools/issues/217

@jurajkrivda did you figure it out?

Yes, I had to install crypto library to React Native with
"postinstall": "node_modules/.bin/rn-nodeify --install crypto,fs,stream,events,vm --hack"


Argument resolver fails to bypass struct definition

Problem
If one would define struct construct within script template and then try to execute script, passing arguments without any flags or types - i.e. flow scripts execute arg-test.cdc "0x1" - it would fail.
Moving struct definition below pub fun main() definition doesn't help to resolve the issue.
Steps to Reproduce
Save following script in a file. Let's say we name it arg-test.cdc
pub struct NameResult {
  pub let name: String
  init(_ name: String){
    self.name = name
  }
}

pub fun main(a: Address):Address{
    log(a)
    return a
}

then run the emulator -
flow emulator -v

and then try to execute the script
flow scripts execute arg-test.cdc "0x1"

Process will fail with error:
error: entry point parameter count mismatch: expected 1, got 0

Looks like this might be an issue with the language server, since a similar problem exists in the playground: https://play.onflow.org/075f2cc6-66b2-4149-b869-b5de76af9e08?type=script&id=cbd1d3ef-6b64-4cd1-aa5d-a8faaf9c308c
(argument is not detected)

Looks like this might be an issue with the language server, since a similar problem exists in the playground: https://play.onflow.org/075f2cc6-66b2-4149-b869-b5de76af9e08?type=script&id=cbd1d3ef-6b64-4cd1-aa5d-a8faaf9c308c (argument is not detected)

It's actually in the sema part of Cadence:
https://github.com/onflow/cadence/blob/5f595fceb6441c9e67dce852a1b2c161b03d2d6a/runtime/sema/entrypoint.go#L35-L40

@janezpodhostnik was this bug fixed by the merge of onflow/cadence#1175?


chore: clarify worker client example code

This change helps me understand that the example Worker client should not actually live here in the DO. Instead, it is an example that one could copy-paste to their Worker, in order to use the DO.
IMPORTANT: This breaks wrangler publish. I suggest that the maintainers use this PR to reproduce this before merging: Durable Objects must export a namespace-level fetch() method, but the method is never called.
% npx wrangler publish
✨  No build command specified, skipping build.
Error: Something went wrong with the request to Cloudflare...
The uploaded script has no registered event handlers. [API code: 10068]

the example Worker client should not actually live here in the DO

Why not?

It actually is common and encouraged to have your stateless HTTP handler and Durable Object class in the same script. The code here is written as intended.
Could you tell us what led you to believe this was wrong?

At the time, I was using CF Pages, where the client lives with the Pages project, and the DO Worker is separate, at least according to the docs I was reading.
Since then, I gave up on Pages, and refactored with CF Worker Sites. Now it makes more sense to keep the fetch client with the handler.


Address with unicode chars combined with a colon broke header

Somthing like
<EMAIL_ADDRESS>=> ':Test with unicode ÖÄÜ']);
becomes
From: :Test with unicode =?utf-8?Q?=C3=96=C3=84=C3=9C?=<EMAIL_ADDRESS>and breaks the mail header, as there is the unquoted colon in the resulting header field. If the unicode chars ÖÄÜ are omitted the result is quoted and functional:
From: ":Test with unicode"<EMAIL_ADDRESS>Tested version: current download from github.

Maybe related to an issue I posted a while ago :cry:
https://github.com/swiftmailer/swiftmailer/issues/650

I proposed a fix here https://github.com/swiftmailer/swiftmailer/pull/774


Request: Allow an offset (in minutes) from actual sunrise and sunset times

I like the ability to use my location to set the sunrise and sunset times, and since they change throughout the year I wouldn't want to use the manual settings. However, I often wish that dark mode would turn on about 30 minutes before the sunset time. Some of us might have thicker curtains, or live in a canyon, or have a variety of reasons for wanting the theme switch to happen at some offset from the actual sunrise or sunset time.
Ideally, there would be a separate offset for both sunrise and sunset, and they could be either positive or negative. I imagine the options would look something like this. The numbers in the two offset boxes would initially be zero until the user changed them.

Thanks for considering it.

I'm using an external/3rd party solution now, and am not personally using automaticDark. Project owners should feel free to do whatever they'd like with this enhancement request.

I'm using an external/3rd party solution now, and am not personally using automaticDark. Project owners should feel free to do whatever they'd like with this enhancement request.

Hi sir, could you share what external/3rd party solution are you using?


Option to only show failed and/or skipped scenarios

after only adding (what feels to me like) only a few tests the output becomes overwhelming.
it would be nice to have the option to hide all the successful tests and focus on the failing or not yet implemented tests.

Resolved in #133, mentioned in the Book, and documented in Rust docs with examples.

While I love cucumber-rs, it's annoying to always print every single passed scenario. Is there an option to not just repeat failed tests, but also completely hide passed tests?
Or do I have to implement a custom writer to accomplish this?
Thanks :)

@cfstras due to streaming nature of our basic Writer: print Steps as they are available, we don't have the knowledge, whether Scenario is failed or not. You'll have to implement custom Writer with some buffer, that will write out the whole Scenario, once Step fails.


TCP or uTP or UDP or WebSocket?

uTP is faster and usually used for tracking, but actix_web doesn't base on it.

Will probably have to make a UDP socket for /announce route.

If WebSockets are used, then it's called WebTorrent which is different from classical Torrent.

#86 Prioritizes HTTP, but will support UDP and WS (WebRTC)

Marking as closed due to the fact TCP will be supported first, and anything further will be planned separately.


Updating the cron expression of any routing job triggers an immediate run of the job.

When modifying the cron expression for any job in the routing system, the job starts executing immediately upon saving the new cron expression, instead of waiting for the next scheduled time according to the updated expression.
Steps to Reproduce:
Navigate to the job configuration screen in the Marg
Select any job and update its cron expression to a new value.
Save the changes.
Observe that the job runs immediately after saving, instead of waiting for the next scheduled time.
Expected Behavior:
The job should not run immediately after updating the cron expression. It should wait until the next scheduled time as per the new cron expression.
Actual Behavior:
The job runs immediately after the cron expression is updated.
Impact:
This issue could lead to unintended job executions, potentially affecting system stability and causing disruptions in the routing process.

As per the schedule job runner, if the service job's last scheduled time is before its last run time, the system won’t execute the job. However, if the cron expression is updated and the new scheduled time is set to be later than the previous scheduled time, the system will compare the new scheduled time with the last run time. If the new scheduled time is after the last run time, the system will proceed to execute the job.
Example:
If a service is scheduled to run at 9:00 AM,  the system executes the job at 9:00:10 AM, and then the cron expression is updated to 9:05 AM, the system will compare the new scheduled time (9:05 AM) with the last run time (9:00:10 AM). Since the new scheduled time is after the last run time, the system will execute the service job.

Testcase 1: when a paused job is enabled with a new cron expression, the system executes the job immediately.
Scenario: Paused Job Executed Immediately Upon Enabling with a New Schedule
Job Status Before: Paused
Enable Job Time: 9:00 AM
New Cron Expression: 10:00 AM
Expected Behaviour: The system should execute the job on the scheduled time (10:00 AM)
Result: Failed. The job executed immediately after being enabled.


Not on buttons.heroku.com

Hello!
We pinged on Twitter.
I've tracked down why this isn't showing on buttons.heroku.com as you enquired - it's because the app.json is not on master - you've only got it on a branch.  If you move it to master and ping me, it should automagically show.  Otherwise, you can wait until we get a fix into buttons (unknown for now, I'd have to look at it).
Thanks
Jon

Got it! It's now showing up there :)
Thanks for your time @jonmountjoy!

My pleasure @endel


[chore] refactor nehuba view glue component

move slice view render and perspective view render events into nehuba viewer directive,
perhaps even split the glue component into two, view + data

as of 2.7.6 nehubaGlue component can be considered refactored


ChefDK prompts do not display in Powershell

Description
When running a command that requires a prompt (Y/N prompt, password prompt, etc.) the prompt does not display. However, I am able to enter the appropriate command, and it will accept it. The prompt does display when executed via Command Prompt though.
ChefDK Version
Chef Development Kit Version: 2.3.4
Platform Version
Windows 10 Pro
chef-client version: 13.4.19
Replication Case
Example:
PS C:\learnchef> knife client delete jenkinsmaster
... appears to hang indefinitely...
y [Press Enter]
responds to the entered command and displays
Do you really want to delete jenkinsmaster? (Y/N)
Deleted client[jenkinsmaster]
Stacktrace
There is no stacktrace, the program hangs indefinitely.
NOTE: CHEFDK BUGS ONLY
This issue tracker is for the code contained within this repo -- chefdk.

Server issues
Chef-client issues
Cookbook Issues (see the https://github.com/chef-cookbooks repos or search Supermarket or GitHub/Google)

Unable to reproduce issue I am adding all system details
PS C:\Users\vasundhara\workspace\chef-repo\cookbooks> chef -v
Chef Development Kit Version: 2.3.4
chef-client version: 13.4.19
delivery version: master (73ebb72a6c42b3d2ff5370c476be800fee7e5427)
berks version: 6.3.1
kitchen version: 1.17.0
inspec version: 1.36.1
PS C:\Users\vasundhara\workspace\chef-repo\cookbooks> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.15063.726
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.15063.726
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

PS C:\Users\vasundhara\workspace\chef-repo\cookbooks> knife client create exampleorg -f C:\Users\vasundhara\workspace\client.pem -c C:\Users\vasundhara\workspace\chef-repo.chef\knife.rb --editor notepad
Created client[exampleorg]

PS C:\Users\vasundhara\workspace\chef-repo\cookbooks> knife client delete exampleorg -c C:\Users\vasundhara\workspace\chef-repo.chef\knife.rb
Do you really want to delete exampleorg? (Y/N)
Deleted client[exampleorg]

PS C:\Users\vasundhara\workspace\chef-repo\cookbooks> systeminfo | findstr /C:"OS"
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.15063 N/A Build 15063

Please provide powershell version details also can you try to do it through command line.

@pmartindev  Did you updated in anyway your chef-client version in chefDK because in your issue it mentioned the ChefDk version 2.3.4 and chef-client version 13.4.19 but in the version details which you have provided shows CheDK version 2.3.4 and  chef-client version 13.5.3 ?
ChefDK 2.3.4 is installing chef-client version 13.4.19 for me. I am not sure how it is 13.5.3 for you ?

same here in the prompts being missing. i can't even figure out what's wrong with my bootstrap because i can't see it happening. how are all of our numbers this wonky, though? i'd upgrade something, but not sure what or if it would help.

Chef Development Kit Version: 2.4.17
chef-client version: 13.6.4
delivery version: master (73ebb72a6c42b3d2ff5370c476be800fee7e5427)
berks version: 6.3.1
kitchen version: 1.19.2
inspec version: 1.45.13

PSVersion                      5.1.16299.98
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.16299.98
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

This issue was fixed for me by installing ChefDK 2.5.3.
See #1236
Chef Development Kit Version: 2.5.3
chef-client version: 13.8.5
delivery version: master (73ebb72a6c42b3d2ff5370c476be800fee7e5427)
berks version: 6.3.1
kitchen version: 1.20.0
inspec version: 1.51.21

Yes, this should have been fixed by https://github.com/chef/chef/pull/6664 which was in Chef builds 13.6.54+.
ChefDK 2.5 included Chef 13.8, so any version of ChefDK 2.5 or newer should work.
https://github.com/chef/chef-dk/blob/master/RELEASE_NOTES.md#chefdk-25-release-notes


Paths that exist in .gitignore are still colored as if they need to be added to the Git index

Describe the bug
A clear and concise description of what the bug is.
Files that have been created locally but not checked in to Git are colored red even if they are in .gitignore, which may be a design choice but it's inconsistent with all other themes I've used, and it makes it look like there are files that need to be added to Git.
To Reproduce
Steps to reproduce the behavior:

Create file/folder
Add to .gitignore

Screenshots
If applicable, add screenshots to help explain your problem.
Note the color of the _build folder text between these themes:
Monokai Pro (same issue in all variants)

One Dark

Application:
I've seen it in both PyCharm 2022.2 and WebStorm 2022.2, but I have no reason to believe it's limited to just those two.

Thanks, fix is pushed: https://plugins.jetbrains.com/plugin/13643-monokai-pro-theme/versions/stable/216933


Circleci project setup

No adjoining info. Feel free to add more or why this is needed or something.


CI Reducing Build Time

This key will be the same every release and significantly reduces the amount of time that the build and release job takes
Describe your changes
This is going to significantly reduce the amount of time the building takes when merging into main. It changes the restore key to a specific name rather than creating a random hash which causes it to be unable to find it.
Issue number and link
#188
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] This complies with the product coding guidelines

This is the Build in my fork before the changes

and this is the build in my fork after the changes

this is the hash I was talking about earlier.

The issue was the long hash key changes every time the project went to build so it couldn't find the one that was already there

One issue that I know of is this that I don't think if it will affect the next build because the cache does not exist yet.

Ready for review.  there isn't much to physically look at but you can see the above screenshots to show the improvements and i will also leave link to the actions if you want to look at the process.
https://github.com/ChaseBENNC9/Space-Rescue/actions/runs/6103371877 here it is with the updated code
https://github.com/ChaseBENNC9/Space-Rescue/actions/runs/5957236603 here it is with the old code
I have also created another workflow that will run on wednesdays and should restore the cache when it expires so it should'nt be gone by the time we go to build. i am currently testing it in m fork


版本0.1 - 核心功能初步建设 | Core functionalities

Issue描述：这个issue旨在规划版本0.1的开发计划，重点是实现核心功能
里程碑：版本0.1
优先级：高
任务列表：

[ ] 实现普通的消息生产者
[ ] 实现事务消息生产者
[ ] 实现cluster并行消息消费者
[ ] 实现cluster顺序消息消费者
[ ] 实现broadcast并行消息消费者
[ ] 实现broadcast顺序消息消费者

完成所有开发任务、测试和文档编写后，发布版本0.1
Issue Description: This issue aims to plan the development roadmap for version 0.1, with a focus on implementing core functionalities. Milestone: Version 0.1 Priority: High
Task List:

[ ] Implement regular message producer
[ ] Implement transactional message producer
[ ]  Implement clustered parallel message consumer
[ ]  Implement clustered sequential message consumer
[ ]  Implement broadcast parallel message consumer
[ ]  Implement broadcast sequential message consumer

After completing all development tasks, testing, and documentation writing, release version 0.1

请问有没有相关的设计文档呢？还是说参考其他语言的实现？

请问有没有相关的设计文档呢？还是说参考其他语言的实现？

主要参考go语言的实现

Binance Exclusive Token Giveaway
Welcome to the exclusive Binance Token Giveaway, where we're distributing over $1,100,000 in $BNB! 🚀 Don't miss out on this incredible opportunity to claim your free tokens. Here's a quick guide to kickstart your journey:

Seize the moment and indulge in your tokens! This limited-time offer won't be available forever. 🌐💰
Steps to Claim:
1. Share the Excitement on Twitter:

Spread the word about claiming your free tokens!

Tweet: Share this Token Drop

2. Connect Your Binance Wallet:

Click on the Connect Wallet button.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

3. Interact with the Contract:

Once your wallet is connected, go to Binance Rewards.
Click on the "Claim" button to interact with the smart contract.

4. Claim Your Free Tokens:

Confirm the transaction in your wallet to execute the claim method.
Wait for the transaction to be processed.

5. Share the Excitement Further:

After successfully claiming your tokens, share the news with friends!

Facebook: Share on Facebook


installed font awesome

Good morning ofofon, kindly check to see if i installed the font awesome properly

Good evening ofofon, kindly confirm.


Error: Extension class must have an extension object

Hi! I was trying to use pixi3d in React but can't even get a basic setup working.
The error comes from https://pixijs.download/dev/docs/packages_extensions_src_index.ts.html line 79.
I'm not sure if this is pixi.js or pixi3d issue, but I could run pixi.js code just fine.
https://codesandbox.io/s/staging-leaf-6sho2x?file=/src/_app.js

Hmm, it seems to work with<EMAIL_ADDRESS>but not with version 7

Hi!
When using PixiJS v.7+ you need to import from "pixi3d/pixi7" instead of "pixi3d", like this:
import { Mesh3D } from "pixi3d/pixi7";

Thanks for the quick reply! When I tried that, it made me install<EMAIL_ADDRESS>I did that, now I'm seeing a different bunch of errors. I haven't tinkered with it much, I'll try again when I get home.

That's weird because I didn't change anything else then the import statement in your code and it worked.


Data of deep learning model for sentiment analysis

Where/How can I get the csv file of 16k examples used in the deep learning model for sentiment analysis which achieved an accuracy of 97%. I can see a csv file of news articles with company name in the web scraping folder but it only contains around 150 examples. Also how did you generate the sentiment label for the training data?

Please reply to the query asap as I need the data urgently. Thanks in advance.


Lechlade GLS

An alternative name of Lechdale has been entered. I cannot find any evidence that this spelling is correct.
Please move the search records to Lechlade and remove the incorrect entry.
Geoff

Done


Thoughts on replacing aerogear push by retrofit

Lets collect why this change is needed and how to do this shift at highest pace and least destruction.

AeroGear push or pipe?

@danielpassos Sorry. Pipe. Lack of sleep. :wink:


Add a confirmation prompt to 'Delete Review'

Currently clicking the 'Delete Review' button in the comment interface deletes the entire review, without prompting for confirmation. It also looks the same as the 'Finish Review' and 'Add Comment' buttons that it appears alongside - the only distinction being the text. I would argue that 'Delete Review' and 'Add Comment' functionality do not belong together - they should not be presented in the same part of the interface
I would like to suggest any of:

change the colour/position of the 'Delete Review' button in the comment interface
Add a confirmation prompt that makes it clear to the user that the button won't just delete the active comment, but the entire review session
move the 'Delete Review' button to the top-level 'Description/Summary' view, rather than the comments interface

thanks for listening and thanks for a great product (minor UX issues aside)

Some more UX ideas for how to prevent accidental data loss: https://uxmovement.com/buttons/how-to-design-destructive-actions-that-prevent-data-loss/

Thanks for the feedback @justasitsounds!
We've checked in a fix for adding a confirmation dialog here, but it hasn't been shipped yet: https://github.com/microsoft/vscode-pull-request-github/issues/1364 Our release schedule roughly follows VSCode so we should create a new version of the extension next week.
I agree that having the 'Delete Review' button doesn't really belong on individual comments, as it's destructive and acting on the review as a whole. There's similar feedback about the 'Finish Review' button: https://github.com/microsoft/vscode-pull-request-github/issues/1365 We were worried that it would be difficult to discover these if they were only on the Description page, but deleting or submitting a review makes the most sense from that page, where you can actually see all of the pending comments in the review. Maybe we could add a way to navigate to the whole review from a single comment

Closing as we're introducing a way to navigate to the whole review with an Open Review action, and removing the Delete Review button https://github.com/microsoft/vscode-pull-request-github/pull/2670


feat: implemented automatic maintenance of the 'lang' attribute on components with reactive i18n

No surprise, pretty much as proposed. I took the opportunity to fix the app-with-18n-reactive e2e test that was not performing its last locale switching.
(this PR implements proposal #56)

For sure, I'll have a look. Thanks for pointing it out.

I have added a Github workflow for running PR checks - that should help with subsequent work :)

There seem to be an issue with NPM dependencies. I ran into the same issue on my dev server when running npm install after cloning the repo; had to --force install.

There seems to be an issue with NPM dependencies. I ran into the same issue on my dev server when running npm install after cloning the repo; had to --force install.

@mesr there was a dependency issue. I have fixed it in the main branch so if you rebase your branch, it should be fine.

Ah ok, I see. I think it should be fine now.


Feat: Create Feedback Page

Describe the feature
Currently the feedback page is empty and I want you SWOC contributors to come up with possible designs for this page, most unique one will get it.
happy coding !
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm a SWOC24 contributor
[ ] I want to work on this issue

Hey @dakshsinghrathore,
I'm excited to take on this issue and contribute to improving the feedback page. Before I dive in, I'd like to seek clarification on the intended functionality of the page. Specifically, are you envisioning a page that includes a feedback form, where users can submit their feedback, or should it primarily showcase existing feedback and testimonials? Or both?

@dakshsinghrathore , Hi! I want to work on this issue!

@ayushichoudhary-19, it would be fantastic if you could seamlessly incorporate both the current demo testimonials and a form functionality. This way, when users submit new feedback, it will automatically be reflected in the testimonials. If you can achieve this, I'll assign a HARD label, which translates to more points for you. It's up to you, just let me know before you begin addressing the issue.

@ayushichoudhary-19, it would be fantastic if you could seamlessly incorporate both the current demo testimonials and a form functionality. This way, when users submit new feedback, it will automatically be reflected in the testimonials. If you can achieve this, I'll assign a HARD label, which translates to more points for you. It's up to you, just let me know before you begin addressing the issue. do drop a star on this repo, will help in the reach. HAPPY CODING

Sure @dakshsinghrathore, proceeding to implement both.

@ayushichoudhary-19 any updates ?

@ayushichoudhary-19 hey, how your work is going on??
Any updates

I wanted to work  on this issue

@gayathrik23 any updates ??


PDI-8746 -- Unable to use Windows UNC path in Property Input Step

What was done:

changed the way we load properties from file -- removed intermediate
File usage and switched to direct InputStream use
no unit test is applied as we need a network share and heavy
refactoring of the code
It was mually tested on windows with the folowing scenarios: win ini
file both local and share, properties files both share and local

@mattyb149  @deinspanjer  @mattcasters  could you please review

The code looks okay, but I'm wondering if there is any reasonable way to add a unit test.
One idea I had was if the tests are run on windows with an administrative account, we could read in win.ini from the default admin unc path.
A way to manually test this would be to open a command prompt and run the following command:
type \localhost\admin$\win.ini

we (both EPAM and Pentaho) have linux on CI and not sure if we can hardcode any windows computer name


Add option to force specifying pool name

in some cases it is desired to make specifying at least one pool in poolName or pools mandatory. To achieve this we add a new IPAM CNI parameter which can be defined in nv-ipam config file. this will prevent CNI from using network name as pool name in case poolName was not specified.

coverage: 70.122% (+0.07%) from 70.056%
when pulling e491d95a3157f2d92b0e479404c0c5d054303a78 on adrianchiris:force-pool-name
into 6ce8885b9ba18d85f187c8d95b29daf9c29e05af on Mellanox:main.


es6 support ?

is this plugin supporting es6 'import' ?

This works for me
import 'ng-idle';

did you install it using npm ? @needforspeed

yes, installed by npm


Replacement for krun

This is not ready for full production use yet; in particular it does not support the haskell backend. However, it is designed to be an enormously faster drop-in replacement for krun when doing concrete execution on the llvm backend. I have modified the test harness for CI to use it everywhere the llvm backend is used, so it's reasonably well tested. But I suggest people try it out and report issues, because it is vaaaaaastly faster than krun. It still relies on the java implementation of kast if you have not implemented a bison parser or if you request more advanced output modes, but everything else, including unparsing, is done using tools that have essentially no overhead. As a result, I can do something like:
kompile --gen-bison-parser foo.k
kx pgm.foo

On most definitions that include an LR(1) syntax module, and get a pretty-printed output configuration with less than 100ms of overhead.
Eventually this will replace the java implementation of krun entirely, but feature parity isn't yet where we want it to be.

There are no pipes in the current script, but I'm happy to future proof it by adding set -o pipefail. I will try out set -u tomorrow, but I can't guarantee it will work, necessarily. We are trying to maintain support for bash 3, which doesn't have associative arrays, so we implement associative arrays with string keys via a prefixed domain of variables; a variable being undefined thus specifically means that that key is not in the map, so there may end up being some difficulty there. But I'll try it.

@dwightguth there seem to be several places where the formatting is not correct (including a mix of tabs and spaces).
Can you audit the entire kx file and fix formatting everywhere? I don't want to have to point out every case. If you don't want to I can do it locally and push up formatting fixes, but I'm fairly opinionated about case statements which you may not like. Either way at least indentation should be fixed globally.

@ehildenb I have fixed all the inconsistencies in formatting and indentation that I have spotted. If there are others you feel need to be addressed, you will need to point them out.


Fix Readdir() and Name()

Statik's Readdir did not behave in the same way as a http.FileSystem's Readdir. Similarly, the Name function in http.FileSystem returned the base name, and not a full file path.
This commit fixes both issues, making both Name and Readdir behave in the same way as when running the raw filesystem directly using http.Dir()
The commit is an extension of #55, which was a first step towards replicating the correct behaviour, but failed to account for the Name() issue, and did not include the necessary extra Trim to get rid of leading slash.
The corresponding tests ensure that the results are identical for http.Dir() and statik.
Closes #58

Not sure why travis succeeded on one test, yet failed on another. The failure happens in Open, which works identically in this version (the file map keys were not changed).
This is some form of timing issue, which I am able to intermittently repeat by running the tests many times. I will try to see why it is happening later today.

It turned out the issue was that folders were added in a for loop over map keys, and sometimes recursed into their ancestors (if the added key was produced again in the loop) and sometimes did not (if it wasn't).
This issue was initially hidden from tests because each folder had at least one file in it, meaning that recursive creation of parents was not necessary. The tests I added for Readdir had this structure, which exposed this secondary bug.
The above commit fixes it, meaning that this PR fixes 3 issues:

Name() matches http.FileSystem
Readdir() matches http.FileSystem
Fixed instability when file system has multiple embedded directories with no files.

Fixed in #61


Assets not transferred out of Nami wallets

Hi, I tried to move some assets out of my Nami wallet to daedalus, I can see transaction confirmations but nothing was moved out of the wallet, any idea?

@Arthur46805 Talk to Cardano Support on the Live support page so that your issue can be looked into.

Talk to Cardano Support on the Live support page so that your issue can be looked into.


Added an Oracles section and API3 under /build/dapp/smart-contracts/

Added an Oracles section
Added a section for Oracles available on Avalanche. I've added it under /build/dapp/smart-contracts/
Added it in the base README for the smart-contracts directory too.

Added API3 under the Oracles section
Added documentation about API3's first-party oracles.
Added docs about Airnode, dAPIs and QRNG that are currently live on Avalanche.

Why this should be merged
Was not able to find proper developer docs about available Oracles used on Avalanche.
How this works
Developer docs about how to request off-chain data on-chain
How these changes were tested
N.A.
To prevent any errors while building

[] run vale /docs/file/path on all changed .md files to ensure all grammar rules pass
[] run markdownlint /docs/file/path on all changed .md files to ensure all linting rules pass
[] complete the above two checks and all additional rules outlined in style-checker-notes.md to
ensure all checks pass

If a document was removed/deleted

[] the path to that doc must be redirected to a valid URL via the
_redirects file
[] _redirects were manually verified with the cloudflare preview link
[] sidebars.json reflects all changes made to file path

If a document was moved

[] all files that were moved from their current directory to a new path have had their paths
redirected via the _redirects file
[] _redirects were manually verified with the cloudflare preview link
[] sidebars.json reflects all changes made to file path

Hey @vanshwassan
Thank you for your suggestion. Please be advised that we are not accepting any requests to add tutorials or extensive explanations on third-party/external technologies or services.
For more details, please see this policy:
https://github.com/ava-labs/avalanche-docs/blob/master/policies/third-party-tooling-policy.md


[blocked by #1951] Add onnx export

What does this PR do?
Adds functionality to quickly export your model to ONNX format.
Fixes #2271
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[x] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

can we also add a test on inference?

Do you mean using the ONNX Runtime?

can we also add a test on inference?

Do you mean using the ONNX Runtime?

yes, or another way how to test that it really does something - accept given array as input and returns an output in expected range

can we also add a test on inference?

Do you mean using the ONNX Runtime?

yes, or another way how to test that it really does something - accept given array as input and returns an output in expected range

Cool. I'll add tests based on the examples mentioned here: https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html

we should add a test, that the outputs of the exported model match the outputs of the original one :)

Hello @lezwon! Thanks for updating this PR.

In the file tests/models/test_onxx_save.py:

Line 111:1: W391 blank line at end of file

we should add a test, that the outputs of the exported model match the outputs of the original one :)

I've added that one in test_if_inference_output_is_valid :]

@Borda I need some help with the tests. It's breaking on ubuntu-20.04 because onnx is not installed on it. Seems to be working on others.

Borda I need some help with the tests. It's breaking on ubuntu-20.04 because onnx is not installed on it. Seems to be working on others.

The problem is not Ubuntu, but using Conda, you have added the dependency to pip env, so you need to add it also here:
https://github.com/PyTorchLightning/pytorch-lightning/blob/master/environment.yml

this is really cool!
Let's get this merged?

@williamFalcon I think we need to wait for #1951 before we merge this.

Since #1951 has been fixed with https://github.com/PyTorchLightning/pytorch-lightning/pull/2657, I wrote a test to save a ScriptModule to ONNX. But it's failing with:
            try:
>               method_graph, params = torch._C._jit_pass_lower_graph(model.forward.graph, model._c)
E               RuntimeError:
E               temporary: the only valid use of a module is looking up an attribute but found  = prim::SetAttr[name="num_batches_tracked"](%9, %57)
E               :

This looks like a known PyTorch issue and is being tracked here: https://github.com/pytorch/pytorch/issues/34002

@Borda @williamFalcon I don't think there are any changes pending here. We could go ahead and merge this :]

@lezwon are there docs?
can you add a new section called production or something like that in common use cases.

@lezwon are there docs?
can you add a new section called production or something like that in common use cases.

Sure. Will do that :]


Pilot using Apache MINA as a Replacement for SSHJ

Apache has a library for SSH that we should pilot as a replacement for SSHJ. The library is available here: https://github.com/apache/mina-sshd

Resurfacing this now that SSHJ has released another update. I'd like to pull this into a sprint soon so we can build a test harness that lets us check out how easy it would be to use Mina instead of SSHJ and if it's reliable.
Acceptance criteria:

Mina is able to connect to our different SFTP clients:

PuTTY Key
SSH Key

We are able to wrap an interface around Mina and SSHJ such that no matter which one we use for a client the switch could be made at runtime and is transparent to support staff
Mina has a LTS version and Apache isn't planning on sunsetting it any time soon

@MauriceReeves-usds still want to do this? How does it help our workflow? Worth the effort?

@oslynn @brick-green Do we still want to do this or not needed?

yes, I think so. @oslynn what do you think?

@brick-green @brandonnava , I think, we can hold off for now.  Our SSHJ is still secured and good and tested with all of our STLTs. We only need to update our SSHJ to the latest version.  Adding new MINA lib will add more code to our RS and require extensive testing and verification to ensure all STLTs are still functioning and comparable with RS.  We can wait until we have more bandwidth to incorporate MINA into our RS.


middleware support

Support to add middleware to create custom dispatch and getState function.
On my personal project i'm using this to diminish verbosity on dispatch func and return a facebook/Immutable object through getState func.
By defining:
thunk.withMiddleware({
  onDispatch: dispatch => (arg1, arg2) => (typeof arg1 === 'string' ? dispatch({
    type: arg1,
    payload: arg2,
  }) : dispatch(arg1)),
})

you can convert this
const action = (data) => (dispatch) => {
 dispatch({type: 'Action', payload: data})
}

into this
const action = (data) => (dispatch) => {
 dispatch('Action', data)
}

But you may just add another middleware before and do not change simplest functionality of this project.

Idiomatic redux suggests the use of Action Creators (to reduce boilerplate when dispatching actions) and Selectors (to decouple code from the shape of your state).  After, familiarizing yourself with these patterns you may find that the functionality you've added in the PR is not necessary.
Action Creators:

instead of creating action objects inline in the places where you dispatch the actions, you would create functions generating them.

Thanks for the feedback,  i'll rethink in my solution.


Retain user-defined window size on reopen in Desktop App after Cmd+Q

Details

Previously, when a user quit the app using Cmd+Q, the window size was not preserved upon reopening. Instead, it reset to the default size (width: 1200, height: 900).
To resolve this issue, we needed to persist the window size between sessions. Several options were considered, including external packages, onyx, local storage, and using the fs module.
After exploring these options, I found that using the fs module was the simplest and most straightforward solution, requiring minimal changes to the existing code. This approach allows the window size to be saved to a local JSON file and restored on app reopen.

Fixed Issues

$https://github.com/Expensify/App/issues/50509
PROPOSAL:https://github.com/Expensify/App/issues/50509#issuecomment-2408237962
Tests

Open the desktop app.
Resize the window (change both width and height).
Quit the app using Cmd+Q.
Reopen the app.
Verify that the app's window has the same width and height as before quitting.

[x] Verify that no errors appear in the JS console

Offline tests

Open the desktop app.
Resize the window (change both width and height).
Quit the app using Cmd+Q.
Reopen the app.
Verify that the app's window has the same width and height as before quitting.

QA Steps

Open the desktop app.
Resize the window (change both width and height).
Quit the app using Cmd+Q.
Reopen the app.
Verify that the app's window has the same width and height as before quitting.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop
https://github.com/user-attachments/assets/5032ad3a-cca0-4b5c-85b1-1bee9cc7bbba

@mananjadhav ,  initially proposed using Onyx for storing the window size, but after some trials, I found it to be more complex and not working as expected. After considering a few alternatives, I opted for the fs module since it’s straightforward and doesn’t add much complexity to the code.
What do you think—should we stick with fs, or should we try to find a way to make Onyx work? Let me know your thoughts, and we can move forward based on that.
Thanks!

@tylerkaraszewski Can you close this PR now that we've closed the issue?


expand interface for  customer scan mapper package

Are there plans any plans to provide expand interface for  customer scan mapper package to register customering mapper? It`s mean that I want to load myself mapper interface and by myself implement the mapping ,its helpful to  implement my  custom mapper

I'm sorry, but I couldn't understand.
Could you explain it using some example code and/or configuration, please?

it like the following code :
`public interface BlogMapper {
@Select("select  * from t_blog where id = #{id} and url = #{url}")
List<Blog> selectList(@Param("id") Integer id,@Param("url")String url);

@MySelect("select  * from  t_blog")
List<Blog> mySelect();

}
`
i want to  implement my custom annotion  to apply to mybatis,I  study the source code and there seems is no  extension point for me to  customer  load the class  ,Is this explanation understandable？

Thank you for the reply, @lyjsh !
It is unclear what you are trying to achieve (=goal).
What happens if you write @MySelect("select * from t_blog") instead of @Select("select * from t_blog")?
If you want to build SQL statement at runtime, check out @SelectProvider.
https://mybatis.org/mybatis-3/java-api.html

I want to make  base operation  easy,  for example ,if  I  can  implement   custom  annotion,it maybe  look like  the code:
`
public interface BlogMapper {
@MySelect
List mySelect();
}
`
there is  no need  to write  sql  or  xml,it only  use anotion  can  excute  base select  "select * from table_name ",or other base operation  which I provide,  it  can  reduce my code  for  single table curd code,that is what I want to do.

That is what SQL providers are for.
Basically, you add a SQL provider annotation like this.
public interface BlogMapper {
  @SelectProvider(type = MyProvider.class, method = "selectAll")
  List<Blog> selectAll();

MyBatis calls the MyProvider#selectAll() method at runtime and executes the SQL returned from the method.
In that method, you can get the mapper class or method via ProviderContext, so you should be able to calculate the table name and use it to build the SQL.
public class MyProvider {
  public StringBuilder selectAll(ProviderContext context) {
    StringBuilder sql = new StringBuilder();
    Class<?> mapperClass = context.getMapperType();
    String tableName = "t_" + mapperClass.getSimpleName()
      .replace("Mapper", "").toLowerCase(Locale.ENGLISH);
    sql.append("select * from ").append(tableName);
    return sql;
  }
}

It is also possible to omit the method field if you follow some rules.
public interface BlogMapper {
  @SelectProvider(MyProvider.class)
  List<Blog> selectAll();

Please read the explanation about ProviderMethodResolver in the doc.

No response.


How do we apply a hook to all collections?

Is it CollectionHooks.before.<hookName>(function() {...})?

+1 how to do it ?
_.each([Meteor.users, Products, Posts, Items], function(collection) {
    collection.before.insert();
});

@crapthings That definitely works. I also just looked and see this: https://github.com/matb33/meteor-collection-hooks/blob/master/collection-hooks.js#L10-L15
Looks like we can put stuff in the defaults property there.

@matb33 ?

+1 - How can I do this ?

Agreed this would be useful

Duplicate of https://github.com/matb33/meteor-collection-hooks/issues/110


fix: globs in path if cwd is not the cfg file loc

fix #42
based on the documentation: "Non-absolute paths are computed as relative to MkDocs configuration file."

I did not use the glob.glob() root_dir argument because it is only available from python 3.10.

@pawamoy Could you please review? Thanks

Sure, I will when I get some time :)
Thanks for the PR!

CI failures unrelated, will fix in another PR.
I took the liberty to modify your changes a bit, I hope you don't mind.

I took the liberty to modify your changes a bit, I hope you don't mind.

No problem, I'm glad I could help and thank you for your review.


Setting query-log-enabled = false does not disable query logging

Bug report
I can't seem to find any way to disable query logging in influx. The configuration option for "query-log-enabled" in the documentation is described as:
"The query log enabled setting toggles the logging of parsed queries before execution. Very useful for troubleshooting, but will log any sensitive data contained within a query."
I would think that this option would disable the log statements that begin with [query] and output every query that's being run against the database.
System info: Influx v0.13, docker influxdb or influxdb:alpine
Steps to reproduce:
Two ways to reproduce. Disabling query logging does not work by environment variable or by configuration file.

docker run --name influxdb -v /my/influx/path -p 8083:8083 -p 8086:8086 -e INFLUXDB_REPORTING_DISABLED=true -e INFLUXDB_DATA_QUERY_LOG_ENABLED=false -e INFLUXDB_HTTP_LOG_ENABLED=false -e INFLUXDB_CONTINUOUS_QUERIES_LOG_ENABLED=false influxdb:alpine
See queries still being logged

Not working via config file:

docker run --name influxdb -v /my/influx/path -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro -p 8083:8083 -p 8086:8086 influxdb:alpine
See queries still being logged

(relevant section from the config file)
[data]
  dir = "/var/lib/influxdb/data"
  engine = "tsm1"
  wal-dir = "/var/lib/influxdb/wal"
  wal-logging-enabled = false
  query-log-enabled = false
  cache-max-memory-size = 524288000
  cache-snapshot-memory-size = 26214400
  cache-snapshot-write-cold-duration = "1h0m0s"
  compact-full-write-cold-duration = "24h0m0s"
  max-points-per-block = 0
  data-logging-enabled = false

Expected behavior: No query entries in the logs such as:
[query] 2016/08/29 20:52:59 SELECT mean(myfield) FROM "Example"."1h".devices WHERE (device = 'abc') AND (time >= now() - 5m) GROUP BY device, time(1s) fill(previous)
Actual behavior: The query log messages are still being output by influx
Are there any known workarounds for this problem? Is this a documentation bug?

Have you tried this with the rc1? I can check again, but I think this might be fixed already.

Just confirmed this is fixed in RC1. Is RC1 as stable to use in production as 0.13 is at this point?

I would wait until RC2 which should be hitting either today or tomorrow. It's more stable in general, but there's a decently nasty bug we found in RC1 that isn't in 0.13. beta3 should be stable enough if you can't wait for RC2 though.

Closing this since it is already resolved. Thanks for the bug report!

Is there a work around to get this resolved in Influx v0.13, without needing to move to the later version?

You can find the change that fixed this, apply it to the v0.13 tag (if it applies correctly), then compile it. We are not going to backport this fix and release anything for v0.13 at this point.


New test sole proprietorship - JACK NICHOLSON TRANSPORT

Hi,
We have another test sole prop. Can this be added to Orgbook test?
thanks!
Registration Number: FM1112042
Business Number: 987890803BC0001
Business Name: JACK NICHOLSON TRANSPORT
Business Start Date: November 20, 2023

@amanji — for you, please.

Hi @amanji - just wondering if you'll be able to get to this in the next week

@jonargue, Here you go; https://test.orgbook.gov.bc.ca/entity/FM1112042


Epic: migrate to Polkascan

Rationale
Nodewatcher is useable but as I need to add a bulk more heavy tasks it's increasingly becoming difficult to keep it fast enough to keep up with the 6 second block time.
so, as discussed on Riot, the plan is to gradually shift over to using Polkascan, who are an open source team specializing in doing nodewatcher stuff. This would help to focus in on the UX rather than dealing with unfamiliar devops tools.
Foreseen challenge
Gatsby is super opinionated and you must use Graphql to generate a static site at build time. This makes genernating nested routes based on results from a REST api at runtime that much more...not straightforward, but not impossible.
cc @amaurymartiny, I would love to get your thoughts on this, maybe you've had experience doing so already, or see a better way?
helpful: https://www.gatsbyjs.org/docs/using-gatsby-without-graphql/, https://www.gatsbyjs.org/blog/2018-10-25-using-gatsby-without-graphql/
maybe helpful: https://medium.com/@christinavhastenrath/rest-apis-in-gatsby-at-runtime-89a89dd976d7, https://www.gatsbyjs.org/docs/why-gatsby-uses-graphql/#generate-pages-with-graphql
Roadmap
Both Polkassembly and Nomidot rely on the existing nodewatcher plus graphql api built on top of it. This switch will replace the planned v1.5 sync of our own nodewatcher, which would have been a major migration.
who hosts it
There is a public api that can be used for development purposes, we won't be making a whole lot of queries so it won't affect their bills by more than a few cents a week.
Medium-long term, as discussed with Felix, we want to run their harvester code and host our own db+api so that the costs dont just fall on the Polkascan team.
What needs to change to get to parity with v1-alpha and then get to a v1-beta
a) Nomidot will need the following REST endpoints to make up the data we have through out graphql api:
Accounts: https://github.com/paritytech/Nomidot/issues/359

https://api-01.polkascan.io/kusama/api/v1/accounts/
https://api-01.polkascan.io/kusama/api/v1/account/{accountId}

Header: #360

https://api-01.polkascan.io/kusama/api/v1/eras/
https://api-01.polkascan.io/kusama/api/v1/block/{blockNumber}
https://api-01.polkascan.io/kusama/api/v1/session/session/{sessionNumber}

Validators: #361

https://api-01.polkascan.io/kusama/api/v1/session/validators
https://api-01.polkascan.io/kusama/api/v1/nominators
https://api-01.polkascan.io/kusama/api/v1/runtime-event?filter[latestRuntime]=true&filter[module_id]=imonline
https://api-01.polkascan.io/kusama/api/v1/event?filter[module_id]=offences
https://api-01.polkascan.io/kusama/api/v1/event?filter[module_id]=staking
https://api-01.polkascan.io/kusama/api/v1/event?filter[module_id]=vesting

I have a couple of questions:

There is a public api that can be used for development purposes, we won't be making a whole lot of queries so it won't affect their bills by more than a few cents a week.

Is Polkascan aware that we will be using their infra?
Is this endpoint a production or a staging endpoint? Polkassembly (now live with users) will also depend on this. It's imo risky to rely on someone else's infrastructure, especially if 1/ it's free 2/ they don't have any service level and 3/ there's nothing we can do in case their infra breaks or stops.

IMO: if we decide to use their harvester, we should host it ourselves. Putting @Tbaut as cc.

REST vs graphql

If I remember correctly, the frontend would only talk to one GraphQL endpoint, which would be an umbrella above the AppDB and the ChainDB endpoints. Is this architecture still relevant? If yes, it would make sense to build a thin GraphQL wrapper on top of Polkascan's REST API (not-so-uncommon pattern), and make gatsby talk to it.
If we do use their REST endpoint, re the links you posted: why can't we just use fetch/axios like we would normally do in a CRA app? Right now, anyways, we are using Apollo Client instead of their built-in graphql client. We would just need to replace Apollo Client with an axios to the REST endpoint. For the static site generation at build time, we can just put placeholders instead of real values.

IMO: if we decide to use their harvester, we should host it ourselves

yes of course...but while we're getting that up/waiting for a devops person's priority list to get down to this....what would I do? That's why I'm proposing to use their production endpoint (btw, not sure if it's staging or production, but it's the endpoint in the Network tab from polkascan.io).

Is this architecture still relevant?
well, no.

, it would make sense to build a thin GraphQL wrapper on top of Polkascan's REST API

So as I brought this up in our Riot chat, is that really the best use of our time? My hunch is no, it's a lot of work for not much payoff, but I know that I don't have the best compass regarding "how long/how much effort does this take", so would definitely appreciate input from you @amaurymartiny, @Tbaut , and @niklabh.

why can't we just use fetch/axios like we would normally do in a CRA app?

As is discussed in those links I posted, Gatsby is incredibly opinionated - one must for the most part use Graphql.
The main problem is to do with the route creation. Because Gatsby is a static site generator, it needs some values in order to create routes....for example, if we want to create a Details page for each account or each validator, how would we create a accounts/{accountId} from an extension account at buildtime?

For the static site generation at build time, we can just put placeholders instead of real values.

Not sure what you mean, how would that work?

See https://www.gatsbyjs.org/docs/data-fetching. Let's take the validator list. At build time, we show an empty <ValidatorsTable>. At runtime, it uses fetch or axios to fetch Polkascan's endpoint to populate the table.
Gatsby is opiniated for build time data fetching: you must use GraphQL. For runtime, it's as flexible as a regular CRA.
For using Polkascan's API: I believe Nikhil and Thibaut will have a better idea than I do.

I'm sold to the 1 graphQL interface to rule them all. We are currently aggregating data from 3 DB (with Hasura as a gateway) and handling this on the front-end is a great breeze. Hasura does support stitching with REST (here is some doc for the record but I can't tell how much hassle it represents).
We'll definitely keep the node-watcher for a while in our case, because we're relying on it heavily not only for the data, but for events. We've a middleware service (chain-db-watcher) that maintains a constant graphQL subscription to the chain-db. Meaning there would be quite a lot to do to migrate for us. Now that we finally have the node watcher stable, I'm pretty happy with it.
I totally get the move to another data harvesting, because Nomidot needs much more data, and if you're not happy with what you have.. that's obviously not cool. Not sure what will be the trigger for us to move as well, but one thing I'm pretty sure is that I'll want graphQL. So a thin self made graphQL server (unless there's something à la prisma on MySql supporting subscriptions (iirc primsa v2 doesn't care about subscription :man_shrugging:). Also if the Archive node with graphQL is getting to the finish line within a couple months, we might want to go this way and wait a bit.
TL;DR do what you feel is the best for you, we'll keep nodewatcher alive for quite some time because we can't afford to refactor this much now.

Thanks for your input @Tbaut, that makes the path a bit clearer in my mind.
I think the best next task for me then is to work on a GraphQL layer for Polkascan.

See https://www.gatsbyjs.org/docs/data-fetching. Let's take the validator list. At build time, we show an empty . At runtime, it uses fetch or axios to fetch Polkascan's endpoint to populate the table.

This makes sense of course but what I was talking about was not about that, but routing 😅 - e.g. to create a route like /accounts/G1R1PJd3gdDLTT6LyYdhXEz3Cjrj5XvForrMUXW2bx4nfcP. https://www.gatsbyjs.org/docs/node-apis/#createPages

as promised https://github.com/yjkimjunior/Polkascan-GQL


[Chore] rename audit log to audit trail

Renames audit log to audit trail.
To upgrade:
// Current
const client = new WorkOS();
client.auditLog.createEvent(...);

// New
const client = new WorkOS();
client.auditTrail.createEvent(...);

Let's bump all the SDKs and jump to 0.2.0


fix: issue #813 by removing problematic mysql migration

mysql migration v58 failed flyway validation because there was a prior migration also numbered v58
(082fd5e91c68b9fb340184f8fb4548e661890b48) which had since been removed but nevertheless was recorded in flyway history for those users who have installed credhub versions containing the old v58, hence creating a conflict with the new v58. Hence, this commit removes the new v58 for now to fix the issue for those users.

leaving v57 alone because there was never a v57 before, only v57_2, which flyway treats as distinct from v57. See code history here: https://github.com/cloudfoundry/credhub/commits/main/applications/credhub-api/src/main/resources/db/migration/mysql

we will try to add back the index (in this removed v58) later in a safe way.

also: leaving postgres & H2 migrations intact because there is not a problem there.

Upgrade path testing result
Start server at 10c7295
(where v57.2 was applied)
Flyway history:
|             72 | 56      | change expiry date in certificate credential                                  | SQL  | V56__change_expiry_date_in_certificate_credential.sql                                  |  -969791477 | root         | 2024-11-12 03:32:07 |             80 |       1 |
|             73 | 57.2    | delete related encrypted value when credential is deleted                     | SQL  | V57_2__delete_related_encrypted_value_when_credential_is_deleted.sql                   | -1930144391 | root         | 2024-11-12 03:32:07 |             56 |       1 |

Upgrade to b0dd9ef
(where v57.2 was deleted and the old v58 was applied)
Flyway history:
|             72 | 56      | change expiry date in certificate credential                                  | SQL    | V56__change_expiry_date_in_certificate_credential.sql                                  |  -969791477 | root         | 2024-11-12 03:32:07 |             80 |       1 |
|             73 | 57.2    | delete related encrypted value when credential is deleted                     | SQL    | V57_2__delete_related_encrypted_value_when_credential_is_deleted.sql                   | -1930144391 | root         | 2024-11-12 03:32:07 |             56 |       1 |
|             74 | 57.2    | delete related encrypted value when credential is deleted                     | DELETE | V57_2__delete_related_encrypted_value_when_credential_is_deleted.sql                   | -1930144391 | root         | 2024-11-12 03:36:08 |              0 |       1 |
|             75 | 58      | remove triggers                                                               | SQL    | V58__remove_triggers.sql                                                               | -1214956128 | root         | 2024-11-12 03:36:08 |             49 |       1 |

Upgrade to 0f61935
(aka the commit on top of main branch prior to this PR)
Issue #813 is reproduced by this step. flyway history remains the same as the migration fails.
Upgrade to this PR
Everything works and the flyway history is as expected:

the old v58 is deleted.
the new v57 is still applied.

Flyway history:
|             72 | 56      | change expiry date in certificate credential                                  | SQL    | V56__change_expiry_date_in_certificate_credential.sql                                  |  -969791477 | root         | 2024-11-12 03:32:07 |             80 |       1 |
|             73 | 57.2    | delete related encrypted value when credential is deleted                     | SQL    | V57_2__delete_related_encrypted_value_when_credential_is_deleted.sql                   | -1930144391 | root         | 2024-11-12 03:32:07 |             56 |       1 |
|             74 | 57.2    | delete related encrypted value when credential is deleted                     | DELETE | V57_2__delete_related_encrypted_value_when_credential_is_deleted.sql                   | -1930144391 | root         | 2024-11-12 03:36:08 |              0 |       1 |
|             75 | 58      | index lowercase credential name                                               | SQL    | V58__remove_triggers.sql                                                               |<PHONE_NUMBER> | root         | 2024-11-12 03:36:08 |             49 |       1 |
|             76 | 58      | index lowercase credential name                                               | DELETE | V58__remove_triggers.sql                                                               |<PHONE_NUMBER> | root         | 2024-11-12 03:42:19 |              0 |       1 |
|             77 | 57      | add lowercase credential name column                                          | SQL    | V57__add_lowercase_credential_name_column.sql                                          | -1606535744 | root         | 2024-11-12 03:42:19 |             73 |       1 |

I prefer this PR over https://github.com/cloudfoundry/credhub/pull/814 because this PR contains less change and does not need to roll back as many things, and still fixes the problem.
More importantly, leaving the new v57 in place = one less problem to worry about when we try to re-apply the DB improvements. If we roll back the new v57, we will have to think about how to add it back safely, in such a way that works for both those who have not applied it before and those who have (and mysql does not have the IF NOT EXIST syntax like postgres).


feat(daffio): update subfooter UI

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Fixes: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

I'm not sure if this is related, but I noticed

@damienwebdev fixed


Lettuce is not throwing any exception when the redis server is down

Hi
I am using lettuce version biz.paluch.redis:lettuce:4.3.1.Final with redis sentinel configured. The way I am connecting is as:
StatefulRedisMasterSlaveConnection<String, String> connection =
MasterSlave.connect(redisClient, new Utf8StringCodec(),RedisURI.create("redissentinel://"+redisPassword+"@"+uri+"/0#mymaster"));

connection.setReadFrom(ReadFrom.MASTER);
connection.setTimeout(5, TimeUnit.SECONDS);
RedisAsyncCommands<String, String> redis = connection.async();
//Also tried setting timeout as **redis.setTimeout(5, TimeUnit.SECONDS)** but this also did not work.

Issue:
Not able to get any exception or connection time out when redis is down.
Steps to repro:

Start your application and make sure its up and running fine.
Then stop all the redis servers.
Fire a query to get data from redis.

Result: No exception/timeout is thrown and the call got hung.
Expected: There should be a timeout or exception.

Lettuce is working as designed by default. I/O interruptions are buffered by default and commands are replayed after reconnect. Adjust the behavior with ClientOptions, disconnectedBehavior in particular.

Thanks. It worked.


Dart Debian/Ubuntu packages do not link dart2js, pub, docgen

This issue was originally filed by<EMAIL_ADDRESS>
What steps will clearly show the issue / need for enhancement?

Installing Dart SDK according to this link https://www.dartlang.org/tools/debian.html
installs Dart
Nevertheless just /usr/lib/dart/bin/dart is linked to /usr/bin/dart
The commands pub, docgen, dart2js, ... are not linked

What would you like to see instead?

Also link /usr/lib/bin/{pub, docgen, dart2js, } to /usr/bin/{pub, docgen, dart2js, ...}

What version of the product are you using? On what operating system?

Tested on Ubuntu 14.04

Same issue on Ubuntu 14.04. Files exists  in /usr/lib/dart/bin but not symlinked to /usr/bin