Create few instance of Blazy on the same page

Hi,
on the current pattern that you using its impossible to make few instance of Blazy on the same page,
the global variables images, options are shared between all instance of Blazy.
(I have different error/success scenario to handle)

Hey @yuri1992
I see. I'll look into it.

Hey @yuri1992 - I solved it. I just need to test it properly so Im sure I haven't broken anything else.

Fixed in 1.4.0

Thanks!


Make the psql-wrapper script more user friendly

Slack thread for this change
Summary
My idea here is to check for the installation and fail with a better
message of what's happening so folks know what to do a bit more than a
generic OS error message.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 31cd3425a2d20ba1c0dca52025c14de73cb43ebd


Replace "#defined" by "#define" in phoenix.hh

This fixes a potential compilation error when using the library with a lower log level (or none) set

Good catch, thanks!


Update bolt link flags to -keep_relocs on MacOS

MacOS does not have -q or --emit-relocs instead it has -keep_relocs

Hi :) I was under the impression that BOLT doesn't work on macOS, were yoh able to get it running there?

Ah sorry, forgot to loop back to this, that got it compiling, but bolt then crashes dealing with macos relocations that it thinks don't make sense.


Switch csv imports to using loopstats library.

Before:
Count: 100 Rate: 263,379,000/hour

After:
Count: 4,039 Rate: 6,291,000/hour Time: 0:00:02 taken

And in the future for long-running imports when we can specify how many records there are, it will say it like this:
Count: 180 Rate: 1,000/hour Time: 0:09:46 taken, 0:00:35 remaining. Progress: 94%

Also this PR fixes:
AttributeError: 'CambridgeLandsImportCommand' object has no attribute 'expected_header'

@davidread what does LoopStats do exactly? I tried to google "python loopstats" but I found nothing related....

I factored out the 'outcome' stuff into a new file called 'loopstats' in a recent PR. It prints out stats about the outcomes of each iteration of the loop. Such as the example outputs above. There's more in the docstring: https://github.com/alphagov/land-availability-import/blob/master/loopstats.py#L7

Sorry I forgot about it!


Revert #12101

This doesn't work on rspec < 2.6.0 and is more work than it's worth to fix right this second.

This is fine to back out, but I have asked Patrick to investigate updating rspec on our CI systems to the requisite version - the shared context is sufficiently valuable, in terms of doing things like "pretend to be Windows", that it is worth the effort.

we'll reapply this after we've had a change to upgrade our test infrastructure


Uncaught TypeError: Cannot read property 'Subject' of undefined

Hi,
Just after installing cyclejs, the notification driver and following the doc to create a minimal example project, I have this error:
Uncaught TypeError: Cannot read property 'Subject' of undefined

On notification-driver.js, line 11. The failing line is:
var events$$ = new _cycleCore.Rx.Subject();

I noticed that in my ./node_modules/@cycle/notification, both src and lib subdir host different versions of the notification-driver.js file. The one in lib seems to be an old version. Being very new to npm and js scaffolding, I have no idea if this is standard practice or if I'm missing something.
Here's my dependencies:
"dependencies": {
  "@cycle/core": "^6.0.3",
  "@cycle/dom": "^9.2.2",
  "@cycle/http": "^8.2.2",
  "@cycle/notification": "^1.0.0",
  "rx": "^4.1.0"
},
"devDependencies": {
  "babel-core": "^6.7.4",
  "babel-loader": "^6.2.4",
  "babel-preset-es2015": "^6.6.0",
  "css-loader": "^0.18.0",
  "file-loader": "^0.8.5",
  "html-webpack-plugin": "^2.15.0",
  "style-loader": "^0.13.1",
  "webpack": "^1.12.14",
  "webpack-dev-server": "^1.14.1",
  "extract-text-webpack-plugin": "^1.0.1"
},

Please feel free to tell me if you miss any information to reproduce the bug.
Regards.

I noticed that in my ./node_modules/@cycle/notification, both src and lib subdir host different versions of the notification-driver.js file. The one in lib seems to be an old version. Being very new to npm and js scaffolding, I have no idea if this is standard practice or if I'm missing something.

Please discard this, I just understood that it's the babelified version of the source. Sorry for the noise.
Still don't have any idea about the bug reason, though, but maybe it's related to #6. I have this warning upon installation:
UNMET PEER DEPENDENCY<EMAIL_ADDRESS>

This package depends on an old version of Cycle core (which bundles Rx) and you're using a much newer one (which doesn't bundle Rx). Updating this is rather easy, but I can't do it right now.
Help? @BrandonSmith @TylorS @whitecolor @Cmdv

@staltz I've prepared an update (2.0.0) for this driver that updates dependencies. Ready to publish when I get access to publish to @cycle/notification.

@thibault<EMAIL_ADDRESS>will work against the latest @cycle/core. Thanks for your input, and sorry I let the repo stagnate.

@BrandonSmith That is amazing, thank you so much for your quick reply. I really appreciate it. Cheers.


API Gateway : Debug mode - print in multiple lines instead of a single one

What were you trying to accomplish?
When I activate the debug mode for API Gateaway (https://awslabs.github.io/aws-lambda-powertools-python/1.24.2/core/event_handler/api_gateway/#debug-mode) it's spam my cloudwatch log. Instead havings a single entry with the object, it's creating a single entry for each line of input object.
Expected Behavior
One line

Current Behavior
One cloudwatch entry for each line of the object :

Steps to Reproduce (for bugs)
app = ApiGatewayResolver(debug=True)

@logger.inject_lambda_context(correlation_id_path=correlation_paths.API_GATEWAY_REST)
def lambda_handler(event, context):
    return app.resolve(event, context)

@app.get("/api/v1/test")
def test():
    return "Hello"

Environment

Powertools version used: 1.24.1
Packaging format (Layers, PyPi):
AWS Lambda function runtime: Python 3.9 - Graviton

How to enable debug mode**

# paste logs here

Hey @filol thanks a lot for raising this - first time I'm seeing a debug entry like this, since we're sending all of this as a string to avoid this already.
https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/aws_lambda_powertools/event_handler/api_gateway.py#L499
Unsure whether CloudWatch is interpreting longer strings any differently, but we'll setup a dummy project to try reproducing it.
Thank you!

Hello @heitorlessa I also want to specify that if I print the event manually via logger.info at the beginning of my function, it is displayed on one and the same line

I'll try to reproduce it on Thursday. I suspect despite being a single string, print is adding a new line by default, and CloudWatch Logs is interpreting it differently - if that's the case, we can solve it easily

i will have a look too

Diagnosis
Confirmed. It's the extra indentation added for local debugging purposes (SAM CLI, local tests, Postman) but breaks in the Console.
https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/aws_lambda_powertools/event_handler/api_gateway.py#L451:L451
The extra indentation adds a newline for each key which CloudWatch Logs Console interprets it differently compared to logger.info or simply print(json.dumps(event)) as \n is only added at the end of the string, not per key.
Verdict
I'm tempted to keep this under "it's a feature, not a bug". In the meantime, I believe we should do two things unless you @filol strongly disagree with it:

Reach out to CloudWatch Logs team and ask whether this could be improved on their side (this will also happen with Chalice and any other frameworks with debugging enabled)
Re-emphasize in our docs that this is optimized for local development

To demonstrate its value as-is, this is how local dev looks like - 1st line is a log_event/logger.info and the 2nd line is the debug mode with the indentation:

Done, should be available in the next release.


fix for store code in optNLL=1  for non-mfma case

missing store address calculation CinRowStart + Coord0 * bpe..

It would help reduce some warning messages if no_load_loop were added to pytest.ini.


feat:  extended wildcard follow up works

Is it possible to use * except in where clause? It is not tested.

I add UT using * except and * replace in the Having clause, but I currently cannot think of an example where * except can be used in the Where clause.


Automatic offline replica rebuilding

longhorn/longhorn#6071

@mergify backport v1.5.x

@mergify backport v1.5.x


WebView Example Crash

Cloned the repo, npm installed, opened UIExplorer.xcodeproj in XCode. When navigating to the the  Example, I get the following error:
[RCTLog][tid:0x7fb898c00480][RCTConvert.m:251]>Expected NSArray or NSDictionary for UIEdgeInsets, received __NSCFBoolean: 0

This is already logged at https://github.com/facebook/react-native/issues/251


Create better error message when implementing an interface with overloads

fixes #1905

[x] add test
[x] emit new error message with new error code
[x] fix all test that we broke

I think this is not the correct way. Working on a better fix

ok seems there are more to come. but since I can't compile this it will take some time until I have the tests fixed

apart from that general CI issues this is now ready for review

@dotnet-bot test this please

@KevinRansom rebased on master. ready to go in


[SPARK-40222][SQL] Numeric try_add/try_divide/try_subtract/try_multiply should throw error from their children

What changes were proposed in this pull request?

Similar to https://issues.apache.org/jira/browse/SPARK-40054, we should refactor the try_add/try_subtract/try_multiply/try_divide functions so that the errors from their children will be shown instead of ignored.
Spark SQL allows arithmetic operations between Number/Date/Timestamp/CalendarInterval/AnsiInterval (see the rule ResolveBinaryArithmetic for details). Some of these combinations can throw exceptions too: * Date + CalendarInterval

Date + AnsiInterval
Timestamp + AnsiInterval
Date - CalendarInterval
Date - AnsiInterval
Timestamp - AnsiInterval
Number * CalendarInterval
Number * AnsiInterval
CalendarInterval / Number
AnsiInterval / Number

This Jira is for the cases when both input data types are numbers. I will open jira tickets for DateTime types arithmetic operations if this one got merged.
Why are the changes needed?

Fix the semantics of try_add/try_divide/try_subtract/try_multiply.
Does this PR introduce any user-facing change?

Yes, after changes, the error from the children of try_add/try_divide/try_subtract/try_multiply functions will be shown instead of ignored.
How was this patch tested?

Existing UT + new UT

cc @srielau as well

@cloud-fan Thanks for the review.
Merging to master


Phrase match error in chinese

documents. default settings.
curl -s http://localhost:7700/indexes/products/documents | rq
[
  {
    "id": "123",
    "title": "小化妆包"
  },
  {
    "id": "456",
    "title": "Ipad 包"
  }
]

search with phrase match "化妆". no result returned.
curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"化妆\"" }' | rq

{
  "exhaustiveNbHits": false,
  "hits": [],
  "limit": 20,
  "nbHits": 0,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "\"化妆\""
}

search with phrase match "小化妆". no result returned.
curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"小化妆\"" }' | rq
{
  "exhaustiveNbHits": false,
  "hits": [],
  "limit": 20,
  "nbHits": 0,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "\"小化妆\""
}

search with phrase match "化妆包". result returned.
curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"化妆包\"" }' | rq
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "\"化妆包\""
}

search with phrase match "小化妆包". result returned.
curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"小化妆包\"" }' | rq
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "\"小化妆包\""
}

Expected behavior
queries: "化妆", "小化妆", "化妆包", "小化妆包" all of them should return same result.
 {
      "id": "123",
      "title": "小化妆包"
    }

MeiliSearch version:
meilisearch-http 0.22.0

I did a quick test with an english document: {"title": "adult face mask"} and utilize phrase match: "adult", "adult face", "face mask", document is returned as expected

@gemini133 I guess this is because meilisearch uses jieba to tokenize the search word "小化妆包" and it is understood as "化妆包".
See https://docs.meilisearch.com/reference/under_the_hood/tokenization.html

yep, I think it's related to the tokenizer too.
why does "化妆" returns nothings?
not sure how to work around this. confusing...

another test with just "包"
{
    "q": "\"包\""
}

{
    "hits": [
        {
            "id": "456",
            "title": "Ipad 包"
        }
    ],
    "nbHits": 1,
    "exhaustiveNbHits": false,
    "query": "\"包\"",
    "limit": 20,
    "offset": 0,
    "processingTimeMs": 0
}

Hello @gemini133, it seems that you are using phrase search in your queries putting the " around your word.
If you remove " do you have the expected behavior?

@gemini133, I can't speak any Chinese language, sorry if I don't understand the complete problem.
But, if I'm right, only the second request gets an irrelevant response, because  Ipad 包 should never be returned for 化妆包.
Am I right?

sorry, and you are right. Ipad 包 should never be returned for 化妆包. is it related to ranking rules?  I've tweaked it a couple times but still not what I want. So, I then go to phrase search

I will investigate,
thank you @gemini133 for your report. 👍

Closed by https://github.com/meilisearch/MeiliSearch/pull/1711 containing milli v0.17.0

here is the feedback of 0.23. Build it from the master brach
curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"小化妆\"" }' | rq
// wrong, must return 小化妆包
{
  "exhaustiveNbHits": false,
  "hits": [],
  "limit": 20,
  "nbHits": 0,
  "offset": 0,
  "processingTimeMs": 1,
  "query": "\"小化妆\""
}

----

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"化妆包\"" }' | rq
// correct
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "\"化妆包\""
}

----

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"小化妆包\"" }' | rq
// correct
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "\"小化妆包\""
}

----

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "\"包\"" }' | rq
// wrong, must contain 小化妆包 too
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "456",
      "title": "Ipad 包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 1,
  "query": "\"包\""
}

---

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "包" }' | rq
// wrong, must contain 小化妆包 too
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "456",
      "title": "Ipad 包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "包"
}

----

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "化妆包" }' | rq
// correct
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 1,
  "query": "化妆包"
}

----

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "化妆" }' | rq
// correct
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "化妆"
}

----

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "小" }' | rq
// correct
{
  "exhaustiveNbHits": false,
  "hits": [
    {
      "id": "123",
      "title": "小化妆包"
    }
  ],
  "limit": 20,
  "nbHits": 1,
  "offset": 0,
  "processingTimeMs": 0,
  "query": "小"
}

@curquiza @ManyTheFish

Hello @gemini133!
In your last comment, we have different reasons to "why Meilisearch doesn't return the good response?":
Tokenization & Phrase search

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": ""小化妆"" }' | rq
// wrong, must return 小化妆包
{
"exhaustiveNbHits": false,
"hits": [],
"limit": 20,
"nbHits": 0,
"offset": 0,
"processingTimeMs": 1,
"query": ""小化妆""
}

In Meilisearch we can only store 1 variation of a tokenized text, and this variation is given by Jieba.
here the text 小化妆包 is tokenized in two "words" as ["小", "化妆包"].
The search query is tokenized  in two "words" as ["小", "化妆"], and because it's a phrase search, we enforce an exact match on the two words:

"小" == "小" ---------> ✅
"化妆" =/= "化妆包" ---> ❌

This does not match.
Tokenization & suffix search

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": ""包"" }' | rq
OR curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "包" }' | rq
// wrong, must contain 小化妆包 too
{
"exhaustiveNbHits": false,
"hits": [
{
"id": "456",
"title": "Ipad 包"
}
],
"limit": 20,
"nbHits": 1,
"offset": 0,
"processingTimeMs": 1,
"query": ""包""
}

In Meilisearch we can only store 1 variation of a tokenized text, and this variation is given by Jieba.
here the text 小化妆包 is tokenized in two "words" as ["小", "化妆包"] (we technically can't store more variation for now).
Moreover, we don't support suffix search, we only support prefix search. This means that the word 化妆包 is never a match of the word 包.
Tokenization & query Words

curl -s -X POST 'http://localhost:7700/indexes/products/search' --data '{ "q": "化妆包" }' | rq
// not sure, if jieba splits into "化妆" 和 "包", then it should contain "Ipad 包"
{
"exhaustiveNbHits": false,
"hits": [
{
"id": "123",
"title": "小化妆包"
}
],
"limit": 20,
"nbHits": 1,
"offset": 0,
"processingTimeMs": 1,
"query": "化妆包"
}

Meilisearch tokenizes 化妆包 as ["化妆包"] so 包 can't be a match for 化妆包.
Moreover, if Meilisearch would tokenize 化妆包 as ["化妆", "包"], we couldn't match Ipad 包 because the document doesn't contain the word "化妆".
I hope my explanations were clear. Thanks a lot @gemini133 for your detailed report! 👍

Thanks for your detailed explanation! It's very helpful.
Honestly, I'm sort of disappointed as compared to the past experience with elasticsearch.

I'm sorry for that.
But I have some questions.
is it really relevant to respond Ipad 包 to the query 化妆包?
I used a traduction tool, and it said that 化妆包 seems to be a Cosmetic bag. I don't personally find that an Ipad bag is a good response to a Cosmetic bag. 🤔
Is there another traduction to 化妆包 that makes Ipad 包 relevant?
What is the most disappointing thing in the responses given by Meilisearch?

@ManyTheFish  unfortunately, didn't find a way to tweak jieba except for load_dict loading our own dictionary.
https://github.com/messense/jieba-rs/issues/77


How do I use showTimePicker and get time similar to 2:30 PM in String from TimeOfDay Format

A small piece of code would be highly appreciated.
Thank You.

Please consider asking support questions in one of the other channels listed at http://flutter.io/support .


Selected Row Error in DataGrid with a Detail Row

This will happen anywhere around the third to seventh row selected.
It does not seem to be consistent.
The application crashed: System.ArgumentException: The parameter is incorrect.
The value cannot be infinite or Not a Number (NaN).
at Windows.UI.Xaml.Controls.Primitives.RangeBase.put_Maximum(Double value)
at Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.UpdateVerticalScrollBar(Boolean needVertScrollBar, Boolean forceVertScrollBar, Double totalVisibleHeight, Double cellsHeight)
at Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.ComputeScrollBarsLayout()
at Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.MeasureOverride(Size a|

any fixes?


Build got successfull but rstudio connect application not getting started.

Hi All,
Please find the below error logs and how to rectify this Unable to launch a sandbox with Applications.RunAs as 'rstudio-connect'; may not be a real user or may not have sufficient permission in docker file. Could you please help us.
2021/06/21 16:51:03 Configuring licensing to use a local license...
2021/06/21 16:51:03 Unable to obtain a valid license: Your RStudio Connect license has expired. Please contact your Customer Success representative or email<EMAIL_ADDRESS>to obtain a current license.
2021/06/21 16:51:03 Using the normalized Server.Address: http://localhost:3939/
2021/06/21 16:51:03 Error: Unable to launch a sandbox with Applications.RunAs as 'rstudio-connect'; may not be a real user or may not have sufficient permission: exit status 1; output: 21 Jun 2021 16:51:03 [rsandbox] ERROR system error 1 (Operation not permitted); OCCURRED AT int main(int, char* const*) src/cpp/server/sandbox/SandboxMain.cpp:158; LOGGED FROM: int main(int, char* const*) src/cpp/server/sandbox/SandboxMain.cpp:159

deactivate
echo 'Deactivating license ...'
/opt/rstudio-connect/bin/license-manager deactivate
Deactivating license ...

Hello @devivaraprasad901 !
Thanks for reaching out here! Usually this happens because the --privileged flag has not been set for the docker container.


Support automatic channel building for rubocop

This moves Rubocop to use Patrick & support automatic channel deployments based on branch name

cc @codeclimate/review


Update config.yml

阿道夫

Please don't test on public repos!  Not helpful to anyone 😟


Universal Data Fetching

How to fetch data in server side before rendering the page, This static method does't sees to work in a component.
static fetchData = () => {
  return fetch('http://localhost:8080/stories.json')
  .then((response => response.json()));
};

Are you calling the method anywhere? I used to do my server rendering like that, and if you do you need to call it both on the server and then again in componentDidMount (which is invoked only on the client).
Check out how its done here: https://github.com/DominicTobias/universal-react/blob/master/app/Router.js. There's some pretty fancy code where an array of promises is dispatched based on the component/child components for the route. If you go to any of the components, you'll see the static method is called again in componentDidMount.
ctrlplusb (author of this repo) has react-jobs which is probably cleaner and offers some nice extras. You could wire it up yourself, or its included here in a couple different feature branches (feature/react-jobs and redux-opinionated if not others).

I am using the #react-universally jobs branch
https://github.com/ctrlplusb/react-universally/blob/feature/react-jobs/shared/components/DemoApp/AsyncJobsDemoRoute/Product/index.js
import React, { PropTypes } from 'react';
import { withJob } from 'react-jobs';
import { resolveAfter } from './utils';
function Product({}) {
return (

{jobResult}

);
}
Product.propTypes = {
// eslint-disable-next-line react/forbid-prop-types
jobResult: PropTypes.object.isRequired,
};
export default withJob({
work: (props) => {
fetch("http://localhost:1337/api/public/v1/home/get_articles/?format=json")
.then(response => {
return response.json();
})
then((res) => {
console.log(res);
return res;
})
}
})(Product);
Whenever components renders data fetching is always performed on client side, I want to fetch data on server before rendering this component.

I think what you're saying is not that the fetch isn't running on the server, but that it's firing again on the client (and multiple times)? Does the response log to your terminal? If so, than it's working as expected on the server. As far as I know, React Jobs should trigger the fetch each time the component is created (both client/server) unless you pass withJob a 'defer' property.
As to why you're getting those client side requests, you need to somehow ensure the data is being passed and rehydrated on the client, and then check for it before you call the fetch. I use the redux branch, but it looks like the plain react-jobs includes async-bootstrapper, so that wiring should be built in I think. In your case, you could probably check the JOBS_STATE global that react jobs/bootstrapper uses to rehydrate on the client. Something like:
export default withJob({
  work: (props) => {
    // find the correct property by logging __JOBS_STATE__
    // assuming here that the prop is an obj, not 100%
    // need to define isClient/isServer something like typeof window !== 'undefined'
    if (isServer || (isClient && !Object.keys(__JOBS_STATE__.theCorrectProp).length)) {
      fetch("http://localhost:1337/api/public/v1/home/get_articles/?format=json")
        .then(response => {
          return response.json();
        })
        .then((res) => {
          console.log(res);
          return res;
        })
      } else return __JOBS_STATE.theCorrectProp;
  }
})(Product);

If you're using Redux, it's cleaner. You would probably use an action creator to fetch to the store, and then in your IF statement you could check the store instead of the global var. But take my advice/above code for a grain of salt. It should work, but it may or may not be the best way to work without Redux.

p.s. you were missing the . before your last then, at least in the code you copy/pasted...


Go To Definition not working with allowJS: false option in tsconfig

TS Template added by @mjbvz
TypeScript Version: 3.8.1-rc
Search Terms

tsconfig
go to definition
allowJs
paths

Issue Type: Bug
VSCode module imports within a Typescript project respect the tsconfig.json file. There is strange behaviour around setting allowJS: false within the tsconfig.json file.
Specifically, when attempting to cmd + click, Go to definition, or peek an imported file, certain filetypes do not work as expected.
It is my expectation, that VSCode should be unopinionated about the file types, and should still locate the file successfully, regardless of this config option.
The following are the test results from importing different file types (.ts, .tsx, .js, .jsx) into every other file type. For these tests, both relative and aliased imports were tested (defined in the tsconfig.json).
A Pass represents that cmd + click successfully directed to the file. A Fail represents that cmd + click did not go to the file, and would instead stay on the currently opened file.
A full list of tests as well as the reproducible example can be found in:
https://github.com/chrisdancee/-vscode-js-definition-bug
Javascript to any aliased Typescript import - Fails
Javascript to any aliased Javascript import - Fails
Javascript to any relative Typescript import - Passes
Javascript to any relative Javascript import - Passes
Typescript to any aliased Typescript import - Passes
Typescript to any aliased Javascript import - Fails
Typescript to any relative Typescript import - Passes
Typescript to any relative Javascript import - Fails
VS Code version: Code 1.42.0 (ae08d5460b5a45169385ff3fd44208f431992451, 2020-02-06T10:51:33.119Z)
OS version: Darwin x64 18.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz (8 x 2700)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (1.86GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

Someone on the TS team will have to confirm this, but I think what you describe is the expected behavior.
If allowJS is false, then JS files will not be considered part of the project. This means when you open a JS file, the paths config does not apply to it. Similarly, TS files cannot import js files (this results in a compile errors when using tsc if you enable strictNullChecks)
It would likely be confusing if go to definition worked in cases like this where the imports are not actually valid

@mjbvz Personally I don't see why VSCode would be so tightly coupled to TS in this respect. I would still expect cmd + click to work regardless as it is then down to the developer, and not the tooling as to how their project is set up.
If this is the case however, I would still expect consistency between Javascript relative and aliased imports. In the repo provided, you can cmd + click from any JS file to a relatively imported TS or JS file. However if you instead import that file using an alias, this no longer works (but only as long as allowJS is set to false).

This is the intended behavior because we assume that configuration by users is done so on purpose and that we should honor that configuration.
When you're in the JS files, you're in an "implicit project" that is formed by the imports of that file.


Run git submodule update when resetting the git clone

The submodule remote might have been updated. If we don't run this and
we have already a cache/clone of the repository, git won't use the new
remote url, leading to errors such as:
Submodule 'ocaml-version' (https://github.com/ocurrent/ocaml-version.git) registered for path 'ocaml-version'
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Unable to fetch in submodule path 'ocaml-version'; trying to directly fetch a28dedbd8dcc325d665f5f7385cfe2afb85cbac5:
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Fetched in submodule path 'ocaml-version', but it did not contain a28dedbd8dcc325d665f5f7385cfe2afb85cbac5. Direct fetching of that commit failed.
git-submodule-update failed with exit-code 1

Looks good 👍🏻


Parses empty unquote Xml expression

Parses "unquote Xml expression" similarly to "unquote expression".
This fixes a bug with empty expression (e.g. {}).

@xeno-by @olafurpg How should s"${}" be parsed?
scalac doesn't differentiate between s"${}" ands"${()}" but scalameta does:
scalareflect:
> showRaw(q""" s"$${}" """)
Apply(Select(Apply(Ident(TermName("StringContext")), List(Literal(Constant("")), Literal(Constant("")))), TermName("s")), List(Literal(Constant(()))))
> showRaw(q""" s"$${()}" """)
Apply(Select(Apply(Ident(TermName("StringContext")), List(Literal(Constant("")), Literal(Constant("")))), TermName("s")), List(Literal(Constant(()))))

scalameta:
> s"""s"Hello $${}"""".parse[Stat].get.structure
Term.Interpolate(Term.Name("s"), Seq(Lit.String(""), Lit.String("")), Seq(Term.Block(Nil)))
> s"""s"Hello $${()}"""".parse[Stat].get.structure
Term.Interpolate(Term.Name("s"), Seq(Lit.String(""), Lit.String("")), Seq(Lit.Unit(())))

I think we should parse xml literals the same way we parse string interpolators (modulo mandatory {} for xml literals). This is what scalac does.

I propose that we do the same thing in xml literals as we do in string interpolators in scalameta, so the parser should emit Term.Block(Nil). Either that, or we insert Lit.Unit(()) in both to be the same as scalac. I agree that xml and regular interpolators should behave the same in this case. However, the scalac behavior of inserting a Lit.Unit(()) is just baffling to me.

@olafurpg This is what happen in the scalac parser:
def block(): Tree = makeBlock(blockStatSeq())

def makeBlock(stats: List[Tree]): Tree = gen.mkBlock(stats)

def mkBlock(stats: List[Tree], doFlatten: Boolean = true): Tree =
  if (stats.isEmpty) mkSyntheticUnit()
  else if (!stats.last.isTerm) Block(stats, mkSyntheticUnit())
  else if (stats.length == 1 && doFlatten) stats.head
  else Block(stats.init, stats.last)

So when it parses a an empty block, it inserts a synthetic unit.

I'm OK with reproducing what the scalac parser does, wdyt @xeno-by ?

I think we should do Term.Block(Nil). Scalac does a lot of desugarings, but we're not obliged to, and to me {} looks like an empty block, hence Term.Block(Nil). Wdyt?

OK, Term.Block(Nil) it is then!

Then I guess it is good to go

t's interesting to note that the Syntax is {{}}, since the difference between {{}} and {} is now considered token trivia.

@olafurpg I have:
tree.show[Syntax] == "<foo>{}</foo>"


Param of Module type (for class include) doesn't have .is_a? defined on it.

Input
→ View on sorbet.run
# typed: true
extend T::Sig

module M; end

class A
  include M
end

sig {params(m: T.any(M, String)).void}
def foo(m)
  puts m.is_a?(M)
end

foo(A.new)

Observed output
editor.rb:12: Method is_a? does not exist on M component of T.any(M, String) https://srb.help/7003
    12 |  puts m.is_a?(M)
               ^^^^^^^^^^
  Got T.any(M, String) originating from:
    editor.rb:11:
    11 |def foo(m)
                ^
  Note:
    Did you mean to include Kernel in this module?
  Did you mean:
    https://github.com/sorbet/sorbet/tree/master/rbi/core/kernel.rbi#L493: Kernel#is_a?
     493 |  def is_a?(arg0); end
            ^^^^^^^^^^^^^^^
Errors: 1

Expected behavior
No errors! Great job.

When run, the Ruby output shows:
true

I believe this can be resolved by using the type URI::Generic which is intended as a base class for all URI concrete types.
I thought I'd read somewhere that each URI class should include URI so it .is_a?(URI), but it's simpler to ask a T.any(URI::Generic, String) if it .is_a?(URI::Generic).
The discrepancy between Ruby execution and Sorbet's static type info exists as reported but has a nice alternative.
How in general, do we handle include ModuleThing methods for a type defined as ModuleThing (if in fact this is the source of the difference between Ruby runtime and Sorbet)?

This is working as intended. Sorbet can't know that the module M will eventually be mixed into a location that has .is_a? defined, because it could also have been mixed into BasicObject.
The suggestion error message is the recommended suggestion (put include Kernel inside module M).
Another suggestion is to use case m; when M then ..., because Ruby treats this as a call to M.===(m) which is valid no matter what the ancestor hierarchy of M is.


Bug Life not working..

I added pod 'Buglife' in pod file.
It has no error when building. and added Privacy - Photo Library Usage Description in Info.plist.
But when taking a screenshot , it has no action triggered.
I tested this sdk on empty project. it's nothing to do action.
A diffrenent thing with sample is using SceneDelegate.
When co-existing with SceneDelagte, is there any settings I have to do?

the same here !


When using xiismodule, test does not recognize that the module is already present.

The following config works the first time, but subsequent times, always returns an error because it doesn't recognize that the setting is already there.  It's a non-terminating error, but does cause the overall config to report a failure.
xIisModule phpHandler
{
Name = "phpFastCgi"
Path = "c:\tools\php72\php-cgi.exe"
RequestPath = ".php"
Verb = ""
Ensure = "Present"
ModuleType = 'FastCgiModule'
DependsOn = @("[Package]vcRedist","[File]PhpIni")
}

Example of the output:
phpmodulelog.txt

I'm facing the very same error with this configuration:
xIisModule PhpHandler {
            Name        = "phpFastCgi"
            Path        = "$($phpDirectory)\php-cgi.exe"
            RequestPath = "*.php"
            Verb        = "*"
            Ensure      = "Present"
            DependsOn   = @("[Package]vcRedist","[Archive]PHP")
}

I tried to debug the resource. Even though the module configuration is fine, the function Test-TargetResourceImpl will return $false.
Eventually line 393 is causing this issue:
if($moduleConfigured -and ($ModuleType -ne 'FastCgiModule' -or $resourceStatus.EndPointSetup))

Variable
Value

$moduleConfigured
$true

$ModuleType
FastCgiModule

resourceStatus.EndPointSetup
$false

Thanks for reporting this! A test should be added to test this scenario. I label this as help wanted so that someone in the community can run with it. There are an open PR #350 that has been abandoned that someone is more than welcome to take over an run with.


Throw error if user passes invalid query

I've found this bug where if you mistype queries then the type generation process will emit an invalid typescript file and won't throw any errors.
There is a simple repository which shows what can cause the bug. (run "yarn gen" to reproduce)
The point is that at this line the query is wrong.
Then, this invalid file is created
I'm using this schema.
I'll be happy to help fix this issue but I don't know much about the internals of this project.
If one could point me at to the files that handle this part I'll try to fix it.

@degroote22 Thanks for reporting it!
I guess that we need to run GraphQL validation on the documents before using the queries. I look into it.

I have the same problem. Have this bug been introduced in later versions?  I've upgraded to the latest version some days ago and have started to see this problem since then.

Done! 0.11 is available now. @degroote22 @Jontem


perf: improve cleanUrl util

Description
We use this util a lot, so worth improving. I did this in https://github.com/vitejs/vite/pull/12572, extracting it in a separate PR so we can merge it. I think we should move forward with #12572 but there are new ecosystem-ci tests failing for it. Maybe better to wait for Vite 5 or check Astro and Iles if you think it is worth having this in 4.3.
perf.link

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

It looks like the third test-case is faster for me on perflink. Though I like the readability of the regex version more

Interestingly, on my machine, the regex version is generally faster.


no session is found in home.php file

i will be fixing this issue

issue is fixed

issue is closed


What is the coordinate system for accelerations?

From your data, the accel_z starts with a positive gravity, which is the opposite of the direction to the ground. In my use case, MAVlink is in the NED body frame, and its acceleration at the z-axis starts with negative gravity.
I am having trouble converting this dataset for my case. What coordinate system is it using?
Thank you

Ah, I see your paper at https://arxiv.org/pdf/2311.02667.
It seems like I need to invert z and y axis to get NED body frame.

We used ENU (east, north, up) coordinates, i.e., X: forward; Y: left; Z: up. To convert to NED, you indeed need to invert Y and Z.


fix: wrong separator in key combination

@zeertzjq can you please include that in your typo PR?

OK

thanks, closing for #12753


setup basic RTKQ (Redux Tool Kit Query)

add basic boilerplate needed to setup redux using RTKQ at global application level

can i work in this issue ? I know how to setup rtk query store and api


feat: new api with custom scope and key, filtering, more UI customiza…

This contains a lot of changes, that were utterly untested.
I've been struggling to get my local setup to build, and rather than spend another hour on that, I decided to make the changes to show what the new API would look like.
So we have new props:

scope: which is where to attach the chat: game, round or stage
key: which is the key to use to save the chat on the scope (defaults to "chat")
filter: to filter messages to be shown
onNewMessage: to modify or dismiss a message before it's created
and some UI components overrides:

header: the open chat window header
closed: the closed chat window header
message: the message
footer: the footer of the chat window that contains the input

I did not add back the floating version of the chat window. That might be something we still want.
@hubertusputu1 Let me know if you are having problems with any of the changes.
@JamesPHoughton Please check out the API, see if it answers all your needs (except maybe the floating window, @hubertusputu1 maybe that's something you can add back from James' PR).

note: i am still adding the floating window on here, and then will do another test.

@JamesPHoughton Did you get a chance to review the new design: https://github.com/empiricaly/chat/blob/3a67ded4901af0580387dadb359ab48f312eedd4/Readme.md
Does it answer all your needs?

I haven't had a chance to give it a go yet, but just from the API I think it should.
As it is, is the best way to float the window to overwrite the chat package CSS from the empirical project? I need to learn more about how to do that...
One question - with the current CSS, if there are multiple chat windows, will they stack on top of one another, or do they tile?

Good question. @hubertusputu1 Let's make sure they don't stack when fixed.
And for "floating", I wasn't sure if this means like you can drag the window around, or you can embed the chat somewhere in the code of the page (which is currently what's supported I believe).

Good point, "floating" is ambiguous. All I need to do is to embed the chat window in the page, not actually to let the user move it around.

Ok, thanks. We'll make sure that's easy to do then. 👍

Trying this out, it looks like the default behavior doesn't display the name field of other chat participants at all:

Is this expected?

It's because I have no player.name attribute defined. Are we suggesting that this be a standard pattern for empirica games, to use that in place of player.id when a public-facing identifier (i.e. either a pseudonym or real name) is called for?

I think i prefer @amaatouq's suggestion: https://github.com/empiricaly/chat/pull/1#issuecomment-605073257
Updated here: https://github.com/JamesPHoughton/chat/tree/displayName

Also, the chat window is launching "closed" because the isOpen state is not initialized, but isChatOpen is used in some places and isOpen is used in others. Switched all to isChatOpen but no real preference for this over isOpen. fixed in my branch.

nope, I misunderstood how things were working! You're adding name attribute to the player dictionary stored with the message, which I like better than fetching the name for the player at display time. I just needed to set the name object on the players. Sorry for all this confusion...

Thank you for the update!
For the name, I was wondering if we should have a default, like show their Player._id (or the first 6 characters of it), so at least there's something. And maybe at the same time, in dev, log to the console that "name" should be set on the player.

For the name, I was wondering if we should have a default, like show their Player._id (or the first 6 characters of it) ... And maybe at the same time, in dev, log to the console that "name" should be set on the player.

That works for me, or just fill in "player 1", etc. and throw the warning. I don't think we want experimenters to depend on the default.

Also, having a bug where the chat window doesn't scroll properly (ie, scroll to bottom after new messages are added). The reason seems to be because the function that would set scrollTop = scrollHeight is depending on the old syntax in which messages are passed into the Messages object:
componentDidUpdate(prevProps) {
    const { messages: prevMessages } = prevProps;
    const { messages: currentMessages } = this.props

    if (prevMessages && currentMessages && (prevMessages.length < currentMessages.length)) {
      this.messagesEl.current.scrollTop = this.messagesEl.current.scrollHeight;
    }
  }

Problem is, there is no messages object in props anymore, as were scope.get()-ing them. So, the if statement is never true.
It seems like a straightforward workaround is to store the length of the message array in the Messages state, and check it against what we get.
I'll put this together and see how it goes, if you have a better pattern for it @npaton, we can do that instead.
It seems like the componentDidUpdate method is getting called a lot - if it gets called as frequently as render() maybe we just put the scroll control in render just to save the double get?

updates in my fork fix the scrolling issue. I put changes in render() to avoid replicating effort on getting the messages. @npaton @amaatouq, If you like this I'll remove the commented out componentDidUpdate and PR.

Hey @JamesPHoughton Sorry for the slow reply. Thank you for testing this further and finding this issue!!
It is frowned upon updating state from render(), as it could lead to an infinite loop, so I would avoid that. It seems unlikely here, but it's still a bad idea overall. That said, num_messages is not reactive from what I can see, so there is no reason to have it in state. Even if the messages array length comparison does not use this.state, doing something on elements directly like scrolling, should not happen inside of render(). I am not sure why componentDidUpdate is called so much, but it shouldn't be more than the input props are changing (use PureComponent?), we should look into that. And keep the scroll trigger in componentDidUpdate, even if we have to filter twice. Ideally we'd calculate it once and store it, though with the later react APIs this has become more complicated without componentWillUpdate(), so you'd preferably need to do it above Messages, could have data component that does just that. Maybe
function filteredMessages(WrappedComponent) {
  return class extends React.PureComponent {
    render() {
      const { scope, customKey, filter, ...rest } = this.props;

      let messages = scope.get(customKey) || [];
      if (filter) {
        messages = filter(messages);
      }

        return <WrappedComponent messages={messages} {...rest} />;
    }
  };
}

I do not have time to look at this just now. @hubertusputu1 Can you look into this? Once done, let's do a final review and close this soon.

Thanks @npaton, good to know about render not updating state. Not sure if I'll have time in the next couple days to give it another go, so @hubertusputu1 , feel free to make changes.
Also, It seems that what I have isn't fixing the issue completely. After the scroll gets updated, the last message still isn't visible - it seems to be sitting under the text entry box. You can scroll down to see it, but the autoscroll I have doesn't scroll all the way down. Not sure if it's a mistake I'm making or if its something to fix with a css pad or adding a little bit to the scroll height.

@npaton @JamesPHoughton sure, i will take a look on it.

LGTM. Awesome, thank you @hubertusputu1. If scrolling is confirmed to work, please merge and release. 🙌

Also, It seems that what I have isn't fixing the issue completely. After the scroll gets updated, the last message still isn't visible - it seems to be sitting under the text entry box. You can scroll down to see it, but the autoscroll I have doesn't scroll all the way down. Not sure if it's a mistake I'm making or if its something to fix with a css pad or adding a little bit to the scroll height.

@JamesPHoughton this was likely due to the scroll happening in render(). At the time of render being called, the new message hasn't been inserted into the DOM yet, so the offset is incorrect. In componentDidUpdate() we are after the result of render has been applied to the DOM, the new message is in there, so the scroll offset is then correct. 👍

this was likely due to the scroll happening in render()

Thanks @npaton, that makes sense!
@hubertusputu1, the autoscroll is still not working for me, I'm afraid. It seems that in the componentDidUpdate, prevMessages does not differ from currentMessages, even when new messages are added.
Testing with:
componentDidUpdate(prevProps) {
    const { messages: prevMessages } = prevProps;
    const { messages: currentMessages } = this.props;
    console.log(prevMessages.length == currentMessages.length)  // add test

    if (this.messagesEl.current !== null && currentMessages.length > prevMessages.length) {
      this.messagesEl.current.scrollTop = this.messagesEl.current.scrollHeight;
    }
  }

always prints true. I'm not sure quite why, see what I can find.

A guess is that the messages array is just getting mutated, and so it's comparing the array to itself. If I make a copy before passing it as a prop to Messages the scrolling works as expected:
function filteredMessages(WrappedComponent) {
  return class extends React.PureComponent {
    render() {
      const { scope, customKey, filter, ...rest } = this.props;
      let messages = scope.get(customKey) || [];
      if (filter) {
        messages = filter(messages);
      }
      const copy_messages = [...messages];  // make a copy
      return <WrappedComponent messages={copy_messages} {...rest} />;
    }
  };
}

@JamesPHoughton can you please try to installing a new package from npm i @empirica/chat on your project? Let's see if the auto-scrolling works or no.

@hubertusputu1 So this is working for you? @JamesPHoughton But it's not working for you?
If so, @JamesPHoughton, can you tell us about the context you're testing (browsers, steps to reproduce if any). Thanks!


compile

I used be able to run setup.py fine, in the latest two version i get swig errors (setting the NPY version doesn't fix it).
warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by "
^
clstm_wrap.cpp:5906:15: error: no member named 'train' in 'ocropus::INetwork'
(arg1)->train(*arg2,*arg3);
~~~~~~  ^
clstm_wrap.cpp:5975:15: error: no member named 'ctrain' in 'ocropus::INetwork'
(arg1)->ctrain(*arg2,*arg3);
~~~~~~  ^
clstm_wrap.cpp:6053:15: error: no member named 'ctrain_accelerated' in 'ocropus::INetwork'
(arg1)->ctrain_accelerated(*arg2,*arg3,arg4);
~~~~~~  ^
clstm_wrap.cpp:6122:15: error: no member named 'ctrain_accelerated' in 'ocropus::INetwork'
(arg1)->ctrain_accelerated(*arg2,*arg3);
~~~~~~  ^
clstm_wrap.cpp:6253:15: error: no member named 'cpred' in 'ocropus::INetwork'
(arg1)->cpred(*arg2,*arg3);
~~~~~~  ^
clstm_wrap.cpp:6373:15: error: no member named 'setInputs' in 'ocropus::INetwork'
(arg1)->setInputs(*arg2);
~~~~~~  ^
clstm_wrap.cpp:6430:15: error: no member named 'setTargets' in 'ocropus::INetwork'
(arg1)->setTargets(*arg2);
~~~~~~  ^
clstm_wrap.cpp:6487:15: error: no member named 'setClasses' in 'ocropus::INetwork'
(arg1)->setClasses(*arg2);
~~~~~~  ^

Thanks. The API changed and I haven't updated the Python bindings to reflect this. I'll try to do it soon (or you could supply a patch; it's pretty straightforward).

Ok thanks. I'd need to figure it out first, might be better to wait for the wrapper update.
C.
Sent from my iPad
On 10 Apr 2015, at 17:21, Tom <notifications<EMAIL_ADDRESS>wrote:
Thanks. The API changed and I haven't updated the Python bindings to reflect this. I'll try to do it soon (or you could supply a patch; it's pretty straightforward).
—
Reply to this email directly or view it on GitHubhttps://github.com/tmbdev/clstm/issues/5#issuecomment-91606792.

I've fixed the Python bindings and added some iPython notebooks illustrating both command line usage and Python bindings.

thanks
I compiled on Mac, a few small changes to the build. the only error i got was :
extras.cchttp://extras.cc:811:21: error: use of undeclared identifier 'environ'
char **ep = environ;
ive edited around it for now.
c.
On 23 Apr 2015, at 23:16, Tom <notifications<EMAIL_ADDRESS>wrote:
I've fixed the Python bindings and added some iPython notebooks illustrating both command line usage and Python bindings.
—
Reply to this email directly or view it on GitHubhttps://github.com/tmbdev/clstm/issues/5#issuecomment-95733494.


SPIKE: Network upgrade in progress now, or happened recently

We need to understand more about what we can get from the API and what we need to gather from other places
For example: if I come to console, there was an upgrade scheduled to have taken place recently, but nothing is happening... is the upgrade in progress still or is there another problem happening.
What if I'm connected to a node that hasn't come back up so blocks haven't progressed, but others have.
Could be simple things "upgrade scheduled for x, visit block explorer to find out what's happening"
Define the scenarios and define what we can do to help people for each
Story
As a console user
I want to know when a network upgrade is taking place
So that I have visibility of what's happening with the network, am reassured that nothing bad is happening, and am provided with information to help me decide what action I need to take
Acceptance Criteria

[ ] I can see that a network upgrade is taking place
[ ] I can see 'what' version of the protocol the network is planned to be upgraded to
[ ] I can see what block height the upgrade will run at
[ ] I can see the current block height
[ ] I can see 'when' the upgrade is estimated to take place (based on the current and planned block height - instructions to calculate time in the future are here https://docs.vega.xyz/testnet/node-operators/how-to/upgrade-network)
[ ] I can understand the impact(s) of the upgrade i.e. how long the network might be offline etc.
[ ] There is a way to see all the details of the release that will be upgraded to on github https://github.com/vegaprotocol/vega/tags (until this ticket is done https://github.com/vegaprotocol/frontend-monorepo/issues/3260 in which case it should link to the upgrade proposal details page)
[ ] I can close the banner (to free up space on my screen when I'm trading)
[ ] When I have closed the banner there is a way for me to still see that there is a network upgrade planned
[ ] When I have closed the banner there is a way for me to re-open the banner to see the details of the planned upgrade
[ ] Whether the banner is open or not, I can see a count down to the planned network upgrade

Tasks

[ ] Consider whether it makes sense to utilise the work done to create a Holding page to temporarily block features or not
[ ] Finalise UX and copy
[ ] Visual design
[ ] Implement
[ ] QA test (Verify meets acceptance criteria, exploratory testing for bugs, check adherence to visual design, add automated regression tests for the A/Cs)
[ ] Release

Sketch

Additional details / background info
Details of what data is available from the API to facilitate this story can be found in this spike https://github.com/vegaprotocol/frontend-monorepo/issues/2992

One the upgrade has concluded we also need a solution for what to show on console for the period it was out.
Currently we just show a gap.

Consensus seems to be we should show a line for "forward fill" and take the last close price as the open, close, high and low. for all intervals until we have data again.  Same thing we should do for any interval that doesnt have any volume.
Kucoin example

Note that in te above, if the next trade was at a diff price you will still get a vertical jump like we see about 3/4 across on the above, but you should never have a horizontal gap.


[Web- html,css,javascript] Link Username to github profile

Title
Link Username to github profile
Project link
Click here
Domain
Add 'x' inside [ ] to cross check box.

[ ] App with Flutter
[ ] App with Java
[ ] App with Kotlin
[x] Web with Html,css javascript
[ ] Web with React

Please describe your feature.
After searching for profile ,clicking on the username, users should be redirected to the profile on github.
Describe the solution you'd like
NA
Additional context
NA

Please assign this issue to me.
Happy to solve it.


Build image

Verify image build

Codecov Report

Merging #1313 (4c83a30) into master (679f5dd) will increase coverage by 15.17%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #1313       +/-   ##
=============================================
+ Coverage     72.91%   88.09%   +15.17%
=============================================
  Files           135       32      -103
  Lines          2304      378     -1926
  Branches        437       55      -382
=============================================
- Hits           1680      333     -1347
+ Misses          378       32      -346
+ Partials        246       13      -233

Impacted Files
Coverage Δ

...in/org/zalando/zally/statistic/ReviewStatistics.kt

cli/zally/readers/yaml_reader.go

...org/zalando/zally/apireview/ApiDefinitionReader.kt

...rg/zalando/zally/ruleset/zalando/ZalandoRuleSet.kt

...ly/ruleset/zalando/DateTimePropertiesSuffixRule.kt

...otlin/org/zalando/zally/apireview/RuleViolation.kt

...lin/org/zalando/zally/apireview/EndpointCounter.kt

...alando/zally/ruleset/zally/TagAllOperationsRule.kt

cli/zally/commands/supported_rules.go

...in/org/zalando/zally/core/ContextRulesValidator.kt

... and 157 more

Continue to review full report at Codecov.

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


type 'WhereIterable' is not a subtype of type 'List'

Steps to Reproduce

Take a List<String>, call where method on it to filter and then return a List`

List<String> removeBlacklistItemReducer(List<String> state, RemoveBlacklistItemAction action) {
  final Iterable<String> newState = state.where((item) => item != action.item);
  return List<String>.from(newState);
}

Logs

════════ Exception caught by gesture ═══════════════════════════════════════════════════════════════
The following assertion was thrown while handling a gesture:
type 'WhereIterable<String>' is not a subtype of type 'List<String>'

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=BUG.md

When the exception was thrown, this was the stack:
#0      editBlacklistItemReducer (package:flutter_hybrid_alert/src/store/reducers/blacklist_reducer.dart:13:16)
#1      TypedReducer.call (package:redux/src/utils.dart:103:14)
#2      combineReducers.<anonymous closure> (package:redux/src/utils.dart:248:22)
#3      appReducer (package:flutter_hybrid_alert/src/store/reducers/root_reducer.dart:14:32)
#4      Store._createReduceAndNotify.<anonymous closure> (package:redux/src/store.dart:218:21)
...
Handler: "onTap"
Recognizer: TapGestureRecognizer#dccdd
  debugOwner: GestureDetector
  state: possible
  won arena
  finalPosition: Offset(301.7, 291.8)
  finalLocalPosition: Offset(28.0, 22.2)
  sent tap down
════════════════════════════════════════════════════════════════════════════════════════════════════

Analyzing flutter_hybrid_alert...
No issues found! (ran in 4.4s)

[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.6 18G95, locale en-US)
    • Flutter version 1.9.1+hotfix.2 at /Users/danny/fvm/stable
    • Framework revision 2d2a1ffec9 (12 days ago), 2019-09-06 18:39:49 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/danny/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Users/danny/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.5791312/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 10.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.3, Build version 10G8
    ! CocoaPods out of date (1.6.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart
        side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade:
        sudo gem install cocoapods
        pod setup

[✓] Android Studio (version 3.5)
    • Android Studio at /Users/danny/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.5791312/Android
      Studio.app/Contents
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[!] IntelliJ IDEA Ultimate Edition (version 2019.2.2)
    • IntelliJ at /Users/danny/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

! Doctor found issues in 2 categories.

Was looking at the wrong function... PEBKAC. Nothing to see here....


docs: Fix broken links to images

Fix broken links to images on README and overview.md.
Reference all adapter logos from /docs/assets/img/service-meshes/.

Signed-off-by: Blake Covarrubias<EMAIL_ADDRESS>Description
Fixes broken links to image in README, and logos from service mesh adapter list.
Notes to reviewers
Checklist

[x] Signed commits.
[x] PR title includes [<name of area>]:<description>

Whee!🎈 Very cool, @blake 😎


No way to fully override "Previous Version" from command-line

The spec-prod action computes the "Previous Version" link itself for publication to /TR and passed it to Bikeshed on the command-line with --md-previous-version. Command line argument should override the metadata entry in the spec source. However, with Previous Version, this rather adds an entry to the list.
The net result is that specs that have something like the typical Previous Version: from biblio metadata end up with two "Previous Version" links, instead of one:
https://www.w3.org/TR/2021/WD-webcodecs-20210427/
Could the override be a real override?
cc @sidvishnoi, @deniak

I've had an idea in my back pocket for the ability to clear a metadata coming from previous levels, but haven't had a good use-case to justify working on it. This sounds reasonable.


Input not clickable in carousel using mobile device

Description
I install the latest release of materialize and now my input in my carousel does not response when I click on it.
Repro Steps
You can see it on materialize web site when you try to click in the dataindicator
Sorry for my bad english

Can you provide a better way to reproduce the issue? I cannot found it

I can reproduce the issue in iOS e.g. navigate to http://materializecss.com/carousel.html and try to tap a carousel item to move to it and tap again to try to navigate to the link - both won't work
On the desktop, you can reproduce this in Chrome

Open http://materializecss.com/carousel.html
F12 (Developer Mode)
Ctrl + Shift + M (Toggle Device Menu)
Select the iPhone 6 Plus preset
Refresh the page
Attempt to navigate to a carousel item using a click - won't work
Attempt to click a link in a carousel item to navigate to it - won't work

These are the result of commit 5d6868680a2ae27e837f26454e6af3f0e600066f
Reverting that change (removing e.preventDefault() for the tap function) results in the intended behaviour for iOS. Maybe you can add a check that it would only preventDefault() if the detected browser is Firefox to fix the issue referenced in the commit?

As of v0.98.2 clicking carousel links on mobile (android for me) still doesn't work.

Is there any temporary hack/fix to solve this?

@DavisMiculis You have to remove e.preventDefault() from function tap(e) { ... } in materialize.js. Check out the comment above mine. @MaksymShostak Thanks!

@tuxredux this means to manually change materialize js source? Any way of doing without touching materialize source files?

@DavisMiculis Yeah AFAIK you will have to edit materialize.js. You asked for a temporary hack/fix, and since it's just removing one line it seems like a reasonable solution to me...
Unless of course you don't have access to the source file for whatever reason. I'm not a javascript developer myself so I wouldn't be able to help any further, but this seems like a good place to start. Good luck!

@tuxredux okay, thanks for help!

@tuxredux i have tried to remove the e.preventDefault() and that fixes the problem in desktop but in mobile devices the click event doesn't work

I ran into the same/a similar problem where adding a input item in the carousel wasn't clickable.
The problem is shown in this codepen: https://codepen.io/anon/pen/VbNzap
It is not possible to select the input element.
This problem is solved by removing line 343 in the current carousel.js file: https://github.com/Dogfalo/materialize/blob/6e317e21367b826a9e3f49c77257e189ad883106/js/carousel.js#L343

Is this still an issue? The current master branch should contain a fix for this.

@DanielRuf I'm afraid my issue is not solved by the solution in the current release. Commenting out the if-statement restores functionality again.

Fixed in 58224d7239399f05721cdbc2af90f2d73f6f6a78

Definitely still not fixed, I can't do anything with a carousel on mobile.
patrickonparker.com

@patrickonparker What do you mean? The carousel on your website seems to work fine for me. Can you provide us a codepen that exactly shows what the problem is?

I'm afk right now but loading my site in mobile Safari I'm not able to tap on the link around each image to open the modal, or swipe between items in the carousel.

Im actually having the same problem, on mobile not able to swipe between items in the carousel. Need help with this problem already removed 'e.preventDefault();' and still nothing.

@patrickonparker @sonAndrew which version of Materialize do you use?

i have this problem too. On mobile not clickable input field(radio,checkbox, textinput....) in carousel.

My problem was similar: clicking on a fixed button (inside the carousel-fixed-item div) the action/href wasn't working.
The only way I could solve this is:

Cut the carousel-fixed-item div
Paste it right after the carousel (external div), with style="z-index: 2; position:absolute!important; bottom: 15%; width: 100%"
Create a "carousel-wrapper" with style="position:relative"

Doing this, the "new" carousel-fixed-item is actually outside the carousel, so it's not affected by the e.preventDefault() code.

Same issue here, cannot swipe the Carousel on mobile devices. I use the current version of Materialize (v0.100.2).

Same issue here,
I cannot swipe the Carousel on my iPhone.

I don't get it, I'm talking about the carousel being able to be swiped by touch. How does using  help?

@MegaSunCat the other issue was just referenced. The problem is that the click / tap event is catched and not properly delegated to child elements.

Same issue here. I can't use swipeable (v0.100.2) with simple text inputs on a cordova app.

@rmard solution works for me!

Confirmed; works with 0.99.0, but not with 0.100.2.

Did you test v1 1.0.0 beta x?

Where do i get beta version of v1? On CDN, I can only see alpha versions.

Sorry, meant alpha ;-)

Tried latest alpha - it's working on mobile but performance is awful. You can take a look: https://youtu.be/e2PKCQuMxu8 and on desktop it's even worse. No JS errors in console.

So it works at least ;-)

I have just discovered on my wordpress that it's a theme-related "bug" (OceanWP theme). It works flawlessly with other themes. Will report on my progress.


Update request: nyxt 3.11.6 → 3.11.8

Package name: nyxt
Latest released version: 3.11.8
repo: https://github.com/atlas-engineer/nyxt
newest version: https://github.com/atlas-engineer/nyxt/releases/tag/3.11.8

Current version on the unstable channel:
Current version on the stable/release channel:

[ ] Checked the nixpkgs pull requests

Notify maintainers

Nyxt 3.11.6 does not build with sbcl_2_4_7 as mentioned in #332862
Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

Nyxt provides a shell.nix used for building.
Maybe some of it can be reused to fit into nixpkgs?

Nyxt provides a shell.nix used for building.
Maybe some of it can be reused to fit into nixpkgs?

Nyxt provides a shell.nix used for building.
Maybe some of it can be reused to fit into nixpkgs?


Chaincoin initial merge

Umm why is this here and why is chain coin trying to hijack Dash's Sentinel?

sorry, pull request accidentally created


where is volterra

请提出你的问题 Please ask your question
I don't find the module Volterra in ppsci which write in API docs(ppsci.equation.Volterra), this module has been deleted?

https://paddlescience-docs.readthedocs.io/zh/latest/zh/api/equation/#ppsci.equation.Volterra


"total" value does not match the actual number of objects in GraphQL query result

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://datahub-instance/api/graphiql'
Run next query

query listIngestionSources($input: ListIngestionSourcesInput!) {
                  listIngestionSources(input: $input) {
                    start
                    count
                    total
                    ingestionSources {
                      urn
                      name
                      schedule {
                        interval
                        timezone
                      }
                      platform {
                        name
                      }
                      type
                      config {
                        version
                        executorId
                        recipe
                      }
                    }
                  }
                }

with variables:
{"input": {"start": 0, "count": 1000}}

Check length of resulted collection - ingestionSources. Compare it with value from total
In my case In my case, the total differs by 1 more than the actual number of elements.
808 in total, 807 - actual

Expected behavior
total == actual
Screenshots

Desktop (please complete the following information):

Version DataHub 0.12

+1

Also noticed mismatch in result with next query properties:
result = datahub_prod._get_ingestion_sources(start=0, count=753)
len(result['listIngestionSources']['ingestionSources'])
752

It is actual

@Stefs-2142 @YuriyGavrilov
Your problem may be due to data inconsistency between elasticsearch and ebean. You need to compare the document count in datahubingestionsourceindex_v2 index with the result of this select:
select count(*)
from metadata_aspect_v2
where aspect = 'dataHubIngestionSourceKey' and version = 0;

If select count(*) returns a smaller number, it will mean a few dataHubIngestionSource entities has been deleted from your database.

@YuriyGavrilov
There are two options:

If you can identify the excess documents in datahubingestionsourceindex_v2, you can simply delete them, for example using Delete API.
!!!Before using this option, make sure you know how to use Restore Indices!!!

Clear datahubingestionsourceindex_v2 by Delete by query API:
POST datahubingestionsourceindex_v2/_delete_by_query
{
  "query": {
     "match_all" : {}
  }
}

and then use Restore Indices with this body:
{
	"urnLike": "urn:li:dataHubIngestionSource:%",
	"start": 0,
	"batchSize": 10000
}


Beaverbuffs mod is not functioning

It is lacking the config fille after installation for some reason and blefinx cannot load the mod.

I'm seeing a similar issue. The mod used to work, and I think it stopped after updating TimberAPI but I've not been able to find an older version that makes it work again. All I get in the loader logs that's relevant are these lines:
[Info   :   BepInEx] Loading [Beaver Buffs 1.1.0] [Warning: Unity Log] The script 'BeaverBuffs.BeaverBuffsPlugin' could not be instantiated!

I’m looking for someone to take over this mod

i have same problem as thargan81

Has a solution been found for this issue of the config file file not appearing in thunderstore manager?

the mod doesent work man ofc the config wont show up you can try WellbeingBuffs you can edit that exactly how u want


Allow using embassy-time Timer with embassy_futures::block_on

I'm happy to send a PR to do this, but I'm just not sure if there's a reason this wouldn't work to begin with.
The reason this would be useful for us is that we write tests as async functions but we execute them serially using embassy_futures::block_on.
For the record, this is the panic message I get when I try to do this
ERROR panicked at 'Found waker not created by the Embassy executor. `embassy_time::Timer` only works with the Embassy executor.'

You can fix this by enabling feature generic-queue in embassy-time and disabling feature integrated-timers in embassy-executor.

Works for me, thank you!


Use trailing commas

This PR enforces trailing commas via Prettier
See (Trailing Commas)[https://prettier.io/docs/en/options.html#trailing-commas]
Prettier handles JSON files strangely so there is a little hackery involved in configuration.
https://github.com/prettier/prettier/issues/5708

Do we need to enforce trailing commas, or just allow not having them at the end of a list?
I know that the regular json doesn't allow a comma at the end of a list. One of the nice things about jsonc is that it allows it. It's just a little more flexible. But I'd rather not enforce more things here, I'd rather enforce less. Meaning allow the nonexistent comma at the end of a list.

👍


add keyboard event listener ,can run fine on win10,but when i run go get ,still has error, need help!thank you![don't merge]

The pull request will be closed without any reasons if it does not satisfy any of following requirements:

Make sure you are targeting the master branch, pull requests on release branches are only allowed for bug fixes.
Please read contributing guidelines: CONTRIBUTING
Describe what your pull request does and which issue you're targeting (if any and Please use English)
... if it is not related to any particular issues, explain why we should not reject your pull request.
The Commits must use English, must be test and No useless submissions.

You MUST delete the content above including this line before posting, otherwise your pull request will be invalid.
Please provide Issues links to:

Issues: #1

Provide test code:

Description
...

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


High frame time when looking at Chopper tree farm

Hi,
I'm experiencing high frame times and visual jitters that seem to be related to the Chopper. Here's an example Alt-F3 graph while i'm experiencing the issue, with the red spikes corresponding to the Chopper breaking a block:

I played around with it and learned that the spikes:

Improve when facing away from the chopper/trees
Disappear when sufficiently far from the chopper/trees (~20 blocks)
Are not affected by the fast/fancy/fabulous graphics setting
Are not affected by the smooth lighting setting
Are not affected by the particles setting
Are not affected by the mipmapping setting

I'm using 1.6.6-BETA included in the All Of Fabric 3 2.0.5 modpack.
Can anyone else confirm this behavior? I think I will need to relocate the farm to avoid the lag :(

This might be a long shot but updating to the latest version of AOF might fix this, please let me know if it does

I tried out AOF3 2.1.1 / indev-1.6.11-BETA and i'm still getting the spikes.

Thanks for the info, I'll investigate and see what I can find!

I need some more information if possible:

Is the Chopper getting consistent amount of energy to keep the flow or does it keep running out of energy?
How fast is it breaking blocks?
If you remove everything but the Axe (remove bone meals and saplings) from the input does this keep happening?

Is it also possible for you to provide a download for your world?

I can't reproduce this and there isn't enough information for me to look further into it. As there's been no other reports about this so far I'll be closing this but feel free to reply again with more information and I'll reopen the issue.


[zh] Sync /concepts/configuration/secret.md

Sync with en #43134:
content/zh-cn/docs/concepts/configuration/secret.md

See preview please.

/lgtm
/approve


add wasi-http trigger support based on wasmtime-wasi-http

This required upgrading to a snapshot of what will eventually be Wasmtime 14, as well as upgrading wit-bindgen to 0.12.
Note that I had to make a copy of wit/preview2 under sdk/rust/macro in order to allow the http_component and redis_component macros to generate a wit_bindgen::generate invocation that actually works.  Ideally we'd avoid this duplication, e.g. by using a registry.

Closing in favor of #1877


Drone configuration fails with "Check these paths: drone_token" while using a self-hosted instance of shields

Are you experiencing an issue with...

[ ] shields.io
[x] My own instance
[ ] gh-badges NPM package

:beetle: Description
I have been trying to set up a self hosted shields, with my own GH Enterprise server and my own self hosted Drone CICD server. It seems to be working fine until I add drone_token as one of the configuration parameters. I get the following error:
Configuration:
{ bind: { address: '<IP_ADDRESS>' },
  metrics: { prometheus: { enabled: false } },
  ssl: { isSecure: false },
  cors: { allowedOrigin: [] },
  persistence: { dir: './private' },
  services:
   { github:
      { baseUri: 'https://github.bhargavrao.com/api/v3/',
        debug: { enabled: false, intervalSeconds: 200 } },
     trace: false },
  profiling: { makeBadge: false },
  cacheHeaders: { defaultCacheLengthSeconds: 120 },
  rateLimit: true,
  handleInternalErrors: true,
  fetchLimit: '10MB' }
/usr/src/app/core/server/server.js:139
      throw Error(
      ^
Error: Private configuration is invalid. Check these paths: drone_token
    at new Server (/usr/src/app/core/server/server.js:139:13)
    at Object.<anonymous> (/usr/src/app/server.js:49:34)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

:link: Link to the badge

:bulb: Possible Solution
The error seems to be coming from Line 90 in server.js, as there is no drone_token in that list. I am not really sure that this is the problem, though.
Thanks for your help, and the shields product. I've been really liking it.

Hey @Bhargav-Rao 👋 How are you setting the value for your Drone token? via an env var or adding it to the config file?

Either way, it seems like that schema is missing drone_token.

Either way, it seems like that schema is missing drone_token.

Ahh so it is. TeamCity missing from this one too. Let me see if I can open a PR to fix this

Hey @calebcartwright, I'm setting it through an environment variable.

closed in  #4689


Outdated

import const was removed from the language, use foo(C.CONST_NAME) instead

@shellbear I've updated the code of your module to make it work with the latest V and made it an official module that can be installed with v install pcre.
Fixed in
https://github.com/vlang/pcre


Revert "Release/1.2.1"

Reverts stellar/stellar-demo-wallet#204

Preview is available here:http://stellar-demo-wallet-pr225.previews.kube001.services.stellar-ops.com/


[Translation] Manage the translation of accessbility wording for KD1

Do the exhaustive list of all the wordings that we need to translate in German.

@thomas-leguellec Should I just prepare them in a document or
We already have a localisation software I can add to it, something like https://lokalise.com/translation-software
@soulcramer Do you have idea?

That's the sheet for the wordings
https://docs.google.com/spreadsheets/d/1zqDvDFrkMeMBgsUJHoxA8P_zZ2zlei13msiaI0zW3cI/edit?usp=sharing

Meeting today between Turo and CopyWriter

✅ translations done

Seen with @soulcramer : translation is done but not applied on Spark yet. @soulcramer is going to handle the application.


Automatically register the authenticate hook with 'local'

Instead of having to setup your auth config then manually register the authenticate hook, like this:
  app.configure(auth(config))
    .configure(jwt())
    .configure(local());

  app.service('authentication').hooks({
    before: {
      create: [
        // You can chain multiple strategies
        auth.hooks.authenticate(['local'])
      ]
    }
  });

Can we move the process of adding the hook into the local module so the step of registering a hook on the authentication service isn't required?
var config = app.get('auth');
app.service( config.path ).hooks({
  before: {
    create: auth.hooks.authenticate('local')
  }
});

And we could do similar changes to the other strategies, even oAuth2, since we require a strategy name.  Is it possible to make multiple calls to auth.hooks.authenticate()?
/cc @ekryski @daffl

Nope we cannot do that because it's not always auth.hooks.authenticate('local') it can be a chain of strategies and the strategies can be completely custom.

Ok.  I made this to help others with my same mindset in the future: https://github.com/feathersjs/feathers-authentication/pull/368
I think it would be nice to remove this step, if we can figure out a way to do so.  I'm thinking we could add a top-level auth option of configureStrategies: true or something to indicate that by default we would actually register strategies on authenticationService.create internally, automatically.  Calls to auth.hooks.authenticate('local') would work by keeping an internal array of strategies (since most apps won't be concerned with the order of the strategies).  Strategy strings that are individually passed to the authenticate hook can be pushed into the array.  Something along those lines.
Anyway, this won't matter much with clearer docs.  I got the rare opportunity to see this through the eyes of a noob, even though we reviewed this stuff a few weeks ago.  :)

I still don't get it. Why can't feathers-authentication-local just register theauthentication.hooks.authenticate([ options.name ]) hook on the authentication service automatically? It's really strange if I set up
app.configure(authentication(app.get('auth')))
    .configure(local())
    .configure(jwt())

And nothing works as I'd expect.

And I kind of can authenticate but not really.

@daffl no you can not authenticate. Not without calling authenticate somewhere (either through hooks or middleware or sockets). You could get a JWT anonymously. Which might be what you are referring to. That is also one of the reasons this is designed this way.
You also want to be able to set custom options (like on a per hook or per route basis).
Trust me dudes, it's not a good call to auto set it up. That's exactly one of the reasons we ended up having to change auth so drastically in the first place, because options were buried and there was too much magic happening or things were set up automatically that got in the way of trying to do something custom.
I don't see what the big deal is here. It's a couple lines and gives you much more flexibility. If it was confusing to migrate and you read through the migration guide then let's talk about how the guide and docs can be improved to make this easier before we make even more code changes. 😄

As per our discussion, I think we can register those hooks automatically if we make the strategy mandatory. The reason I'd like to see this is not just because I ran into it 😉 but also because I still think it is the 95% case and it would be nice to not having to know about what the authentication service exactly does and which hook to register to get basic auth working.

I gave this more thought and I think this is simply something we should be doing in the generator. We should not bury it and automatically set it up.
There are many times where you may not want that hook added by default and there are also custom options that can be passed to that auth.hooks.authenticate call (for example, successRedirect & failureRedirect, among others). If we bury them then we now need to proxy those (and any custom options a user wants) down through the initial auth setup. Although this will make 95% of the use cases a bit easier it will severely inhibit the other 5%.
Kind of putting my foot down on this one. I think it's a docs and generator issue and not something we should change.

Not too happy with it but the generator could take care of it. Maybe we can add a comment and make the strategies configurable like
  app.service('authentication').hooks({
    before: {
      create: [
        authentication.hooks.authenticate(app.get('auth').strategies)
      ],
      remove: authentication.hooks.authenticate('jwt')
    }
  });

So that you can add them dynamically (and hopefully make it more clear).


Updated Lesson 1 issue number #345

Created Canvas - Lesson 1
Fixes #345
Checklist
Created Canvas - Lesson 1
Fixes #3
Checklist

[✓ ] I have read the [Contribution Guide] and my PR follows them.
[ ✓] My branch is up-to-date with the master branch.
[ ✓] I have added tests that prove my fix is effective or that my feature works
[ ✓] I have added necessary documentation (if appropriate)
[ ✓] All the functions created/modified in this PR contain relevant docstrings.

Short Description:
Gave a heading.
Created a canvas with desired attributes.
Added code for Rectangles and circle

Hi @D3v3sh5ingh, Thanks for joining in.
Please update your Pull Request as per the new template for your request to be considered.
Merge


Separate row or tab for infinite research products

Requested by tao ii in Discord

i think i prefer row, just because good tab names would be awkward to fit in tab width, and bad tab names could lead to people clicking one technology tab and getting confused looking for the techs that are in the other one

I think I agree


Fix grammar and improve formatting.

Add links
Correct file names (e.g.: appsettings.json instead of appsetting.json).
Remove grammatical errors
Improve formatting
Rephrase and elaborate sentences to be clearer.

Note: No source code has been modified.

@amal-stack : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@amal-stack Thanks for your editorial updates to the article.
@JialinXin Could you review the proposed changes to your article? If you approve the PR, the PR review team will move the commit to the private repo so that the updated article gets the quality checks that are built into build validations and Acrolinx in that repository. Thanks.

@amal-stack Thanks for helping improve the content. Please check the comments and update a little. Thanks!

@JialinXin I've made the changes. Let me know if any more changes required. Thank you!

Thank you @amal-stack! It looks good to me.


Pilot Qualifications show an invalid granted date.

In gitlab by @CalumTowers on Aug 1, 2016, 14:53
The year granted displays instead of how many years ago the rating was granted for pilots.

In gitlab by @A-Lawrence on Aug 1, 2016, 15:44
@CalumTowers who's account is this?

In gitlab by @A-Lawrence on Aug 1, 2016, 15:44
Made the issue confidential

In gitlab by @CalumTowers on Aug 1, 2016, 15:48
1258635

In gitlab by @A-Lawrence on Aug 1, 2016, 16:22
Status changed to closed by commit 50051967dfa7379fedc6fed036baf471dfc1f767

In gitlab by @A-Lawrence on Aug 1, 2016, 16:22
mentioned in commit 50051967dfa7379fedc6fed036baf471dfc1f767


Move isTextFile to this project and Add generic support for an empty text file

Skipping all the things you are request. will pair with you on it.

so the diffengine nuget does not work for you ? https://github.com/SimonCropp/Verify/blob/master/docs/diff-tool.md#diffengine


ci: :construction_worker: Add Codecov into pipeline

Added Codecov into pipeline for getting coverage results stored

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Translate the site into Indonesian

Indonesia is one of our most visited countries. Let's add translation to it?

+1
PS: I'm Indonesian

we have support for Indonesian in Quran for Android.
one of the very important things we need to figure out is how to sync translations between Quran.com, Quran for Android, and Quran for iOS. this is especially since we do get corrections of typos (or things that were fixed in later revisions by the author) that we update, and we don't want to update on all 3 platforms independently.

@habibr since you helped with the localization for Android, do you want to do the Indonesian localization for quran.com?

Quran.com is also my favorite quran site. I'd like to help too...

@gozali would you like to push a PR translating the en.js file into Indonesian?

CC @habibr

are we supporting Malay/Bahasa Melayu. i can help with that, insha'Allah

On 22 Jan 2017, at 6:09 AM, Mohamed El Mahallawy<EMAIL_ADDRESS>wrote:
CC @habibr
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@redhae please do! Looking forward to a PR!

So, how do i start?

@habibr add a file for Indonesian here:
https://github.com/quran/quran.com-frontend/tree/master/src/locale
i think it should be id.js - use the English one as a starting point and then give a PR - jazakAllah khairan.

+1 I'm Indonesian too, happy to help!


[Tooltip] does not close if wrapping icon button with conditional icon

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
Steps:

Declare a tooltip
Declare an icon button inside a tooltip
Declare a conditional icon inside the button
Click the button

The tooltip stays on the screen
<Tooltip title={'Conversation information'}>
  <IconButton onClick={() => setSettingsOpen(!showChatSettings)}>
    {showChatSettings ? <Info /> : <InfoOutlinedIcon />}
  </IconButton>
</Tooltip>

The tooltip works as expected
<Tooltip title={'Conversation information'}>
  <IconButton onClick={() => setSettingsOpen(!showChatSettings)}>
     <Info />
  </IconButton>
</Tooltip>

Current behavior 😯
The tooltip stays open on the screen
Expected behavior 🤔
The tooltip should disappear
Context 🔦
I have a button that changes the icon based on the boolean flag. The button is wrapped with the tooltip.
Your environment 🌎

npx @mui/envinfo
    @emotion/react: ^11.11.1 => 11.11.1
    @emotion/styled: ^11.11.0 => 11.11.0
    @mui/base:  5.0.0-beta.14
    @mui/core-downloads-tracker:  5.14.8
    @mui/icons-material: ^5.14.8 => 5.14.8
    @mui/material: ^5.14.8 => 5.14.8
    @mui/private-theming:  5.14.8
    @mui/styled-engine:  5.14.8
    @mui/system:  5.14.8
    @mui/types:  7.2.4
    @mui/utils:  5.14.8
    @types/react: 18.2.14 => 18.2.14
    react: 18.2.0 => 18.2.0
    react-dom: 18.2.0 => 18.2.0
    typescript: ~5.1.3 => 5.1.6

Hey @DenysVuika @zannager , can I pick this task?
Please let me know.

hello @DenysVuika @zannager , can i pick this task?
Please let me know

Please provide a CodeSandbox reproducing the issue. The issue template is a good starting point. Code snippets alone are not sufficient, as they don't provide insight into how you're rendering the code. A minimal practical live example is essential.

Please see the link with example: https://codesandbox.io/s/stoic-wind-zs3hfr?file=/src/App.tsx

This relates to issues #12246 and #12347. When you move your mouse away, the tooltip will close. However, if you want to close it immediately after clicking, you'll need to customize the behavior with controlled tooltips. See https://codesandbox.io/s/exciting-euler-g2ct58?file=/src/App.tsx.

@ZeeshanTamboli the problem is that layout changes, the button moves away, and the tooltip stays there. And the only case when this problem occurs is when icon inside the button is conditionally rendered. Replace that with the static icon and issue won't happen. It's very strange moving to a controlled tooltip and writing more code just to hide the problem.

Check the second example with a static icon, it works as expected: https://codesandbox.io/s/exciting-pare-gq7q39?file=/src/App.tsx

I did some debugging and found that the onMouseLeave event is triggered when the icon is static, but it doesn't trigger when the icons are rendered conditionally on click. The code for handling the mouseleave event is located here, and it's called on children.
I believe this issue is related to React issues - facebook/react#6807 and facebook/react#4492. The problem occurs because when elements are conditionally rendered, they get replaced, causing the mouseleave event to be lost.
I attempted the solution mentioned in the second point of facebook/react#4492 (comment) by using pointerEvents: none, and it worked. You can check the updated CodeSandbox. I don't see how we can fix this on Material UI's side.