added frontend code for displaying user submitted scripts

fixes #20 .

Uses jquery templates for parsing and displaying json.
A small script counter has also been added which is shown next to the title

You are starting to develop the backend and front-end in one app. Earlier I had the suggestion to implement the application in a way that it communicates through an API and that you could run a front-end client with it. We are following this approach with Open Event. It is more sustainable and easier to maintain.

@mariobehling I'm still trying to understand the open-event structure, but it's a very advanced software now.  I have gathered the following

https://github.com/fossasia/open-event-orga-server is just the pure API server. various apps can communicate with this
https://github.com/fossasia/open-event-webapp appears to be standalone
https://github.com/fossasia/open-event-orga-server/issues/3457 . issue where niranjan has given detailed comments.

The last comment thread has provided a lot of insight, and the frontend was moved a separate repository by the end of the discussion. But this frontend does not rely on flask, and uses ember-cli to serve pages.
Current structure I'm following for pslab-remote

frontend

app/templates : directory that stores frontend code which is mostly html + js
app/static : directory that stores css , js, font  files

backend

views.py which contains the API calls . These include SignIn, SignOut, GetScriptList etc which either return JSON serialized objects, or simply provide a passthrough to the html files stored in app/templates.
modification of frontend files( stored in app/templates) by the backend only occurs in the following instances

error.html : The backend includes a custom error message into it before serving the page.
render_template('addScript.html',author = session['user'][0]) where the user id is passed but is not really necessary , and can be removed.

Can you add someone into the conversation who can suggest how to best separate the view from the API?
I believe the error page can also be made static , and an AJAX call to retrieve and display the error message can be built into it. And then we can more or less agree that the frontend and backend is stored in separate directories. However, we will still need flask to act as a passthrough for static pages unless someone can chip in with a method to instruct the web-server to directly serve files contained in app/templates
Excerpt from another thread I went through .
Flask, like all frameworks(the ones I know) use the MVC architecture. Look into that as it is a must for any developer, especially a web developer. The short explanation, the V in MVC is the VIEW, html in your case. This is what the user will see, the M stands for MODEL, this is some sort of storage or values. Your VIEW will obviously want to display some of that data but can't get access to them. For example, you can't get data from a database like MySQL with HTML code, thats where the CONTROLLER comes into play. It is the intermediary between the two.

thank you
In the meantime, I've made a separate branch where I have moved the html files in the templates folder to the static folder, and will be removing all render_template calls from views.py .
Authentications and redirections to be handled via AJAX, JS, and the only shared segment will be 3-4 lines of code instructing flask to serve static files from the frontend's directory.

@jithinbp I think you mis-understood the structure of the Open Event application (about the frontend).

API Server - fossasia/open-event-orga-server - Pure API server. No UI code. Strictly compatible with the json-api specification.
Frontend - fossasia/open-event-frontend - A completely decoupled frontend. Uses Ember.js framework.

So, what I'm trying to say is,

Don't mix up the frontend and the backend code in anyway. Either have two different repositories, or in the same repository, have it like this
The Repository
├── frontend
│   └── The root of the frontend project.
└── api-server
    └── The root of the API Server

Ensure your API server follows a standard API specification such as json-api from the start. This will be very useful once you start having a lot of clients consuming the API.

@niranjan94 Thanks for your input. I understood that the frontend was completely decoupled, but am not familiar with ember yet.
In pslab-remote , most of the frontend is decoupled because they reside in the templates directory, but it was not an ideal scenario because some of the API calls responded with redirections to an error page if necessary instead of json data with a false flag set or something.
In the meantime, I have tried to fully decouple these two in a separate branch, and all the frontend code resides in the static folder now.
However, I am still using the same flask server to host both the API calls ( They do not conform to json-api yet, but I'll take care of that once this is stabilised), as well as these static html files , so there's still a small section of code in the backend that redirects all file requests to the static folder.

backend app :  views.py
frontend stuff : app/static

In the current scenario, it does not take advantage of a framework such as ember, and all data-validations and redirections are handled inside AJAX calls [ e.g., if a user submits a code snippet, the call will determine if the title is unique, and accordingly the page may redirect to the user's home page, or show an error message]. I will probably trash this branch once I find a more scalable configuration.
Once you've found time to take a look at the branch linked above, what path do you suggest I take?

Rewrite the frontend code using the ember.js framework. It will be time consuming for me to start afresh with this, but I shall try if that makes it scalable.
make two separate flask apps to serve frontend&backend. I don't know if this is acceptable, but I suppose I can also make one single app treat all calls to /api/ as API requests, and the rest as static files.

Don't use branches in same repo to hold completely different stuff. (like frontend and backend)
You don't need to use Ember. It is just an option. But, Why is flask needed for a frontend ? Flask and python are for backend.

I'm not using branches to hold different things.
I simply made a branch that modifies the whole thing so that frontend is fully decoupled. The branch part was only to ensure I wouldn't end up destroying the whole thing.
In that branch, It should suffice to launch index.html from the static folder separately instead of going through flask. I'm not sure how to instruct Heroku to display a static html file after launching the backend, but it must be possible, and I'll get to that later.
It looks like I'm going to have to use a framework such as Ember because links such as the logout button must also go through an AJAX call (Correct me if there's a better way),  and that'll make for some large and messy code.
Thanks for your suggestions. I'll continue work on the new branch to see how it shapes up, and ignore this PR for the time being.


MethodError with v0.12.13

This one only occurs for certain-sized inputs. It seems I got unlucky:
using LoopVectorization
function mwe!(A,G)
    N = length(A)
    @avx for i = 1:N-1
        A[i] = G[(1-1)*N+i] + G[(1-1)*N+i+1]
    end
end

A = rand(200); G = copy(A); mwe!(A,G)

The error does not occur for inputs of length equal to {1,2,3,4,5} mod 16. e.g. 100 = 4 mod 16 works fine:
A = rand(100); G = copy(A); mwe!(A,G)

Mind showing the error and stacktrace?
julia> using LoopVectorization

julia> function mwe!(A,G)
           N = length(A)
           @avx for i = 1:N-1
               A[i] = G[(1-1)*N+i] + G[(1-1)*N+i+1]
           end
       end
mwe! (generic function with 2 methods)

julia> A = rand(200); G = copy(A); mwe!(A,G)

julia> G'
1×200 adjoint(::Vector{Float64}) with eltype Float64:
 0.989313  0.923378  0.184273  0.738075  0.129194  0.340212  0.482062  0.732685  0.0987651  0.96152  …  0.121672  0.969954  0.496373  0.460698  0.706281  0.30764  0.0275056  0.354055  0.350374

julia> A'
1×200 adjoint(::Vector{Float64}) with eltype Float64:
 1.91269  1.10765  0.922348  0.86727  0.469406  0.822273  1.21475  0.83145  1.06028  1.19151  …  0.127807  1.09163  1.46633  0.957071  1.16698  1.01392  0.335146  0.381561  0.704429  0.350374

It could be that the stack trace is enough for me to figure out what went wrong, especially if it is a method error.
And it could also be that minimum working examples are CPU-dependent.

That said, @code_typed debuginfo=:source mwe!(A,G) includes a few places that look like this:
│   │││ %143 = %new(VectorizationBase.Unroll{1, 1, 2, 1, 8, 0x0000000000000003, 1, Tuple{Int64}}, %142)::VectorizationBase.Unroll{1, 1, 2, 1, 8, 0x0000000000000003, 1, Tuple{Int64}}
│   ││└
│   ││        LoopVectorization._vload(%24, %143, Static.False(), static(64), %78)::Union{}
└───││        unreachable
24 ┄││        goto #25

_vload(...)::Union{} followed by unreachable means it isn't returning, i.e. it is throwing an error.

 Here is the error/stacktrace I get:
julia> for i in 1:1000; print(i, ", "); G = rand(i); A = similar(G); mwe!(A,G); end
1, 2, 3, 4, 5, 6, ERROR: MethodError: no method matching _vload(::VectorizationBase.StridedPointer{Float64, 1, 1, 0, (1,), Tuple{Static.StaticInt{8}}, Tuple{Static.StaticInt{0}}}, ::VectorizationBase.Unroll{1, 1, 2, 1, 4, 0x0000000000000003, 1, Tuple{Int64}}, ::Static.False, ::Static.StaticInt{32}, ::VectorizationBase.EVLMask{4, UInt8})
Closest candidates are:
  _vload(::VectorizationBase.AbstractStridedPointer, ::VectorizationBase.Unroll, ::A, ::Static.StaticInt{RS}) where {A<:Static.StaticBool, RS} at /home/peter/.julia/packages/VectorizationBase/87rWk/src/vecunroll/memory.jl:412
  _vload(::VectorizationBase.FastRange, ::Any, ::VectorizationBase.AbstractMask, ::Any, ::Any) at /home/peter/.julia/packages/VectorizationBase/87rWk/src/strided_pointers/stridedpointers.jl:458
  _vload(::VectorizationBase.FastRange, ::Any, ::Any, ::Any) at /home/peter/.julia/packages/VectorizationBase/87rWk/src/strided_pointers/stridedpointers.jl:457
  ...
 The error also vanishes if I keep those terms and simply remove one of the pointless (1-1)*N. e.g. The following are error free:
A[i] = G[(1-1)*N+i]
A[i] = G[(1-1)*N+i+1]
A[i] = G[(1-1)*N+i] + G[i+1]
A[i] = G[i] + G[(1-1)*N+i+1]
A[i] = G[i] + G[i+1]
A[i] = G[0*N+i] + G[0*N+i+1]
A[i] = G[(1-1)*N+i] + G[(0-0)*N+i+1]
A[i] = G[(0-0)*N+i] + G[(1-1)*N+i+1]

Curiously, the variations below still error in the same way:
A[i] = G[(0-0)*N+i] + G[(0-0)*N+i+1]
A[i] = G[(2-2)*N+i] + G[(2-2)*N+i+1]
A[i] = G[(3-3)*N+i] + G[(3-3)*N+i+1]
# etc...

I fixed it on master. First, I fixed the error that appeared which was caused by it inserting the arguments to _vload in the wrong order. From the stack trace, placing each argument on its own line:
_vload(
::VectorizationBase.StridedPointer{Float64, 1, 1, 0, (1,),Tuple{Static.StaticInt{8}}, Tuple{Static.StaticInt{0}}},
::VectorizationBase.Unroll{1, 1, 2, 1, 8, 0x0000000000000003, 1, Tuple{Int64}},
::Static.False,
::Static.StaticInt{64},
::VectorizationBase.EVLMask{8, UInt8})

The EVLMask is supposed to go in between the Unroll and False, not at the end.
Next, for good measure, I made it clean up the indices earlier so that it translates G[(1-1)*N+i] into G[i].

Oh, and something to be aware of when benchmarking -- Julia's compiler will often not automatically inline code with @avx when it would without it. So if comparing mwe! with @avx vs @inbounds, best either add @inline or @noinline in front of both versions.


StatefulSet is sensitive to long names - use a hashed name

Changes
Names in Kubernetes can be up to 253 chars, but labels can only be up to 63 chars.
We are relatively conservative with the two labels we introduce for the Affinity Assistant
app.kubernetes.io/component: affinity-assistant
app.kubernetes.io/instance: ws-parallel-pipelinerun-bbx6w

But apparently, StatefulSets adds a label with the full StatefulSet Name + 10 chars (for a hash) as a label
controller-revision-hash: affinity-assistant-ws-parallel-pipelinerun-bbx6w-dd64c6c8d

This only leave users to use StatefulSet Names up to 53 chars. We use a prefix of 19 chars (affinity-assistant-) on the Affinity Assistant StatefulSet. This leaves Tekton users with only 34 chars for a combination of Workspace Name and the PipelineRun Name.
This commit use a hash of the Workspace Name and the PipelineRun Name to make sure that the name is not too long.
Typical labels after this commit will be:
labels:
  app.kubernetes.io/component: affinity-assistant
  app.kubernetes.io/instance: affinity-assistant-e067465fc0
  controller-revision-hash: affinity-assistant-e067465fc0-b78cb9478
  statefulset.kubernetes.io/pod-name: affinity-assistant-e067465fc0-0
  tekton.dev/pipeline: parallel-pipeline
  tekton.dev/pipelineRun: parallel-pipelinerun-wr9wd

Also the unnecessary name of the PVC in the volumeClaimTemplate-example is removed.
This limitation of StatefulSet is apparently a known problem https://github.com/kubernetes/kubernetes/issues/64023 but I was not aware of it.
/kind bug
Fixes #2766
Fixes #2769

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
- There was a problem with long names for WorkspaceName+PipelineRunName, it could only be up to 33 chars. This commit uses a hashed name for the Affinity Assistant with a consistent length.

Why not just hash the Workspace Name and the PipelineRun Name so that the length doesn't matter

Why not just hash the Workspace Name and the PipelineRun Name so that the length doesn't matter

Yes, that is also a way to handle it. Hash both names and use a substring of 53 chars. But it is harder to se from where the pod come from - but it is visible in the other labels.

Do both
prefixName = 'aa-' + workspaceName + "-"+ pipelineName
hashName = hash(prefixName)
podName = leff(prefixName, MAX_LEN-len(hashName+1))  + '-' + hashName
On Sat, 6 Jun 2020 at 18:33, Jonas Pettersson<EMAIL_ADDRESS>wrote:

Why not just hash the Workspace Name and the PipelineRun Name so that the
length doesn't matter
Yes, that is also a way to handle it. Hash both names and use a substring
of 53 chars. But it is harder to se from where the pod come from - but it
is visible in the other labels.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tektoncd/pipeline/pull/2768#issuecomment-640012783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFEFFMSWNVDFHHYQU2RERTRVH5NRANCNFSM4NVLTEIQ
.

Yes, we could also keep the prefix and use a 34 chars substring of the hash of workspace+pipelinerun.
E.g. affinity-assistant-bbx6wdd64c6c8dbbx6wdd64c6c8dbbx6wd
That would make it easier to understand when doing kubectl get pods
Would that be a good alternative?
/hold

The implementation is now changed to use a hashed name, so that the length of the StatefulSet Name is consistent.
A typical name of the Affinity Assistant will now be:
affinity-assistant-e067465fc0

/hold cancel

Cool
One question about the use of a stateful set, why isn't this 'affinity-assistant' just implemented via a single Pod ?

One question about the use of a stateful set, why isn't this 'affinity-assistant' just implemented via a single Pod ?

@cameronbraid I wrote a motivation about why I use StatefulSet in the PR description (a bit down) https://github.com/tektoncd/pipeline/pull/2630

/lgtm
Thanks for the quick fix!

Appeared in the integration test logs 😿:
default            1s          Warning   FailedCreate              statefulset/affinity-assistant-shared-workspace-write-and-cleanup-workspace   create Pod affinity-assistant-shared-workspace-write-and-cleanup-workspace-0 in StatefulSet affinity-assistant-shared-workspace-write-and-cleanup-workspace failed error: Pod "affinity-assistant-shared-workspace-write-and-cleanup-workspace-0" is invalid: [metadata.labels: Invalid value: "affinity-assistant-shared-workspace-write-and-cleanup-workspace-55458fdf66": must be no more than 63 characters, metadata.labels: Invalid value: "affinity-assistant-shared-workspace-write-and-cleanup-workspace-0": must be no more than 63 characters, spec.hostname: Invalid value: "affinity-assistant-shared-workspace-write-and-cleanup-workspace-0": must be no more than 63 characters]

@pritidesai from what logs?

@pritidesai from what logs?
The latest is pull-tekton-pipeline-integration-tests

One of the PRs 😉  #2661, tests

Thanks for the excellent commit message @jlpettersson !!!!!

@jlpettersson it looks like once the conflicts are resolved this is good to go - don't worry too much about the conflicts, I'm happy to work around them when cherry picking this commit in tomorrow (tho I really appreciate you making it easier to cherry pick!!)


Add note explain why Except instead of Either

I've forever wondered what value is worth the price of putting runExcept everywhere. After asking, it seems like how they accumulate errors is the reason.

Thanks!


Problem with latest unstable Node version (v14.1.0)

After upgrading Node to the latest version my application stopped working properly even though there were no code changes.
I could trace it down to the function withConnection that did not return at all, no errors, app seemed to hold there.
After downgrading Node to the latest stable version (v12.16.3) it worked again as expected.
Here is the code:
module EventStore where

import Prelude
import Control.Monad.Except.Trans (class MonadError, ExceptT, runExceptT, withExceptT)
import Data.Argonaut (class EncodeJson, Json, jsonEmptyObject)
import Data.Argonaut.Encode.Combinators ((:=), (~>))
import Data.Either (Either(..))
import Data.Maybe (Maybe(..))
import Data.Tuple.Nested ((/\))
import Database.PostgreSQL.PG (class FromSQLRow, Connection, PGError, Pool, Query(Query), defaultPoolConfiguration, fromSQLValue, newPool, query)
import Database.PostgreSQL.PG as PG
import Effect.Aff (Aff)
import Effect.Aff.Class (class MonadAff)
import Effect.Class (liftEffect)
import Types (EventId(..), Result, Limit(..))

type EventStore
  = { events :: EventId -> Limit -> Result (Array Event) }

newtype Event
  = Event
  { id :: EventId
  , data :: Json
  }

instance eventToJson :: EncodeJson Event where
  encodeJson (Event event) =
    "offset" := unwrap event.id
      ~> ("payload" := event.data)
      ~> jsonEmptyObject
    where
    unwrap (EventId id) = id

instance fromSQLRowFoo :: FromSQLRow Event where
  fromSQLRow [ idValue, dataValue ] = (\id data' -> Event { id: EventId id, data: data' }) <$> fromSQLValue idValue <*> fromSQLValue dataValue
  fromSQLRow _ = Left "Expecting exactly two more fields."

type PG a
  = ExceptT PGError Aff a

withConnection :: ∀ a. Pool -> (Connection -> PG a) -> PG a
withConnection = PG.withConnection runExceptT

newtype DbName
  = DbName String

newtype DbUser
  = DbUser String

newtype DbPass
  = DbPass String

newtype DbHost
  = DbHost String

eventStore :: DbHost -> DbName -> DbUser -> DbPass -> Result EventStore
eventStore (DbHost host) (DbName name) (DbUser user) (DbPass pass) = do
  pool <- liftEffect $ newPool config
  pure { events: \id limit -> withExceptT show $ withConnection pool (events id limit) }
  where
  config =
    (defaultPoolConfiguration name)
      { idleTimeoutMillis = Just 1000
      , user = Just user
      , password = Just pass
      , host = Just host
      , max = Just 2
      }

events :: ∀ m. Bind m => MonadError PGError m => MonadAff m => EventId -> Limit -> Connection -> m (Array Event)
events (EventId id) (Limit limit) conn = query conn (Query sql) (id /\ limit)
  where
  sql =
    """
      SELECT id, data
      FROM events
      WHERE id > $1
      ORDER BY id ASC
      LIMIT $2
    """

@battermann Thanks a lot for the detailed report!

@battermann Would you be so kind and verify if the issue is caused by outdated pg version:
https://github.com/brianc/node-postgres/issues/2069


Add uuid and rename token to authorization header for gRPC connections

Proposed changes
Updated interceptor headers. Added uuid to agent config
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[x] I have read the CONTRIBUTING document
[x] I have run make install-tools and have attached any dependency changes to this pull request
[x] If applicable, I have added tests that prove my fix is effective or that my feature works
[x] If applicable, I have checked that any relevant tests pass after adding my changes
[ ] If applicable, I have updated any relevant documentation (README.md)
[ ] If applicable, I have tested my cross-platform changes on Ubuntu 22, Redhat 8, SUSE 15 and FreeBSD 13

UUID generation uniqueness is coming in a follow-up PR. This is to ensure connectivity is successful


[Low priority] Missing support for multiple forces

Some game modes feature different players being in different "forces", with each force having their own sets of technologies and labs. As it stands, much of the mod assume that the only force doing research is "player". Things should probably be refactored so that each force is handled separately and each lab only contributes to their respective forces.

This is indeed a low priority issue.
I might get to it eventually but I just don't like doing it right.


Support dots in routes

I'm implementing a webfinger endpoint and can't get Enhance's router to match /.well-known/webfinger
Using /well-known/webfinger works as expected, but this isn't the expected route for the webfinger spec.

related enhance.dev commit :) https://github.com/enhance-dev/enhance.dev/commit/80307ac1bd08b5bc3eb287f365b670c2df22fda2


patch: more utilitys

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Thank you!

Since you don't have discussion enabled on this repo I'll use this issue, hope you don't mind.
Thank you for creating and maintaining this project!

Is the site down?

@sergio-nsk yep, I run it on a very cheap VM with 0.5 GB RAM, and it looks like it hangs sometimes due to OOM(or so i think). I've made a cron job to reboot it every week, but looks like its not enough when under load

@lukasz-mitka Thanks a lot for your appreciation, I'll keep trying to make it better

Why don't your host the site on GH Pages https://pages.github.com/? I think it will work well in GH Pages.

@sergio-nsk I have backend running clang-format binary to format code on the right side and show changes, GH Pages won't help with this


[tf][roar] override safetyrules tags separately

Motivation
Bug fix. Recent change to override safety rules image tags (https://github.com/libra/libra/pull/4252) was not compatible with earlier change to use image digest over tags in ROAR (https://github.com/libra/libra/pull/4057). This is because while safetyrules and validators might share the same image tag, their digests are different. This PR adds a new TF variable override_safety_rules_image_tags to do the safetyrules override separately explicitly.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
ROAR on devnet and tf apply: http://prometheus.rustielin.aws.hlw3truzy4ls.com:9091/d/overview10/overview?orgId=1
ROAR'ed tfvars file:
# enable test runner instance so we can generate traffic on dev
cluster_test_runner = true
num_fullnode_networks = 2
enable_dashboard = true
enable_logstash  = true
logstash_image   = "853397791086.dkr.ecr.us-west-2.amazonaws.com/libra_logstash"
persist_libra_data = false
log_to_file = true

# Auto generated record and replay vars from file /Users/rustielin/libra-ops/terraform/testnet/facebook/dev.tfvars
restore_vol_ids = ["vol-0dc30ebdc129666d2","vol-0361de6609cfc0405","vol-03dc84d3215901813","vol-02653c0914eca0b1f"]
override_validator_ips = ["<IP_ADDRESS>","<IP_ADDRESS>","<IP_ADDRESS>","<IP_ADDRESS>"]
override_fullnode_ips = ["<IP_ADDRESS>","<IP_ADDRESS>"]
image_repo = "853397791086.dkr.ecr.us-west-2.amazonaws.com/libra_validator"
override_image_tags = ["sha256:920c0570e0af900520d859f570cea9f7d85290fce8db6aa23df79a3723f156c0","sha256:920c0570e0af900520d859f570cea9f7d85290fce8db6aa23df79a3723f156c0","sha256:920c0570e0af900520d859f570cea9f7d85290fce8db6aa23df79a3723f156c0","sha256:920c0570e0af900520d859f570cea9f7d85290fce8db6aa23df79a3723f156c0"]
logstash_version = "sha256:95343ef74362e1a4c06142ac99d036b4db1cc8255eaf697b1b19b64870a2e618"
safety_rules_image_repo = "853397791086.dkr.ecr.us-west-2.amazonaws.com/libra_safety_rules"
override_safety_rules_image_tags = ["sha256:2e7c7d2ccbb01173b541fd787f8fd01f327a7735e64b5656a301bfcd9dfdddde","sha256:2e7c7d2ccbb01173b541fd787f8fd01f327a7735e64b5656a301bfcd9dfdddde","sha256:2e7c7d2ccbb01173b541fd787f8fd01f327a7735e64b5656a301bfcd9dfdddde","sha256:2e7c7d2ccbb01173b541fd787f8fd01f327a7735e64b5656a301bfcd9dfdddde"]

Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

:umbrella: The latest upstream changes (presumably 34884791a427805dd452309178cd6923ba919bc0) made this pull request unmergeable. Please resolve the merge conflicts.

Will there be any case safety-rule needs to run on different image version than validator? should we just consolidate these two?
@bors-libra delegate+

:v: @rustielin can now approve this pull request

Will there be any case safety-rule needs to run on different image version than validator? should we just consolidate these two?

Not that I know of, but now that we're using image digest to specify exactly which version of validator is running (as per https://github.com/libra/libra/pull/4057), we also need to be specific about safety rules too.

FYI some cleanup, moving ecs task definition details fetching from terraform to aws cli. In the future, we'll probably want to remove the terraform dependency and use aws cli, esp since it's more portable. Still works:
$ pipenv run python3 -i devtools/compat/record_and_replay.py  --source dev --tf-dir ../terraform/testnet --var-file ../terraform/testnet/facebook/dev.tfvars --out-file replay.tfvars
...
$ cat replay.tfvars
# enable test runner instance so we can generate traffic on dev
cluster_test_runner = true
num_fullnode_networks = 2
enable_dashboard = true
enable_logstash  = true
logstash_image   = "853397791086.dkr.ecr.us-west-2.amazonaws.com/libra_logstash"
persist_libra_data = false
log_to_file = true

# Auto generated record and replay vars from file /Users/rustielin/libra-ops/terraform/testnet/facebook/dev.tfvars
restore_vol_ids = ["vol-0dc30ebdc129666d2","vol-0361de6609cfc0405","vol-03dc84d3215901813","vol-02653c0914eca0b1f"]
override_validator_ips = ["<IP_ADDRESS>","<IP_ADDRESS>","<IP_ADDRESS>","<IP_ADDRESS>"]
override_fullnode_ips = ["<IP_ADDRESS>","<IP_ADDRESS>"]
image_repo = "853397791086.dkr.ecr.us-west-2.amazonaws.com/libra_validator"
override_image_tags = ["sha256:791d4683bc800d44e675bab7c3b2b05934b43d6de20f6b35bb7d6d4970e88492","sha256:791d4683bc800d44e675bab7c3b2b05934b43d6de20f6b35bb7d6d4970e88492","sha256:791d4683bc800d44e675bab7c3b2b05934b43d6de20f6b35bb7d6d4970e88492","sha256:791d4683bc800d44e675bab7c3b2b05934b43d6de20f6b35bb7d6d4970e88492"]
logstash_version = "sha256:95343ef74362e1a4c06142ac99d036b4db1cc8255eaf697b1b19b64870a2e618"
safety_rules_image_repo = "853397791086.dkr.ecr.us-west-2.amazonaws.com/libra_safety_rules"
override_safety_rules_image_tags = ["sha256:70a3d272c757f8d441b00ae18223cf28893fbe84398984c93bd0ac5a57d0cfc8","sha256:70a3d272c757f8d441b00ae18223cf28893fbe84398984c93bd0ac5a57d0cfc8","sha256:70a3d272c757f8d441b00ae18223cf28893fbe84398984c93bd0ac5a57d0cfc8","sha256:70a3d272c757f8d441b00ae18223cf28893fbe84398984c93bd0ac5a57d0cfc8"]

$ terraform plan
# passes

@bors-libra r=sherry-x

:pushpin: Commit f266b42 has been approved by sherry-x

:hourglass: Testing commit f266b42e50cd3a8737886a205eaa36ab8684b9a8 with merge 2a0b28e6194ecefe61e9081d1a01794beb9187a5...

:broken_heart: Test failed - checks-actions_land_blocking_test

@bors-libra retry

@bors-libra retry

@bors-libra r=sherry-x

:bulb: This pull request was already approved, no need to approve it again.

There's another pull request that is currently being tested, blocking this pull request: #4517

:pushpin: Commit f266b42 has been approved by sherry-x

:hourglass: Testing commit f266b42e50cd3a8737886a205eaa36ab8684b9a8 with merge 05347ee63300e68e810fc4e8b44aca850986cee6...

:broken_heart: Test failed - checks-actions_land_blocking_test

@bors-libra retry

:hourglass: Testing commit f266b42e50cd3a8737886a205eaa36ab8684b9a8 with merge 9b8b2850c340d24dd2637144928105a822582b7a...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: sherry-x
Pushing 9b8b2850c340d24dd2637144928105a822582b7a to master...


Update dependencies

* github.com/golang/mock has been discontinued and replaced by go.uber.org/mock
* Bumped k8s.io group from v0.27.4 to v0.28.1
* Fix removed deprecations
* Bumped controller-runtime from v0.15.1 to v0.16.0
* Bumped github.com/openshift/api
* Replacing k8s.io/kubectl v0.27.3 with v0.28.1 to work around github.com/google/gnostic becoming github.com/google/gnostic-models
* Updated tool versions in Makefile (kustomize, controller tools, mockgen, lint, etc.)

/approve


Should use Github Actions to build PortAudio binaries

It would be good to have an automated build pipeline for PortAudio shared libraries for the supported platforms. Ideally there would be some scripts and setup code. If anything changes in the setup, the pipeline should run and rebuild all the artifacts and make a Github release with the files.
I'm not very familiar with nuget, dotnet packaging etc. but I can setup the PortAudio builds. Right now in this repo the binaries are checked into git directly. It might make sense to start with a separate repo that builds all the PortAudio artifacts and makes a release with binaries, then manually copy those binary files into this project. The next step would be changing this repo to refer to the other repo's release files instead of having them checked in directly.

PortAudio libs are less likely to be updated frequently.
However, contributions to add GitHub actions to build PortAudio libs are welcome.


Saving twice in a row often breaks the watcher

From @larssn on November 22, 2016 11:35
Ionic version:  (check one with "x")
[ ] 1.x
[x] 2.x
I'm submitting a ...  (check one with "x")
[x] bug report
[x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
When saving multiple times in short succession, the watcher apparently breaks, and webpack gets stuck in "started" mode.
[12:28:29]  build started ...
[12:28:29]  transpile update started ...
[12:28:30]  transpile update finished in 1.78 s
[12:28:30]  webpack update started ...
[12:28:37]  build started ...
[12:28:42]  transpile update started ...
[12:28:42]  transpile update finished in 367 ms
[12:28:42]  webpack update started ...
[12:28:51]  webpack update finished in 8.74 s
[12:28:53]  build finished in 24.70 s  <------ PARALLEL BUILDS

[12:28:53]  build finished in 16.36 s  <------ PARALLEL BUILDS

[12:29:20]  build started ...
[12:29:20]  transpile update started ...
[12:29:20]  transpile update finished in 370 ms
[12:29:20]  webpack started ...  <--------- NEVER FINISHES

Expected behavior:
I'd expect that when I hit save, the watcher RESTARTS, instead of doing what appears to be a parallel build.
Steps to reproduce:
Save twice within a second or two.
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
Ionic App Scripts Version: 0.0.46
ios-deploy version: 1.9.0
ios-sim version: 5.0.11
OS: macOS Sierra
Node Version: v7.1.0
Xcode version: Xcode 8.1 Build version 8B62

Copied from original issue: driftyco/ionic#9281

Any solution to this issue? I had auto save enabled in my VS Code triggering this issue (I am going to disable as a workaround).
The worst part is that I had to use "Ctrl + Z" then kill running node process before I can run ionic serve.

BTW, is there a way to stop ionic-cli gracefully? looks it "q" or "quit" doesn't work anymore.

Can you please try with 0.0.48 ionic app scripts? I have not noticed this in latest versions.

I am already using 0.0.48, and the problem stubbornly persists.

@larssn: can you please update ionic-cli to 2.1.18 with npm install ionic@latest -g and try again. And in addition if you can try to use LTS version of node 6.9.2 and recheck the serve again.

Experiencing same issues on 1.0.0

Hi same probs:
[16:25:31]  build started ...
[16:25:31]  transpile update started ...
[16:25:32]  transpile update finished in 253 ms
[16:25:32]  webpack update started ...
[16:25:42]  build started ...
[16:25:42]  transpile update started ...
[16:25:42]  transpile update finished in 184 ms
[16:25:42]  webpack update started ...
[16:25:51]  build started ...
[16:25:51]  transpile update started ...
[16:25:51]  transpile update finished in 155 ms
[16:25:51]  webpack update started ...
[16:25:52]  webpack update finished in 1.33 s
[16:25:52]  build finished in 21.12 s

[16:25:52]  build finished in 10.55 s

[16:26:09]  build finished in 18.19 s

info :
Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.0.0
ios-deploy version: 1.8.3
ios-sim version: 5.0.3
OS: macOS Sierra
Node Version: v6.7.0
Xcode version: Xcode 8.2.1 Build version 8C1002

Dan note: Just queue the build if another one is active. Should be simple.

This is fixed in 1.2.0.
Thanks,
Dan


send-board: implement feature to send/export board to pdf

Ideally I'd like to have in email board feature:

inline image
attached pdf with valid links etc

unfortunately there is not available libs which can render all dashboard graphs and put it into PDF, currently emailable screenshot is awailable


USA - No heated steering wheel with multiple levels

Hyundai / Kia Connect version: 3.30.0

Description
On USA vehicles with more than one heated steering wheel level (such as a 2024 Kia EV9), sending "steeringWheel": 1 is insufficient, we also need to send steeringWheelStep.
Using the kia_uvo home-assistant integration, I saw this when I sent a request to the API:
'remoteClimate': {'airTemp': {'unit': 1, 'value': '70'}, 'airCtrl': True, 'defrost': True, 'heatingAccessory': {'rearWindow': 1, 'sideMirror': 1, 'steeringWheel': 1}, 'ignitionOnDuration': {'unit': 4, 'value': 15}, 'heatVentSeat': {'driverSeat': {'heatVentType': 1, 'heatVentLevel': 4, 'heatVentStep': 1}, 'passengerSeat': {'heatVentType': 0, 'heatVentLevel': 1, 'heatVentStep': 0}, 'rearLeftSeat': {'heatVentType': 0, 'heatVentLevel': 1, 'heatVentStep': 0}, 'rearRightSeat': {'heatVentType': 0, 'heatVentLevel': 1, 'heatVentStep': 0}}}}

Note heatingAccessory there.  Formatted for readability:
'heatingAccessory': {
    'rearWindow': 1,
    'sideMirror': 1,
    'steeringWheel': 1
}

Once the command had been processed, this is what I was receiving back from the vehicle:
"heatingAccessory":{
    "steeringWheel":0,
    "sideMirror":1,
    "rearWindow":1,
    "steeringWheelStep":0
}

After testing, and looking at what the web UI sends, steeringWheelStep needs to be 1 for low and 2 for high.
Next steps
From a protocol standpoint this is an easy fix.  But what's less clear to me is how best to fix this.  In const.py, the different heating settings are an exclusive enum:
HEAT_STATUS = {
    None: None,
    0: "Off",
    1: "Steering Wheel and Rear Window",
    2: "Rear Window",
    3: "Steering Wheel",
    # Seems to be the same as 1 but different region (EU):
    4: "Steering Wheel and Rear Window",
}

Should we always just send steeringWheelStep: 2 if steering wheel heating is enabled?  Do we want to allow the step to be specified in some way?  I am also unsure what will happen if we try sending a step to a vehicle that doesn't support it.  Hopefully it'll be ignored but I don't have a way to test that.

#701 implements the simple thing, which is to always set steeringWheelStep: 2 on requests.

hmm, I am also noticing that HEAT_STATUS doesn't line up with what the USA code does:
                "heatingAccessory": {
                    "rearWindow": 1 if options.heating in [3, 4] else 0,
                    "sideMirror": 1 if options.heating == 4 else 0,
                    "steeringWheel": 1 if options.heating in [2, 4] else 0,
                    "steeringWheelStep": 2 if options.heating in [2, 4] else 0,
                },

I pushed a commit to #701 that fixes the mismatch between the heatingAccesory values and HEAT_STATUS.  I think it was just a mistake in #668.


laravel 9 support

I have been very much helped by this library for some time.
I also want to use string-blade-compiler in my laravel9 project.
Do you have any plans for support?

https://github.com/TerrePorter/StringBladeCompiler/pull/81

@erik-ropez I see. that would be a lot of work. I have committed your pull request

@TerrePorter Could you make a new version release with Laravel 9 support. The last version is https://packagist.org/packages/wpb/string-blade-compiler#6.0.3 and it doesn't support v9.

I made a new version, 7.0, that is for laravel 9.
Sorry for taking so long


Remove unnecessary files

As those files are now integrated in the main Zephyr project.
Signed-off-by: Stephane Dorre<EMAIL_ADDRESS>

Thanks!


Add a list to stream function

Does the name seem right to you, or should we call it something like vec->stream?
Sample usage:
>>> :streams ( tuple->stream ) import
>>> ("Hi" ("there" ("human" ()))) tuple->stream
>>> ! println
"Hi"
>>> ! println
"there"
>>> ! println
"human"
>>> ! println
:stream-end

Renamed to list->stream


[ENG-9165][eas-cli] print the list of environment variables that we load in EAS CLI when evaluating app config for a build

Why
https://linear.app/expo/issue/ENG-9165/print-the-list-of-environment-variables-that-we-load-in-eas-cli-when
How
Print list of env vars we load in EAS CLI and which can be used when evaluating app config for a build.
Note: This log will be always printed not only when evaluating app.config.js.
Test Plan
Tested manually

@brentvatne

Note: This log will be always printed, not only when evaluating app.config.js.

Is this correct?

yeah, I think that is fine :)


Error when trying to infer a file

maybe crepre can only input single channel 16KHz wave

So what do I do? Make the audio file one channel? How do I do that?

yes,or change pit = compute_f0_nn(args.wave, device) to pit = compute_f0(args.wave)
https://github.com/PlayVoice/lora-svc/blob/main/svc_inference.py#L88

Also, how do I get rid of the reverb for the output? Or is it only possible to infer with the reverb?

https://github.com/PlayVoice/lora-svc/blob/main/svc_inference.py#L112 mask this line


make: avoid clonning k8s tree every build

Avoid clonning k8s tree every build
GitHub-Issue: https://github.com/kubernetes-sigs/sig-windows-dev-tools/issues/172
Signed-off-by: Douglas Schilling Landgraf<EMAIL_ADDRESS>

/cc @knabben

spoke w/ doug and amim - we can make a large MR to fix this in side of #177


fix-alloy-logs-security-context

Towards https://github.com/giantswarm/giantswarm/issues/31179
Replicating https://github.com/giantswarm/alloy-app/pull/36/files in logging operator
@TheoBrigitte see why I did not like it having it all here? :D

@TheoBrigitte I kept root user but removed the capabilities we do not need


[WIP] Update generator config file

This PR is a WIP to battle test a change in blade-icons. Once the change is made in blade-icons I will update this PR and remove the WIP tag.

Change was rejected upstream.

hi @mallardduck , thanks for your time creating the PR


fix: support enable-retries via external configuration

This PR adds support for enabling retries via external config properties.
I completely whiffed on supporting external config properties for the new retries feature in my original PR, and discovered that while working on the documentation yesterday.

:tada: This PR is included in version 4.8.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Quarkus: Collect JfrUnit fields from the complete inheritance path

JfrUnitQuarkusLifecycleCallback#getJfrEvents would not pick up JfrUnit fields declared in a test if Quarkus subclassed the test class with a proxy class.  This patch fixes that.

This LGTM, thanks! Could you only add a test which exposes this particular issue?

This LGTM, thanks! Could you only add a test which exposes this particular issue?

I wasn't able to add a Quarkus test without breaking everything else, so I copied the same change into JfrEventTestExtension and created a test based on that.

Merged; thx, @benkard!


teamname

Teamname

@FEMI1602 If you want to create a placeholder for this folder, just create a readme.md and mention about the same. It will show up when someone opens the folder in github.


MongoDB 3.6 PGP KEYS expired

PGP KEYS expired in the dockerfile and it is impossible to build for Mongodb v3.6
Please update the PGP KEYS in the dockerfile so that we can create the container once again.
Line 46-50:
ENV GPG_KEYS \
# pub   4096R/91FA4AD5 2016-12-14 [expires: 2018-12-14]
#       Key fingerprint = 2930 ADAE 8CAF 5059 EE73  BB4B 5871 2A22 91FA 4AD5
# uid                  MongoDB 3.6 Release Signing Key<EMAIL_ADDRESS>	2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

Gah, https://www.mongodb.org/static/pgp/server-3.6.asc was updated, but the key on the keyservers was not.  Proxying that update to the gossip ring now.

This is updated and successfully propagated. :+1:


"The system cannot find the file specified" during pgm.figure.savefig()

I just installed daft (pip install daft) on my Windows machine but the last step of all of the samples is failing while trying to save the file.
Source Code (from sample):
from matplotlib import rc
rc("font", family="serif", size=12)
rc("text", usetex=True)

import daft

pgm = daft.PGM([3.6, 1.8], origin=[2.2, 1.6], aspect=2.1)
pgm.add_node(daft.Node("confused", r"confused", 3.0, 3.0))
pgm.add_node(daft.Node("ugly", r"ugly font", 3.0, 2.0, observed=True))
pgm.add_node(daft.Node("bad", r"bad talk", 5.0, 2.0, observed=True))
pgm.add_edge("confused", "ugly")
pgm.add_edge("ugly", "bad")
pgm.add_edge("confused", "bad")
pgm.render()
pgm.figure.savefig("badfont.pdf")
pgm.figure.savefig("badfont.png", dpi=150)

Error message:
Traceback (most recent call last):
  File ".\job_manager\compiler\visualizer.py", line 15, in <module>
    pgm.figure.savefig("badfont.pdf")
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\figure.py", line 2035, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\backend_bases.py", line 2263, in print_figure
    **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\backends\backend_pdf.py", line 2586, in print_pdf
    self.figure.draw(renderer)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\figure.py", line 1475, in draw
    renderer, self, artists, self.suppressComposite)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\image.py", line 141, in _draw_list_compositing_images
    a.draw(renderer)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\axes\_base.py", line 2607, in draw
    mimage._draw_list_compositing_images(renderer, self, artists)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\image.py", line 141, in _draw_list_compositing_images
    a.draw(renderer)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\text.py", line 2301, in draw
    Text.draw(self, renderer)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\text.py", line 706, in draw
    bbox, info, descent = textobj._get_layout(renderer)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\text.py", line 300, in _get_layout
    ismath=False)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\backends\backend_pdf.py", line 2148, in get_text_width_height_descent
    renderer=self)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\texmanager.py", line 501, in get_text_width_height_descent
    dvifile = self.make_dvi(tex, fontsize)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\texmanager.py", line 365, in make_dvi
    texfile], tex)
  File "C:\Program Files\Python36\lib\site-packages\matplotlib\texmanager.py", line 335, in _run_checked_subprocess
    stderr=subprocess.STDOUT)
  File "C:\Program Files\Python36\lib\subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "C:\Program Files\Python36\lib\subprocess.py", line 403, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Program Files\Python36\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Program Files\Python36\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

This looks like a matplotlib issue instead of daft. Looks like it's trying to run TeX as a subprocess and failing. I'm definitely not an expert so I'm not sure how to fix it, but I'd recommend looking at matplotlib issues and opening a new one if you can't figure it out.

hi, i have the same issues, have you solved it?

Can you make a matplotlib plot that uses LaTeX labels, as in
plt.plot([0., 1.], [0., 1.])
plt.xlabel(r"$x$")
plt.savefig("foo.png")

and see if that works?

Hi there,
I encountered the same issue and solved it by changing this line of code
rc("text", usetex=True)
into
rc("text", usetex=False)

Yes, it appears that the Windows install can't run tex.


My secret key not working

I have created my developer account and gave developer ID to client. He gives me merchant Id, marketplaceId and MWS Auth Token.  I have used my access key Id and secret key. But i can't established the connection to amazon store.  It gives me " There was a problem with the Amazon library. Error: Secret Key is missing!" error. Can you please help me on that.

The error message you are describing only occurs if the "secretKey" array key is not set in the $store array in the amazon-config.php file. Did you make sure to set up your config file just like the default config file?

Yes i have set in the amazon-config.php file. But that gives me error for secret key. Can you suggest more on this.

Please check the logs below
[Warning][2017/03/30 22:20:15<EMAIL_ADDRESS>AmazonCore.php:133 setStore] Store myStore does not exist!
[Urgent][2017/03/30 22:20:15<EMAIL_ADDRESS>AmazonOrderList.php:50 resetMarketplaceFilter] Marketplace ID is missing

I have fixed the error. That works now. I have set order status Pending and setFulfillmentChannelFilter to AFN. Pending order fetched but that do not have customer details. Can you let me know how can i get customer details from Pending order .  Please suggest.

I am glad that you were able to get it working.
As for orders, the official Amazon documentation states that only limited customer information is given for Pending orders.


Add .net framework support-ability in each cluster version

I have confirmed that version <IP_ADDRESS>1 cluster supports .Net Framework 4.5.2. .Net framework version matters to anyone who runs application on it. Please specify in the document from which version of cluster supports which version of .Net framework. Please see my post to refer the detail.
http://ahkim.com/HDInsight-instance-supports-.Net-Framework-4.5.2.html

Hi @ahkim, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@ahkim : Thanks for your contribution to the Azure documentation! The author, @mumian, has been notified to review your proposed change.

@mumian
Jonathan, please review this contribution and let me know what you want done. Thanks!

@mumian Jonathan, please review and let Carolyn know what to do

I haven't got a confirmation from the dev.  I will bring this up in the next content meeting.

I will fill a separate PR for the update.  Please close this PR.

#reject

I just received the confirmation. The article has been updated.  See https://github.com/Azure/azure-content-pr/pull/30894

Because this has been updated via another PR, please close this one. Thanks.

#please-close


[FLINK-24319][Tests] Fix invalid surefire work directory for flink-tests

What is the purpose of the change
Commit https://github.com/apache/flink/commit/7aa510c9e5dad2f0d2bcdcf1abc6b4f9e0374470#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8 changed the working dir of surefire plugin to project base dir, which leads to jar not found exception in ClassLoaderITCase, because it locates jar files via relative paths.
Brief change log

Make flink-tests run in the project build directory.

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@zentol PTAL, this blocks users from running Flink tests outside of official CI pipelines.

ping @zentol

ping @xintongsong @MartijnVisser

@link3280 Given that I don't see failures for ClassLoaderITCase currently, what's the cause of that? Are we missing a test or is it something else?

@MartijnVisser Flink CI pipeline runs tests in an optimized approach, thus would not run into this issue. But as it's been a while since the PR was opened, I'll check if this issue still exists in Flink 1.15.

@link3280 The Flink CI validates master, release-1.15 and release-1.14. I don't see failures related to this test in any recent runs and also not in Jira tickets.

@link3280 Do you think we can close this PR?


added bracket

Fix syntax error by adding missing parenthesis.

Thank you for submitting this PR, and well-done for completing the Git workshop!


Aggregated status - questions

Is it correctly understood that each component of a site has it's own aggregated status?
When connecting, should the site send an aggregated status for each component?

Only the components which are defined as grouped objects in the sxl has aggregated status. For the TLC SXL, only one grouped object exists. And yes, when connecting, aggregated status for all grouped objects are sent.


refactor(heat_map_day): lift up padding and color thresholds logic

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 31.416%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
344

Relevant Lines:
1095

💛  - Coveralls


Enabling Watchman on Windows causes JS errors

Running React Native 0.23.1 (with CLI 0.2.0) on Windows 7 works and the phone successfully loads the JS bundle: (note: no watchman installed)
[5:51:15 PM] <END>   Crawling File System (111063ms)
[5:51:15 PM] <START> Building in-memory fs for JavaScript
[5:51:16 PM] <END>   Building in-memory fs for JavaScript (689ms)
[5:51:16 PM] <START> Building in-memory fs for Assets
[5:51:16 PM] <END>   Building in-memory fs for Assets (520ms)
[5:51:16 PM] <START> Building Haste Map
[5:51:16 PM] <START> Building (deprecated) Asset Map
[5:51:17 PM] <END>   Building (deprecated) Asset Map (138ms)
[5:51:17 PM] <END>   Building Haste Map (630ms)
[5:51:17 PM] <END>   Building Dependency Graph (112912ms)
transformed 522/522 (100%)
[5:51:36 PM] <END>   find dependencies (111802ms)
[5:51:41 PM] <END>   request:/index.android.bundle?platform=android&dev=true&hot
=false&minify=false (116804ms)

After installing watchman (alpha for Windows 7 x64), the process is faster a few orders of magnitude:
[5:53:54 PM] <END>   Crawling File System (324ms)
[5:53:54 PM] <START> Building in-memory fs for JavaScript
[5:53:54 PM] <END>   Building in-memory fs for JavaScript (0ms)
[5:53:54 PM] <START> Building in-memory fs for Assets
[5:53:54 PM] <END>   Building in-memory fs for Assets (0ms)
[5:53:54 PM] <START> Building Haste Map
[5:53:54 PM] <START> Building (deprecated) Asset Map
[5:53:54 PM] <END>   Building (deprecated) Asset Map (1ms)
[5:53:54 PM] <END>   Building Haste Map (2ms)
[5:53:54 PM] <END>   Building Dependency Graph (333ms)

However, now the packager server returns an error:
{"message":"Cannot find entry file index.android.js in any of the roots: [\"C:\\\\Users\\\\Filip\\\\react\\\\demo\"]","name":"NotFoundError","type":"NotFoundError","status":404,"errors":[{}]}

Deleting the index file and pasting it again randomly fixes the issue. However, the Android app now throws an error:
ReferenceError: Can't find variable: __fbBatchedBridge(<unknown file>:1)

You'd think that it is similar to #4881 and #4952 and the issue is the packer not running, but it actually is and the device can access it (correct ip:port in settings, tcp communication happens):

[5:58:09 PM] <END>   request:/index.android.bundle?platform=android&dev=true&hot
=false&minify=false (1578ms)

In addition the request returns valid babelified code that resembles the index.android.js source code (both when requested from the computer and the phone browser):
(function(global) {global.
__DEV__=true;

global.__BUNDLE_START_TIME__=Date.now();
})(typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this);
(function(global) {var
modules=Object.create(null);
var inGuard=false;

function define(id,factory){
modules[id]={
factory:factory,
module:{exports:{}},
isInitialized:false,
hasError:false};

if(__DEV__){
babelHelpers.extends(modules[id].module,{
hot:{

...........

Note: There is difference in source code size:

GET index.android.bundle?minify=false without watchman: 250KB
GET index.android.bundle?minify=false with watchman: 24KB

I am suspecting that the watchman ignores dependencies and generates a bundle which does not contain all the required code (including some dep __fbBatchedBridge)

I've had success using watchman alpha on windows, not sure exactly what causes this but like you said the package is way too small.
Maybe you can try resetting everything with
rm -rf node_modules
watchman watch-del-all
npm install
npm start -- --reset-cache

Does not help. My temporary solution is to run the packager in a Linux VM while the android build happens in Windows itself. And I guess the docs should suggest that too (considering the buggy performance of RN on Windows)

I get exactly the same errors. Haven't been able to figure it out yet.

It's still an issue.

Same issue !
With Postman getting this error
{"message":"Cannot find entry file index.android.js in any of the roots: ["D:\\Instore\\react-native\\SampleProject"]","name":"NotFoundError","type":"NotFoundError","status":404,"errors":[{}]}
Have tried all possible workarounds

Like clearing temp
--reset-cache
npm-install

Without watchman packager takes nearly 5 mins. App works.

@dimitrovskif I really appreciate your work! And I mentioned this post on watchman repo, the man in charge said they need a separate issue there and detailed information.  https://github.com/facebook/watchman/issues/19#issuecomment-242893611 So can you post it there? Thank you so much!

I am experiencing the same issue on a Windows 7-64 machine.
Without watchman enabled, the packager takes more than 10 minutes.
With watchman enabled, only 2 seconds!!!
So there is definitely something wrong.
The watchman build I am using is:
https://ci.appveyor.com/api/buildjobs/kravw77nw7fqhvio/artifacts/watchman.zip

I'm using the "The latest alpha build is available here:
http://bit.ly/watchmanwinalpha" from mitchellh. And OMG the build was taking like 10 min. With the Watchaman.exe tave 50s !!!! Has to be in the same folder/path

i am having this problem with react native poject ``
│  Running packager on port 8081.                                            │
│                                                                            │
│  Keep this packager running while developing on any JS projects. Feel      │
│  free to close this tab and run your own packager instance if you          │
│  prefer.                                                                   │
│                                                                            │
│  https://github.com/facebook/react-native                                  │
│                                                                            │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
C:\Users\asus\Desktop\AwesomeProject
Loading dependency graph...
React packager ready.
Loading dependency graph, done.
Bundling index.android.js  100.0% (404/404), done.
SyntaxError: Unexpected end of JSON input
at parse ()
at process._tickCallback (internal/process/next_tick.js:109:7)
{ Error: write EPIPE
at exports._errnoException (util.js:1050:11)
at Socket._writeGeneric (net.js:724:26)
at Socket._write (net.js:743:8)
at doWrite (_stream_writable.js:329:12)
at writeOrBuffer (_stream_writable.js:315:5)
at Socket.Writable.write (_stream_writable.js:241:11)
at Socket.write (net.js:670:40)
at Socket.Writable.end (_stream_writable.js:475:10)
at Socket.end (net.js:440:31)
at Promise.resolve.then.then.then.catch.then.message (C:\Users\asus\Desktop
AwesomeProject\node_modules\react-native\packager\src\Server\symbolicate\worker.
js:35:33) code: 'EPIPE', errno: 'EPIPE', syscall: 'write' }
any solution please :)

i am using windows 7 64bits and i i do not have not installed watchmen

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with Canny! Check out its new home: https://react-native.canny.io/feature-requests/p/enabling-watchman-on-windows-causes-js-errors


翻译很长的一个书籍的时候，碰到错误`UnsupportedOperation.TextTooLong

能否自动对段落进行切割，避免超过2000？

很长是多长？
已经按照上限对内容分批请求了，但分批请求是同步而不是异步。我也经常一次性翻译大于上限的内容，没遇到过这个问题。

你可以使用 FILE_LOG=debug bilingual -a tencent -m xxx.md，然后查看 bilingual.log，搜索 q = [ 看到每次切分的内容，比如这段原文
---
title: "Stacked Borrows: An Aliasing Model For Rust"
categories: internship rust
forum: https://internals.rust-lang.org/t/stacked-borrows-an-aliasing-model-for-rust/8153
---

In this post, I am proposing "Stacked Borrows": A set of rules defining which kinds of aliasing are allowed in Rust.
This is intended to answer the question which pointer may be used when to perform which kinds of memory accesses.

This is a long-standing open question of many unsafe code authors, and also by compiler authors who want to add more optimizations.
The model I am proposing here is by far not the first attempt at giving a definition: The model is heavily based on ideas by [@arielb1](https://github.com/nikomatsakis/rust-memory-model/issues/26) and [@ubsan](https://github.com/nikomatsakis/rust-memory-model/issues/28), and of course taking into account the lessons I [learned last year]({% post_url 2017-08-11-types-as-contracts-evaluation %}) when I took my first stab at defining such a model, dubbed ["Types as Contracts"]({% post_url 2017-07-17-types-as-contracts %}).

<!-- MORE -->

But before I delve into my latest proposal, I want to briefly discuss a key difference between my previous model and this one:
"Types as Contracts" was a fully "validity"-based model, while "Stacked Borrows" is (to some extent) "access"-based.

**Update:**
Since publishing this post, I have written [another]({% post_url 2018-11-16-stacked-borrows-implementation %}) blog post about a slightly adjusted version of Stacked Borrows (the first version that actually got implemented).
That other post is self-contained, so if you are just interested in the current state of Stacked Borrows, I suggest you go there.
Only go on reading here if you want some additional historic context.
**/Update**

## 1 Validity-based vs. Access-based

An "access"-based model is one where certain properties -- in this case, mutable references being unique and shared references pointing to read-only memory -- are only enforced when the reference is actually used to *access* memory.
In contrast, a "validity"-based model requires these properties to always hold for all references that *could* be used.
In both cases, violating a property that the model requires to hold is undefined behavior..

Essentially, with a validity-based model like "Types as Contracts", the basic idea is that all data is always valid according to the type it is given.
Enforcing the restrictions of such a model (e.g., when checking whether a program has undefined behavior) amounts to eagerly checking all reachable data for validity.
An access-based model, on the other hand, only requires data to be valid when used.
Enforcing it amounts to lazily checking the bare minimum at each operation.

Validity-based models have several advantages: Eager checking means we can typically identify which code is actually responsible for producing the "bad" value.
"All data must always be valid" is also easier to explain than a long list of operations and the kind of restrictions they place upon the data.

However, in Rust, we cannot talk about references and whether the are valid at their given type without talking about lifetimes.
With "Types as Contracts", the exact place where a lifetime ended turned out to be really important.
Not only did this make the specification complex and hard to understand; the implementation in Miri also had to actively work against the compiler's general intention to forget about lifetimes as early as possible.
With non-lexical lifetimes, the "end" of a lifetime is not even so clearly defined any more.

## 2 Stacking Borrows

切分的内容（注意，日志里重复显示了一次，但实际请求并没有）：
q = ["title: \"Stacked Borrows: An Aliasing Model For Rust\" categories: internship rust forum: https://internals.rust-lang.org/t/stacked-borrows-an-aliasing-model-for-rust/8153", "In this post, I am proposing \"Stacked Borrows\": A set of rules defining which kinds of aliasing are allowed in Rust. This is intended to answer the question which pointer may be used when to perform which kinds of memory accesses.", "This is a long-standing open question of many unsafe code authors, and also by compiler authors who want to add more optimizations. The model I am proposing here is by far not the first attempt at giving a definition: The model is heavily based on ideas by @arielb1 and @ubsan, and of course taking into account the lessons I [learned last year]({% post_url 2017-08-11-types-as-contracts-evaluation %}) when I took my first stab at defining such a model, dubbed [\"Types as Contracts\"]({% post_url 2017-07-17-types-as-contracts %}).", "But before I delve into my latest proposal, I want to briefly discuss a key difference between my previous model and this one: \"Types as Contracts\" was a fully \"validity\"-based model, while \"Stacked Borrows\" is (to some extent) \"access\"-based.", "Update: Since publishing this post, I have written [another]({% post_url 2018-11-16-stacked-borrows-implementation %}) blog post about a slightly adjusted version of Stacked Borrows (the first version that actually got implemented). That other post is self-contained, so if you are just interested in the current state of Stacked Borrows, I suggest you go there. Only go on reading here if you want some additional historic context. /Update", "1 Validity-based vs. Access-based"]

q = ["An \"access\"-based model is one where certain properties -- in this case, mutable references being unique and shared references pointing to read-only memory -- are only enforced when the reference is actually used to access memory. In contrast, a \"validity\"-based model requires these properties to always hold for all references that could be used. In both cases, violating a property that the model requires to hold is undefined behavior..", "Essentially, with a validity-based model like \"Types as Contracts\", the basic idea is that all data is always valid according to the type it is given. Enforcing the restrictions of such a model (e.g., when checking whether a program has undefined behavior) amounts to eagerly checking all reachable data for validity. An access-based model, on the other hand, only requires data to be valid when used. Enforcing it amounts to lazily checking the bare minimum at each operation.", "Validity-based models have several advantages: Eager checking means we can typically identify which code is actually responsible for producing the \"bad\" value. \"All data must always be valid\" is also easier to explain than a long list of operations and the kind of restrictions they place upon the data.", "However, in Rust, we cannot talk about references and whether the are valid at their given type without talking about lifetimes. With \"Types as Contracts\", the exact place where a lifetime ended turned out to be really important. Not only did this make the specification complex and hard to understand; the implementation in Miri also had to actively work against the compiler's general intention to forget about lifetimes as early as possible. With non-lexical lifetimes, the \"end\" of a lifetime is not even so clearly defined any more.", "2 Stacking Borrows"]

bytes = b"{\"Response\":{\"RequestId\":\"3fc6f3bb-8caa-4602-ad82-02bea9c1c9bf\",\"Source\":\"en\",\"Target\":\"zh\",\"TargetTextList\":[\"\xe6\x9c\x8d\xe5\x8a\xa1\xe6\x8f\x90\xe4\xbe\x9b\xe5\x95\x86\xe5\x91\x98\xe5\xb7\xa5\",\"\xe7\xbd\xaa\xe7\x8a\xaf\xe5\x8f\x8a\xe5\x85\xb6\xe5\x90\x8c\xe4\xbc\x99\",\"\xe5\xaf\xb9\xe4\xba\x8e\xe4\xb8\xbb\xe8\xa6\x81\xe7\x9a\x84\xe7\xac\xac\xe4\xb8\x80\xe6\x96\xb9\xe6\xb6\x88\xe8\xb4\xb9\xe8\x80\x85\xe3\x80\x81\xe5\xa4\x84\xe4\xba\x8e\xe9\xa3\x8e\xe9\x99\xa9\xe4\xb8\xad\xe7\x9a\x84\xe4\xb8\xaa\xe4\xba\xba\xe5\x92\x8c\xe5\xa8\x81\xe8\x83\x81\xe8\xa1\x8c\xe4\xb8\xba\xe8\x80\x85\xe4\xb9\x8b\xe4\xb8\x80\xef\xbc\x8c\xe6\x8f\x8f\xe8\xbf\xb0\xe6\xaf\x8f\xe7\xa7\x8d\xe4\xbc\xa4\xe5\xae\xb3\xe5\x8f\xaf\xe8\x83\xbd\xe5\x8f\x91\xe7\x94\x9f\xe7\x9a\x84\xe6\x96\xb9\xe5\xbc\x8f\xe3\x80\x82\xe7\xac\xac\xe4\xb8\x80\xe6\x96\xb9\xe6\xb6\x88\xe8\xb4\xb9\xe8\x80\x85\xef\xbc\x9a\xe7\x8a\xaf\xe7\xbd\xaa\xe8\xaf\x81\xe4\xba\xba\xe3\x80\x81\xe5\xae\xb6\xe5\xba\xad\",\"\xe5\xaf\xb9\xe4\xba\x8e\xe4\xb8\x8a\xe9\x9d\xa2\xe7\x9a\x84\xe6\xaf\x8f\xe4\xb8\x80\xe7\xa7\x8d\xe5\x8d\xb1\xe5\xae\xb3\xef\xbc\x8c\xe7\xa1\xae\xe5\xae\x9a\xe4\xb8\x80\xe4\xb8\xaa\xe6\xbd\x9c\xe5\x9c\xa8\xe7\x9a\x84\xe6\x9c\x89\xe5\xbd\xa2\xe5\x90\x8e\xe6\x9e\x9c\xe3\x80\x82\",\"\xe6\x8d\x9f\xe5\xae\xb3\xe5\xbb\xba\xe7\xad\x91\xe7\xae\xa1\xe7\x90\x86\\\\\xe6\x9c\x89\xe5\xbd\xa2\xe7\x9a\x84\xe5\x85\xac\xe5\x8f\xb8\xe5\x90\x8e\xe6\x9e\x9c\",\"\xe7\x9b\x91\xe6\x8e\xa7\xe8\xaf\xa5\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\xaf\xe4\xbb\xa5\xe5\xae\x89\xe8\xa3\x85\xe6\x91\x84\xe5\x83\x8f\xe5\xa4\xb4\xe6\x9d\xa5\xe5\xb0\xb4\xe5\xb0\xac\xef\xbc\x8c\xe7\x9b\x91\xe6\x8e\xa7\xe6\x88\xbf\xe5\xad\x90\xe9\x87\x8c\xe7\x9a\x84\xe4\xba\xba\xe3\x80\x82\xe7\x84\xa6\xe8\x99\x91\xef\xbc\x8c\xe8\xa1\x8c\xe4\xb8\xba\xe7\x9a\x84\xe6\x94\xb9\xe5\x8f\x98\",\"\xe8\xaf\xa2\xe9\x97\xae\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\xaf\xe8\x83\xbd\xe4\xbc\x9a\xe8\xa6\x81\xe6\xb1\x82\xe4\xba\xba\xe4\xbb\xac\xe5\xa1\xab\xe5\x86\x99\xe5\xb0\xb4\xe5\xb0\xac\xef\xbc\x8c\xe8\xa1\xa8\xe6\xa0\xbc\xe4\xb8\x8a\xe5\x86\x99\xe7\x9d\x80\xe4\xb8\xaa\xe4\xba\xba\xe9\x97\xae\xe9\xa2\x98\xef\xbc\x8c\xe4\xbb\x96\xe4\xbb\xac\xe7\x84\xa6\xe8\x99\x91\xef\xbc\x8c\xe6\x94\xb9\xe5\x8f\x98\xe6\x88\x96\xe4\xb8\x8d\xe9\x9c\x80\xe8\xa6\x81\xe7\xae\xa1\xe7\x90\x86\xe7\x9a\x84\xe8\xa1\x8c\xe4\xb8\xba\xef\xbc\x8c\xe5\xa4\xb1\xe5\x8e\xbb\xe7\x9a\x84\xe6\x88\xbf\xe5\xad\x90(\xe4\xbe\x8b\xe5\xa6\x82\xef\xbc\x8c\xe4\xbd\xa0\xe7\x9a\x84\xe8\x83\x8c\xe6\x99\xaf\xe6\x98\xaf\xe4\xbb\x80\xe4\xb9\x88\xef\xbc\x8c\xe4\xbd\xa0\xe4\xb8\xba\xe4\xbb\x80\xe4\xb9\x88\xe9\x80\x89\xe6\x8b\xa9\xe6\x90\xac\xe5\x88\xb0\xe8\xbf\x99\xe4\xb8\xaa\xe5\x9c\xb0\xe5\x8c\xba\xef\xbc\x8c(\xe4\xbd\x8f\xe6\x88\xbf)\xe7\xad\x89)\xe3\x80\x82\",\"\xe8\x81\x9a\xe5\x90\x88\xe6\x88\xbf\xe5\xb1\x8b\xe7\xae\xa1\xe7\x90\x86\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\xaf\xe8\x83\xbd\xe4\xbc\x9a\xe5\xa4\xb1\xe5\x8e\xbb\xe6\x9c\xba\xe4\xbc\x9a\xef\xbc\x8c\xe5\xb0\x86\xe5\x85\xb3\xe4\xba\x8e\xe8\xb0\x81\xe6\x90\xac\xe5\xae\xb6(\xe6\x88\xbf\xe5\xb1\x8b)\xe3\x80\x81\xe4\xb8\xa2\xe5\xa4\xb1\xe6\x88\xbf\xe5\xb1\x8b\xe7\x9a\x84\xe4\xbf\xa1\xe6\x81\xaf\xe4\xb8\x8e\xe5\x85\xb3\xe4\xba\x8e\xe8\xb0\x81\xe6\x8b\xa5\xe6\x9c\x89\xe6\x88\xbf\xe5\xad\x90\xe7\x9a\x84\xe4\xbf\xa1\xe6\x89\x98\xe4\xbf\xa1\xe6\x81\xaf\xe7\xbb\x93\xe5\x90\x88\xe5\x9c\xa8\xe4\xb8\x80\xe8\xb5\xb7(\xe5\xb9\xb6\xe5\x8f\x91\xe7\x8e\xb0\xe7\xa7\x9f\xe6\x88\xb7\xe5\x8f\xaf\xe8\x83\xbd\xe6\x98\xaf\xe7\x8a\xaf\xe7\xbd\xaa\xe8\xaf\x81\xe4\xba\xba)\xe3\x80\x82\",\"\xe4\xb8\x8d\xe5\xae\x89\xe5\x85\xa8\xe6\x84\x9f\xe6\x88\xbf\xe5\xb1\x8b\xe7\xae\xa1\xe7\x90\x86\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\xaf\xe4\xbb\xa5\xe5\xad\x98\xe5\x82\xa8\xe8\xa1\x8c\xe4\xb8\xba\xe5\x8f\x98\xe5\x8c\x96\xef\xbc\x8c\xe4\xbb\x96\xe4\xbb\xac\xe7\x9a\x84\xe6\x95\xb0\xe6\x8d\xae\xe5\xba\x93\xe4\xb8\xad\xe6\x9c\x89\xe7\xa7\x9f\xe6\x88\xb7\xe7\x9a\x84\xe6\x84\x9f\xe5\x8f\x97\xe5\x8f\x98\xe5\x8c\x96\xe4\xbf\xa1\xe6\x81\xaf\xef\xbc\x8c\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\xad\xe7\x9a\x84\xe6\xaf\x8f\xe4\xb8\xaa\xe4\xba\xba\xe9\x83\xbd\xe5\x8f\xaf\xe4\xbb\xa5\xe8\xae\xbf\xe9\x97\xae\xe3\x80\x82\xe6\x88\x96\xe6\x84\x9f\xe7\x9f\xa5\",\"\xe8\xaf\x86\xe5\x88\xab\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\xaf\xe4\xbb\xa5\xe9\x80\x9a\xe8\xbf\x87\xe4\xb8\xaa\xe4\xbd\x93\xe5\x9c\xa8\xe5\xae\xb6\xe4\xb8\xad\xe8\xa1\x8c\xe4\xb8\xba\xe6\x97\xb6\xe7\x9a\x84\xe7\x84\xa6\xe8\x99\x91\xe3\x80\x81\xe5\x8f\x98\xe5\x8c\x96\xe6\x9d\xa5\xe8\xaf\x86\xe5\x88\xab\xe4\xbb\x96\xe4\xbb\xac\xe3\x80\x82\xe5\xb0\xb4\xe5\xb0\xac\xef\xbc\x8c\xe5\xa4\xb1\xe5\x8e\xbb\xe4\xbf\xa1\xe4\xbb\xbb\",\"\xe4\xba\x8c\xe6\xac\xa1\xe4\xbd\xbf\xe7\x94\xa8\xe6\x88\xbf\xe5\xb1\x8b\xe7\xae\xa1\xe7\x90\x86\xe5\x8f\xaf\xe4\xbb\xa5\xe5\xb0\x86\xe5\xa4\xb1\xe5\x8e\xbb\xe4\xbf\xa1\xe4\xbb\xbb\xe7\x9a\x84\xe4\xba\xba\xe7\x9a\x84\xe4\xbf\xa1\xe6\x81\xaf\xe4\xba\xa4\xe7\xbb\x99\xe7\xac\xac\xe4\xb8\x89\xe6\x96\xb9\xef\xbc\x8c\xe6\x94\xb9\xe5\x8f\x98\xe8\xa1\x8c\xe4\xb8\xba\xe6\x88\xbf\xe5\xb1\x8b\xe7\x9a\x84\xe5\xb1\x85\xe4\xbd\x8f\xe8\x80\x85\xe3\x80\x82\",\"\xe5\x9c\xa8\xe7\x9f\xa5\xe9\x81\x93\xe6\x88\xbf\xe5\xad\x90\xe9\x87\x8c\xe7\x9a\x84\xe4\xba\xba\xe4\xb8\x8e\xe7\x8a\xaf\xe7\xbd\xaa\xe6\x9c\x89\xe5\x85\xb3\xe8\x80\x8c\xe5\xa4\xb1\xe5\x8e\xbb\xe4\xbf\xa1\xe4\xbb\xbb\xe7\x9a\x84\xe6\x83\x85\xe5\x86\xb5\xe4\xb8\x8b\xef\xbc\x8c\xe5\x85\xac\xe5\x8f\xb8\xe5\x8f\xaf\xe8\x83\xbd\xe4\xbc\x9a\xe6\xa0\x87\xe8\xae\xb0\xe4\xbb\x96\xe4\xbb\xac\xe7\x9a\x84\xe6\xa1\xa3\xe6\xa1\x88\xef\xbc\x8c\xe5\xb9\xb6\xe4\xbb\xa5\xe4\xb8\x8d\xe5\x90\x8c\xe7\x9a\x84\xe6\x96\xb9\xe5\xbc\x8f\xe5\xaf\xb9\xe5\xbe\x85\xe4\xbb\x96\xe4\xbb\xac\xe3\x80\x82\"]}}"
16:52:06 [DEBUG] (1) bilingual::config:
q = ["Breach of         House management could give the           Anxiety, confidentiality   information about who lives in the house  embarrassment, to third parties even though promising    change of behavior full confidentiality.", "Disclosure        House management could share information  Anxiety, change of about who lives in the house to the       behavior, bodily people who committed the crime.           harm, death", "Exposure          House management could record what is     Embarrassment, happening in the house on video or audio  anxiety, change of capturing people's grief or nudity.       behavior, loss of trust", "Increased         House management could offer their        Anxiety, change of accessibility     registers for sale---records on who owns  behavior, bodily houses that are under their management,   harm, death and who lives in the houses.", "Appropriation     House management could use photos of the  Change of behavior, house with people in it in a commercial.  lost opportunity (housing), bodily harm, death", "Distortion        House management company could falsify    Loss of trust, the water or electricity costs for the    financial cost house.", "Intrusion         House management could send employee for  Anxiety, a house visit unannounced.                embarrassment", "Decisional        House administration can dictate what     Anxiety, interference      services the individuals are allowed to   inconvenience, hire for the house (what cleaning         financial cost service, internet provider, etc.).", "4.For the pothole application example, what other potential harms could occur? Try to come up with at least one example for each harm in the Solove Taxonomy.", "Harms             The City Against the\\                   Tangible Pothole Reporters                       Consequences", "Surveillance      If the app allows admin access for the  Change of behavior city, the city could monitor who reports how many potholes, how often, etc."]
16:52:06 [DEBUG] (810) reqwest::connect: starting new connection: https://tmt.tencentcloudapi.com/
16:52:06 [DEBUG] (1) bilingual::config:
q = ["Breach of         House management could give the           Anxiety, confidentiality   information about who lives in the house  embarrassment, to third parties even though promising    change of behavior full confidentiality.", "Disclosure        House management could share information  Anxiety, change of about who lives in the house to the       behavior, bodily people who committed the crime.           harm, death", "Exposure          House management could record what is     Embarrassment, happening in the house on video or audio  anxiety, change of capturing people's grief or nudity.       behavior, loss of trust", "Increased         House management could offer their        Anxiety, change of accessibility     registers for sale---records on who owns  behavior, bodily houses that are under their management,   harm, death and who lives in the houses.", "Appropriation     House management could use photos of the  Change of behavior, house with people in it in a commercial.  lost opportunity (housing), bodily harm, death", "Distortion        House management company could falsify    Loss of trust, the water or electricity costs for the    financial cost house.", "Intrusion         House management could send employee for  Anxiety, a house visit unannounced.                embarrassment", "Decisional        House administration can dictate what     Anxiety, interference      services the individuals are allowed to   inconvenience, hire for the house (what cleaning         financial cost service, internet provider, etc.).", "4.For the pothole application example, what other potential harms could occur? Try to come up with at least one example for each harm in the Solove Taxonomy.", "Harms             The City Against the\\                   Tangible Pothole Reporters                       Consequences", "Surveillance      If the app allows admin access for the  Change of behavior city, the city could monitor who reports how many potholes, how often, etc."]
query = Query {
    from: "en",
    to: "zh",
    projectid: 0,
    q: [
        "Breach of         House management could give the           Anxiety, confidentiality   information about who lives in the house  embarrassment, to third parties even though promising    change of behavior full confidentiality.",
        "Disclosure        House management could share information  Anxiety, change of about who lives in the house to the       behavior, bodily people who committed the crime.           harm, death",
        "Exposure          House management could record what is     Embarrassment, happening in the house on video or audio  anxiety, change of capturing people's grief or nudity.       behavior, loss of trust",
        "Increased         House management could offer their        Anxiety, change of accessibility     registers for sale---records on who owns  behavior, bodily houses that are under their management,   harm, death and who lives in the houses.",
        "Appropriation     House management could use photos of the  Change of behavior, house with people in it in a commercial.  lost opportunity (housing), bodily harm, death",
        "Distortion        House management company could falsify    Loss of trust, the water or electricity costs for the    financial cost house.",
        "Intrusion         House management could send employee for  Anxiety, a house visit unannounced.                embarrassment",
        "Decisional        House administration can dictate what     Anxiety, interference      services the individuals are allowed to   inconvenience, hire for the house (what cleaning         financial cost service, internet provider, etc.).",
        "4.For the pothole application example, what other potential harms could occur? Try to come up with at least one example for each harm in the Solove Taxonomy.",
        "Harms             The City Against the\\                   Tangible Pothole Reporters                       Consequences",
        "Surveillance      If the app allows admin access for the  Change of behavior city, the city could monitor who reports how many potholes, how often, etc.",
    ],
}
header = Header {
    datetime: 2023-02-01 8:52:06.012844 +00:00:00,
    timestamp: "1675241526",
    credential_scope: "2023-02-01/tmt/tc3_request",
    authorization: "TC3-HMAC-SHA256 Credential=ididididid/2023-02-01/tmt/tc3_request, SignedHeaders=content-type;host, Signature=25d3a258e5d865801450d828b932297c78dc0dbc39dc4b2c77c6c2dba9c69a25",
    user: User {
        id: "ididididid",
        key: "",
        region: Beijing,
        projectid: 0,
        qps: 5,
        limit: Char(
            2000,
        ),
    },
    query: Query {
        from: "en",
        to: "zh",
        projectid: 0,
        q: [
            "Breach of         House management could give the           Anxiety, confidentiality   information about who lives in the house  embarrassment, to third parties even though promising    change of behavior full confidentiality.",
            "Disclosure        House management could share information  Anxiety, change of about who lives in the house to the       behavior, bodily people who committed the crime.           harm, death",
            "Exposure          House management could record what is     Embarrassment, happening in the house on video or audio  anxiety, change of capturing people's grief or nudity.       behavior, loss of trust",
            "Increased         House management could offer their        Anxiety, change of accessibility     registers for sale---records on who owns  behavior, bodily houses that are under their management,   harm, death and who lives in the houses.",
            "Appropriation     House management could use photos of the  Change of behavior, house with people in it in a commercial.  lost opportunity (housing), bodily harm, death",
            "Distortion        House management company could falsify    Loss of trust, the water or electricity costs for the    financial cost house.",
            "Intrusion         House management could send employee for  Anxiety, a house visit unannounced.                embarrassment",
            "Decisional        House administration can dictate what     Anxiety, interference      services the individuals are allowed to   inconvenience, hire for the house (what cleaning         financial cost service, internet provider, etc.).",
            "4.For the pothole application example, what other potential harms could occur? Try to come up with at least one example for each harm in the Solove Taxonomy.",
            "Harms             The City Against the\\                   Tangible Pothole Reporters                       Consequences",
            "Surveillance      If the app allows admin access for the  Change of behavior city, the city could monitor who reports how many potholes, how often, etc.",
        ],
    },
}

看来都很长，可能是临界判断有问题，


Validate input of Q.all

When it called with something else than an array of promises, the static method Q.all should fail with a TypeError error condition.
A common pitfall when using the library is to call Q.all on an array filled with return values of Q.defer() instead of the promise member of these values.

It might also be argued that Q.all should return a failed promise, but it seems to me that an exception is more appropriate for what seems like a program logic error.

@michipili Check out the conversation on my pull request #667.  There are a handful of failing tests with this change, due to strictly checking for an array as the parameter.  Its kind of a weird situation where you know you want an array but even the library itself passes .all() an array-like (see promise decorator fn).

@vingiarrusso I see, I overlooked that CONTRIBUTE.md file. The main contribution in my branch is the use of isPromise to validate items of the array-like arguments, maybe you would like to build this in your own branch?  The call would then be
Array.prototype.every.call(arrraylike, isPromise)

instead of
truearray.every(isPromise)

Refs: https://github.com/michipili/q/commit/9518c0588469522007d26f5d2ae62fb080c1b536#diff-a148bc52a39c990d02038097d8177455R1563

Can I request also that there is a useful failure condition when calling Q.all with 'promises' with the value undefined.
Q.all([void(0)])

I recently suffered for several days from this bug as Q.all was silently resolving when I did this...
                    return Q.all(keys.map(function(key){
                            tree.syncRecursive(getChildTopic(topic, key));
                        }))
                        .then(function(){
                            return tree.getItem(topic);
                        })

...instead of this...
                    return Q.all(keys.map(function(key){
                            return tree.syncRecursive(getChildTopic(topic, key));
                        }))
                        .then(function(){
                            return tree.getItem(topic);
                        })

Spot the difference ;)


FIX: broken tag

A tag was not closed properly, that's messing up the render. This should probably fix it.

@hamelsmu -- made a tiny fix for </small> closure tag.

@pratapvardhan Thanks for staying on top of this!  I think we both noticed this issue at the same time, and I just deployed the same fix 🙇
Appreciate it!


[CircleGraph] Use consistent return statement

openView function was returning two types,
one is true and the other is void.
This commit fixes this to use consistent return statement.
ONE-vscode-DCO-1.0-Signed-off-by: Seok NamKoong<EMAIL_ADDRESS>

LGTM for ✔ :)

Sorry for misunderstanding this... -_-;;;
What I wrote was: (2) You can remove return true; line for now.
that is, return itself is not needed so we can remove this line.
---          return true;  // break forEach


[AUTOPATCHER-CORE] Upgrade grpc to 1.55.3 Upgrade to address CVE-2023-4785

[AUTOPATCHER-CORE] Upgrade grpc to 1.55.3 Upgrade to address CVE-2023-4785
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=425221&view=results
buddy build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=425222&view=results

new buddybuild - signature issue. https://dev.azure.com/mariner-org/mariner/_build/results?buildId=522676&view=results


fix: fix RBS::ParsingError on multiple devise mappings

  1) RbsDevise::Devise.generate When devise mapping has multiple definitions generates RBS
     Failure/Error: parsed = RBS::Parser.parse_signature(rbs)

     RBS::ParsingError:
       a.rbs:40:29...40:36: Syntax error: unexpected token for method type, token=`Account` (tUIDENT)
     # ./lib/rbs_devise/devise.rb:37:in `format'
     # ./lib/rbs_devise/devise.rb:20:in `generate'
     # ./lib/rbs_devise/devise.rb:15:in `generate'
     # ./spec/rbs_devise/devise_spec.rb:30:in `block (3 levels) in <top (required)>'
     # ./spec/rbs_devise/devise_spec.rb:105:in `block (4 levels) in <top (required)>'

Thanks!


RxJS 5.5: Lettable Operators

With the angular 5 update, comes an RxJS update as well. It introduces the concept of lettable operators. The following article explains the concept in detail: https://blog.angularindepth.com/rxjs-understanding-lettable-operators-fe74dda186d3
We should switch to this way of working instead of chaining RxJS operators

This article is less detailed and more to the point: https://blog.hackages.io/rxjs-5-5-piping-all-the-things-9d469d1b3f44

TL;DR Where you previously wrote:
someObservable
	.map(x => x.y)
	.filter(y => isNotEmpty(y)
	.distinctUntilChanged()
	.subscribe(…)

You can now write
someObservable.pipe(
	map(x => x.y),
	filter(y => isNotEmpty(y),
	distinctUntilChanged()
).subscribe(…)

Which has the advantage that you only need to include the operators you actually use in the app, so it will be smaller.
It also makes it easier to reuse chunks of code like these that occur in multiple places, because you can simply assign them to a variable (they are "lettable") and reuse them somewhere else.
let myOperations = pipe(
	map(x => x.y),
	filter(y => isNotEmpty(y),
	distinctUntilChanged()
)
…
someObservable.let(myOperations).subscribe(…)

Hi, just wanted to chip in since I just did a Angular 4->5->6 migration (including a lot of rxjs operators) on one of our projects. I used rxjs-lint as described here https://github.com/reactivex/rxjs-tslint - this worked really well at least for my last migration from 5->6 (e.g. rxjs 6). Before you explore manual options, you might want to give this a try.

Thanks for the tip, I'll give it a try.

@courtneypattison I wouldn't start working on this. @LotteHofstede has already used the tool @frederik suggested above to fix all rxjs operators at once in her angular 6 branch. I'll update the task accordingly.


Some instances in task667 does not make sense.

Many of the instances in task667 does not make sense. They are based on info that is not included in the question.
E.g.:
{
"input": "The complexity of the theory.\n(A)1,2,3,4 (B)1,3,4 (C)1,2,3 (D)1,2,4",
"output": [
"C"
]
},
{
"input": "The Private Sector Social Enterprise Model.\n(A)1,2,4 (B)2,3,4 (C)1,2,3,4 (D)1,2,3",
"output": [
"D"
]
},

I am planning to remove all such instances from these 2 files.

hmm ... these instances were like this in the original dataset? Or somehow we messed up in reading the data?

I haven't seen the original dataset, I can check it out.
@sujan242 Can you also have a look at it? Did your script remove some information from the questions by any chance?

I haven't seen the original dataset, I can check it out.
@Sujan242 Can you also have a look at it? Did your script remove some information from the questions by any chance?

These instances are present in the original dataset as well(https://github.com/hendrycks/test).

Let me take this issue up because simply removing these instances might introduce skewness.

I haven't seen the original dataset, I can check it out.
@Sujan242 Can you also have a look at it? Did your script remove some information from the questions by any chance?

These instances are present in the original dataset as well(https://github.com/hendrycks/test).
Let me take this issue up because simply removing these instances might introduce skewness.

Check PR#665 once. I don't think there are too many such instances. If you think such instances are low, we need not worry about skewness.

Check PR#664 once. I don't think there are too many such instances. If you think such instances are low, we need not worry about skewness.

Thanks! I think we need not worry about skewness since there are fewer than 20 such instances.

@pulkitverma25 good to close this issue?

Yes. We can close this now.


Way to get onChange of terminal?

I am scratching my head on this one, I don't want to get the full command on enter, I instead want to bind to every change that occurs when typing in the terminal (we use a fully simulated pty backend, so we must send a character at a time).
It is not clear if this is possible in the current release, am I missing something?

Why would you need each change can you give me more details as to the use case. Why would your simulated pty backend need each character?

Unfortunately I am merely the front end monger, but the idea is basically it simulates a total pty enviornment and every keystroke is sent to the backend, it isn't really sent a "command" it is sent a series of characters and when it is then also fed an enter key it acts as a terminal would and ingests what it has as a shell command.

Not currently its something I could add but I cant not promise to get to it before this weekend. But I would be happy to review a pr that adds it.

I may look into that if I have the cycles, though I may be able to jerry-rig it to work as is.  On a related but different note, I cannot figure out how to disable the built in commands completely?  I don't want help to do anything client side, since there will be a serverside help method pushed through the pty.

the best way to override the built in commands is to do just that. Pass into the commands props the commands you want to disable ie:
commands={{
  help: () => {}
}}

the names of the built in commands are 'show', 'echo', 'edit-line', 'clear', 'help'. The two I would caution against overriding would be 'edit-line' and 'clear'. The others are much less important. For instance the pseudo filesystem plugin overrides 'echo' to extend it.

The problem is, while that does override the normal behavior of 'help', it still intercepts the command and now commandPassThrough is still not being called when 'help' is entered.

try this
commands={{
  help: undefined
}}

unfortunately that throws the following error:
Terminal.js:1 Uncaught TypeError: i.method is not a function

okay 3.5.1 should fix that

Alright thank you so much, I'll keep my eyes peeled.  I'm going to attempt to implement an onchange bind somewhere in the code, admittedly this will be my first github contribution so hopefully I don't bungle it too badly!

I have submitted PR #40 .  As this is my first github/open-source contribution please feel free to tell me how stupid or wrong anything I did was.  I don't mind evisceration if it means I learn.


Add .travis.yml and update README.md for binary releases

The .travis.yml will cause Travis (when linked up) to build ktail binaries for common platforms, then use the encrypted GitHub OAuth token in ENCRYPTED_GITHUB_TOKEN (which you'll have to configure in Travis) to add the binaries to tagged releases. You can see an example of what it'll look like on my fork.
This approach does mean that the README.md should be updated in commit that is tagged for release so the installation documentation is kept up to date.

Thanks a bunch! Sorry about leaving this ignored, for some reason notifications were disabled for my repo, so I didn't get notified of pull requests.
I couldn't get it to work with $ENCRYPTED_GITHUB_TOKEN for some reason, but putting the encrypted token directly in the YAML worked. No idea why.


Contents don't pass validation scheme (GitHub)

Describe the bug
Contents don't pass validation scheme error when trying to push to GH.
To Reproduce
Steps to reproduce the behavior:

Push your tokens to GH as a new .json file
Afterwards change the destination to another file
Switch back to the earlier created .json file

Note: couldn't find the logic steps to reproduce. In the screenrecording I expected that this error occurred when changing the destination to 'newfile.json', but in the end it did only happen for the last test file 'differntfile.json'
Note 2: No errors are thrown in the error console.
Note 3: seems to have happened when a PAT is recently reset/regenerated.
Note 4: I think this thread is the outcome of the bug shown in the screen recording: https://tokens-studio.slack.com/archives/C02DLQXNY6Q/p1686852991859609
Expected behavior
That it works or that there is a clear error message in the console log, which can point us to a fix.
Screenshots or Screencasts
If applicable, add screenshots to help explain your problem.
https://github.com/tokens-studio/figma-plugin/assets/109062656/5f6ed531-5cab-4fa2-ba2c-ecc0243f08ab
JSON:
https://drive.google.com/file/d/1gR47hAttRvghIE1BhTic_SACF4dFSBGZ/view?usp=drive_link

Migrated to Featurebase


Remove superfluous information relating to modding

There was mountains of superfluous stuff, so I did a refactor according to my own personal and not at all opinionated code style.
I kept the licensing in there, because licensing.

``


accept RFC: DID Exchange Protocol

Signed-off-by: Sam Curren<EMAIL_ADDRESS>

@TelegramSam what's the status on this RFC? Do you still need to make changes or is it ready to merge?

I believe this RFC is ready to be accepted. It still needs clarifying work, but the name has been settled.

@TelegramSam FYI: there are some minor issues (like using the term HIPE instead of RFC and a missing reference) as mentioned in the comments above.


Replace dictionary proxies with nested dictionaries 04/N

Rename StringDictionaryProxy get/add transient string methods to match the dictionary interface.

but the previous interface was nice because we knew these strings were temporary.

This is an actual problem. We treat them as some special kind of strings, but we need them to be regular ones when we try to run queries on ResultSets.


Fix CRON_TZ

Neither CET (https://github.com/tim-hat-die-hand-an-der-maus/telegram-bot/runs/4574854519?check_suite_focus=true) nor Europe/Berlin (https://github.com/tim-hat-die-hand-an-der-maus/telegram-bot/runs/4574808941?check_suite_focus=true) nor Germany worked.

https://github.com/kubernetes/kubernetes/pull/102889


Rename sample_weight?

So the sample_weight parameter to fit() is designed to lets you mask individual timesteps as well. So sample_weight is not a great name since it's not actually the weight of a sample. This is causing some confusion in e.g. #451
Any thoughts on what would be better name?

I might go with, e.g. output_weight

The name sample_weight mimics the equivalent argument in sklearn. I don't think it should be renamed.
The dual behavior can be confusing and should be clarified in the documentation.

Fair enough. I've put up a PR #494 for that.


Color of Logo Slightly Off From Background

Via @ajhodges

"the background color of the logo is slightly different than the color of the header "

via the HG conversation.

Logo is showing #251d4a and header is showing #201748. Any chance at a logo with a transparent background?

I removed the background color of the logo. Thank you for the suggestion.


Added Progress bar while navigating pages

Added a progress bar that shows up at the top when the page changes. Just like on Vercel
The color I chose right now is the primary purple color #d6bbfa
But I think the citrus color looks better. Let me know what you like

Could you configure the height to 2? I think it's a little bit thick.
Nice initiative though, i like it :+1:

Done @codeicodes! The question mark is a mistake lol


0

Confirm by changing [ ] to [x] below to ensure that it's a bug:

[x] I've gone though Developer Guide and API reference
[x] I've checked AWS Forums and StackOverflow for answers
[x] I've searched for previous similar issues and didn't find any solution

Describe the bug
A clear and concise description of what the bug is.
Version of AWS SDK for Go?
Example: v1.29.22

get SDK version by printing the output of aws.SDKVersion in your code after importing "github.com/aws/aws-sdk-go/aws"

Version of Go (go version)?
To Reproduce (observed behavior)
Steps to reproduce the behavior (please share code or minimal repo)
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

Reem

Redme

[ ] #


What are the best practices for using ClusterServingRuntime and ServingRuntime?

I want to create a ServingRuntime named my-custom-mlserver to serve as the runtime. However, I noticed that the generated deployment environment variables are missing MLSERVER_MODEL_NAME and MLSERVER_MODEL_URI.
Upon checking the code, I found that the logic for setting environment variables checks the name of the runtime, and only when the name is kserve-mlserver are the mlserver-related environment variables injected.
This strategy of making exact matches based on the ClusterServingRuntime CR name seems to make it difficult to extend custom ClusterServingRuntime and ServingRuntime CRs.
https://github.com/kserve/kserve/blob/e879a397b38fdcbebd8ec004c4da87916fb30a03/pkg/apis/serving/v1beta1/inference_service_defaults.go#L273-L278
Given this scenario, do you have any suggestions for a better approach? How should I use ServingRuntime and ClusterServingRuntime to customize the runtime effectively?

@sivanantha321
Do you have any suggestions for using this?

One way to do it is to manually add the envs using podSpec either in the SR or in the ISVC.
But indeed, this check could be improved to inject the envs for custom SRs by adding, an annotation or label.