Failure to compile on Ubuntu 21.04

$ ./bootstrap-orbit.sh

does a bunch of stuff (see log.txt), then fails as following:
ERROR: crashpad/20200624@orbitdeps/stable: Error in source() method, line 77
	self.run("gclient sync --no-history")
	ConanException: Error 2 while executing gclient sync --no-history

im guessing it might have something to do with qt5-default not being available on 21.04?

Hi Ben,
that seems to be rather related to some Python2/Python3 issue. Apparently crashpad still needs Python2 to build properly.
From your log:
[E2021-11-07T01:27:58.957652-06:00 38987 0 annotate.go:241]   reason: could not find Python for: 2.7.0

I suggest to build without crashpad. To do so you have to create a new conan profile file in ~/.conan/profiles/.
Let's call it default_no_crashpad (~/.conan/profiles/default_no_crashpad) with the following contents:
include(default_relwithdebinfo)

[options]
OrbitProfiler:with_crash_handling=False

Then you should be able to build Orbit without crash handling support by calling: ./build.sh default_no_crashpad in the repo root.
Cheers,
Henning

Sure enough, Python 2 did the trick. Thanks!


k8s: v1.4.6 -> v1.5.1

Hi @colemickens, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Cole Mickens). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Hold off, we should take 1.5.1 when it's released sometime today. Will update this PR...

PR updated for 1.5.1. @anhowe please take a look.

Any update on this? We're blocked on using ACS because we need 1.5.1 for auto provisioning disks..

This is now merged, we'll get it into the upstream rollout.

Thanks @brendanburns! We would appreciate it if you could ping us here when
this rolls out. Thanks :)
On Jan 6, 2017 11:21 PM, "Brendan Burns"<EMAIL_ADDRESS>wrote:

This is now merged, we'll get it into the upstream rollout.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Azure/acs-engine/pull/146#issuecomment-270961507, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAB23gBBx0l3WDQ0a_QO1-K5StVCQX49ks5rPn8_gaJpZM4LMEqz
.

Just a gentle bump to check if this ever got deployed on ACS :D

Yes. It's deployed.


Reusable workflow updates

Questions for reviewers

Tag strategy, given that we are hardcoding the tags inside the reusable workflows (in order to be able to nest reusable workflows). Some options:

Date based tag: gha-ios-2024.10.30 OR gha-2024.10.30 (without platform)
Semantic version based tag: gha-ios-1.0.0

Also can be matched to the major version of the extensions it applies to, like AEPTestUtils

Should the release actions be allowed to rerun without failure if a GitHub release with the same tag already exists? This could be useful in cases where the action needs to be rerun, such as for an expired CocoaPods token.

Currently, the action fails if a GitHub release with the given tag already exists, which can happen if the release was created successfully in a previous run but failed afterward due to other issues.

[!NOTE]
Currently using the placeholder tag gha-1.0.0 in this PR, but it can be updated to whatever final strategy we land on.

Description

[!IMPORTANT]
This PR changes how tags are used within the reusable workflows. Before, the tags were passed to the workflows and now they are hardcoded to match the tag they will be released with.
This means that the tag maintenance burden is on the aepsdk-commons side and not the caller, and also enables us to more easily use nested reusable workflows.
jobs:
  validate-versions:
    name: Validate Versions
    # Making use of existing reusable workflow for version update/validation
    uses<EMAIL_ADDRESS>    with:
      version: ${{ github.event.inputs.tag }}
      branch: ${{ github.ref_name }}
      paths: ${{ inputs.version-validation-paths }}
      dependencies: ${{ inputs.version-validation-dependencies }}
      update: false

  release:
    runs-on: macos-latest
    # Make the rest of the release job dependent on version validation passing, and don't
    # need to add all the script caching + downloading boilerplate
    needs: validate-versions
    steps:
    - uses<EMAIL_ADDRESS>    ...

This PR fixes the implementation of the reusable workflows: versions.yml and ios-release.yml, updated input var names in android-maven-release.yml and updates documentation.
ios-release.yml

Fixed incorrect version validation step (thank you for helping catch this @addb) which was relying on caller repo's local Makefile and version.sh. Replaced with usage of Commons version.py script with associated cache + checkout logic.

versions.yml

Fixes logic to only create PRs when in update mode, and removed previous git add exclusion for aepsdk-commons scripts
Simplified update flag logic by using GitHub Actions ternary instead of shell scripting
Reordered inputs to put mandatory paths before dependencies
[Breaking change] Renamed version-verify-paths -> version-validation-paths for clarity
[Breaking change] Renamed version-verify-dependencies -> version-validation-dependencies for clarity

Text/doc related changes:

Renamed "verify" to "validate" for clarity
Updated usages of semantic version to 1.2.3
General description documentation improvements

android-maven-release.yml

[Breaking change] Renamed version-verify-paths -> version-validation-paths for clarity
[Breaking change] Renamed version-verify-dependencies -> version-validation-dependencies for clarity

versions.py
Updated documentation for consistency with changes in versions.yml
workflows.md
Newly created documentation that covers requirements for reusable workflow usage
Example job runs
Using the fixed versions logic in iOS release:

https://github.com/timkimadobe/aepsdk-edge-ios/actions/runs/11604162252/job/32312457073

Validate versions run:

https://github.com/timkimadobe/aepsdk-edge-ios/actions/runs/11602900386/job/32308827376

Example of error output from version validation fail:

https://github.com/timkimadobe/aepsdk-edge-ios/actions/runs/11602875852

iOS Release with new chained version validation workflow

https://github.com/timkimadobe/aepsdk-edge-ios/actions/runs/11604128651

Android release with new chained version validation workflow

https://github.com/timkimadobe/aepsdk-edge-android/actions/runs/11604368274

Android update versions example:

https://github.com/timkimadobe/aepsdk-edge-android/actions/runs/11604298045/job/32312825791

Alternative implementations
For the version validation logic used in the iOS and Android release workflows, I tried to simplify the amount of boilerplate steps surrounding cache, checkout, using the script, cleanup by exploring the alternatives:
Using Javascript workflow dispatch
This could work but is more cumbersome because a PAT is required since GITHUB_TOKEN auto-authorization for this kind of dispatch only works for workflow_dispatch and repository_dispatch events (our reusable workflows use workflow_call)

Source: https://github.blog/changelog/2022-09-08-github-actions-use-github_token-with-workflow_dispatch-and-repository_dispatch/
Issue: https://github.com/actions/github-script/issues/250
Also see documentation on actions: https://octokit.github.io/rest.js/v21/#actions

the github instance is a wrapper around the octokit object, provided by github-script

Code example: https://github.com/actions/github-script/issues/128
Another code example: https://stackoverflow.com/questions/69203666/programatic-github-workflow-dispatch-does-not-run-the-workflow

# TEST: using workflow dispatch to programmatically set tag
- uses: actions/github-script@v7
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    debug: true
    script: |
      const workflow = await github.rest.actions.createWorkflowDispatch({
          owner: "adobe",
          repo: "aepsdk-commons",
          workflow_id: "versions.yml",
          ref: "${{ inputs.workflow_tag }}",
          inputs: {
            version: "${{ inputs.tag }}",
            branch: "main",
            paths: "${{ inputs.version-validation-paths }}",
            dependencies: "${{ inputs.version-validation-dependencies }}",
            workflow_tag: "${{ inputs.workflow_tag }}"
          }
      });
      console.log(workflow);

Using composable action
This doesnt work for the same reason that the version.py script is not accessible from the context of the caller repo - if you want to use a composite action defined in aepsdk-commons you need to download the action definition somehow and you're back where you started.
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

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

@timkimadobe

1. Tag strategy, given that we are hardcoding the tags inside the reusable workflows (in order to be able to nest reusable workflows). Some options:
    Date based tag: gha-ios-2024.10.30 OR gha-2024.10.30 (without platform)
    Semantic version based tag: gha-ios-1.0.0
        Also can be matched to the major version of the extensions it applies to, like AEPTestUtils
2. Should the release actions be allowed to rerun without failure if a GitHub release with the same tag already exists? This could be useful in cases where the action needs to be rerun, such as for an expired CocoaPods token.
    Currently, the action fails if a GitHub release with the given tag already exists, which can happen if the release was created successfully in a previous run but failed afterward due to other issues.

After giving it a bit more thought, I prefer using tags synced with major versions instead of date. The main reason is that we may end up supporting the current major version alongside the previous one for a period before deprecating it. Keeping separate major versions would make managing both much easier.
I expect the following order of operations.

if (create_github_release) {
    // Create a tag and GitHub release; fail if the tag already exists.
}

if (release_pods) {
    // Check if the tag exists.
    // Publish pods.
}


Bump UI to Angular 5 - [closed]

In GitLab by @luotian-github on Jan 19, 2018, 03:04
Merges dev-new-angular -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:27
the coverage is  8.7% check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:27
closed


Export InputSignal and OutputSignal

In order to write something like this, InputSignal and OutputSignal need to be made public.
Can they be made public, or is there a good reason that they are currently not public?

I think we can do that for now but in genera we are already exposing too much internal implementation for GPIO
Ideally, we should have better ways in the HAL to specify optional pins in future
@jessebraham what do you think about this?

Ok let's merge it - as said we are currently exposing way too much internal implementation but I see it's currently useful


add more anchor validation tests

I had a user report that my library isn't checking anchors correctly.  Apparently I missed that the allowable characters changed from 2019-09 (and previous) to 2020-12.
This PR adds more tests for anchor validity.
I have updated my implementation and verified these new tests against it.

Over in (unmerged) PR https://github.com/json-schema-org/JSON-Schema-Test-Suite/pull/718 I remove the tests this expands, after discussion in https://github.com/json-schema-org/JSON-Schema-Test-Suite/pull/716, on the basis that it's not really testing anything in particular about $anchor but is just testing the pattern that the meta-schema applies to the value.

Ah, yeah, I remember seeing that.
While I don't disagree with the argument, I hadn't noticed the pattern change, and I feel that this would have caught my error.

I guess we really just need a way to say, "This schema is invalid," which is something that seems to keep coming up.


-help does not output help text before stdin closes.

$ chart -help
# waits for stdin
^C

but,
$ echo | chart -help
  -date-format string
    	Sets the date format, according to https://golang.org/src/time/format.go.
  -debug
    	Use to make sure to double-check the chart is showing what you expect.
  -h	Show help.
  -help
    	Show help.
...

I expect -help to show help immediately without waiting for stdin.

Thanks for the issue report! Could you go get -u github.com/marianogappa/chart and validate if the fix works for you? Cheers.

@marianogappa It works, thank you :).


Microchip dsPIC33 Optimizations

The dsPIC33 series have __builtin instructions for multiplication and division that will perform faster than the boilerplate code.  The library could be more optimized - particularly for multiplication and division.

Results in /libmathq15_xc16.s


add zbase32 support

I would like to contribute zbase32 support. Would the project accept such a contribution?

I believe z-base-32 has already been implemented in #25  (commit 145447d06f307610cee2b2381b48606506d1b88e) which has been published on crates.io as v0.5.0.

Thank you! Works as intended :+1:


Fix broken link

The link pointing to Why Immutability Is Important was pointing to a wrong URL. This Pull Request includes a patch related to this.

Thanks for the PR! I think this was a misunderstanding though 😄


BlockRepository and utility tests, small fixes

Several new classes fully tested.
Moved BlockNotificationFeatureTest to the Notifications folder.
DatetimeProvider interface is now registered with it's interface in the services.
BlockRepository Initialize has been moved outside the constructor. Updated the registration.
updated the contribution guide links.

Please carefully review the changes regarding datetimeprovider and blockrepository initialize. All tests pass on my machine and it runs without any issues.

Great PR and I have nothing to add to @dangershony's comments.

It looks good to me @bokobza can you double check and push.

All good with me.


Trojan detected in SetSublimeLayered.exe

Symantec Endpoint Protection is flagging the file SetSublimeLayered.exe under Trojan.Gen.2. It doesn't look like this package has changed much over the last few years, but that particular file looks to have been updated in the last few days but with no corresponding entry in the changelog.

As mentioned in #28 this is a false positive.
Analysis here:
https://www.virustotal.com/#/file/9a3e0ddfafc9ae0d71192c312476c80d668fb96380bd1d35da59d925e3433755/detection
Some antiviruses will always  have that false positive. I recompiled it using the latest assembler compiler and there it is mentioned in the commit.
I'd like to use python script only to set SublimeText into layered mode (to support transparency), but it crashes when it is set from SublimeText plugin context, so a third executable does that (setsublimelayered.exe) and to keep it small I use assembler in order not to attach big executable file. Maybe compiled in another programming language will not be detected as malware, who knows, each antiviruses suffer from those false positives.
The source code is there, it can be compiled by anyone and prove.


Update lidar.ipynb

Fixes #36.
Change open zip file & tar file variables to use the whole path.

Thank you for your contribution.


Syntax issue in Xlsx section of wiki

The examples of import in the wiki section: https://github.com/agershun/alasql/wiki/Xlsx#options are missing a close bracket for the xlsx fucntion of the SQL.
Should look like:
    alasql.promise('select * from xlsx("cities.xlsx",{sheetid:"Sheet2"})')
            .then(function(data){
                 console.log(data);
            }).catch(function(err){
                 console.log('Error:', err);
            });

This is the case for all 3 options listed in this section.

How embarrassing. Its fixed now!


RFC: Iteration API

My current thinking for a coherent API:

columns -- returns (named) tuples of column vectors themselves.

columns(c::Columns) = c.columns
columns(c::Columns, which...) = c.columns[[which...]]
columns(t::IndexedTable) = (t.index.columns..., t.data.columns...)
  # ^ named tuple if everything is named
columns(t::IndexedTable, which...) = all columns with those names
  # ^ this one assumes uniqueness of names / continuity of numbering
  # among index and data cols

Not sure how useful this is for users, but it's useful to implement row iterators below.

rows -- iterator over rows.

rows(c::Columns) = c
rows(c::Columns, which...) = Columns(columns(c, which...))
rows(t::IndexedTable) = Columns(columns(t))
rows(c::IndexedTable, which...) = Columns(columns(t, which...))

 :) I find this quite apt, but will admit it might be confusing because of the naming.

keys, values and pairs -- iterators over rows that acknowledge the key-value pair view of IndexedTable

keys(t::IndexedTable, dims...) = Columns(columns(keys(t), dims...))
values(t::IndexedTable, dims...) = Columns(columns(values(t), dims...))

pairs(t::IndexedTable) = Columns(keys(t), values(t)) # nested Columns

Bonus feature:
which arguments to columns (and hence dims args in other operations) can be Symbol, Int or As --As(f, src_name, dest_name) will cause a field to be renamed in the output named tuple and optionally apply a function f on it before jamming it into the output.
The exciting part is, all these can be implemented on DTable. If we had a common name for an IndexedTable constructor, (say table(keys, vals)), then we can dispatch to create either a DTable or an IndexedTable based on whether the inputs are distributed or not. I can imagine some operations (e.g. select, permutedims) could have a common implementation.
I will rebase #55 against this.
cc @JeffBezanson @StefanKarpinski @davidanthoff

Looks good to me!
Only potential minor issue is the continuous numbering of index and data columns. Maybe it's clear from context whether column numbers refer to the whole table or just the index/data part.

We can have a convention that rows(t::IndexedTable, which...) and columns(t::IndexedTable, which...) number the columns of the keys(t) 1:m, and columns of values(t) (m+1):n. Also, if the data is a vector m + 1 to refers to it.

So tables won't be naturally iterable?

No, tables can still be iterable. Columns will still iterate rows, and IndexedTable will still iterate values like an array.
Maybe rows(t::IndexedTable, which...) should be rows(columns(t, which...))?

and IndexedTable will still iterate values like an array.

Out of curiosity, what is the function of this? As in, what have you used it for?

rows(columns(t, which...))

And something like rows(cols::Union{Tuple, NamedTuple}) = Columns(cols)? That could work...

@andyferris map(f, t::IndexedTable)::IndexedTable is similar to map on sparse matrices... It also allows you to create new data columns by returning (named) tuples from f -- that's pretty useful.

Where did sparse matrices come from? You mean because elements might be Null?
OK, I guess I was expecting to map over rows.
map(row -> (a = row.a, c = f(row.b)), indextable)

Here, I can change the column names as I wish. row would include the key columns and all the other columns.

and IndexedTable will still iterate values like an array.

I'm trying to understand this - is a value a single field of a single row? (Or is the half of the row which isn't in the key/index columns?)

Where did sparse matrices come from?

An IndexedTable is an N-dimensional sparse cube... It's indexed by arbitrary orderable values instead of 1:n, 1:m etc. keys will give you those indices. We wrap n-d array operations like mapslices, broadcast and reducedim etc, also 2-arg map is defined using innerjoin.
One difference from N-D array is its dimensions are not bounded... We haven't seen many weird implications of that in practice, moreover we know the bounding box so we can treat it as a cube if we need to. Another difference is dimensions can be continuous. Again, no issues have come up because of this.

I'm trying to understand this - is a value a single field of a single row? (Or is the half of the row which isn't in the key/index columns?)

Conceptually, the values are stored as a single vector. Columns is just columnar storage for tuples. Columns is a subtype of AbstractVector.
julia> t = IndexedTable(Columns(x=[1,1], y=[1,2]), [3,4])
x  y │
─────┼──
1  1 │ 3
1  2 │ 4

julia> eltype(t)
Int64

julia> t[1,2]
4

julia> t = IndexedTable(Columns(x=[1,1], y=[1,2]), Columns(([3,4], [5,6])))
x  y │
─────┼─────
1  1 │ 3  5
1  2 │ 4  6

julia> eltype(t)
Tuple{Int64,Int64}

julia> t[1,2]
(4, 6)

julia> t = IndexedTable(Columns(x=[1,1], y=[1,2]), Columns(a=[3,4], b=[5,6]))
x  y │ a  b
─────┼─────
1  1 │ 3  5
1  2 │ 4  6

julia> eltype(t)
NamedTuples._NT_a_b{Int64,Int64}

julia> t[1,2]
(a = 4, b = 6)

map(row -> (a = row.a, c = f(row.b)), indextable)
row would include the key columns and all the other columns.

The question is what's the output indexed by? (considering map(f, ::IndexedTable) gives an IndexedTable)
What this proposal allows is slicing and dicing the values or keys in terms of their columnar representation and then iterating over the resultant vectors. With this proposal, you could write map(row -> (a = row.a, c = f(row.b)), rows(indextable)) to have your way. It would return a Columns, an AbstractVector. You can use Columns as either the keys or values to construct a new table / subset it and create a new one etc. See #55 for more on constructing new tables from subsets of existing columns.
Great questions, I suppose we have some work to do in terms of documenting this.
Cheers!

An IndexedTable is an "opinionated" view of a table where some column(s) is/are designated as the "data" you're more interested in, so for example functions like maximum(itable) work automatically and give the maximum data value. Or you can have tables called speed and time, and write speed .* time and it will join on the index parts and call * on the data.

@sashi Thank you for the detailed answer. :)

An IndexedTable is an N-dimensional sparse cube...

I have had a few conversations with Jeff about this. It's my opinion that the analogy with a "sparse subset of a N-D space of indices" will prove to be counter-productive.
If something has N dimenensions (or lives in a N dimensional space) then what we mean is that the space is the Cartesian product of N spaces. It has been pointed out to me that "dimensions" can mean slightly different things (you can say a matrix is a 2D container, or you can say you have a 2D vector) but in all cases you are taking the Cartesian products (a matrix may live in ℝⁿ ⊗ ℝᵐ, a 2-vector may live in ℝ² which is a Cartesian product of ℝ with ℝ). A sparse matrix is just a dense matrix where you are using compression techniques to use less memory, taking advantage of the fact that the dense matrix has many elements equal to zero. The interface and our discussion of a sparse matrix is the same as a dense matrix but it may do some things faster.
On the other hand, IndexedTable is definitely making use of the same kind of sparsity-pattern we use to implement SparseMatrixCSC. However, the interpretation is quite different... If you have a table like
x  y │ a
────────
1  1 │ 3
1  2 │ 1
1  4 │ 5
2  3 │ 4
2  4 │ 0

then the indices do not live in (1,2) ⊗ (1,2,3,4) because there is no element at (x=1, y=3). In a sparse 2D structure all such elements exists, and they may be e.g. Null, but as I understand IndexedTable this is not at all the interpretation.
I would rather say that the example table is better viewed as a mapping between the 1D list of 2-tuple indices ((1,1), (1,2), (1,4), (2,3), (2,4)) and the values (3,1,5,3,0). You are taking advantage of sort-ordering to enable fast lookup, and you might say you conceptually store the indices as (1 ⊗ (1,2,3) ⊕ 2 ⊗ (3,4)). This kind of "nested" (lexicographically sorted) indexing layout is pretty powerful but it's not quite right to say its N-dimensional. (I'm sorry - this got really mathy really quickly!! But I hope you understand? I feel poor language and subtle misunderstandings can lead to poor design decisions in the future)

So another way to look at an IndexedTable is a mapping between a keys vector and a values vector. The keys vector is always a vector of tuples (aka Columns).

Yep, I was beginning to see this.
So I have a proposal in this space, to try and unify how we deal with tables and relations in Julia. I spoke with Jeff at JuliaCon hackathon and have since spent a couple days playing around with relations, syntax, iteration, and so-on.
I have heard the arguments surrounding, e.g., having Dict iterate values rather than pairs, on the basis that the keys are metadata. This seems fine to me - no objections. For an example in the table space, the row index in a DataFrame is called Row and basically is metadata. On the other hand, when I look at IndexedTable, I see data to the left of the vertical line and data to the right. If you want to do arbitrary relational operations on IndexedTable, to me it makes sense if we say it is a container of rows of all the columns (e.g. you can make a new table containing only x). In a relational database, columns which are keys (or which are indexed by sorting, etc, but not necessarily unique) as treated equally as data and equally by syntax in SQL. However, the RDMS knows which columns are keys, which are sorted, and so on, and can use this information to execute the query (and each operation in the query like join) quicker.
I would like to propose we try mimic the same thing in Julia. That is, we promote a "relational interface" where tables are seen as collections of rows (of all the data fields, i.e. those that participate in the relation). For some tables like DataFrame where the index used in getindex is just the row number, and this index might be metadata rather than a field. It is not a part of the relation we are trying to represent. For tables with key columns, the key column can simultaneously be data and also what is used in getindex to fetch rows quickly. There is no paradox there. The "relational algebra" interface could be richer than just bare iteration of rows - we should be able to interrogate a table and ask it if it has any uniqueness constraints and any acceleration indexes.

An IndexedTable is an "opinionated" view of a table where some column(s) is/are designated as the "data" you're more interested in, so for example functions like maximum(itable) work automatically and give the maximum data value. Or you can have tables called speed and time, and write speed .* time and it will join on the index parts and call * on the data.

OK, that seems like cool use of broadcast. I was hoping at some point we would have sensible (perhaps relational-algebra motivated, or perhaps indexing motivated) broadcasting over tables.
(OTOH I would feel slightly sad if I had to type rows(table) whenever I wanted to see the relational structure, because I'd like to treat IndexTable and tables from other packages uniformly as relations)

Ok, I can understand that you don't want to write rows(table), but other people want to be able to write a .* b and the kind of getindex we have here (of course there might not be a conflict there --- I don't know if the relational interface will contain getindex). A zero-tolerance policy on interface variations is too limiting.

A zero-tolerance policy on interface variations is too limiting.

I agree with Jeff here, Andy. Consumers of IndexedTables could use rows(t) when appropriate...
That said, I kinda wish rows(t)[5:10] (or filter on rows(t)) would give the subset of rows but as an IndexedTable with the same structure. But there might be an elegant solution in:
select(t) do table
   rows(table)[5:10] # or filter
end

This was brought up by @VenkatSubramaniam's experiments with the package.


Is the ctc decoder supports word piece decoding ?

Question
I've found this tutorial from pytorch.  It mentions the decoder is ported from flashlight. However, it doesn't mention whether this decoder support wordpiece/sentpiece/bpe decoding.  I've tried several audio files and with a model whose outputs are bpe, but the output is just empty. Not sure if there's any guide on how to do this.

@Slyne — would you mind moving your question to https://github.com/flashlight/text? We've moved decoding utilities there.
In short — yes, the decoder supports word piece/sentencepiece/BPE decoding. The decoder doesn't care about the modeling unit -- if you provide a token set that's composed of word pieces and a lexicon that has word spellings in terms of word pieces, then you can do beam search in the same way as you'd do with individual letters, but using word pieces instead.


Failed to execute code samples - https://github.com/kubeflow/kfserving/pull/1330

Hey, I am using KF serving and I asked for an example on how to create an inference service that is using grpc.
After installing kubeflow from here: https://www.kubeflow.org/docs/started/k8s/kfctl-k8s-istio/ using kfctl to install version
https://raw.githubusercontent.com/kubeflow/manifests/v1.2-branch/kfdef/kfctl_k8s_istio.v1.2.0.yaml I get the following error:
no matches for kind "InferenceService" in version "serving.kubeflow.org/v1beta1"
Seems like the examples does not work. Am I missing something?
kfctl version: kfctl v1.2.0-0-gbc038f9
Kubernetes master version: 1.18
Also, using v1alpha2 api does not work, it gives me:
Error from server: error when creating "test.yaml": admission webhook "inferenceservice.kfserving-webhook-server.validator" denied the request: Exactly one of [Custom, ONNX, Tensorflow, Triton, SKLearn, XGBoost] must be specified in PredictorSpec

@daganida88 kubeflow 1.2 does not support KFServing v1beta1.

I managed to do it using a custom model.

spec:
default:
predictor:
custom:
container:
name: grpc
args:
- --port=9000
- --rest_api_port=8500
- --model_config_file=gs://tensorflow_serving_poc/model_config
image: tensorflow/serving
ports:
- protocol: TCP
name: h2c
containerPort: 9000

I tried your example, but the part of the port did not work. my example worked.

@daganida88 ye this is only supported in v1beta1 for prepackaged tensorflow which allows you specifying container field, in v1alpha2 the only possible way is to use custom.

Ok cool. thanks, bro, waiting for v1beta1 ;)

Ok cool. thanks, bro, waiting for v1beta1 ;)

v1beta1 is always released in KFServing 0.5, it will be integrated to kubeflow 1.3.


Menu::Manager: implement some tests.

I took the Menu::Manager changes from #2244 with some minor modifications and w/o the secondary permission system changes. @tenderlove : is this ok with you?
Next I want to write some specs that will capture the behavior of .visible? for custom menu items.

@tenderlove : please, review

@martinpovolny :+1:


Scope of standards to add

Hey @donBarbos thanks for the great initiative, I was just about to start this myself until I find yours :-)
How far is your intended scope for standards to add in relation to programming? Consider the following examples:
Direct relation to software engineering:
UML - https://www.omg.org/spec/UML/2.0/About-UML
Less directly related to software engineering but highly relevant for implementations:
BPMN - https://www.bpmn.org/
Survey Interchange Standard  - https://triple-s.org/
PDF - https://pdfa.org/
Some interchange standard from a scientific domain:
REFI - https://www.qdasoftware.org/
Which of these would you consider to become part of this repo, which not?

Hello @jankapunkt and thanks for paying attention to this.
In my opinion the main thing is that when adding any specifications for them the correct topics are defined. Just come up with the most suitable name for the topic before adding.
Also I would like to cover the largest number of specifications, and it will be correct to add not standards separately but catalogs (resources) where the specifications are stored, for example instead of:
https://www.omg.org/spec/UML/2.0/About-UML
use:
https://www.omg.org/spec
I don't know what topic to put BPMN and Survey Interchange Standard in, but PDF can be in File Formats. But PDF format is described in ISO, and ISO has already been mentioned as a catalog.
Scientific domain might be interesting if you provide enough good examples so that we can highlight and add standards to this list.


2 Progress Values

I'm not sure if this is a bug or not.
If I start a download, then kill my app (using the stop button in xCode), then resume my app and start the download again, the progress block seems to be fired twice with different values.
Any idea why it does that?

I did some testing and discovered that I have multiple tasks piling up in the background session manager.
This post helped me find the issue.
http://stackoverflow.com/questions/23492311/nsurlsession-background-task-avoid-duplicates

Here's where I'm lost.
If I start a download request, and the app is killed or suspended. Doesn't TWRDownloadManager lose track of the download objects in the download arrays?
How does it know where to copy the files when it's done downloading?

I'm experiencing the same issue.

I am surprised to see that this is an issue. The whole reason why I chose this library was because of its ability to perform background tasks. If that doesn't work, then Houston we have a problem.
@Hackmodford, did you check in your code that a download was not in progress and that the file didn't exist before requesting the download?

This only happens when you kill the app with Xcode or if the app somehow crashes, the reason behind this is that background tasks are not killed by Xcode when you stop execution, the background task stays running with the same identifier, thus when you open the app again the handler will fire twice due to the recent "lost" download, and the actual download you're starting.

I see. I was under the impression that the whole purpose of URL session was
precisely to be able to handle this kind of situation amongst others.
I will check if it's not due to the way it was implemented
in TWRDownloadManager.
On Mon, Apr 24, 2017 at 8:57 AM, Sami Sharaf<EMAIL_ADDRESS>wrote:

This only happens when you kill the app with Xcode or if the app somehow
crashes, the reason behind this is that background tasks are not killed by
Xcode when you stop execution, the background task stays running with the
same identifier, thus when you open the app again the handler will fire
twice due to the recent "lost" download, and the actual download you're
starting.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/chasseurmic/TWRDownloadManager/issues/24#issuecomment-296658442,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbz-lnCVYDATWI9448YMc3187MnUKWrks5rzJw6gaJpZM4G01pn
.

I'm 100% confident that this is caused by NSURLSessionDownloadTask itself since i already tried writing my own library using NSURLSession and ended up with the same exact results.

Ok. I will ready about it and see what's being missed.
On Mon, Apr 24, 2017 at 2:51 PM, Sami Sharaf<EMAIL_ADDRESS>wrote:

I'm 100% confident that this is caused by NSURLSessionDownloadTask itself
since i already tried writing my own library using NSURLSession and ended
up with the same exact results.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/chasseurmic/TWRDownloadManager/issues/24#issuecomment-296788094,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbz-m0RAOKzzKqiNhwQA8kTzt2JY0s9ks5rzO8ggaJpZM4G01pn
.


create folders to store LR / HR seperately

seems like the codes downscale and upscale in train.py at real time. Suggest to do it offline. FFMPEG has different scaling filter. we can reuse that to generate training picture.

After have seen the code in SRCNN, I think do this in real time is possible to generate training picture.No speed need.
And thank you.

This is great project, now is it support colorful picture?

It just need more time to let it work. 😂

now, we support colorful picture


fix: allow preload=false on the <Link> component

fixes not being able to set preload=false.
preload should be able to accept the following type preload?: false | 'intent' | undefined, however, currently it only allows preload?: "intent" | undefined.
Setting false, should disable the default configured preload behaviour (on the router) for that specific <Link>. This current behaviour already functionally works, but it looks like somewhere along the way (possibly with the introduction of the createLink function), the preload typing between LinkProps and the LinkComponent look to have drifted.

This isn't the only drift, there seems to be drift between the mask property on the LinkProps type and what is actually accepted on the <Link> component.
Types of property 'mask' are incompatible.
      Type 'ToMaskOptions<Route<any, "/", "/", string, "__root__", RootSearchSchema, RootSearchSchema, RootSearchSchema, RootSearchSchema, ... 11 more ..., any>, string, ""> | undefined'
      is not assignable to type
           'ToMaskOptions<Route<any, "/", "/", string, "__root__", RootSearchSchema, RootSearchSchema, RootSearchSchema, RootSearchSchema, ... 11 more ..., any>, RoutePaths<...>, ""> | undefined'.

Possibly also with the params property?
I'm not able to fully debug this during my break, but I figured this was an easy enough fix to get shipped.

Closed as this is a duplicate of #1316


chunked consumes nested iterators

Hi y'all, I'm not sure if this is a feature or a bug, but it's definitely confusing (then again, that's iterators in Python for ya): it seems like chunked is somehow consuming nested iterators.
For example, this bit wouldn't work as (I) expected:
more_itertools.chunked(itertools.groupby(range(10), lambda x: x % 3 == 0))

I'd expect the sub ranges to be untouched, but it seems the generators are consumed by chunked.
Runnable example in the following file:
#!/usr/bin/env python3

import itertools as it
import more_itertools as mit

def greedify(x):
    """Recursively convert any iterator to a tuple"""
    if not hasattr(x, '__iter__') or isinstance(x, str):
        return x
    else:
        return tuple(map(greedify, x))

def debug(x):
    """Iterator-aware version of pprint.pprint.

    Destructive on iterators.

    """
    import pprint
    pprint.pprint(greedify(x))

def main():
    a = it.groupby(range(10), lambda x: x % 3 == 0)
    debug(a)
    # Output:
    # ((True, (0,)),
    #  (False, (1, 2)),
    #  (True, (3,)),
    #  (False, (4, 5)),
    #  (True, (6,)),
    #  (False, (7, 8)),
    #  (True, (9,)))
    #
    # Ok!

    a = it.groupby(range(10), lambda x: x % 3 == 0)
    debug(mit.chunked(a, 3))
    # Output:
    # (((True, ()), (False, ()), (True, (3,))),
    #  ((False, ()), (True, ()), (False, (7, 8))),
    #  ((True, ()),))
    #
    # What?

    a = it.groupby(range(10), lambda x: x % 3 == 0)
    debug(mit.chunked(greedify(a), 3))
    # Output:
    # (((True, (0,)), (False, (1, 2)), (True, (3,))),
    #  ((False, (4, 5)), (True, (6,)), (False, (7, 8))),
    #  ((True, (9,)),))
    #
    # Ok!

if __name__ == "__main__":
    main()

Is this expected? I'm confused by that non-greedified mit.chunked call.

Hmm, I didn't expect it, but it occurs with the current implementation chunked, previous implementations of chunked, and with grouper.
As you say, when we run this code:
from itertools import groupby
from more_itertools import chunked

iterable = range(12)
func = lambda x: x % 4 == 0
all_groups = groupby(iterable, func)
all_chunks = chunked(all_groups, 2)

for chunk in all_chunks:
    for key, group in chunk:
        print(key, list(group), sep='\t')
    print('---')

we might expect this output:
True	[0]
False	[1, 2, 3]
---
True	[4]
False	[5, 6, 7]
---
True	[8]
False	[9, 10, 11]

However, we actually get:
True	[]
False	[1, 2, 3]
---
True	[]
False	[5, 6, 7]
---
True	[]
False	[9, 10, 11]

Let's change the input to some other iterable of iterables:
from more_itertools import chunked

all_groups = ((i, iter('abc')) for i, n in enumerate(range(10)))
all_chunks = chunked(all_groups, 2)

for chunk in all_chunks:
    for key, group in chunk:
        print(key, list(group), sep='\t')
    print('---')

We get the expected output, yes?
0	['a', 'b', 'c']
1	['a', 'b', 'c']
---
2	['a', 'b', 'c']
3	['a', 'b', 'c']
---
4	['a', 'b', 'c']
5	['a', 'b', 'c']
---
6	['a', 'b', 'c']
7	['a', 'b', 'c']
---
8	['a', 'b', 'c']
9	['a', 'b', 'c']
---

So is this something to do with groupby? I think it is. The docs warn:

The returned group is itself an iterator that shares the underlying iterable with groupby(). Because the source is shared, when the groupby() object is advanced, the previous group is no longer visible. So, if that data is needed later, it should be stored as a list

If we adapt that, we're back to what we expect:
from itertools import groupby
from more_itertools import chunked

iterable = range(12)
func = lambda x: x % 4 == 0

all_groups = []
for k, g in groupby(iterable, func):
    all_groups.append((k, list(g)))

all_chunks = chunked(all_groups, 2)

for chunk in all_chunks:
    for key, group in chunk:
        print(key, list(group), sep='\t')
    print('---')

True	[0]
False	[1, 2, 3]
---
True	[4]
False	[5, 6, 7]
---
True	[8]
False	[9, 10, 11]
---

So I think this is a documented quirk of groupby, not anything to do with this library.
Tell me if that doesn't sound right to you!


localCI: don't re-test a PR if its hash doesn't change

PRs are re-tested if its hash doesn't change

still occurs under certain conditions


Compilation/build issue

trunk> ./gradlew :sagan-site:bootRun
FAILURE: Build failed with an exception.

Where:
Build file '/export/shared_build/users/anil/sagan/trunk/build.gradle' line: 90

What went wrong:
A problem occurred evaluating root project 'sagan'.

Could not generate a proxy class for class org.springframework.boot.gradle.SpringBootPluginExtension.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
Total time: 4.965 secs

hey there, I have the same problem. my JAVA_HOME is set correctly to the JDK 1.8.0_25, and I can see that the right java.exe file is called. still facing the same issue with the spring jar...
by the way I'm working with a flatdir repository, with the spring jar in place. I also know that the folder access is correct cause once I change the folder name the build fails with a whole lot of missing jar files.

Hi @eyaleee
What command are you using? ./gradlew :sagan-site:bootRun or are you trying to run the executable jar java -jar target/sagan-site.jar?
Could you give some information on your:

operating system
output of ./gradlew --version
the complete stacktrace of that command with --info

Hi all, I also faced the same issue. JAVA_HOME is JDK 1.8. There are some information:
apply plugin: 'spring-boot'

dependencies {
    runtime fileTree(dir: 'lib', include: '*.jar')
}

buildscript {
    dependencies {
        classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE'
    }
    repositories {
        flatDir {
            dirs 'build-lib'
        }
    }
}

If ./gradlew --version also gives you a JDK < 1.8, then you should look into your OS setup and turn to gradle forums or StackOverflow to resolve this issue.


A date outlier

In raw_data.json endpoint, there is a case where statuschangeddate is earlier than dateannounced.
The statepatientid is 'KL-TV-R2'.
# All values of the recovered patient

array([['', 'Returned from London via Bahrain ', '', 'Recovered',
        '13/03/2020', 'Thiruvananthapuram', 'Thiruvananthapuram',
        'Kerala', '', 'M', 'India', 'Travelled from London via Bahrain ',
        '87',
        'https://english.manoramaonline.com/news/kerala/2020/03/13/coronavirus-covid19-cases-kerala-pinarayi-vijayan-italian-kollam.html',
        'https://www.thehindu.com/news/national/kerala/coronavirus-thiruvananthapuram-officials-release-travel-history-of-two-who-tested-positive/article31068119.ece',
        '', 'KL', 'KL-TV-R2', '01/03/2020', 'Imported']],
      dtype=object)

It looks like a data entry error since the number of days to recover should be positive(dateannounced - statuschanged)

Fixed at the data source. However, we are not sure when this patient was discharged. Hence making the statuschange date same as dateannounced.


[Question]: Filter warning logs ?

What is the new or updated feature that you are suggesting?
Be able to filter out some of the consol warnings (in the dev server's terminal).
Why should this feature be included?
I am currently building a backoffice with Remix for my company.
But, in order to make the process easier I am currently using AntD ui library. For some reasons, the components they expose use :
useLayoutEffect which "throws" a warning in the terminal telling that useLayoutEffect will not work correctly with SSR.
In general, we want to have these issues in order to fix them in the code, but here, it's in the library and in the dependencies of the library 'rc-select', so those warning are turning the terminal console into a real nightmare.
Especially because for each impacted components, we have the warning displayed in the consol. It makes it harder to read the server consol for debugging purpose or even when the server will be in "production".
In consequence, I think it would be valuable to be able to filter out these logs.
Maybe there's a possible way to do that already ? (And I'm sorry to ask if that's the case).
Anyway, keep going with your wonderful project ! It's a real pleasure to code with Remix.
Thanks !

The Remix App Server uses a built-in Express server, but they don't expose the config. I would recommend using the Express adapter so you have full control.
In your server/index.js file
const oldLogger = console.error
console.error = (...args) => {
  // check to see if it should be filtered
  if (args.any(arg => arg.includes('useLayoutEffect'))) return
  // no, so output it
  oldLogger(args)
}

Thanks !

Hello
what is the advantages using remix than react?


UI for adding testcases

IMPORTANT : Make sure #19 has been resolved and closed before you start solving the current issue.
Testcases are currently saved manually. Enable creating and adding testcases from /admin panel(or bank app) while adding problems in problem bank using a UI. Save all testcases in src/server/bank/testcases.
When a problem is added from problem bank to contest problems, make sure the corresponding testcases are copied to src/server/contest/testcases/ as well.

Update: #19 has been closed. Can proceed forward with this.


Adjust the exp of client secret

Is it possible to make this a configurable value? It looks like in TokenGenerator class in GenerateClientSecret this is set with an exp of 5 min?
https://github.com/Accedia/appleauth-net/blob/6d567bab4e88b92063e1ebbbde24bd978045a2f6/Cryptography/TokenGenerator.cs#L30
I would like for a way to make this longer but not seeing this is supported. Before I fork the repo and add a change is this something anyone has already added or plan to?

According to the Apple docs, you can specify an expiration of up to 6 months—"The value must not be greater than 15777000 (6 months in seconds)"—but it appears this repository does not allow for customization of expiration time (e.g. generation of client secret in this repo with expiration of 5 mins).

@scottluskcis Thank you for the contribution! I have merged your PR and will release a new version in NuGet as soon as I add some more changes. Feel free to propose any other updates as well!

Awesome, thanks for the quick response @DanailStoichkov! Great library, has been very useful. I'll look to contribute additional things in the future!

@DanailStoichkov will a new release be pushed out that contains this change so I can update my NuGet package?

@scottluskcis Not for now. We will add some other small changes before doing a release. You can just create a local nuget package and reference it for now.


New Feature: onyo get return codes should match grep's

Currently, onyo get returns 1 only if there is an error.
I propose that we match grep's behavior, which allows for some useful functionality.
From grep's manpage:

EXIT STATUS
Normally the exit status is 0 if a line is selected, 1 if no lines were selected, and 2 if an error occurred.  However, if the -q or --quiet or --silent is used and a line is selected, the exit status is 0 even if an error occurred.
...
-q, --quiet, --silent
Quiet; do not write anything to standard output.  Exit immediately with zero status if any match is found, even if an error was detected.

I propose that onyo get:

return 0 if matches were found
return 1 if no matches found (i.e. no results)
return 2 for error

We already have --quiet as part of onyo --quiet
I cannot think of an error in onyo get that still leads to a successful query. So we can ignore that aspect of their functionality.
The real value of --quiet is to abort searching early once a match is found. But that optimization (and its architectural tradeoffs) is not within the scope of this issue. If desired, a separate issue should be opened to track that.
In the end, this functionality would allow for scripts such as the following:
for d in $(onyo get --type directory); do
    onyo --quiet get --type directory,asset --include "$d" || echo "empty dir: $d"
done

This is an informative distinction and programmatically reliable, since return 1 in your suggestion is easier than catching 0 in stderr and No assets matching the filter(s) were found in stdout.

+1 in principle

I cannot think of an error in onyo get that still leads to a successful query.

That may be the case WRT to validation. In get we might easily stumble upon a file, that's not an asset but also not onyo-ignored yet (there's an error message for it, but it has no effect on the exit code as of now - regardless of switches). Similar things could happen with any sort of validation failure or invalid asset files.

Hmm... I see your point. Maybe this behavior will change as we approach fsck, but our general idea has been to abort fully if the repo or asset is invalid in any way.
I think for now I would like to continue with that assumption, until we load the headspace of fsck and "what guarantees are we making by even invoking onyo".
If +1 in principal... I have opened #683 :-D


Customize Obsolete Actions

Hi, In my api controller i have specified obsolete attribute on a particular action with a message. And, in the swagger ui it end up showing as Warning:Deprecated ( attached image). Is it possible to change the text color of the warning message from green to red and also show the message which was specified on that action.
[Obsolete("Please use the another method to register")]

Okay, I figured to how to mark the obsoleted action as red. I used custom javascript and manually changed the color to red. Here's the snippet if anybody is looking for it and attached image is the result.
var elms = document.getElementById("element_Content_id").getElementsByTagName("h4");
elms[0].style.color = "Red";
elms[0].style.fontWeight = "bold";

However, still not sure about the message that we add along with obsolete param.
[Obsolete("Please use the another method to register")]

The swagger-ui is driven purely off the Swagger JSON that's generated and served up by Swashbuckle. For example, the warning you see above is rendered if the corresponding Operation description has the "deprecated" flag set. The spec doesn't currently support an associated message for this flag but you could extend it and apply some more JS to display the message from your C# attribute in the UI. I haven't tried this but here's the rough idea:

Create an IOperationFilter (see readme) that inspects the ApiDescription for the presence of the Obsolete attribute
apiDesc.ActionDescriptor.GetCustomAttributes

If it exists then add a "vendor extension" property to the corresponding Operation description
operation. vendorExtensions.Add("x-deprecated-message", attribute.Message)

Inject some JavaScript that iterates each operation in the DOM
$("li.operation").each

For each one pull out the id attribute and use it to look up the message from the corresponding description
window.swaggerApi["Account"].operations["Account_Register"]["x-deprecated-message"]

Thanks, it makes sense. I will try that.

I tried to do like this but not sure how can i see the message in the DOM.
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
        if (operation.deprecated == true)
        {

            operation.vendorExtensions.Add("x-deprecated-message", "This is  a message");
        }
    }


Not able to generate coupon code while creating cart rule.

Bug report
Not able to generate coupon code while creating cart rule.
Issue Description
Not able to generate coupon code while creating cart rule.
Preconditions
Commit Id:fdc330f7e5e7d2b919c611a205db1364f69c477b
Steps to reproduce
1. step1- Create a cart rule and select coupon type as specific
2. step2-In coupon code section fill all details and click on Generate

Expected result
Coupon code should be generated
Actual result
Getting error message

Commit Id: 655d2abf1174ec750d6526038ec650d1484db9be

Fixed


Fade in effect for background images

Hi,
I am currently using the fade in effect for img elements, but I also want to achieve the same effect for elements with a background-image.
I have this markup, as per your documentation:

And this CSS:
.lazy:not(img) {
	opacity: 0;
	transition: opacity 1s;
}

.lazy:not(img)[data-was-processed="true"] {
	opacity: 1;
}

This CSS lacks backward support and is on some cases buggy.
Support: Is it possible another way with greater support?
Feature Request: I noticed that classes .initial, .loaded and .error are not applied, perhaps this would enable, or at least enhance this ability and allow better styling?
Thank you and great work!

Temporarily, I'm using:
.lazy:not(img) {
	opacity: 0;
	transition: opacity 1s;

	&[data-was-processed="true"] {
		opacity: 1;
	}
}

However, this lacks backward support and is also quite buggy, as it flashes, rather than fades in smoothly.

Hi @elliottmangham,
thanks for asking this.
The problem you're highlighting is because in Javascript there is no way to tell when a background image has been loaded, so we can't add the loaded class to the image and we can't fire the loaded callback (callback_load).
First of all I would ask you why are are you using background images if you are loading content images. This is not a best practice imho, for more than one reason.
If you are willing to continue doing this, there is a workaround you can develop to make it happen. Please read #199 as you might find the solution there.
Let me know if it helps.

Thanks @elliottmangham!
Kudos are always welcome 😄


Question/Feedback: Missing steps for android integration

I've done react-native link and got it working on iOS (Analytics has data), but not Android.
From my shallow observation, maybe we need to add things like
import com.microsoft.appcenter.reactnative.appcenter.AppCenterReactNativePackage;
import com.microsoft.appcenter.reactnative.analytics.AppCenterReactNativeAnalyticsPackage;
import com.microsoft.appcenter.reactnative.crashes.AppCenterReactNativeCrashesPackage;

...
    protected List<ReactPackage> getPackages() {
        return Arrays.asList(
            ...,
            new AppCenterReactNativePackage(MainApplication.this),
            new AppCenterReactNativeCrashesPackage(MainApplication.this, "XYZ"),
            new AppCenterReactNativeAnalyticsPackage(MainApplication.this, true)
         );
     }

Since 1. those packages exist and I didn't find anything in the link script, and 2. I can't get Android integration work
Also, AppCenterReactNativeCrashesPackage seems to live under the wrong package namespace, which differs from its path.
I could be totally wrong, please kindly correct me if that's the case.

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

ID: 7ed0fde7-9e78-c318-9f8c-9d921ec7d7b3
Version Independent ID: 946ead1c-4b65-8318-c77a-ef98873adac7
Content: Get Started with React Native - Visual Studio App Center
Content Source: docs/sdk/getting-started/react-native.md
Service: vs-appcenter
GitHub Login: @elamalani
Microsoft Alias: elamalani

Update: I added these 6 lines and it shows up in app center. Might be a delay, since there's no precise time so there's no way for me to make sure.

@shivawu The comments feature of our documentation is intended to enable customers to suggest changes to the docs or ask clarifying questions about the docs.
App Center support is provided directly from within the App Center portal. Any time you need help, just click the blue chat button in the lower-right corner of any page and our dedicated support team will respond. For additional information, see the [App Center Help Center] (https://intercom.help/appcenter/getting-started/welcome-to-app-center-support).

I'm confused with the comment. Compared to the other 2 comments on the page, which is related to the exact same topic (#174 and #98), why is this one not qualified as a "suggested change" or a "question"? Also my question is not answered either.
I'm aware of the support feature on the page. I just feel this might be an issue with the doc so it's faster to report it here.

@shivawu you're asking a question about how to get something to work - that makes it a support question. We have an experienced team manning support, and that's the way you get help with App Center.  Asking for help on the docs doesn't get you direct access to people who can help. If there's something missing in the docs, let us know, but get it working with the help of the support team - they, or you, can recommend doc changes based on what you learn getting past your issue.

Great, thanks for the clarification


Add runtime test(s) for useUds (unix domain sockets) in client

Problem
We need to add a test with
const prisma = new PrismaClient({
  __internal: {
    useUds: true
  }
} as any); // remove as any if you are using js

uds is off by default but still used by some people when they have problems with default approach.

I would like to tackle this issue.

Hi @toshi1127
I only saw your message today.
Let me know if you are still interested.
What you could do is copy this folder
https://github.com/prisma/prisma/tree/a949fdb477c1f3b8431c4064bc8ea89b4648ea02/src/packages/client/src/__tests__/integration/happy/blog
maybe name it uds and make it more minimalist with PrismaClient instance like
const prisma = new PrismaClient({
  __internal: {
    useUds: true
  }
} as any);

Hi @Jolg42
I opened a PR for this.

@paularah Thanks for the PR! 💚 I checked it out, it looks good! Just wanted to have Will's review before merging!

Looks like PR is merged so I am closing this.


Collection.Len() should be cheap

It's very likely that API users will assume it is. E.g. for i := 0; i < l.Len(); i++.
Right now it does some decoding for each call.

A while ago it used to be the case that New{List,Set,Map} would pre-compute the length and store it on the struct directly.

We currently sum up the numLeaves of all elements of a sequence. This was the case even before the current changes. This requires us to do a bunch of varint decoding but that is it. We already know the index of where this varint is located so we do not have to seek through the sequence at least.


Function to export Roam node w/o links

I like to export Roam nodes to html for copying to slack etc but the links to other nodes always causes it to error (unresolvable from Org's perspective). Plus they wouldn't be useful to readers even if they worked.
There's a fn to ignore errors on links when exporting but that simply strips the link out entirely, which isn't ideal. Ideally we'd be able to strip the link but leave the link text and export accordingly.

Don't use org-roam anymore.


image_types_resin.bbclass: Add support for gpt

Introduce new variable to define partition table type: gpt or msdos.
Introduce new function 'device_specific_configuration' allowing lower layers
to inject partition configuration before resin-boot.
Change-type: Major
Changelog-entry: GPT support
Signed-off-by: Theodor Gherzan<EMAIL_ADDRESS>

I guess change-type should be minor (as I understand it the change-type field indicates whether to increment the first, second, or third digit of the version, so setting major would bump to 3.0.0).


Adding nvim-cmp plugin

This pull request is a draft just to share my initial work on this.
As a user of nvim-cmp, I think it would be nice to have cmp as a module which this pull request aims to add.
If you have any inputs to this or any suggestions on how to improve it, please add a comment.
I will probably finish this over the next couple of days.
Config options completed:

[x] enabled
[x] performance
[x] preselect
[x] mapping
[x] snippet
[x] completion
[x] confirmation
[x] formatting
[x] matching
[x] sorting
[x] sources
[x] view
[x] window
[x] experimental

In a6be8f0 I have added a lot of cmp source plugins.
The goal was to make nixvim automatically detect if a source was added to the source array and then enable the plugin. However this lead to infinite recursion for some reason and I have no idea why, I hope someone can take a look at it.
Please let me know if you have questions.

Hi! I'd love to have nvim-cmp on NixVim, actually setting up LSP and autocomplete automatically was what made me create it in the first place, just never got around to finishing support... 😅 So this is definitely extremely welcome!
Unfortunately I can't review this right now though, as I'm away for vacation and will be for the next two weeks, but I'll make sure to check it out. If you can get it working and can confirm it works, I'll merge it though!

Everything should work now, I haven't tested out all options, since I am not completely sure on some of them.
Source plugins will be automatically installed, but weirdly enough from the plugins that I tested it cannot find the cmp-nvim-lsp plugin.
I think this must be a problem with the nix package of the plugin.
Output from :CmpStatus
# ready source names
- buffer
- path
- luasnip

# unknown source names
- nvim_lsp

But the plugin is installed as I can see from the following output
$ ls /nix/store/vyjg8p1cn68yd633ksl63x6q3qhilizf-vim-pack-dir/pack/home-manager/start/ | grep cmp-nvim-lsp
cmp-nvim-lsp

Anyway I think the module is fine and is ready for merge, but I might tidy up some of the code.

Could you maybe try using cmp-nvim-lsp as the source name?

I tried with cmp-nvim-lsp and nvim-lsp, but I just get the same output from :CmpStatus

Alright then, gonna merge this, but please open an issue for the non working plugin.


PI-317 Add project templates to bootstrap

Initially I thought it was going to be message listener or message listener with incoming api requests to distinguish the two types of service we have? Here it appears that the message-listener with api client is the former. However, not sure how often (if ever) we will have a service without the api client since the events are always 'lightweight' and usually have to call the detail url? Will there be a third type added for incoming API requests and message handling -- eg Pre-Sentence Reports?

Yes we should add a template for message-listener-with-api-server (or something, I couldn't think of good names for these 😅).
Technically yes our message listeners should always be making an API call to a detailUrl, however that's currently not the case for prison-custody-status-to-delius, and for this new one risk-assessment-scores-to-delius.  So I decided to create a simple template without the api-client, that I could test when creating the risk-assessment-scores-to-delius project.
@anthony-britton-moj could I get another review?


iOS: "text selection" box appears when interacting with sliders

can this be prevented?
https://www.vidvox.net/rays_oddsnends/18.08.30-r6se-10.40.06.mov

I believe I've fixed this! hit it and see... 551c845


Can't work on RBR750 with <IP_ADDRESS>firmware

@bkerler Hi Sir, i have used this for my RBR750, the FW is what i can find the up to date on Netgear, which is 7.2.x.x.x
I run the code, it can successfully sending PW data. But i am not able to telnet the router. Is not working with the latest firmware?

@bkerler Sir, are you there? Is this already got stopped updating? If so, i will need to get other ways like nmrpflash

I also noticed that this stopped working when on 7.2.x.y (I have a different model but it used to work on 6.x.y.z).

If someone can upload a dump of the 7.2.xx firmware, I can have a look

It can be easily downloaded from Netgear Support Portal.
On Sun, May 26, 2024 at 12:00 AM Bjoern Kerler @.***>
wrote:

If someone can upload a dump of the 7.2.xx firmware, I can have a look
—
Reply to this email directly, view it on GitHub
https://github.com/bkerler/netgear_telnet/issues/41#issuecomment-2131316870,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD5DFY4MB3KAJPGK2MK35GLZECYQBAVCNFSM6AAAAABB2XT3SOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZRGMYTMOBXGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Thanks,Tony

Actually it does work, but they have disabled password auth in ssh but instead use a hardcoded rsa public key, so it's useless unless you change the ssh setup somehow.


Tensor not dropped after another tensor was assigned to variable in cuda

Hello,
When I execute this code
`let tensor1 = Tensor::randn(0f32, 1f32, &[1024,1024,1024], &gpu)?;
let tensor1 = candle_nn::ops::softmax_last_dim(&tensor1)?;
let tensor2 = Tensor::randn(0f32, 1f32, &[1024,1024,1024], &gpu)?;`
It takes 12GB of VRAM instead of 8GB. It runs into OOM error in cuda. The old tensor1 is not dropped in second line.
Meanwhile with this code:
`let tensor1 = Tensor::randn(0f32, 1f32, &[1024,1024,1024], &gpu)?;
let tensor2 = candle_nn::ops::softmax_last_dim(&tensor1)?;
drop(tensor1);
let tensor3 = Tensor::randn(0f32, 1f32, &[1024,1024,1024], &gpu)?;`
the memory is correctly cleaned.

Same with cpu btw

That's not really specific to candle but rather a rust behavior: variables only get dropped at the end of the scope (it also applies to mutex guards and all other RAII use cases).

Au temps pour moi. Je n'avais pas compris cette subtilité, je viens de
relire le passage sur le shadowing dans le manuel de rust. Bon ben je vais
dropper manuellement pour faire de la place.
Merci pour ta réponse rapide.
Le jeu. 20 juin 2024 à 10:24, Laurent Mazare @.***> a
écrit :

That's not really specific to candle but rather a rust behavior: variables
only get dropped at the end of the scope (it also applies to mutex guards
and all other RAII use cases).
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/candle/issues/2277#issuecomment-2180103962,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMUATYQBHQHKO4JBEEO4ALZIKGSFAVCNFSM6AAAAABJTN27KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBQGEYDGOJWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Subctl gather should prompt the list of contexts and allow users to pick one (or all)

What would you like to be added:
Currently, when the KUBECONFIG file includes multiple contexts, and user executes subctl gather ... command, the command is executed with all the contexts and the summary.html includes the information for all the contexts. While this is okay when the contexts point to different clusters, but we have seen many instances where the KUBECONFIG includes multiple contexts for the same cluster and user is not even aware of this. The side effect of this is that it take a good amount of time for the command to complete particularly in large clusters and also makes it difficult to troubleshoot the issue looking at the summary.html as it has so many entries.
Proposal:
When the command subctl gather ... is run, present the user with a list of contexts and give them the option to choose the context (either a single context or all) on which the command should be executed.

@sridhargaddam Would the problem be solved if we de-duplicate the clusters, ie if multiple contexts point to the same cluster by name then we pick one of contexts and ignore the rest?

@sridhargaddam Would the problem be solved if we de-duplicate the clusters, ie if multiple contexts point to the same cluster by name then we pick one of contexts and ignore the rest?

Even when multiple contexts point to the same server, the user-account associated with each context can have different privileges. It would be hard to automatically figure out which context has admin privileges. But, we can try running a command that usually requires admin privileges against all contexts (belonging to the same cluster) and see if it succeeds, and use the same for capturing the logs (i.e., gather)

Even when multiple contexts point to the same server, the user-account associated with each context can have different privileges. It would be hard to automatically figure out which context has admin privileges. But, we can try running a command that usually requires admin privileges against all contexts (belonging to the same cluster) and see if it succeeds, and use the same for capturing the logs (i.e., gather)

So what command would we run?
How about we de-duplicate by cluster and, if there's multiple contexts for a cluster, we prompt the user to pick the context for that cluster?
The downside with prompting is if the shell is non-interactive. For verify where we prompt for disruptive tests, we print s message and continue running with non-disruptive tests. In this case, we can print a warning and skip the cluster or just pick one of the contexts. If it fails the user can re-run with specific context(s).

As an alternative to prompting we could bias towards using the cluster's context whose associated user is also associated to another cluster's context. So we first iterate all the contexts and compile the count of contexts for each user. Then for a cluster with multiple contexts we select the one with highest associated context count. Presumably an admin should be associated with most contexts. If there's only one cluster then just pick the first - if it fails the user can re-run with a specific context. We can log a warning re: multiple contexts and the one we selected.


iTwin Reality Data integration

Description
This PR is building off of #12289 to add an easy function to load Reality Data meshes. Currently we are only supporting 3D Tiles meshes and pointcloud types of Reality Data to keep the initial integration simple. More can be added in the future but they will require different datasources and constructors in CesiumJS and will require a little more thought on how to design the API.

Issue number and link
No issue

Testing plan

Running the test sandcastle

Load the new sandcastle and make sure it loads.
Check that the reality mesh in that iTwin loads and shows in the surrounding area.

Author checklist

[ ] I have submitted a Contributor License Agreement
[ ] I have added my name to CONTRIBUTORS.md
[ ] I have updated CHANGES.md with a short summary of my change
[ ] I have added or updated unit tests to ensure consistent code coverage
[ ] I have updated the inline documentation, and included code examples where relevant
[ ] I have performed a self-review of my code

@ggetz I've added tests now and I think addressed all your comments above. Should be ready for another look and I think it's close to done if not already there

@ggetz I agree the tileset in the sandcastle was too low quality by default. I check some other reality meshes I have access to and sse of 4 looked better on all of them too so I just set it as the default as you suggested.


Feat: better output  for listing LDAP users

Reason for draft status
Is already based on PR. Waiting for this PR to be merged
Old output vs new output
New

VS
Old

Dependencies
Introduces 2 dependencies:

Insta for snapshot testing. Its usage is documented in CHANGELOG.md.
prettytable for the new output format of listing LDAP users.

optional: keep ugly machine readable stuff. Might be useful at some point.

@dwgnr  merge conflicts resolved


Add IPPool and LoadBalancer resources

WORK IN PROGRESS, DO NOT MERGE
This is work in progress for adding IPPool and LoadBalancer resources to the Harvester Terraform provider. These resources are defined in the harvester-load-balancer package.
The goal is to add the ability to manage these resources to the Terraform provider, as well as documentation and tests.
The current status is that most of the data structures and scaffolding is in place, but the functionality is only partially implemented.
related-to: harvester/harvester#4813
related-to: harvester/harvester#4814

@m-ildefons I add the 1.5.0 milestone to the related issues. The change in terraform is not tied to 1.4 or 1.5 since there is no required feature to be implemented on the Harvester side.


[bug] Unable to upload tasks using the /vs/tasks API after latest release.

After the latest update our program that we use to update and create projects and challenges no longer seems to be able to push tasks using the /v2/tasks/ API.
I don't see any errors (still trying to debug) but the same program was working before the update.
Basically I am able to create the project and challenges, but the challenges end up with no tasks.
Here is an example of the body of a POST that succeeded but I see no task in the challenge
[{
"instruction":"1. The railway (OSM ID: 429776488) has one or more car navigable intersections on the same layer that are missing intersection nodes. To fix: If highway crosses the railway at the same layer then make sure that there is a node connected to both railway and highway at the intersection with `railway=level_crossing` tag. If highway and railway are on different layers then update the appropriate layer tag for the way that goes under or over the other way.",
"name":"429776488000000",
"parent":18791,
"geometries":{"type":"FeatureCollection","features":[{"geometry":{"type":"Point","coordinates":[175.454017,-40.0391091]},"type":"Feature","properties":{}},{"type":"Feature","geometry":{"type":"Point","coordinates":[175.454017,-40.0391091]},"properties":{"synthetic_highlight_point":"yes","flag:check":"New Zealand - LevelCrossingOnRailwayCheck","flag:generator":"Atlas Checks"}},{"type":"Feature","geometry":{"type":"LineString","coordinates":[[175.4744477,-40.0245979],[175.473619,-40.02515],[175.4723771,-40.0256727],[175.468301,-40.027488],[175.467397,-40.027955],[175.466945,-40.028276],[175.466441,-40.028725],[175.461919,-40.033492],[175.460949,-40.034367],[175.446806,-40.044042],[175.445895,-40.044713],[175.445147,-40.04553],[175.444593,-40.046477],[175.442938,-40.049806],[175.44244,-40.05183],[175.4421602,-40.0523498],[175.44213,-40.052406],[175.441338,-40.053496],[175.441028,-40.054076],[175.44059,-40.055306],[175.440241,-40.056511],[175.440153,-40.057106],[175.440159,-40.058096],[175.440094,-40.058711],[175.439835,-40.059508],[175.439513,-40.060076],[175.438867,-40.06092],[175.438516,-40.061467],[175.437995,-40.062836],[175.437698,-40.063398],[175.437304,-40.063919],[175.436816,-40.06439],[175.436048,-40.064928],[175.435152,-40.065361],[175.4343417,-40.0656859],[175.4171953,-40.0725868]]},"properties":{"gauge":"1067","last_edit_changeset":"100741116","identifier":"429776488000000","itemType":"Line","iso_country_code":"NZL","osmIdentifier":"429776488","usage":"main","operator":"KiwiRail","voltage":"25000","frequency":"50","last_edit_user_name":"Kelerei","electrified":"contact_line","last_edit_time":"1615345503000","last_edit_user_id":"233136","name":"North Island Main Trunk","railway":"rail","last_edit_version":"2"}}]}
}]

I posted that ^^^ body to the /v2/tasks API on the swagger page (https://maproulette.org/docs/swagger-ui/index.html?url=/assets/swagger.json#/) and I received a good response.
{
  "status": "OK",
  "message": "Items created and updated"
}

but no tasks were added to the challenge as viewed through the gui: https://maproulette.org/browse/challenges/18791

I am seeing this same thing as well. Has the geometries property changed for the task json? I'm seeing that in the swagger example is marked a string, but classically it is a geojson geometry object.

A PR is up to resolve the issue.  Apologies for the bug.

I am seeing this same thing as well. Has the geometries property changed for the task json? I'm seeing that in the swagger example is marked a string, but classically it is a geojson geometry object.

This is unrelated to the issue but a good question.  The endpoint accepts both a string or an object.  The Task Model in the API requires a string, but the Task services do the conversion automatically, depending on the data type provided.  Providing an object seems much more user friendly to me, so this is my guess as to why it was made that way.

@jschwarz2030 thanks for the fix! Could this be a candidate for a hotfix prior to the normal monthly release?

Yes we are deploying a patch update early this week.


Swashbuckle.AspNetCore is being removed in .NET 9

Description
See  #32099
Page URL
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/openapi?view=aspnetcore-8.0
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/fundamentals/minimal-apis/openapi.md
Document ID
b18acd86-50e3-2316-27be-27156651e5a8
Article author
@Rick-Anderson

Associated WorkItem - 232966

@Rick-Anderson, what is the intended action for this one, or is that still to be figured out?  I was putting Swashbuckle in for the VS Code/VS for Mac scenarios.  Although I may switch over to NSwag after just seeing the announcement on this.
Or is the scope of this issue intended for adding a note pertaining to the announcement?

@Rick-Anderson, what is the intended action for this one, or is that still to be figured out? I was putting Swashbuckle in for the VS Code/VS for Mac scenarios. Although reconsidering NSwag after just seeing the announcement on this.
Or is the scope of this issue more narrow and specific, such as a note pertaining to the announcement?


User Search, User Profiles & Frenchization 🇫🇷

Why
so that users can finally find each other, add as friends and do things from there (like creating debt accounts and workspaces)
Screenshot

Next steps

Continue with frenchization to some extent,
Workspaces logic with friendships
Graceful Shutdown (started on this but not done yet)


Add Example section with how-to for actions

@cjellick

@cjellick Nice catch on the missing end quotation mark. Should be fixed now.


Problems with html_safe in Rails 5

I recently updated my application to Rails 5.0.6 and was rerunning the test suite when formtastic-bootstrap threw an error relating to the html_safe command.
Failure/Error: <%=  ep.input :media_link, input_html: { onBlur: 'onYouTubeIframeAPIReady()' }, label: t('activerecord.attributes.engagement_player.media_link') %>

ActionView::Template::Error:
    undefined method `html_safe' for Formtastic::Util:Module
    Did you mean?  html_safe?

I dived into the code for this gem and line 14 (the line that the full error report says is the issue; see pastebin link below) doesn't even have html_safe on it, so I'm not sure where the error message is coming from. Anyone have any insight into this issue or have experienced anything similar?
lib/formtastic-bootstrap/inputs/base/wrapping.rb
----------------
08 | def bootstrap_wrapping(&block)
09 |   form_group_wrapping do
10 |     label_html <<
11 |       template.content_tag(:span, :class => 'form-wrapper') do
12 |         input_content(&block) <<
13 |         hint_html(:block) <<
14 |         error_html(:block)     # Problem line
15 |       end
16 |   end
17 | end

Here's a Pastebin of the entirety of the error message generated: https://pastebin.com/LyLXcUcx
Thanks,
Tresky
EDIT: Formatting

Still an issue on Rails 6.0.0.rc1


feat(iris): added iris server

go1.22 is required, and future go versions depend on upgrades when merging.


MSID: 90888 Version: 1 DOI: 2<IP_ADDRESS>1320

"msas": "Epidemiology and Global Health"
"msid": "90888"
"preprintDoi": "10.1101/2<IP_ADDRESS>1320"
"Reviewed Preprint posted": "2023-10-26"
"Sent for peer review": "2023-07-10"
"Posted to bioRxiv": "2023-07-11" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>1320v2/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=90888)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/90888/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1320)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[x] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/90888/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/90888)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/90888

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/90888

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/90888/v1/90888-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/90888)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Would expect the reviews to appear today since they were posted yesterday, but https://prod--epp.elifesciences.org/api/reviewed-preprints/90888/v1/reviews returns an error.

Query with Hazal in slack - https://elifesciences.slack.com/archives/CB5LYAU2G/p1698318612403939

Reviews now showing - this is unblocked


Enable compress and record database metadata

PR Description
Enable compression for the archive database to further reduce disk space.  Additionally record the settings that were used when the database was created to a metadata.yml file which is reloaded allowing us to change the values for new databases without having to introduce a new database version.
To make experimentation with different database configuration easier, values which can be changed without restarting the database can be added to the metadata.yml file (manually) and they will be loaded.  This avoids the need to add a bunch of -X options to the command line.
Documentation

[x] I thought about documentation and added the documentation label to this PR if updates are required.

Will need to change this to not use ZSTD compression as it's proving unstable (or possibly just not reliably supported):
{"timestamp":"2020-06-26T07:11:37,217","level":"INFO","thread":"vert.x-eventloop-thread-1","class":"MetricsHttpService","message":"Metrics service started and listening on 8008:8008","throwable":""}
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fe9a9866fd2, pid=11463, tid=11547
#
# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9)
# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [librocksdbjni6318734979621368944.so+0x5d9fd2]  ZSTD_decompressBegin+0x2
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /opt/teku/teku-0.11.5/hs_err_pid11463.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp

I've removed the change to enable compression and just focus on the metadata change here.  Will run some experiments with different compression options to see what works (and with this change it no longer needs code changes!)

For the record the snaky failure is a false alarm.  We only include the fixed version of the dependency it's referring to and there are actually no new dependencies or changes to dependency versions in this PR (it just adds rocks db to a new module and snaky isn't very smart).


Document regex adverb :dba

BTW, what :dba is?
> 'abc' ~~ /:dba('foo') abc/
Nil

confusing

[20:07] <moritz> (dba stands for "do business as", and is supposed to set the current rule name for use in error messages)
[20:09] <jnthn> I'm not totally sure we ever implemented :dba in Rakudo
[20:10] <jnthn> It's certainly in NQP, 'cus we use it for a load of error reporting :)

So maybe it has nothing to do with rakudo or perl6 spec. I'll remain the issue until we reach an agreement.

I think dba was actually implemented in some of TimToady's reverted commits for the change that made Grammar.parse return a useful error message rather than just Nil. Or maybe these particular commits were not reverted even.

internal feature maybe, not customer-facing


Support SPDY

In envoy's documentation, it shows that it does not support SPDY. However, we usually want to use it in kubernetes' projects.
In kubectl exec command, it widely uses SPDY to connect with kube-apiserver. So is there some plan to support SPDY?

HTTP/3 is the successor to SPDY and is still in the draft phase - https://tools.ietf.org/html/draft-ietf-quic-http. Work is being done in Envoy to support HTTP/3 but this is not yet enabled in the builds. I expect that once HTTP/3 is finalized support in Envoy will happen at some point.

SPDY is the precursor to HTTP/2 and is no longer supported, we won't implement it in Envoy. See https://github.com/kubernetes/kubernetes/issues/7452.

Now we find that kube-apiserver only proxies requests from kubectl exec. The real SPDY request is resolved in kubelet. However, we find that kubelet also supports websocket for receiving exec operation. So we use websocket to interact with kube-apiserver so that it can proxy it to kubelet's websocket api. There is a very simple example for using websocket to implement exec: https://github.com/kairen/websocket-exec. And this is another discussion for this: https://github.com/kubernetes/kubernetes/issues/89163. So we can use websocket to implement this function. Thanks for your answer.

Late comment: envoy "supports" spdy enough to front kube-apiserver. Use a route config that looks like:
route_config:
  name: frontproxy
  virtual_hosts:
  - domains:
    - "*"
    name: apiserver
    routes:
    - match:
        headers:
        - name: Upgrade
        - exact_match: Upgrade
          name: Connection
        prefix: "/"
      route:
        cluster: apiserver_upgrade
        timeout: 2592000s
        upgrade_configs:
        - upgrade_type: spdy/3.1
        - upgrade_type: websocket
    - match:
        prefix: "/"
      route:
        cluster: apiserver
        timeout: 2592000s

Then enable h2 on apiserver cluster. Disable h2 on apiserver_upgrade.
Fuller config (that worked a year ago but might need some fiddling): https://gist.github.com/mikedanese/7f1812a328ac43f88d9c49fee7670bce

For the record, I found that Azure ApplicationGateway was rewriting Connection: Upgrade to Connection: upgrade which makes the exact match fail! See https://github.com/aslafy-z/docker-envoy-https-proxy/blob/main/config.yml.tmpl#L46 for a Envoy 1.26  configuration.

I tried a config similar to this(https://gist.github.com/mikedanese/7f1812a328ac43f88d9c49fee7670bce) but envoy is rejecting it the kubectl exec request with 403. And I see this in Envoy logs: Sending local reply with details upgrade_failed.  We are using envoy version 1.25.1 as a front-proxy to kube-api-server. Any inputs here is highly appreciated!

@supreeth90 Have a try with the config in my previous post, or with the pre-built container

@aslafy-z I tried a config very similar to yours and it still fails with following logs.
[2023-12-12 23:50:47.286][15][debug][http] [source/common/http/conn_manager_impl.cc:1039] [C20][S4421001708854675231] request headers complete (end_stream=false):
':authority', '<fqdn>:6443'
':path', '/apis/ngpc.rxt.io/v1/namespaces/org-zwyedstw5rumv6kl/cloudspaces/suptestcs7/proxy/api/v1/namespaces/kube-system/pods/metrics-server-5c9974c675-r7c44/exec?command=%2Fbin%2Fsh&container=metrics-server&stdin=true&stdout=true&tty=true'
':method', 'POST'
'user-agent', 'kubectl/v1.25.2 (darwin/arm64) kubernetes/5835544'
'content-length', '0'
'authorization', 'Bearer <token>'
'connection', 'Upgrade'
'kubectl-command', 'kubectl exec'
'kubectl-session', '4b01d85d-01f4-49f8-8c71-370d9895c9c1'
'upgrade', 'SPDY/3.1'
'x-stream-protocol-version', 'v4.channel.k8s.io'
'x-stream-protocol-version', 'v3.channel.k8s.io'
'x-stream-protocol-version', 'v2.channel.k8s.io'
'x-stream-protocol-version', 'channel.k8s.io'

[2023-12-12 23:50:47.286][15][debug][connection] [./source/common/network/connection_impl.h:98] [C20] current connecting state: false
[2023-12-12 23:50:47.286][15][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:157] Called Filter : setDecoderFilterCallbacks
[2023-12-12 23:50:47.286][15][debug][http] [source/common/http/filter_manager.cc:996] [C20][S4421001708854675231] Sending local reply with details upgrade_failed
[2023-12-12 23:50:47.286][15][debug][lua] [source/extensions/filters/http/lua/lua_filter.cc:921] script log: lua filter start: qbert k8sapi content-type rewriting
[2023-12-12 23:50:47.286][15][debug][lua] [source/extensions/filters/http/lua/lua_filter.cc:921] script log: lua filter end: qbert k8sapi content-type rewriting
[2023-12-12 23:50:47.286][15][debug][lua] [source/extensions/filters/common/lua/lua.cc:39] coroutine finished
[2023-12-12 23:50:47.286][15][debug][http] [source/common/http/conn_manager_impl.cc:1615] [C20][S4421001708854675231] closing connection due to connection close header
[2023-12-12 23:50:47.286][15][debug][http] [source/common/http/conn_manager_impl.cc:1680] [C20][S4421001708854675231] encoding headers via codec (end_stream=true):
':status', '403'
'date', 'Tue, 12 Dec 2023 23:50:46 GMT'
'server', 'envoy'
'connection', 'close'

This is on envoy version v1.26.0 and mainly fails with this Sending local reply with details upgrade_failed
What do you mean by a pre-built container ?

@supreeth90 Have a look to https://github.com/aslafy-z/docker-envoy-https-proxy. I'm not sure what blocks on your case. I would recommend trying with a minimal configuration (eg: the one I linked) and once you get that working add the other bricks.


fix: remove jest-axe

Closes #
📝 Description
jest-axe was causing slowdown in CI environments. Shifting to being more explicit about accessibility testing rather than rely on a library.
Screenshots

Please provide screenshots for any visual changes

Merge checklist

[ ] Added/updated tests
[ ] Added changeset

Good call @Ashley-p44, we are planning on adding more robust unit tests as well as UX reviews and accessibility auditing in storybook!


Made TFVC plugin to be compatible with 7.3 Sonar API

Hei.
An attempt to make the plugin compatible with 7.3 https://github.com/SonarQubeCommunity/sonar-scm-tfvc/issues/41
I'm not Java developer so be aware...
There's still usage of depreciated InputFile.absolutePath() but replacing it with Paths.get(inputFile.uri()).toAbsolutePath() didn't seem to be much better and inputFile.uri() didn't work out (easily)

@gkello, thanks for your contribution.
Recently I decided to take responsibility for this repository because we (AIS) have benefited from others in the past.
Now I've taken over your change, which we've successfully used locally for a long time. However, I had to make more corrections to make the build work. That's why I'm closing this PR and have incorporated the changes into my PR #49.


compile error

please help me, when i run the command "make all"，the result is like this:
/usr/bin/ld: dist/.libs/sqlite3.a(sqlite3.o): in function pthreadMutexTry': /home/owen/workspace/sqlite-vec/vendor/sqlite3.c:29387: undefined reference to pthread_mutex_trylock'
/usr/bin/ld: dist/.libs/sqlite3.a(sqlite3.o): in function sqlite3ThreadJoin': /home/owen/workspace/sqlite-vec/vendor/sqlite3.c:33869: undefined reference to pthread_join'
/usr/bin/ld: /home/owen/workspace/sqlite-vec/sqlite-vec.c:469: undefined reference to sqrt' /home/owen/workspace/sqlite-vec/sqlite-vec.c:849: undefined reference to ceil'
many undefined reference

These are linking errors. Perhaps -lphread and -lm should be added somewhere? (althought lm is already added to Makefile)

您好：
      您的信件已收到，谢谢！

These are linking errors. Perhaps -lpthread and -lm should be added somewhere? (althought lm is already added to Makefile)

has try it , not work

Probably -lm, -ldl, and -lpthread should be added to the command of the target $(TARGET_LOADABLE) in the Makefile in the root directory. The Makefile in the examples/simple-c/ seems to need -lm, -ldl, and -lpthread as well.

您好：
      您的信件已收到，谢谢！


Polymer 2 - named slots not working in Chrome + Firefox

See following gist with very simple Polymer 2 element.
https://gist.github.com/JoernT/81ae18de0e30b57654382b8172df16a3
Slot content ('Paul, Priya' here) is not rendering in both Chrome  59.0.3071.86 and Firefox 53.0.3 on OSX 10.12.5.
When using without slot @name the light DOM is shown.
Steps to Reproduce

open vra-name-demo.html

Expected Results
Light DOM is rendered
Actual Results
Light DOM is not rendered
Browsers Affected

[x ] Chrome
[ x] Firefox
[ ] Edge
[ ] Safari 9
[ ] Safari 8
[ ] IE 11

Versions

Polymer: v2.0.1
webcomponents: v1.0.1

The issue here is with your sample. You're adding the slot="vrname" on the element itself, not on the light DOM content. If you move it to the light DOM content, your example should work:
<vra-name>Paul, Priya</vra-name>

There's no way to put an attribute on a text node, so you can't distribute unwrapped text to a named slot—only elements.

Thanks for pointing that out. What confused me is that it works as long as i had the  element as a light DOM child of another component.