p01–p05

p01–p04 are fairly straightforward recursive solutions, but I'm struggling to find a recursive solution to p05. I used an Array in p05, but not Array.reverse().

Thanks @eneko! I'm making progress I think. My work on p07 has helped me understand p05 a bit more I think. reverse() -> Void seems to be quite a bit more challenging than reversed() -> List!

Please follow the new setup instructions and move your solutions to the Solutions folder.
At that point you should be able to run swift run test tehpsy to test your solutions.
Regards,
Eneko

Thanks @eneko, I'm following the new instructions but swift run test tehpsy is giving me errors. Also the original p05 definition is reverse() -> Void, but I noticed your solution is reverse() -> List. Just FYI!

Hey @eneko, I've updated p05 now! I think some of the other problems also need a tweak on the site (e.g. func compress() { instead of func compress() -> List {. Also, using your new xcodeproj is there a way to debug?

Woot! Super happy to see tests passing on Travis CI. Congrats!
Good catch on compress(). You are right, all List methods should return a new list. From the instructions:

Consider instances of List as immutable. All methods should return new instances of linked lists (instead of modifying the current list).

I'll try to update the problem tonight. Thanks!
For debugging, once you open the project in Xcode, select your test target "tehpsy" and hit Run. You should be able to put breakpoints in your code, and also see the output on the console log. Let me know if that is not the case.

Hmmm... I don't have 'tehpsy' target, but I do have 'test' target (this builds and runs, but says "Could not find any tests to run"...

Ok, try running swift run test tehpsy and then swift package generate-xcodeproj. That should do it.
My goal is to have this process automated on during setup :)

Thanks @eneko, generating the new xcodeproj seemed to fix it! I added a couple of files manually afterwards and had to add them to Xcode project Sources and then set their target membership to tehpsy.

Awesome, thanks! In the future, the command swift run solve pXX should take care of that, but I haven't done it yet 😬


chore(devops): add bare-bones typescript configuration

Start work on #1213

We have decided against implementing typescript support for the time being, and have also removed Flow support from our codebase. Unless we are going to use it exclusively/extensively (which we are not) It's too much overhead for us with little gain.
Thank you for your work on this. I'm going to close the PR for now. We may revisit this in the future.


Utilise new docs format

This patch adds support for the new docs format, which allows us to
expose traits and request and response examples.
Several issues are fixed with this release, namely:

issues with scrolling and mobile
resolutions
adds a missing standalone array family template
adds slightly better practice for SEO.

The design has been switched back to a page per action, as the pages became untenably long.

CR complete, looks good.

@blanquer any ideas why the build is failing?

LGTM


Setting timeout when initialising the SDK

Currently, when initializing the SDK with a timeout value, you have to do something like:
        // Initialize Stream Chat SDK
        $client = new StreamClient(
            getenv("STREAM_API_KEY"),
            getenv("STREAM_API_SECRET"),
            '',
            '',
            9 // timeout
        );

This way the apiVersion and location will be overwriten with empty string unless the users sets it when initialzing the SDK.
Would it be better to make it an array instead and the keys are then merged?
something like:
        // Initialize Stream Chat SDK
        $client = new StreamClient(
            getenv("STREAM_API_KEY"),
            getenv("STREAM_API_SECRET"),
            ['timeout' => 9]
        );

The idea is to use null to not change default value but I get your point. @pterk this seems a good improvement, thoughts?

I like it, personally. There's something to be said that an $options array obscures the available options a bit and the null options sort of document the code. Also, maybe consider the similarity across the various clients?

Right, didn't remember the null not changing the default.


add tests for link and baselineOffset

Awesome :)
Could you please rebase it with master without including the changes in TextAttributes.xcodeproj/project.pbxproj ?
Thanks!


Client/feature/home page

This PR adds the home page content WITHOUT animations
Desktop design
Mobile design
Some of the images will be replaced with animations and their files will be deleted

Good job! I think we are missing the links on the footer. To the different projects and the 'Interested in what we could achieve together?' phrase. Could you check where should they lead (the projects to the main project page I guess) and add them?


SITL build on OSX with latest XCode (SDK 10.12) fails

Donalds-Mac-Pro:Firmware Don$ make posix_sitl_default jmavsim -j16
PX4 CONFIG: /Users/Don/repos/Firmware/build_posix_sitl_default
make[1]: warning: -jN forced in submake: disabling jobserver mode.
[  1%] Built target prebuild_targets
[  2%] Built target git_matrix
[  2%] Built target git_genmsg
[  2%] Built target git_gencpp
[  2%] Built target git_jmavsim
[  2%] Built target git_mavlink
[  2%] Built target git_uavcan
[  2%] Building CXX object src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/Time.cpp.o
[  2%] Building CXX object src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/DFDiag.cpp.o
[  2%] Built target git_ecl
[  2%] Built target git_driverframework
[  3%] Building CXX object src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/I2CDevObj.cpp.o
/Users/Don/repos/Firmware/src/lib/DriverFramework/framework/src/Time.cpp:44:9: fatal error:
      'CLOCK_REALTIME' macro redefined [-Wmacro-redefined]
#define CLOCK_REALTIME 0
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/time.h:154:9: note:
      previous definition is here
#define CLOCK_REALTIME _CLOCK_REALTIME
        ^
1 error generated.
make[4]: *** [src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/Time.cpp.o] Error 1
make[4]: *** Waiting for unfinished jobs....
[  4%] Built target xml_gen
[  4%] Built target git_gazebo
[  4%] Built target mixer_gen
make[3]: *** [src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/all] Error 2
make[3]: *** Waiting for unfinished jobs....
[ 23%] Built target msg_gen
make[2]: *** [src/firmware/posix/CMakeFiles/jmavsim.dir/rule] Error 2
make[1]: *** [jmavsim] Error 2
make: *** [posix_sitl_default] Error 2

Hmm , i've just ran that exact command on my computer, which is also running Mac 10.12 SDK, and in fact has that exact line which generated your error in my SDK, but my build succeeded

I tried all variants al make clean I could come up with since I thought maybe there was something old hanging around.

@DonLakeFlyer I'll try to replicate this tomorrow.

@DonLakeFlyer I can't reproduce this, however, I'm on 10.11.6, however with XCode 8.0.
@LorenzMeier any idea?

Either some sort of clean problem or tool update I missed. Let me try a fresh repo and see what happens.

I'm on XCode 8 as well. Tried a fresh repo and got this:
[  3%] Building CXX object src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/I2CDevObj.cpp.o
/Users/Don/repos/fw2/src/lib/DriverFramework/framework/src/Time.cpp:44:12: fatal error:
      unused function 'clock_gettime' [-Wunused-function]
static int clock_gettime(int clk_id, struct timespec *t)
           ^
1 error generated.
make[4]: *** [src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framewo

xcodeselect --install

Yeah, that was it.

Hi I'm getting similar problems when trying to compile with posix_sitl_default as target. I have the Command Line Tools installed (as it can be seen from the error message), but I still get the following error message:
make posix_sitl_default
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
  Referenced from: /usr/local/bin/awk
  Reason: image not found
-- PX4 VERSION: v1.6.0rc1-84-g3dc6e7b
-- CONFIG: posix-sitl-default
-- CMAKE_INSTALL_PREFIX: /usr
-- CMAKE_MODULE_PATH: /Users/nachocarnicero/src/Firmware/cmake
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00042
-- The C compiler identification is AppleClang <IP_ADDRESS>00042
-- The ASM compiler identification is AppleClang
-- Found assembler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: //anaconda/bin/python (found version "2.7.11")
-- C compiler: Apple LLVM version 8.0.0 (clang-8<IP_ADDRESS>)
-- C++ compiler: Apple LLVM version 8.0.0 (clang-8<IP_ADDRESS>)
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/nachocarnicero/src/Firmware/build_posix_sitl_default
[24/495] Building CXX object src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/Time.cpp.o
FAILED: /Library/Developer/CommandLineTools/usr/bin/c++   -DBUILD_URI=localhost -DCONFIG_ARCH_BOARD_SITL -D__DF_DARWIN -D__PX4_DARWIN -D__PX4_POSIX -D__STDC_FORMAT_MACROS -Dnoreturn_function="__attribute__((noreturn))" -I. -Isrc -Isrc/modules -Isrc/modules/px4_messages -I../mavlink/include/mavlink -I../src -I../src/drivers/boards/sitl -I../src/include -I../src/lib -I../src/lib/DriverFramework/framework/include -I../src/modules -I../src/platforms -I../src/lib/matrix -I../src/modules/systemlib -I../src/platforms/posix/include -Iexternal/Install/include -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -Wall -Werror -Wextra -Wno-sign-compare -Wshadow -Wfloat-equal -Wpointer-arith -Wmissing-declarations -Wno-unused-parameter -Werror=format-security -Werror=array-bounds -Wfatal-errors -Werror=unused-variable -Werror=reorder -Werror=uninitialized -Werror=init-self -Qunused-arguments -Wno-unused-const-variable -Wno-varargs -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-missing-field-initializers -fvisibility=hidden -include visibility.h -O2 -fno-strict-aliasing -fomit-frame-pointer -funsafe-math-optimizations -ffunction-sections -fdata-sections -fcolor-diagnostics   -include visibility.h -std=gnu++11 -MD -MT src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/Time.cpp.o -MF src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/Time.cpp.o.d -o src/lib/DriverFramework/framework/src/CMakeFiles/df_driver_framework.dir/Time.cpp.o -c ../src/lib/DriverFramework/framework/src/Time.cpp
../src/lib/DriverFramework/framework/src/Time.cpp:44:9: fatal error: 'CLOCK_REALTIME' macro redefined [-Wmacro-redefined]
#define CLOCK_REALTIME 0
        ^
/usr/include/time.h:154:9: note: previous definition is here
#define CLOCK_REALTIME _CLOCK_REALTIME
        ^
1 error generated.
[24/495] Generating parameters.xml
ninja: build stopped: subcommand failed.
make: *** [posix_sitl_default] Error 1

I'm in Mac Os Sierra (10.12.2) with Xcode 8.2.1
Any help would be appreciated!
Cheers,
Nacho.

You're missing parts of the command line tools / support libraries. You don't have the POSIX headers. Once you install them you should be fine.

Thanks for the quick reply! Indeed, I had to update gawk that was linked to an old version of the readline library.
A brew update gawk solved this issue.
Thanks again!


feat(deps): Update Dependencies

Update TypeScript to V4
Update Jest to 18 (and fix type imports)
Update Node types to Node 16
Update other deps needed

:tada: This PR is included in version 0.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Backup code doesn't work when going through Login->Connect->Recover flow

Backup code doesn't work when going through Login->Connect->Recover flow, I will try fixing in https://github.com/EthWorks/UniversalLoginSDK/pull/97

https://github.com/EthWorks/UniversalLoginSDK/pull/97 Fixes


User session timeout not handled

When the user session times out, the application will let the user continue to work on a diagram but the Save function does not operate.
The user will need to refresh the page which will prompt for GitHub authentication resulting in lost progress.
Steps to reproduce:

Let browser idle or put device to sleep for a period of time
Continue working in Threat Dragon
Attempt to save progress.

Hello @danwiltshire - this is a very good point, thankyou for raising it. I have copied it also to the OWASP repo : https://github.com/OWASP/threat-dragon/issues/20


Wrap errors with capture entry expression snippet point to the position.

To understand errors better is good to add to the error a snippet including the capture entry expression string with a pointer to the position where the error is generated.

/kind enhancement


[BUG] ReactPlugin becomes undefined after certain amount of time

Description/Screenshot
I wrapped each of my components with withAITracking and confirmed that I am properly passing in the instance of the React Plugin.
However, after frequent navigations the app randomly crashes indicating that the React plugin is undefined.
Looks like there was a thread about this issue in the old repo.

Steps to Reproduce
Quickly navigate between pages that render components that have been wrapped with withAITracking

OS/Browser: MacOS/Chrome & Safari
React Version:

    "react": "^17.0.2",
    "react-dom": "^17.0.2",

SDK Version [e.g. 22]:

    "@microsoft/applicationinsights-react-js": "^3.4.0",
    "@microsoft/applicationinsights-web": "^2.8.8",

How you initialized the SDK:
(NOTE: Some code has been removed)

export class DocsApplicationInsights {
  private reactPlugin: ReactPlugin;

  private searchListener;

  private appInsights;

  setup() {
    const { createBrowserHistory } = require('history');
    this.reactPlugin = new ReactPlugin();
    this.appInsights = new ApplicationInsights({
      config: {
        connectionString:appInsightsConnectionString,
        extensions: [this.reactPlugin],
        extensionConfig: {
          [this.reactPlugin.identifier]: { history: createBrowserHistory({ basename: '' }) },
        },
      },
    });
    this.appInsights.loadAppInsights();
    this.appInsights.setAuthenticatedUserContext(id, undefined, true);
  }

  getReactPlugin() {
    // console.log(Boolean(this.reactPlugin)); <- BTW this always outputs to true when it crashes.
    return this.reactPlugin;
  }
  }
}

export default new DocsApplicationInsights();

Expected behavior
App & components render
Additional context
Using docusaurus.

I don't believe that there is anything specific in either the ApplicationInsights JS SDK or the plugin that would cause this, and I'm not finding any "null" assignments as in the previous thread.
Looking at the screenshot and the code, it would appear that using the withAITracking the provided first argument (the reactPlugin instance) that is passed into this specific usage is undefined, possible suggesting that the referenced variable does not exist or that nothing is passed in.


How to make use of this Project?

I'm trying to mine Swampcoin from zpool, but your program gives me errors.
After creating test.js, this is the error I'm getting.

And my test.js looks like:

Can you please create a Youtube video demonstrating step by step on how to use this project

@mvelisomakhenkce you are using the module on the wrong side of the stack. It is for frontend only not for node.js. you have to add the code in the javascript tag of the html page. See this guide

@mvelisomakhenkce personally I like webpack as bundler. You can find how to bundle and use js code in your html page here


[RFC] Minimal Standard Library

I propose that we remove everything but the basics from the standard library.
Many other languages have taken this approach for a variety of reasons. Most importantly it allows libraries to evolve uncoupled from language release cycles, reduces the maintenance burden on the core team, and keeps us free from standard library bloat that has happened in older languages without easy package distribution.
I am suggesting this change now because @gebner has done an awesome job prototyping a package management tool that we should start to dog food ASAP.
I feel that these problems are exacerbated in a proof language as there is a desire to have as many useful facts as possible at your fingertips. It seems to lead to incoherence in the standard libraries and inconsistent quality control as evidenced by Coq's library which has many half finished libraries.
I propose that we convert library_dev to a contrib style development where we curate awesome developments in the community or incubate standard library extensions. We might also want to ship a batteries/haskell platform/stdx style package which includes a good standard set of packages.
Concrete of examples of what could be removed from the standard library today:

smt2 bindings
super
mini-crush

Since the library is already pretty minimal, my purpose is to argue new additions should go in packages and not in the standard library.
A pointer to Rust's original proposal to do the same: https://github.com/rust-lang/rfcs/blob/master/text/1242-rust-lang-crates.md.

I strongly support this RFC.

I support it too, but we should talk about how we intend to "curate awesome developments in the community or incubate standard library extensions." Right now library_dev is an awkward mix of things: a staging ground for the standard library, a place for experimentation, a staging ground for more specialized theories, etc.
Here are some different kinds of libraries:

The standard library. This ships with Lean. It should be small, carefully curated, and we want to keep incompatible changes minimal across releases.
Individual specialized libraries. These are easy. Any user (or developer) can create a library, try to make it useful, and take responsibility for maintaining it in their own space.
Project-managed specialized libraries. For example, I think the project should support a good analysis library, which does not have to be part of the standard library but should be carefully maintained and kept up to date. Similarly for other branches of mathematics, program verification, etc.
Experimental libraries. We may (or may not) want to support spaces for shared experimentation, with bugs, sorry's, parts of the libraries that don't compile, and no promise or expectation of stability at all.

@jroesch How do Rust and other programming languages manage these different aspects of library development? Here is one way we can go about it:

Keep library_dev as the wild west, for shared experimentation, with no expectation of stability. Anyone can contribute anything, and if some folders don't compile, so be it.
Create a staging ground for the standard library, and be picky as to what goes there. Contributions need to be reviewed and discussed by the development team.
Create a single repository or multiple repositories to contain the specialized libraries that we want to support as a project. Each specialized library should have managers/curators that take responsibility for maintaining them and ensuring the quality of the contents.
Let individual users develop and maintain their own libraries, and maintain a central list.
Why do you think?

Rust has a couple different ways of handling this problem. I think that the highest level of stability is reserved only for the standard library. Most libraries have their own stability policies.
I believe that when they accept repositories to the "nursery" they must adhere to some of the same stability guarantees.
The "nursery" acts both as official endorsement and also a staging ground for inclusion into the standard library. At the same time people will submit pull requests or feature additions directly to the standard library if they "fit" with the current functionality. For example exposing more of the file system API.
Finally there are things like https://github.com/brson/stdx, which curate the open source ecosystem, and allow users to pull in many useful crates (the packaging unit) at once.
It seems we will probably have a mix.
My feeling is that we will probably maintain many libraries ourselves, for example the math libraries useful to you and your students, my recent z3 bindings, super, mini-crush, and so on.
I think we should probably put together a registry of some sort as well (https://crates.io/, https://hackage.haskell.org, and so on).
I'm happy to chat more on Slack, just trying to get the ball rolling on these things. I think we are near the point where we need to do these things to continue to scale as a project.

I like this PR because I want a very small library in this repository.
Note that I'm not saying the library in this repository is the standard library.
Other systems (e.g., Agda) have separate repositories for the standard library.
I will call the .lean files in this repository as the "core standard library". I think it should be small for the following reasons:
1- It distributes the effort of maintaining the Lean libraries. In Lean 2, I was wasting a huge amount of time fixing/adjusting the standard library. This is particularly important when we want to refactor something.
2- We don't waste time with dubious and poor quality PRs. We also have to waste time making sure the PR follows the coding conventions.
3- We avoid modules in the core library that are useful only for a very small set of users.

One reason I don't like the idea of separating every little development into a separate Git repo is that it wasn't really designed for that, and submodules will give a lot of headache. (I know that Git repos are not exactly what we are talking about here, but it is a natural next thing to expect if the library is decentralized.) So I would like to avoid hundreds of tiny projects in their own repos that we have to maintain.
I propose a three-tiered approach:

lean repository: Core library only. Everything is prelude. Everything here should either be used by another theorem in the core library, a C++ routine, or should have a good argument for why lean will not work properly without it.
stdlib repository: The standard library. This is a large and organized development of standard mathematics, roughly analogous to the lean 2 stdlib, and containing most of the current library and library_dev repos. This should be cohesive and curated by the team. That is, everything in here should work with everything else, to give it "canonicity".
library_dev repository: One-off projects and specialized developments; highly modular. This can be used as a staging ground for stdlib developments. This is something like Metamath's mathboxes or Isabelle's AFP.

All three repos will be maintained by the team, and we should attempt to keep them in a properly compilable state. However, the maintenance in the library_dev repo will be minimal, just stubbing out anything that can't easily be fixed and notifying the original author.
There will also be third-party repos and forks - these of course get no maintenance and the interaction of these with the big three will be entirely up to their authors. We would encourage them to submit their developments to library_dev so that they will be kept up to date.


Inavid credential for gRPC

Description
If user set invalid credential fro gRPC, it won't get any error or even no log is printed.
We need to check the credential before starting the node.

Description
If user set invalid credential fro gRPC, it won't get any error or even no log is printed. We need to check the credential before starting the node.

Where is this issue happen and please more explain about it?

In config file, put random string as gRPC basic auth.

In config file, put random string as gRPC basic auth.

Which transport gRPC, gRPC gateway or http?

To produce it, open config file and change basic_auth to:
basic_auth = "abscef"

To produce it, open config file and change basic_auth to:
basic_auth = "abscef"

This is invalid value and we should prevent on BasicCheck


"refresh: true" for change operations

use refresh: true for change operations, makes it instantly available for search
remove timeout from tests

all tests pass now in 8 seconds instead of 2 minutes.
remove comments as you like ...
only test which has still a timeout is
"should only delete instances that satisfy the where condition"
here i was not able to remove it? No idea why ... very weird, has nothing to do with es or refresh?!

Can one of the admins verify this patch? To accept patch and trigger a build add comment ".ok\W+to\W+test."

@wolfgang-s Thanks for the PR. Please find my comments inline and update the PR with your previous solution. We are very soon to release a new version with filter bug fixes and it would be a great help if you can submit the PR asap.

@aquid I don't see any comments? This is my first PR maybe I'm missing something out? :)
What do you mean with "previous" solution, do you mean this solution in this PR?
The solution in my master branch makes this refresh settings configurable, which is bad I think, because all other datasource connectors will make all DB changes available instantly (right?) ...

Interesting read:
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-refresh.html
What do you think? Should we make it configurable by model? Defaulting to "refresh: true"?
I personally think, putting load onto the database is not the problem, but slow response times in the frontend is.
Another idea would be to make it configurable per model AND per call. So let's say, when I insert articles via a CSV uploader, I do not want to index every time for every article. But when I create a single article, I do want it to be visible instantly. <- Problem here, I have no clue how to realize this.
I think my solution for now is pretty neat. I could submit another PR later ...

@wolfgang-s

I don't see any comments?

Look here https://github.com/strongloop-community/loopback-connector-elastic-search/pull/77#discussion_r102559822

What do you mean with "previous" solution, do you mean this solution in this PR?

No I meant https://github.com/wolfgang-s/loopback-connector-elastic-search/commit/26f8aeeabc6cbfbe712d635db2c2b5cc4b0e9831

because all other datasource connectors will make all DB changes available instantly (right?)

Yes, most of the connectors will do that, but as we know that making refresh:true by default can create huge performance issues in elasticsearch, so I would rather leave this decision to the user and make this option configurable.

Another idea would be to make it configurable per model AND per call

This would be a perfect solution. You can have a look at this issue and validate if this could be useful for doing per request refresh option.
Let me know if you would be interested in updating the PR with making the option configurable.

@aquid Ok, I make it configurable as in my master branch and default true (!?), per model and per call using the options parameter.
I still don't see any inline comments :(

@wolfgang-s

I make it configurable as in my master branch and default true (!?)

Default to true is perfect.

@wolfgang-s Also don't change the existing tests instead, create a new file/tests without timeout and change the existing ones as pending/inactive ( change describe as xdescribe) that way anyone running the tests with refresh:false would still be able to run test successfully by manually editing the describe block.

@aquid everything should be fine now ;)
what do you think?

@wolfgang-s Almost there. just few more changes.

As you can see there's a merge conflict now, please rebase your changes over latest develop branch and re-submit your PR.
I want the array to come from datasource file. added comment to explain that and this time you should be able to see it.
Let's not club options and refresh feature both in a single PR. so please make this one specific to refresh and you can send a new PR for options

FYI - options added looks great but we need to be sure that this supports earlier versions too where options were not passed. moreover, I see this code from mongo-connector which makes me think that we should also be implementing this.

@aquid

I will create 2 PRs (new ones) now based on the develop branch.
Array will come from datasource file with fallback.
This "options" fallback from the mongo-connector is already in there (for destroyAll) ... And for the other functions in mongo-connector I don't see it there ... I will leave it as is, this change was merged already in 2015, so I guess nobody will have such an old version of the db connector ...

Here you go:
https://github.com/strongloop-community/loopback-connector-elastic-search/pull/81

To me it seems refreshOn is not per model but rather applies to all models, am I wrong?


Changing filters

Changing filters and applying them should reload the search instead of you having to manually search again.

See also  #13

Does not apply with #13 fixed.


AADSTS50058: A silent sign-in request was sent but no user is signed in.

Please follow the issue template below. Failure to do so will result in a delay in answering your question.

Library

[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Important: Please fill in your exact version number above, e.g<EMAIL_ADDRESS>Framework

React

Description
Getting an access token throws the following error in IE11, Edge and Chrome Incognito. Tried multiple variations of config and cache settings. It looks like the id_token isn't being stored correctly before the access token is being requested or the iframe isn't receiving the cookie. The constructor calls initialising which might be asynchronous creating a race condition when the #idtoken= is returned but before the acquireTokenSilent method is called.
Error Message
client.js?7ed9:45 InteractionRequiredAuthError: AADSTS50058: A silent sign-in request was sent but no user is signed in. The cookies used to represent the user's session were not sent in the request to Azure AD. This can happen if the user is using Internet Explorer or Edge, and the web app sending the silent sign-in request is in different IE security zone than the Azure AD endpoint (login.microsoftonline.com).

Security

[x] Is this issue security related?

MSAL Configuration
{
    auth: {
      scopes,
      clientId,
      authority,
      validateAuthority: true,
      postLogoutRedirectUri: window.location.origin,
      redirectUri: `${window.location.origin}`,
      navigateToLoginRequestUrl: true,
    },
    cache: {
      cacheLocation: 'sessionStorage',
      storeAuthStateInCookie: true,
    },
  }

Reproduction steps
auth.loginRedirect({ scopes: ['openid', 'profile'] });
auth.acquireTokenSilent({ scopes: [`${clientId}/.default`, 'offline_access'] })

Expected behavior
Returns an access token but throws error.
Browsers/Environment

[x] Chrome
[ ] Firefox
[x] Edge
[x] Safari
[x] IE
[ ] Other (Please add browser name here)

Hi @sidhuko, please call the getAccount API before calling acquireTokenSilent. In addition, when receive an interaction required error, you should fall back to interactive call, either acquireTokenRedirect or acquireTokenPopup.
Can you also provide a code snippet showing any other code relevant to this issue?

I've implemented all this and it just keeps requesting an access_token, returning it on the URL, then throwing the error when it is called again. It is something internal about storing the user information in the cache or storage which is then not available in Chrome Incognito, Edge or IE11. This library don't really have good tests or a sample for a modern react application which demonstrates how to use it properly but I've spent enough time on this implementation to try all sorts of configurations. It was working before the other week. You seem to have a Github release for nearly two weeks ago but the package released on npm is from one month ago. Did you manage to overwrite a release on NPM and break a published version with new code?
It is that or a change in the browser security settings or how your AD service provisions tokens which this library sees as no longer valid. I seem to be missing a sid on the token now.
// useAuth.ts

import { useState } from 'react';
import { UserAgentApplication } from 'msal';

export function useAuth({ clientId, authority }) {
  const scopes = [`${clientId}/.default`, 'offline_access'];

  const config = {
    auth: {
      scopes,
      clientId,
      authority,
      validateAuthority: true,
      postLogoutRedirectUri: window.location.origin,
      redirectUri: `${window.location.origin}`,
      navigateToLoginRequestUrl: true,
    },
    cache: {
      cacheLocation: 'localStorage',
      storeAuthStateInCookie: true,
    },
  };

  const [auth] = useState(new UserAgentApplication(config));

  return { auth, config, scopes };
}

// client.js
import { HttpLink } from 'apollo-link-http';
import { ApolloClient } from 'apollo-client';
import { ApolloLink } from 'apollo-link';
import { onError } from 'apollo-link-error';
import {
  InMemoryCache,
  IntrospectionFragmentMatcher,
} from 'apollo-cache-inmemory';
import introspectionQueryResultData from '@hks/queries';

import { setContext } from 'apollo-link-context';

import { history } from './history';
import { GRAPHQL_GATEWAY } from './constants';

export const client = ({ auth, scopes }) => {
  // Ignore subsequent, machine-gunned error responses
  let previousErrorTime = 0;

  const errorLink = onError(({ networkError }) => {
    const currentErrorTime = new Date().getTime();
    if (networkError && currentErrorTime - previousErrorTime > 500) {
      const params = new URLSearchParams(history.location.search);
      // `?networkError=true` is picked up in the <App /> component
      params.set('networkError', true);
      history.push({
        pathname: history.location.pathname,
        search: params.toString(),
      });
    }
    previousErrorTime = currentErrorTime;
  });

  const authLink = setContext(async (_, { headers }) => {
    try {
      console.log('acquireTokenSilent');
      const { accessToken } = await auth.acquireTokenSilent({
        scopes,
      });

      return {
        headers: {
          ...headers,
          authorization: accessToken ? `Bearer ${accessToken}` : '',
        },
      };
    } catch (error) {
      // eslint-disable-next-line no-console
      console.error(error);
      console.log('acquireTokenRedirect');
      const { accessToken } = await auth.acquireTokenRedirect({
        scopes,
      });

      return {
        headers: {
          ...headers,
          authorization: accessToken ? `Bearer ${accessToken}` : '',
        },
      };
    }
  });

  const httpLink = new HttpLink({
    uri: GRAPHQL_GATEWAY,
  });

  const link = ApolloLink.from([errorLink, authLink.concat(httpLink)]);

  return new ApolloClient({
    link,
    cache: new InMemoryCache({
      fragmentMatcher: new IntrospectionFragmentMatcher({
        introspectionQueryResultData,
      }),
    }),
    name: 'portfolio',
    version: '0.0.1',
    queryDeduplication: false,
    defaultOptions: {
      watchQuery: {
        fetchPolicy: 'cache-and-network',
      },
    },
  });
};

// Root.jsx
import React from 'react';
import { hot } from 'react-hot-loader/root';

import { Router, Route, Switch } from 'react-router-dom';

import {
  DataProvider,
  AuthProvider,
  AuthorizeProvider,
  FrameworkProvider,
} from '@hks/framework';

import { client } from './client';
import { history } from './history';
import { FEATURES, AAD_CLIENT_ID, AAD_AUTHORITY } from './constants';
import { App } from './components/App/App';

export const Root = hot(() => (
  <FrameworkProvider history={history} features={FEATURES}>
    <AuthProvider clientId={AAD_CLIENT_ID} authority={AAD_AUTHORITY}>
      <Router history={history}>
        <Switch>
          <Route>
            <DataProvider client={client}>
              <App />
            </DataProvider>
          </Route>
        </Switch>
      </Router>
    </AuthProvider>
  </FrameworkProvider>
));

// AuthProvider.js
import React, { useEffect, useState } from 'react';

import { useAuth } from '../hooks/useAuth';
import { AuthContext } from '../contexts/AuthContext';
import { Flex } from '../components/Flex/Flex';
import { Loading } from '../components/Loading/Loading';

export const AuthProvider = ({ children, clientId, authority }) => {
  const { auth, config, scopes } = useAuth({ clientId, authority });
  const isLoginInProgress = auth.getLoginInProgress();
  const [user] = useState(auth.getAccount());

  if (!user && !isLoginInProgress) {
    return (
      <>
        {(() => {
          auth.loginRedirect({ scopes: ['openid', 'profile'] });
        })()}
      </>
    );
  }

  console.log(
    'user',
    user,
    isLoginInProgress,
    !user || isLoginInProgress ? 'loading' : 'shown'
  );

  return (
    <AuthContext.Provider
      value={{ auth, config, scopes, user, isLoading: isLoginInProgress }}
    >
      {!user || isLoginInProgress ? (
        <Flex flex="1 1" justifyContent="center" height="100%">
          <Loading />
        </Flex>
      ) : (
        <>{children}</>
      )}
    </AuthContext.Provider>
  );
};

// DataProvider.jsx

import React, { useContext } from 'react';
import { ApolloProvider } from '@apollo/react-hooks';

import { AuthContext } from '../contexts/AuthContext';

export const DataProvider = ({ children, client }) => {
  const { auth, scopes } = useContext(AuthContext);
  return (
    <ApolloProvider client={client({ auth, scopes })}>
      {children}
    </ApolloProvider>
  );
};

Just to confirm it works fine in normal Chrome but its most other browsers. Safari, Chrome (Incognito), Edge and IE11 which are throwing the error after login. The library itself creates a race condition by breaking the Single Responsibility Design principle and initialising in the constructor. That logic takes the token from url, changes the url and adds it into cache but maybe not synchronously.

Tested in 1.3.1 - does not work, same issue
Tested in 1.3.0 - does not work, same issue

@sidhuko
had this issue recently. Check in browser settings if your browser is blocking third party cookies in incognito. basically for us everything we logged in nothing was stored and so kept tying to relog in on redirect. Changing the browser setting for incognito mode solved it

I don't think changing the browser setting is an acceptable solution for
all users.
On Thu, 9 Jul 2020 at 12:26, Jedd Shneier<EMAIL_ADDRESS>wrote:

@sidhuko https://github.com/sidhuko
had this issue recently. Check in browser settings if your browser is
blocking third party cookies in incognito. basically for us everything we
logged in nothing was stored and so kept tying to relog in on redirect.
Changing the browser setting for incognito mode solved it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/1880#issuecomment-656281667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVFBWICAOLJZN2RLEFIY3LR2YDTXANCNFSM4OPFBXCA
.

@sidhuko The reason why you are receiving this error is likely because MSAL is making a network request to get an access token, however, third-party cookies (which are required for silent requests) are being blocked by your browser settings. If you are receiving this error after calling acquireTokenSilent after you have just completed an interactive request (acquireTokenRedirect or acquireTokenPopup), it means that the call to acquireTokenSilent resulted in a cache miss, which, in this scenario, is often due to improperly constructed requests.
In your scenario, you are calling acquireTokenSilent with scopes that span multiple resources (${clientId}/.default, offline_access). Doing this will always result in a cache miss because access token are only scoped to one resource and are cached accordingly. This means you need to make one acquireTokenSilent call for each set of scopes for each resource (e.g. one for ${clientId}/.default and one for offline_access). However, offline_access is not a valid scope in the implicit flow as it is used in other flows to acquire refresh tokens, so your application can pass just the  ${clientId}/.default scope to acquireTokenSilent (and acquireTokenRedirect).
We are aware of the problems caused third-party cookies blocking and we are addressing it in MSAL.js v2, which is currently in public preview. See #1000 and msal-browser for details.

I've tried many variations and with separate scopes - the offline_access is following your sample applications which I did to ensure it was completely the same. I've also tried using the v2 releases with @azure/msal-browser but they are broken in the latest beta as shown in your issue tracker with various problems.
There is no public release roadmap or expectation for what you're doing with v2 either. In the Azure control panel for App Registrations it has been showing the warning of how cookies are changing in the browser for at least a few months. How come this project is still relying on browser testing in High Sierra on old versions of Safari and Chrome at least 20 releases back? It might be on Github but this project is not a community run package and led by a development team in-house of Microsoft so please communicate these issues with your support teams about the lack of support for implicit flows for App Registrations. They are so lost they are linking me answers from StackOverflow from 3 years ago.

This is kinda a major issue, is the only resolution to tell the users to not use incognito tab?

MSAL.js 2.0 is now generally available and will mitigate errors caused by third-party cookie blocking in most scenarios. Please try out the latest version and let us know if you have any feedback.

@jo-arroyo Thanks for letting us know, if companies are still using the implicit flow they won't be able to migrate to MSAL 2.0 right? Because it uses Auth flow with PKCE


OOM with device_type = cuda when using lgb.cv(...) for parameters grid search

Description
I am using lgb.cv with device_type = cuda to find the best parameters set on validation data using grid search.
LightGBM fails with "Out Of Memory" after few training runs on the same fixed dataset and different parameter sets that are not dependent on data (num_leaves, lambda_l1, lambda_l2 and some others).
Reproducible example
Let's take simple example as a starting point and update it a bit to emulate cross-validation over num_leaves using cuda device:
# coding: utf-8
from pathlib import Path

import pandas as pd
from sklearn.metrics import mean_squared_error

import lightgbm as lgb

print('Loading data...')
# load or create your dataset
regression_example_dir = Path(__file__).absolute().parents[1] / 'regression'
df_train = pd.read_csv(str(regression_example_dir / 'regression.train'), header=None, sep='\t')
df_test = pd.read_csv(str(regression_example_dir / 'regression.test'), header=None, sep='\t')

y_train = df_train[0]
y_test = df_test[0]
X_train = df_train.drop(0, axis=1)
X_test = df_test.drop(0, axis=1)

# create dataset for lightgbm
lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train)

# specify your configurations as a dict
params = {
    'device_type': 'cuda',
    'boosting_type': 'gbdt',
    'objective': 'regression',
    'metric': {'l2', 'l1'},
    'learning_rate': 0.05,
    'feature_fraction': 0.9,
    'bagging_fraction': 0.8,
    'bagging_freq': 5,
    'verbose': 0
}

for num_leaves in [31, 63, 255]:
    print('Starting training...')

    training_params = params.copy()
    training_params["num_leaves"] = num_leaves

    gbm = lgb.train(params,
                    lgb_train,
                    num_boost_round=1000,
                    valid_sets=lgb_eval,
                    callbacks=[lgb.early_stopping(stopping_rounds=100)])

    print('Starting predicting...')
    # predict
    y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)
    # eval
    rmse_test = mean_squared_error(y_test, y_pred) ** 0.5
    print(f'The RMSE of prediction is: {rmse_test}')

During running this GPU memory usage is constantly growing after each for cycle iteration (157 Mb, 169Mb and 181Mb respectively on my GTX 1080Ti).
On the real-world data I am working with (millions of rows, the same code structure) situation is much more dramatic - it fails on the second iteration start with "Out of Memory" here. It seems like CUDA tensors for feature matrix are created multiple times (once per run?).
Environment info
Ubuntu Linux 16.04, CUDA 10.1, Nvidia driver 418.87.01
LightGBM version or commit hash:
3.3.2
Command(s) you used to install LightGBM:
pip install -U lightgbm==3.3.2 --install-option=--cuda
Additional Comments

Thanks for using LightGBM and for the thorough report!
Does the example code you provided also fail with "out of memory" errors? I noticed that it doesn't use lgb.cv() but the issue title says "when using lgb.cv()". Which of these are you asking for?

help reducing the memory footprint of code following the pattern you've provided
help reducing the memory footprint of lgb.cv()
both of those
something else

@jameslamb
Thanks for quick response!
Regarding but the issue title says "when using lgb.cv()": yeah, in my real production code I am using lgb.cv to perform cross-validation over various sets of params to find the optimal one.
I haven't posted it as it is quite massive (there are a lot of custom abstractions that create validation folds, wraps custom metrics, uses distributed Optuna setup to yield promising parameters sets, custom callbacks and so on) - it is basically a part of the huge framework.
Instead I've taken the simple example and modified it a bit to emulate very similar situation in a small piece of code. The point here is that I still observe memory growth at each iteration (so abstractions are not the primary cause), but from the logical perspective it shouldn't - the data is fixed (I do not apply any changes to Dataset) and after quick look at cuda_tree_learner I think it should reuse already allocated tensors on GPU. But in reality it seems like cuda_tree_learner still copies the whole dataset to GPU on each iteration.
If it will help, I can make input dataset in this toy example 1000x bigger and try to run it again - I am sure it will fail with OOM.

@jameslamb
Regarding this

If it will help, I can make input dataset in this toy example 1000x bigger and try to run it again - I am sure it will fail with OOM.

Indeed
# coding: utf-8
from pathlib import Path

import pandas as pd
import lightgbm as lgb

print('Loading data...')
# load or create your dataset
regression_example_dir = Path(__file__).absolute().parents[1] / 'regression'
df_train = pd.read_csv(str(regression_example_dir / 'regression.train'), header=None, sep='\t')
df_test = pd.read_csv(str(regression_example_dir / 'regression.test'), header=None, sep='\t')

df_train = pd.concat([df_train] * 5000, ignore_index=True)
df_test = pd.concat([df_test] * 5000, ignore_index=True)

y_train = df_train[0]
y_test = df_test[0]
X_train = df_train.drop(0, axis=1)
X_test = df_test.drop(0, axis=1)

# create dataset for lightgbm
lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train)

# specify your configurations as a dict
params = {
    'device_type': 'cuda',
    'boosting_type': 'gbdt',
    'objective': 'regression',
    'metric': {'l2', 'l1'},
    'learning_rate': 0.05,
    'feature_fraction': 0.9,
    'bagging_fraction': 0.8,
    'bagging_freq': 5,
    'verbose': 0
}

for num_leaves in list(range(10, 1000, 10)):
    print('Starting training...')

    training_params = params.copy()
    training_params["num_leaves"] = num_leaves

    gbm = lgb.train(params,
                    lgb_train,
                    num_boost_round=10,
                    valid_sets=[lgb_eval])

fails after 8 iterations on my GTX 1080Ti with
[LightGBM] [Fatal] [CUDA] out of memory /tmp/pip-install-enl8e16_/lightgbm_2591f42f1f7645cbbbbd8d4539df8eb3/compile/src/treelearner/cuda_tree_learner.cpp 333

terminate called after throwing an instance of 'std::runtime_error'
  what():  [CUDA] out of memory /tmp/pip-install-enl8e16_/lightgbm_2591f42f1f7645cbbbbd8d4539df8eb3/compile/src/treelearner/cuda_tree_learner.cpp 333

So there is definitely some memory-freeing issue afaiu.

Closing as PR containing fix is merged

Thanks so much for the help @denmoroz !


Rewrite accounts app from scratch

When a web visitor accesses http://<IP_ADDRESS>:8000/, Django needs to serve the templates/gateway.html. This is how it needs to look: https://imgur.com/qzcyPjS
Only when the web visitor enters a correct passphrase will Django then take the client to templates/portal.html. To accomplish all of that, you’ll need to:

completely remove username/password combo functionality (which is already commented out in templates/gateway.html) as well as contained inside accounts/views.py. This all needs to be replaced.
retain passphrase functionality

Completed by UmarGit in PR #58


cutmix question

Does the cutmix of unlabeled data mix the same image using mask_params? Or, are the other two images mixed by mask_params?

Hi, two different images are mixed.


fix the Dockerfile.gccgo for new dependency

Signed-off-by: Srini Brahmaroutu<EMAIL_ADDRESS>This fixes master(gccgo) build failures.

LGTM

i am working on a pr to autogenerate these from bash, so this doesnt need to happen in future sorry LGTM


Week 4 Local Server

Video

Grade: 2.7+
Personalized flask website
Transitions and extra editing for a more enjoyable video experience
clear subtitles explaining whats happening

Would of preferred descriptions.   You did go through all the requirements as far as I remember.  2.7

Grade 2.7, the bgm was nice, it jumpcutted well with a lot of organization, and it showed everything that was required.

Grade 2.7+
The video was very organized and had all the elements.
It showed everything working in GitHub and her local server.

I would give Emma a 2.7+, because the video is done well with transitions, titles so the viewer knows what's happening, as well as background music. All of the video's requirements are met, though I would say to possibly add narration next time, if possible.


gonic: 0.15.2 -> 0.16.4

Description of changes
Updates gonic to the latest version, with corresponding module/test fixes. Also adds myself as the maintainer since the package is currently without one.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3712


Consider local IPs to be canonical hostnames

The health checker runs on the same hosts as the application servers and
uses a local IP address to access the /_health endpoint. Whitelist local
IP addresses as well.
No ticket.

Before getting review, please check the following:

[x] Does frontend functionality render and work correctly in IE?
[x] Have we load-tested any new pages or internal API endpoints that will receive significant traffic?
[x] Are interactive elements accessible to screen readers?
[x] Have you checked for tech debt you can address in the area you're working in?
[x] If this change involves routes, does it work correctly with pertinent "unusual" routes such as the combined Green Line, Silver Line, Foxboro commuter rail, and single-direction bus routes like the 170?
[x] Are the changes organized into self-contained commits with descriptive and well-formatted commit messages?

@thecristen technically I should have said this works with private rather than local IPs, will update.

@thecristen I think as a consequence of the Github troubles yesterday CI is not running on this PR, I will close and open a fresh one.


Error occurred when using with Apollo: Cannot read property 'data' of null

Hello all!
I'm having trouble using ignite with apollo graphql.
I'm also not sure if this error of ignite or apollo, but when I use react-native init to create the project, the apollo works as expected.
The problem only occurs on Android, when I turn off the graphQL server (create network error), the application will appear a red screen when cannot query to server.

Steps to reproduce

Create new ignite project
Install apollo-boost, react-apollo and graphql
This is the content of the file App.js:

import React from 'react'
import { Text } from 'react-native'
import ApolloClient, { gql } from 'apollo-boost'
import { ApolloProvider, Query } from 'react-apollo'

const client = new ApolloClient({
    uri: 'http://<IP_ADDRESS>:4000'
})

const READ_TODOS = gql`
    query {a
        readTodos {
            id,
            title,
            completed
        }
    }
`

export default DemoScreen = () => {
    return (
        <ApolloProvider client={client}>
            <Query query={READ_TODOS}>
                {({ loading, error, data }) => {
                    if (loading) return <Text>Loading...</Text>
                    if (error) return <Text>Error :(</Text>
                    return data.readTodos.map(({ id, title }) => (
                        <Text key={id}>{title}</Text>
                    ))
                }}
            </Query>
        </ApolloProvider>
    );
}

Make sure that graphQL server is turned off and run project on Android

ignite doctor results:
System
  platform           darwin

  arch               x64
  cpu                4 cores                                   Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz
  directory          /Users/tienhnm/Workspaces/corporation4d

JavaScript
  node               10.16.0      /usr/local/bin/node
  npm                6.9.2        /usr/local/bin/npm
  yarn               1.16.0       /usr/local/bin/yarn

React Native
  react-native-cli   2.0.1
  app rn version     0.59.3

Ignite
  ignite-cli           3.1.3                                                                                /usr/local/bin/ignite
  createdWith          3.1.3
  boilerplate          ignite-andross
  examples             classic
  navigation           react-navigation
  askToOverwrite       true
  generators           {"component":"ignite-andross","container":"ignite-andross","listview":"ignite-andross","list":"ignite-andross","redux":"ignite-andross","saga":"ignite-andross","screen":"ignite-andross"}
  boilerplateVersion   4.0.5

Android
  java               1.8.0_212    /usr/bin/java
  android home       -            /Users/tienhnm/Library/Android/sdk

iOS
  xcode              10.1

Hey @vfa-tienhnm-os , thanks for the issue! We'd love a PR from the community, as we're focused on Bowser currently.


bgf hacking

Pretty sure you won't want to merge this, just put it here for reference. Notes are at the top of the cpp file.


Autocompletion triggers on numbers

Godot version:

3.2.3 rc4
Issue description:

I noticed that autocompletion is overzealous recently. When you type any standalone number, it will suggest some class containing this number in name. Which often leads to accidental inserting.

CC @ThakeeNathees

introduced by: #41318 a refactor of #36950 (one of my early PR)
fixed by : #41451
I have to run more tests before making anymore PR.

Fixed by #41451.


[Bug]: Install Error

What happened?
During installation from the Setup Wizard today, the installation could not be completed due to an error regarding the DB data of the coupons.
What did you expect to happen?
We expect the installation to complete successfully.
Version
3.5.x
What browser are you seeing the problem on?
Chrome
Relevant log output
SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'ti_igniter_coupons_history_coupon_id_foreign'; check that column/key exists (SQL: alter table `ti_igniter_coupons_history` drop foreign key `ti_igniter_coupons_history_coupon_id_foreign`)

I am experiencing the same issue.

Fixed in v1.10.1 (https://github.com/tastyigniter/ti-ext-coupons/commit/ec5f5d9f6297377dfec9a879c31687fbebc47ee8)


WildCam Lab Classrooms - 2018 Rebuild - part 4

PR Overview
This PR follows #124. In this PR, we're mostly concerned with fixing bugs that prevent the Teachers from fully enjoying the Create/Edit WildCam Assignments functionality.
Updates in place:

You can actually edit WildCam Assignments. There was a bug previously that prevented data from being saved on an update. (Create Assignment continues to work fine.)

Planned updates:

The Assignment form should remember any data the user type into the form before they transition to the Map (to select Subjects). At this moment, if you type in an Assignment name, select subjects, then return, the Assignment name just goshdarn disappears/resets to the original.

Important: Changes Affecting Astro Classrooms
@srallen please be aware that I've updated the /lib/edu-api.js's put() function, since the pre-built request body structure wasn't flexible enough to support WildCam Classroom's PUT requests (i.e. I needed to edit the Relationship field as well as the Attributes field).
The changes are as follows:

src/lib/edu-api.js: put() function no longer implicitly constructs the request body structure.
src/ducks/classrooms.js: put() call now explicitly constructs the request body structure. Affects I2A's Edit Classroom functionality.
src/ducks/programs.js. ditto. Affects... er, nothing, at the moment.

Side note
Sarah, since you mentioned you were making updates to I2A classrooms for summer, here are some useful notes, so you have fewer worries about your updates crossing with WildCam's functionality.

Almost all the WildCam code has been moved to src/modules/ and src/programs/.

they don't use any I2A Classroom/Assignment-specific code; so src/ducks/classrooms.js and src/containers/AssignmentFormContainer.jsx, for example, are safe to update for I2A.

Only a few links to the shared code remains:

WildCam Classrooms still relies on the shared Join page.

NOTE: the Join page doesn't seem to auto-redirect students to their respective classrooms/assignments, although the join is still registered; this redirection issue seems to be present even at v1.0.0, but I haven't tested/debugged to be sure.

Common components like SuperDownloadButton and Status404 are still in shared use.
The "index" pages (src/ducks/reducer.js, ProgramHomeContainer) still have specific references to the Darien code.

Status
WIP for WildCam Darien stuff.
The changes /lib/edu-api.js and its dependents are ready for review, @srallen .

PR Update
This PR has been updated with the following major changes:

The Edit Assignment feature now works as intended. (There were a bunch of bugs that got fixed, such as the edited info now showing properly ont he form.)
UX/convenience improvements: when transitioning to/from the Assignment form and the WildCam Map (to select subjects), a lot of the data is now "remembered" so users don't have to re-type the information - the Assignment name, and any existing map filters, for example.

Status
Merging and deploying.
Please note that after this, I'll take a short break from WildCam Lab development. A "part 5" should be coming later with a focus on: 1. information pages for teachers (this is minor), 2. a students page (plus hooking up Assignments to PFE, maybe, probably), 3. a replacement for Carto (boy oh boy).


rename refactoring corrupts ~/.pub_cache

I tried renaming a variable named "type" to "tokenType". This showed a popup indicating that it was changing five files, and at least one of them was in ~/.pub_cache. Unfortunately I had no good way to stop it, and the dialog disappeared so I don't know which file it changed. It's unclear whether Command-Z undid the change in all files or just the one I'm in.
Until symlinks to the .pub_cache go away, I think we need to be more careful not to follow them when doing a refactoring. Also, it seems like touching any file outside the directory that the user has open in Atom (even via a symlink) is rather suspect. It should at least prompt the user for confirmation.

Yeah, I think this is two issues. The atom plugin needs to do a better job of saying what'll be changed ahead of time, and the analysis server shouldn't rename in things outside of the current project.
@bwilkerson @scheglov

Another issue: I don't know why it was modifying those files in the first place. If I use "Find References", it doesn't show any outside my project. So why did it pick these files up when doing a rename refactoring?
(Find references doesn't seem entirely reliable though; it returns different results depending on which files I have open.)

I take that back about confirmation. There is a dialog to confirm renames that effect multiple files. I must have been moving too quickly last time.
Here is another example: I am renaming a method named "skip" to "next". Here's the dialog:
Confirm rename in 4 files?
/Users/skybrian/projects/miniml/dart/lib/src/common/parser.dart
/Users/skybrian/projects/miniml/dart/lib/src/calc/parser.dart
/Users/skybrian/projects/miniml/dart/lib/src/miniml/parser.dart
/Users/skybrian/.pub-cache/hosted/pub.dartlang.org/test-0.12.4+7/lib/src/runner/engine.dart
I don't understand how the file in the "test" package could possibly match the query. I cancelled the rename and did a "Find References" search, and it doesn't show engine.dart.
It seems like rename refactorings are searching for references in a different way than "Find References"?

Confirmed

Oops, sorry. Confirmed that it still happens after restarting atom.

Does Atom plugin display potential references in "Find References"?
Rename refactorings search for and update both, but potential SourceEdit(s) have "id".

Looking into this, I get references to the pub-cache for refactorings that do not return any edits with ids.
(It would be nice if there was a boolean flag in SourceEdit called something like potential - inferring that from the presence of the id is less clear.)

Closing in favor of https://github.com/dart-lang/sdk/issues/24420.


Bring in upstream charts

What this PR does / why we need it:
Compliant Kubernetes operators complained about a few things:

It is difficult to follow the path that configs take. We cannot
"grep" a value (see https://github.com/elastisys/compliantkubernetes-apps/issues/355)

We depend on upstream repos being up, which is impacts us when they
are down.

apply and template take too much time.

This commit fixes all above, by bringing in upstream Charts.
Which issue this PR fixes (use the format fixes #<issue number>(, fixes #<issue_number>, ...) to automatically close the issue when PR gets merged): fixes #
fixes #355
Public facing documentation PR (if applicable)

Change should not be visible, neither to the operator, nor the user.
Special notes for reviewer:
I tested the change as follows:
#!/bin/sh

git checkout vendor-in-upstream-charts

for c in service_cluster workload_cluster; do
    helmfile -e $c -f helmfile template > ${c}_after.yaml
done

git checkout main

for c in service_cluster workload_cluster; do
    helmfile -e $c -f helmfile template > ${c}_before.yaml
done

for c in service_cluster workload_cluster; do
    diff ${c}_before.yaml ${c}_after.yaml
done

Which gave the output:
<     kubeapiuser:$2a$10$9gRqlxCboSCs2PJlvZydJeJH6OyVOxDJfDkQ9M/lN3EXL79l57J2.
---
>     kubeapiuser:$2a$10$QwwJnJd8MIXTOXnGt.KtH.YMdWr1tyhdVGhheavRFc60Nj9UhMoAW

Hence, there is some non-determinism in how we generate Kubernetes resources, but at least this PR introduces no bugs.
Checklist:

[ ] Added relevant notes to WIP-CHANGELOG.md
[X] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[X] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Pipeline config (if applicable)
NA (I hope)

We depend on upstream repos being up, which is impacts us when they
are down.

Not 100% true since the charts are cached locally. But they are definitely a dependency that may impact us.

Just wanted to note that we also hedge against repos changing URL or getting deprecated. (Although, this can also be seen as a lazy excuse to not upgrade. :smile:)

Is this really an issue? We might shave off from 10 -> 1 second which would only be ran once. Then you can run with --skip-deps and it will use cached charts and it's super quick.

Hmm ... This feels like one of those "contributor tips and tricks" that should be lifted up.

TL;DR
I'm not sure I see the big benefit this would bring and that it outweighs the downsides.

With the --skip-deps trick, I share your opinion. I'll think about it and let other weigh in in the meanwhile.

One benefit this would bring is that updating vendored charts would show the full diff compared to just a small version bump and whatever is necessary to support it. This also makes this project closer to being air-gapped which would be nice to see in the future.
The biggest downside I see here would be the cluttering of the repository. I think this could be fairly easy to resolve if we put all of the vendored files in a folder that could be easily excluded when grepping. However, as @cristiklein stated above, with all of the charts vendored you do have the possibility to grep upstream projects as well (without having to helm pull or whatever), which I think is a win here.
Just my 2¢

As discussed during the stand-up, we will move forward with this and I offer to reverse it, if it proves to be a bad idea.
@Xartos @viktor-f Can I get your GitHub seal of approval? :smile:

One thing that might have been nice to have would be a helper script to vendor things or documentation on how to do it. But that is not a blocker imo.

Just to make, have you seen this: https://github.com/elastisys/compliantkubernetes-apps/blob/main/helmfile/upstream/README.md
Could you check if I need to add more information?

That's fine! Tried it by first deleting falco, ran the commands and the diff is empty. :+1:


Security updates

Overview
This patches yarn.lock to account for a number of security updates in transitive dependencies of react-scripts that Dependabot was unable to automatically create PRs for.
Connects #1887
Testing Instructions

CI passes

Checklist

[ ] fixup! commits have been squashed
[ ] CI passes after rebase
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines
[ ] This PR is targeted at the correct branch (develop vs. ogr/develop)
[ ] If this PR applies to both OAR and OGR a companion PR has been created

@maurizi Do we know why Dependabot was unable to make these changes automarically?


make tensor transpose faster

As explained in https://github.com/albertoruiz/hTensor/issues/4 this branch makes tridx faster by using a new reorderVector function from the hmatrix library.
Once the hmatrix library gets a version bump, the hmatrix version in the hTensor cabal file should also be bumped.

Thanks!


Add a parameter for an external hostname field

I haven't actually written anything here, I just rebased @jmahowald's pr #888 onto master, but it seems to work fine. I'm willing to pick it up if you think there's anything that needs to be done before this can be merged though.
Here's my use case:
Registry configured at http://registry.my.host:5000
Portus configured at http://registry.my.host:3000/portus
Apache SSL proxying https://registry.my.host/portus -> http://registry.my.host:3000/portus and https://registry.my.host/v2 -> http://registry.my.host:5000/v2
So in Portus, I have configured the registry as:

The only issue that I have is I can't seem to be able to delete images, despite having delete enabled in both the registry and Portus.
Here are my steps:

Create a new user for myself to use the registry in Portus, nickhu
Login: docker login -u nickhu -p password registry.my.host (successful)
Push a test image: docker push registry.my.host/nickhu/hello-world (successful)

Then when I go to delete the tag in the Portus UI, I get a notification saying Tag could not be removed.
Here are the relevant logs:
portus_1    | Started DELETE "/portus//tags/1" for <IP_ADDRESS> at 2016-08-01 09:37:06 +0000
portus_1    | Processing by TagsController#destroy as HTML
portus_1    |   Parameters: {"authenticity_token"=>"gO7twoL7OjZyoCzGNcYCnLBFgNCbhsY6QDhdWbX3LQuJDm+/Mric7S2QS+zkv4ZdIFgKn2Hv0FaZvBEQKLHhLA==", "id"=>"1"}
portus_1    |   User Load (0.5ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1  ORDER BY `users`.`id` ASC LIMIT 1
portus_1    |    (0.3ms)  SELECT COUNT(*) FROM `registries`
portus_1    |   Tag Load (0.8ms)  SELECT  `tags`.* FROM `tags` WHERE `tags`.`id` = 1 LIMIT 1
portus_1    |   Repository Load (0.3ms)  SELECT  `repositories`.* FROM `repositories` WHERE `repositories`.`id` = 1 LIMIT 1
portus_1    |   SQL (8.9ms)  UPDATE `tags` SET `tags`.`marked` = 1 WHERE `tags`.`digest` = 'sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9'
portus_1    |   Registry Load (0.4ms)  SELECT  `registries`.* FROM `registries`  ORDER BY `registries`.`id` ASC LIMIT 1
portus_1    |   Namespace Load (0.4ms)  SELECT  `namespaces`.* FROM `namespaces` WHERE `namespaces`.`id` = 3 LIMIT 1
registry_1  | time="2016-08-01T09:37:06.971274108Z" level=warning msg="error authorizing context: authorization token required" go.version=go1.6.2 http.request.host="registry.my.host:5000" http.request.id=bbf07e71-aa9e-4d07-950c-735e09a0e083 http.request.method=DELETE http.request.remoteaddr="<IP_ADDRESS>:48152" http.request.uri="/v2/nickhu/hello-world/manifests/sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9" http.request.useragent=Ruby instance.id=ced69485-7553-42cb-a5be-89a2d34f7795 service=registry vars.name="nickhu/hello-world" vars.reference="sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9" version=v2.4.1
registry_1  | <IP_ADDRESS> - - [01/Aug/2016:09:37:06 +0000] "DELETE /v2/nickhu/hello-world/manifests/sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9 HTTP/1.1" 401 147 "" "Ruby"
portus_1    | Could not delete tag on the registry: SSL_connect returned=1 errno=0 state=error: certificate verify failed
portus_1    | Redirected to https://registry.my.host/portus/repositories/1
portus_1    | Completed 302 Found in 63ms (ActiveRecord: 11.6ms)
portus_1    | Started GET "/portus//repositories/1" for <IP_ADDRESS> at 2016-08-01 09:37:07 +0000
portus_1    | Processing by RepositoriesController#show as HTML
portus_1    |   Parameters: {"id"=>"1"}
portus_1    |   User Load (1.0ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1  ORDER BY `users`.`id` ASC LIMIT 1
portus_1    |    (0.4ms)  SELECT COUNT(*) FROM `registries`
portus_1    |   Repository Load (0.4ms)  SELECT  `repositories`.* FROM `repositories` WHERE `repositories`.`id` = 1 LIMIT 1
portus_1    |   Tag Load (1.0ms)  SELECT `tags`.*  FROM `namespaces` WHERE `namespaces`.`id` = 3 LIMIT 1
portus_1    |   Team Load (0.3ms)  SELECT  `teams`.* FROM `teams` WHERE `teams`.`id` = 3 LIMIT 1
portus_1    |   User Exists (0.3ms)  SELECT  1 AS one FROM `users` INNER JOIN `team_users` ON `users`.`id` = `team_users`.`user_id` WHERE `team_users`.`team_id` = 3 AND `team_users`.`role` = 2 AND `users`.`id` = 1 LIMIT 1
portus_1    |   User Exists (0.4ms)  SELECT  1 AS one FROM `users` INNER JOIN `team_users` ON `users`.`id` = `team_users`.`user_id` WHERE `team_users`.`team_id` = 3 AND `team_users`.`role` = 1 AND `users`.`id` = 1 LIMIT 1
portus_1    |   User Exists (0.5ms)  SELECT  1 AS one FROM `users` INNER JOIN `team_users` ON `users`.`id` = `team_users`.`user_id` WHERE `team_users`.`team_id` = 3 AND `team_users`.`role` = 0 AND `users`.`id` = 1 LIMIT 1
portus_1    |   User Load (0.4ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 2 LIMIT 1
portus_1    |    (0.3ms)  SELECT COUNT(*) FROM `comments` WHERE `comments`.`repository_id` = 1
portus_1    |   CACHE (0.0ms)  SELECT COUNT(*) FROM `comments` WHERE `comments`.`repository_id` = 1  [["repository_id", 1]]
portus_1    |   CACHE (0.0ms)  SELECT COUNT(*) FROM `comments` WHERE `comments`.`repository_id` = 1  [["repository_id", 1]]
portus_1    |   Rendered repositories/show.html.slim within layouts/application (74.7ms)
portus_1    |   Rendered shared/_header.html.slim (2.7ms)
portus_1    |   Rendered shared/_aside.html.slim (1.3ms)
portus_1    |   Rendered shared/_search.html.slim (1.4ms)
portus_1    |   CACHE (0.1ms)  SELECT COUNT(*) FROM `registries`
portus_1    |   Rendered shared/_notification.html.slim (0.2ms)
portus_1    |   Rendered shared/_notification.html.slim (0.1ms)
portus_1    |   Rendered shared/_notifications.html.slim (6.3ms)
portus_1    | Completed 200 OK in 113ms (Views: 92.1ms | ActiveRecord: 6.4ms)
portus_1    | Started GET "/portus//assets/layout/portus-logo-dashboard-52774571adac55477c70b8a46ffe46ec.png" for <IP_ADDRESS> at 2016-08-01 09:37:07 +0000
portus_1    | Started GET "/portus//assets/layout/bg-fd012f5f03eb0ffcff1638fff257962e.png" for <IP_ADDRESS> at 2016-08-01 09:37:07 +0000
portus_1    | Started GET "/portus//assets/fontawesome-webfont-e953816ef3a22ec5b72389b60e3e3039.woff2?v=4.4.0" for <IP_ADDRESS> at 2016-08-01 09:37:07 +0000
portus_1    | Started GET "/portus//assets/raleway-1e13ee0db82aba7cb678ca43b21b21e2.woff2" for <IP_ADDRESS> at 2016-08-01 09:37:08 +0000
portus_1    | Started GET "/portus//assets/raleway-bold-f924615cbcec51904b6d0a9308575cba.woff2" for <IP_ADDRESS> at 2016-08-01 09:37:08 +0000

Portus seems to be failing at a SSL verify between communicating with the registry, but Apache (which is handling all SSL) generates no errors for this event. In fact, I'm not really sure why internally Portus seems to be trying to communicate with the registry via SSL.

As I said in the PR you are mentioning, I have nothing against this change. Your issues with deleting might be due to the registry client that we have implemented in lib/portus. Take a look at it and update it :wink:

Sorry about dropping the ball.  I had another project that it looks like Portus is the best solution for.  I'll rebase off of this one and start contributing.  If my memory is serving me I was trying to decide the best way to write a spec case for it and was either having some difficulties or got distracted.  Squirrel!

With regards to my issue, it seems as though the registry client is not respecting SSL certificates (and also ignoring /etc/ssl/cert.pem (ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE') and the SSL_CERT_FILE environment variable).
I can get the delete to succeed by editing get_response_token in lib/portus/http_helpers.rb to contain verify_mode: OpenSSL::SSL::VERIFY_NONE in the options variable. Obviously this is not a solution, but is indicative of something going awry with the SSL process.

It seems that my issue was my particular deployment; I was setting SSL_CERT_DIR and expecting ruby to check the standard certificate paths also. Regardless, I'm still happy to help get this pr merged.

@NickHu were these certificate problems the ones responsible for your problems with deleting images ? Otherwise, as @jmahowald is pointing out, we ask for tests for each PR (unless it's really trivial :P). Could you provide those ? :smiley:

@mssola Yes, that's correct. I'll give tests a shot, but I'm not a rails dev - could I perhaps contact you on irc or something to avoid cluttering up this pr if I get stuck?

@NickHu feel free to use our Google group :wink:

@mssola I think this should be good to merge now; I've added test cases for the external hostname field and the travis failures seem to be related to gem/bundler errors which are nothing to do with this pull request.

Hi @NickHu, sorry for not getting back to you sooner, I was on vacation. So, the feature itself looks good to me, and the code also looks good. Now, the only thing lacking is the UX in my humble opinion.
That is, the initialization procedure for Portus feels cumbersome enough for some users, and adding a new field named like that might be more confusing. Moreover, note that the rest of the fields from the form are mandatory, so presenting this form like that might give the impression to the user that this new field is also mandatory. So, I propose the following:

Hide this new input by default and add a link below the form saying "(Optional) Add an external hostname value"
If the user clicks said link, the input will be shown (and the link hidden). The placeholder for the input field should be "(This is optional, leave this empty if you don't want to add an external hostname)".
There should be an explanation stating what is an external hostname. This explanation can be in the form of a mere p tag in my opinion.

What do you think ?

I'm still tidying it up, but how does this look?

That looks great. One small nitpick, when that input & text is shown, the button should say "Hide Advanced" :wink:

Okay, it's done. I'm happy for this to merge.

Great! Thanks :clap:


update gcp custom dataproc image version to avoid log4j issue[skip ci]

Signed-off-by: liyuan<EMAIL_ADDRESS>update gcp custom dataproc image version to avoid log4j issue

verified and works


Path instead of just filename

Hi!
I would like to see in my bar the complete path, not just the filename. Say I am in Documents and open the file Documents/folder1/file1. I would like to see folder1/file1, as I had before with lightline. Hope it is possible. Thanks

hmm it is very easy to do ，you can write a easy provider that a function renturn vim.fn.expand（%：p）

Sent a pull request. Hope you can merge. Sorry I am new to git and github. Used the web interface to patch.

seems like you find way to use galaxyline. so closed.


Redisson does not write session data into Redis database, session is written into SESSIONS.ser instead.

I'm using Tomcat installer for macOS and Linux. Have tested with different versions of Tomcat and Redisson but the same outcome:
Redisson does not write session data into Redis, but into SESSIONS.ser instead.
Tested on macOS and also on Ubuntu, but on both the same result.
Are there some undocumented settings, which shall be added to Redisson ?
context.xml:
<Context reloadable="true" crossContext="true" sessionCookiePath="/">
	<ResourceLink name="redissonsess" global="redissonsess" type="org.redisson.api.RedissonClient" />
	<Manager className="org.redisson.tomcat.JndiRedissonSessionManager" readMode="REDIS" jndiName="redissonsess" updateMode="AFTER_REQUEST" broadcastSessionEvents="true" keyPrefix="tms" />

server.xml:
  <GlobalNamingResources>

		<Resource name="redissonsess" auth="Container" factory="org.redisson.JndiRedissonFactory" configPath="${catalina.base}/conf/redisson.yaml" closeMethod="shutdown" />

redisson.yaml:
singleServerConfig:
 address: "redis://<IP_ADDRESS>:6379"
 database: 0

Redisson redisson-all and  redisson-tomcat libraries are added into ./lib folder. Tested different versions.
redisson-all-3.17.4.jar
redisson-tomcat-9-3.17.4.jar

It's a configuration issue. It works as expected and pass tests for tomcat 9.

It's a configuration issue. It works as expected and pass tests for tomcat 9. RedissonSessionManager can write only to Redis

Thank you for response. What I shall change?

Check your config files for presence of default session manager


Base 64 Image Data Support

Hello Please i want to render a Base 64 Image data.. Is it supported and how ?

You can see the examples here if it works!
demo

Seems like this doesn't work anymore...


Akash Network Docker Engine error. Not able to connect on Docker engine on up command

Tested on Akash plain linux.
Ubuntu 24.04 with 4vcpu 16gb ram.
SSH and all steps work.
Fails at the very last step of docker up.

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
root@service-1-0:/mnt/data/RAIR/rair-dapp# sudo systemctl status docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

--
For any community devs to try. Follow our command line guide here. (you just need to paste in all of the commands in order)
https://docs.rairprotocol.org/rairprotocol/installation-and-testing/getting-started
--
Akash config

Error logs
root@service-1-0:/mnt/data/RAIR/rair-dapp# sudo /usr/local/bin/docker-compose -f docker-compose-web.yml up -d
WARN[0000] The "kohler_meeting_id" variable is not set. Defaulting to a blank string.
WARN[0000] The "yoti_client_id" variable is not set. Defaulting to a blank string.
WARN[0000] The "sentry_dsn" variable is not set. Defaulting to a blank string.
WARN[0000] The "sentry_dsn" variable is not set. Defaulting to a blank string.
WARN[0000] The "sentry_dsn" variable is not set. Defaulting to a blank string.
WARN[0000] /mnt/data/RAIR/rair-dapp/docker-compose-web.yml: version is obsolete
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
root@service-1-0:/mnt/data/RAIR/rair-dapp# sudo systemctl status docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
root@service-1-0:/mnt/data/RAIR/rair-dapp# sudo service docker restart

Stopping Docker: docker                                                                                Program process in pidfile '/var/run/docker-ssd.pid', 1 process(es), refused to die.

So your issue is that you’re trying to install docker and run docker inside a docker container. Let’s just run the docker container instead of installing Ubuntu and then installing docker

Do you have a docker image that is available on docker hub?

That's an awesome insight @Zblocker64  - if we can run docker direct then we don't need to do this container inside a container thing.
Our docker hub is here. https://hub.docker.com/u/rairprotocol
each microservice node (backend) front sync and media can all be run from this preconfigured yaml file with an up -d compose command
https://github.com/rairprotocol/rair-dapp/blob/dev/docker-compose.local-new.yml
Will also try this on our end!

There is no import, but it is relatively easy to transfer over the parameters. Also, I thought there was six? Including the mongo db and the redis. Or are those separate from this deployment?

Yes, mongodb, Redis and 4 other services (rair-front, rair-node, rair-stream, rair-sync)

So this is the SDL I have built. You still need to add in all the environment variables, but once you do that I think it should work.
version: "2.0"
services:
  mongo:
    image: mongo:latest
    expose:
      - port: 27017
        as: 27017
        proto: tcp
        to:
          - global: false
          - service: rair-front
          - service: rair-node
          - service: rair-stream
          - service: rair-sync
          - service: redis
  rair-front:
    image: rairprotocol/rair-front:fa6fef8daa324a35ac6d38f0f81c01a570d1bf06
    expose:
      - port: 8088
        as: 80
        to:
          - global: true
          - service: rair-node
          - service: rair-stream
          - service: rair-sync
          - service: redis
          - service: mongo
  rair-node:
    image: rairprotocol/rair-node:fa6fef8daa324a35ac6d38f0f81c01a570d1bf06
    expose:
      - port: 3000
        as: 3000
        proto: tcp
        to:
          - global: false
          - service: rair-front
          - service: rair-stream
          - service: rair-sync
          - service: redis
          - service: mongo
      - port: 5000
        as: 5000
        proto: tcp
        to:
          - global: false
          - service: rair-front
          - service: rair-stream
          - service: rair-sync
  rair-stream:
    image: rairprotocol/rair-stream:fa6fef8daa324a35ac6d38f0f81c01a570d1bf06
    expose:
      - port: 5002
        as: 5002
        proto: tcp
        to:
          - global: false
          - service: rair-front
          - service: rair-node
          - service: rair-sync
          - service: redis
          - service: mongo
  rair-sync:
    image: rairprotocol/rair-sync:fa6fef8daa324a35ac6d38f0f81c01a570d1bf06
    expose:
      - port: 5001
        as: 5001
        proto: tcp
        to:
          - global: false
          - service: rair-front
          - service: rair-node
          - service: rair-stream
          - service: redis
          - service: mongo
  redis:
    image: redis:6.2.3-alpine
    expose:
      - port: 6379
        as: 6379
        proto: tcp
        to:
          - global: false
          - service: rair-front
          - service: rair-node
          - service: rair-stream
          - service: rair-sync
          - service: mongo
    command:
      - "\"redis-server\""
    args:
      - "--protected-mode no"
profiles:
  compute:
    mongo:
      resources:
        cpu:
          units: 1
        memory:
          size: 2Gi
        storage:
          - size: 5Gi
    rair-front:
      resources:
        cpu:
          units: 1
        memory:
          size: 2Gi
        storage:
          - size: 5Gi
    rair-node:
      resources:
        cpu:
          units: 1
        memory:
          size: 2Gi
        storage:
          - size: 5Gi
    rair-stream:
      resources:
        cpu:
          units: 1
        memory:
          size: 2Gi
        storage:
          - size: 5Gi
    rair-sync:
      resources:
        cpu:
          units: 1
        memory:
          size: 2Gi
        storage:
          - size: 5Gi
    redis:
      resources:
        cpu:
          units: 1
        memory:
          size: 2Gi
        storage:
          - size: 5Gi
  placement:
    dcloud:
      pricing:
        mongo:
          denom: uakt
          amount: 1000
        rair-front:
          denom: uakt
          amount: 1000
        rair-node:
          denom: uakt
          amount: 1000
        rair-stream:
          denom: uakt
          amount: 1000
        rair-sync:
          denom: uakt
          amount: 1000
        redis:
          denom: uakt
          amount: 1000
deployment:
  mongo:
    dcloud:
      profile: mongo
      count: 1
  rair-front:
    dcloud:
      profile: rair-front
      count: 1
  rair-node:
    dcloud:
      profile: rair-node
      count: 1
  rair-stream:
    dcloud:
      profile: rair-stream
      count: 1
  rair-sync:
    dcloud:
      profile: rair-sync
      count: 1
  redis:
    dcloud:
      profile: redis
      count: 1

If you want a provider to test it on let me know. I run a provider and can give you a steep discount for testing

Thanks,let me add environment variables and check if this SDL can be deployed on Plain Linux.

If you want a provider to test it on let me know. I run a provider and can give you a steep discount for testing

We'd love that. Having a default in the vite.config.ts we can point to an Akash k8 instance would be epic. Then new devs can use the akash cloud version of our backend and just modify their rair-front microservice for their unique app logic

Ok. Send me your wallet address so I can do some manual pricing for you for the next little bit. Once it’s up and running I’ll revert back to my normal pricing(it’s still cheep). If you have discord my username is Zblocker64

Ok. Send me your wallet address so I can do some manual pricing for you for the next little bit. Once it’s up and running I’ll revert back to my normal pricing(it’s still cheep). If you have discord my username is Zblocker64

Awesome will ping you with the cosmos address on discord

Template SDL uploaded here https://console.akash.network/template/57e71df3-7342-41d9-8b9c-e2fb055e4ffb


Selectrum: morer things

improve find-file and the like to go up a directory when pressing backspace on /
turn orderless on by default
refactor the orderless config

I found a bug in these additions, so i'm closing the pr for now


"Expression not implemented for Uuid" in 1.2

Setup
Versions

Rust: 1.27.0-nightly
Diesel: 1.1.2
Database: Postgres
Operating System Ubuntu 16.04

Feature Flags

diesel: postgres, extras

Problem Description
On upgrading to v1.2, I'm getting an error I don't understand. This error is not present when trying to compile with v1.1. I have enabled the "uuid" feature (via "extras" feature):
error[E0277]: the trait bound `uuid::Uuid: diesel::Expression` is not satisfied
   --> src/lib.rs:207:14
    |
207 |     #[derive(Insertable, Debug)]
    |              ^^^^^^^^^^ the trait `diesel::Expression` is not implemented for `uuid::Uuid`
    |
    = note: required because of the requirements on the impl of `diesel::Expression` for `&uuid::Uuid`
    = note: required because of the requirements on the impl of `diesel::expression::AsExpression<diesel::sql_types::Uuid>` for `&uuid::Uuid`

Check that you don't have multiple versions of uuid in your lockfile


Doesn't work with Maya 2023?

I would really appreciate it if you could update it to work in Maya 2023 as well.

Do you mind

Do you mind providing more information other than it doesn't work?

Argh, sorry, didn't mean to close this! Started a new ticket

There seems to be an FBX incompatibility between Maya 2022 and 2023.  Bring in the FBX sample into Maya 2023, the keyframes are gone. For now, until I can search down a cause of this, the code does work in Maya 2022 and that's all this code can support at the moment. Apologies for the inconvenience.


[Feature Request]: Enhancing Contact us section div

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
hi @sanmarg @HimanshuNarware, I have seen all the existing issues made about this enhancement section. What I'm about to do is making the contact us section more appealing and user interactive by adding good UI design.
Use Case
By making the contact us page more user friendly and attracting the visitors can get good image of the website and as this section is the final page it leaves a good impression on viewers.
Benefits
The only benefits in this enhancement is attracting viewers. And with a good contact us section

Add ScreenShots
I can make a similar contact us form similar and simple like this

Priority
Medium
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

Good Luck!


Please add variant with check newValue and oldValue

If oldValue == newValue then ignore this. I need it for ClickEvent for to avoid of double tap problem with navigation.

oldValue you can reset in onInactive method

Thank you @JajaComp for your contribution. I advise you to use RxJava or Coroutines to solve your distinction problem, then you can use my libraries https://github.com/hadilq/RxLifecycleHandler/ or https://github.com/hadilq/CoroutineLifecycleHandler/ to make your stream lifecycle aware.