Should new networkReducer replace requestsReducer

At https://github.com/klis87/redux-saga-requests/tree/network-reducer/examples/mutations/src you can see NetworkReducer I will release as a new version. It is like a manager of requestsReducers , which means that:

your won't need to use requestsReducer anymore, actually no more reducers for your remote data
you won't need to write selectors for your remote state, as everything will be kept in one reducer and remote state organized by action types
easier to use React bindings, as you could get a given state again just by providing action type

The question is now, does it make any sense to keep requestsReducer as part of API. Keeping it as an internal representation would make things much easier, as now for instance operations/mutations need to be handled differently when using networkReducer and requestsReducer(directly).
So I think we should get rid of requestsReducer completely, but I am raising this issue here as many could disagree

The more I think about it, the bigger change I will remove requestsReducer, as it will be much easier for me then to implement incoming features like cache persistence.
Also, having both requestsReducer and networkReducer makes docs complicated and possibly hard to understand, especially after dividing requests into queries and mutations. My priority is to make this library simple to learn and use, and networkReducer together with selectors can do everything requestsReducer can.

The idea behind the networkReducer is interesting, but this approach is new and different from what developers used to do. One of the biggest issue for my team was a strict separation of the network state and the local state which is close to the network state.
Example:

API provides a list of items and users can filter them.

Some developers will implement (using TypeScript, typesafe-actions, and redux-saga-requests) this functionality like:
export interface State {
  filteredItems: IItem[];
  items: IItem[];
  pending: number;
  error: AxiosException | null;
}

const initialState: State = {
  filteredItems: [],
  items: [],
  pending: 0,
  error: null,
};

export function itemsReducer(state: State = initialState, action: ActionType | AnyAction): State {
  if (isActionOf(actions.setFilteredItems, action)) {
    return { ...state, filteredItems: action.payload };
  }
  if (ActionEnum.API_ITEMS_GET_REQUEST === action.type) {
    return { ...state, pending: state.pending + 1 };
  }
  if (success(ActionEnum.API_ITEMS_GET_REQUEST) === action.type) {
    return { ...state, items: action.payload.data.value, pending: state.pending - 1 };
  }
  if (error(ActionEnum.API_ITEMS_GET_REQUEST) === action.type) {
    return { ...state, error: action.payload, pending: state.pending - 1 };
  }
  return state;
}

In example above, items and  filteredItems are closed related. And in React components (using Hooks NOT connect, for the sake of example) they can be accessed like:
const items: IItems[] = useSelector<RootState, IItems[]>(
    (state: RootState) => state.itemsState.items,
  );
const filteredItems: IItems[] = useSelector<RootState, IItems[]>(
    (state: RootState) => state.itemsState.filteredItems,
  );

If using networkReducer the  items  will be accessed like:
const items: IItems[] = useSelector<RootState, IItems[]>(
    (state: RootState) => getQuery<IItems[]>({ type: ActionEnum.API_ITEMS_GET_REQUEST })(state).data,
  );

and probably filteredItems will be in a reducer under state.local.itemsState and accessed like:
const filteredItems: IItems[] = useSelector<RootState, IItems[]>(
    (state: RootState) => state.local.itemsState.filteredItems,
  );

It can be hard to work with and debug in Redux DevTools when the state will become complex with a lot of requests and local reducers.
This approach also can be confused for developers that will join the project in the future and probably maintain the "legacy codebase" :sweat_smile:. (Along with other requirements to start working on any react/react-native app, reading redux-saga-requests docs should be a top priority)
Also, in my opinion, to truly understand queries and mutations first you should read the API several times, then make some pet project, then read again, and again then implementing in production. Can you provide more samples and explanations on this topic?

I think the API for redux-saga-requests should be separated in several .md docs for each feature.
If you bet so much on networkReducer I would suggest having a separate section where you compare networkReducer, requestsReducer and custom Reducer (something like Motivation).
Code snippets with different approaches, pros and cons will be great for teams to see if there share the same mindset in creating reducers and managing state from components and if this approach works for them.
Having sample projects is also a good idea but they should be commented with explanations why?...

Looking forward to seeing new features, improvements, and docs. Maybe one day my current project will work with networkReducer and use all the power of this package. But I will definitely consider this package fot the next projects.

@strdr4605 thx for detailed feedback
regarding 1st part, there are several things. first of all, according to best programming practices and redux guidance you should never keep filtered state in reducer, you should just use selector do derive from state (unless in your case filtered items are sth else than items)
putting this aside, if you have a local state you would like to merge with remote state, it can be easily achieved by selectors, like:
const remoteBooksSelector = getQuery({ type: 'FETCH_BOOKS', multiple: true });

const localBooksSelector = state => state.books;

const mergeBooks = createSelector(
  remoteBooksSelector,
  localBooksSelector,
  (remoteBooks, localBooks) => ({
    ...remoteBooks,
   data: [...remoteBooks.data, ...localBooks],
  }),
)

This is just an example, but generally it does not matter where state is stored, as long as it is easy to find, and networkReducer keeps everything by action type
I know that having the whole remote state in 1 place could be considered as less flexibility, but really if you use selectors and you should, then it does not matter really.
And in exchange I will accomplish:

caching with TTL support, also with possibility to cache multiple versions of a query type
super easy ssr inside redux itself, no react involved
optional automatic cache persistence, like in local storage
automatic normalisation and denormalisation
automatic optimized selectors for remote state

All those things will work simultaneously and with simplified API in comparison to current version. This will be possible, because

remote state is in 1 place,
library knows where to find remote state as it stored like designed by the library

Also performance will be better, as many checks in 1 networkReducer will be done once per action instead of multiplifying it by number or requestsReducers

Regarding React native it should just work, it should also work for Angular and anything really, as this is just Redux addon.

Examples you can find here https://github.com/klis87/redux-saga-requests/tree/master/examples

Regarding docs, I am completely aware of it, I need to finish all the features 1st though before I work on it. Getting rid of requestsReducer will make things simpler too as now API in multiple places is more complex as I need to support 2 alternative usages - requestsReducer and networkReducer
Also, before 1.0 I will move docs to https://docusaurus.io/ , with included tutorials and guides too ofc.

Done in v0.27.0


There are some mistyped words in documentation

Hello, i found some mistyped words and some examples that might be wrong in the documentation.
First I found some mistyped words in card documentation, I think this is because you are copy and paste from modal documentation :laughing:, so the word 'modal' in there should be 'card'.
Then I also found a strange example in using modal global methods documentation, I feel there are some mistakes there, and also there is one missing closing bracket.
I suggest you to re-check the documentation, may be there are some other mistakes in there.

hey @faizalami thanks for the advice I will fix those and take a second look to the docs


rpc: support all NEP11 methods which return iterators

See https://github.com/nspcc-dev/neo-go/pull/1857#discussion_r601805223.
Methods list:

Tokens (optional method)
OwnerOf (divisible method)
TokensOf? (common method)

See https://github.com/neo-project/neo-modules/pull/583


Fix Liquibase changeset relative path check

Impact

[X] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
Liquibase path handling has changed over time leading to valid paths not being accepted thus breaking changesets. This fix aims to check for all possible path variations that Liquibase used over time.

I've tested this and I'm getting what I think is the expected result. Do let me know if I'm assuming anything wrong.
Steps taken (here are the files for reference):
Using a directory structure like this:
folder1
|
+-- folder2
|     |
|     +-- change2.xml
|
+-- folder3
|     |
|     +-- change3.xml
|
+-- change1.xml

With changesets set up so that:

change1 links to change2
change2 links to change3

with relativeToChangeLogFile=true
For each of the Liquibase versions 4.19.0 through to 4.24.0, I repeated these steps:

In change3.xml, edited the changeset Id and table name so they're unique
Set the changeLogFile to change1.xml
Ran liquibase update

Then I used the PR code and ran these steps:

In change3.xml, edited the changeset Id and table name so they match one of the previous runs
Ran liquibase update
Verify that the changeset is not re-run

Results:
When using the PR code, Liquibase correctly recognises a changeset as already executed, no matter if the file path is folder1/folder2/../folder3/change3.xml or folder1/folder3/change3.xml.
Here's what might or might not be correct:
If, using this same file and directory structure, we point change1.xml directly to change3.xml, still using relativeToChangeLogFile=true, it's not recognised as the same, even though it's technically the same path.


A barcamp should have a sitemap

Including all the session detail pages.

It is maybe not that crucial to have one as most of the content has a very plain hierarchy anyway.


#0: Map .at() -> .insert() for non-existent key in dispatch kernel defines map

Ticket
Link to Github Issue
Problem description
Watcher is broken on main due to illegal map access
What's changed
Insert NOINLINE define into map rather than accessing a non existent value
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

beat me to it

I bork, I fix

Re-running post commit since the last one is unreliable


[SPIKE] Modify accordion header focus so it includes entire clickable area

Modifies the accordion component's section header focus styles so that they are applied to the entire clickable area of the header, not just the text inside of it.
For this investigation:

#3839

The modified component:
https://govuk-frontend-pr-3866.herokuapp.com/components/accordion

The unmodified component for comparison:
https://govuk-frontend-review.herokuapp.com/components/accordion

This is now being covered as part of a wider investigation into focus styles, including the accordion.


Correct casing

Corrected casing in subquery that was causing errors on case sensitive instances.
Fixes # 1435
Changes proposed in this pull request:

Correct query to use the same casing as the subquery.

How to test this code:

[ ] Run against case sensitive instance

Has been tested on minimum requirements:

[ ]  Powershell 3
[ ]  Windows 7
[ ]  SQL Server 2000

Has been tested on maximum requirements:

[ ]  SQL Server vNext
[ ]  Windows 10
[ ]  Azure Database

Tests for tester:

[ ] Working/useful help content, including link to command on dbatools web site
[ ] All examples work as advertised
[ ] Does not contain template content
[ ] Does not contain excessive/unnecessary amounts of comments
[ ] Works remotely
[ ] Works locally
[ ] Works on lower versions or throws error specifying version not supported
[ ] Works with named instances
[ ] Works with clustered instances
[ ] Handles offline/read only databases
[ ] Supports multiple servers (at the command line or piped from Get-SqlRegisteredServerName)
[ ] No un-handled errors which stop the command working with multiple servers

HEY AWESOME KENNY!!!!!!!! I'll get someone with CS to test <3!

(pumped another S Louisianan joined on in :D)

:)
On Tue, Jun 13, 2017, 10:50 AM Chrissy LeMaire<EMAIL_ADDRESS>wrote:

(pumped another S Louisianan joined on in :D)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/pull/1436#issuecomment-308161585,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARlfxcFcuMvlw0HzoiLZmFLKbzKC-Tf4ks5sDq-OgaJpZM4N4qgA
.

Ok, so disregard my approval...I jumped before I tested.
There are a few more changes that need to be made for this to support case sensitive.  Let me run the full test against it and I'll see if I can pull out which lines need updating.

Bon, yall!


macOS Catalina Support

Any chance of updating this to work in Catalina?

Find highSierraLoc = False in line 15 of the BT-LinkkeySync.py and set it to "True" to make it work on Catalina.

Setting highSierraLoc = True still doesn't work for Catalina. I believe Apple is now hashing the value of the bluetooth keys.

Hm, it did work for me. Wich version of Catalina?

Latest version. Just fully updated last night. It may be version 10.15.3

There is a software program called Hackintool that is primary used within the Hackintosh community, but it has the ability to export the Bluetooth keys into a .reg file that can be double clicked and added to the registry in windows. Very easy. I’m on my phone now at work but I can post steps when I get back to my machine at home.

In Hackintool, go to Tools tab, click the Bluetooth icon (looks disabled but it's not). It will create a Bluetooth.reg file on desktop.

Latest version. Just fully updated last night. It may be version 10.15.3

did you have resolved your problem， i have the same problem with you


Use Kyverno Client to handle CRDs

Signed-off-by: Frank Jogeleit<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

161 of 166 (96.99%)  changed or added relevant lines in 10 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.2%) to 96.494%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/kubernetes/policy_client.go
57
62
91.94%

Files with Coverage Reduction
New Missed Lines
%

pkg/kubernetes/policy_client.go
3
89.61%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
688

Relevant Lines:
713

💛  - Coveralls


abstract base class for cells

The Cell classes and the subclasses are not too bad but they could still be improved. One of the ways is to enforce consistency is to define the methods that should be overriden in the base _Cell class. This can be done using abstract base classes

closing as corresponding PR #147 has been closed


"No images in common" during Prediction

Hi @IAmWave
As communicated earlier I have set up the code and completed the training.
When I run the predictions on the given image set, it working. But when I run the prediction on my custom images it's trowing the response "No images in common", Can you let me know why is this issue happening. Thanks.
Attaching my custom images used during prediction 4,

Best Regards,
Aneesh

Could you please elaborate on the commands that you ran? The message "No images in common" comes from acres.evaluation.mask_images, which is what I suppose you're running. This command takes a directory of images and a directory of masks, and produces unblurred images by applying the mask. Masks classify the image's pixels into three categories: not-a-barcode/barcode-black/barcode-white. To obtain the predicted mask for your images, run acres.binarization.predict, as detailed in README.md. Check if this indeed produces the masks that you would expect. They should be in some subdirectory under what you entered as the --job-dir argument. Afterwards, run acres.evaluation.mask_images.

Hi @IAmWave
Apologies for the delay in reply.
Below are the commands which I am executed

Prediction

python -m acres.binarization.predict --job-dir logs/example/ --network-name strided32 --dataset-dir data/muenster_blur/ --batch-size 50 --model-name task.py-2020-04-16_125854-bs=40,cp=0.0,es=10,ih=600,iw=800,nn=strided32,pc=2,ps=1,ts=500

After successful execution of the above command, I see a new folder created under logs\example\task.py-2020-04-16_125854-bs=40,cp=0.0,es=10,ih=600,iw=800,nn=strided32,pc=2,ps=1,ts=500\predictions. i.e, it is creating the mask for the images in data/muenster_blur/images directory

Unblur the input images

python -m acres.evaluation.mask_images ./data/labels/ ./logs/example/task.py-2020-04-16_125854-bs=40,cp=0.0,es=10,ih=600,iw=800,nn=strided32,pc=2,ps=
1,ts=500/predictions/ ./results/output/ --mask-weight 0.3

This command executes acres.evaluation.mask_images by taking the images under ./data/labels directory. I have placed the images shared in the earlier post in the ./data/labels directory.
Let me if I am doing anything wrong in the above 2 steps.
When you say run acres.binarization.predict to get the predicted mask for my images. You are asking me to execute the following command,

python -m acres.binarization.predict --job-dir logs/example/ --network-name strided32 --dataset-dir data/predict_labels/ --batch-size 50 --model-name task.py-2020-04-16_125854-bs=40,cp=0.0,es=10,ih=600,iw=800,nn=strided32,pc=2,ps=1,ts=500

When I execute the above command the output is FileNotFoundError: [WinError 3] The system cannot find the path specified: 'data/predict_labels/masks' which is because under ./data/predict_labels/ there is only 1 directory images.
Should there be ./data/predict_labels/masks directory with the masked images of the images in ./data/predict_labels/images? Request you to correct my understanding here, also if yes how to get the mask for these images. Thanks.
Best Regards,
Aneesh

Sorry for the late reply. I see where the problem is; in predict.py, I am using the function dataset.make_datasets, which takes a dataset of both images and masks and splits it into a training, dev (validation) and test set. This was enough for my purposes, but for actual prediction you need to load a dataset for which masks are not available. Sadly, I don't have time to maintain this project, but I'll gladly point you towards what needs to be changed for this to work.
During prediction, the function dataset.make_datasets is only used to retrieve the test set and so it would be enough to write a function which loads the dataset in your format and plug it into predict.py. See the dataset module for what is currently being done. I'm using the tf.estimator API and I don't remember how it works anymore; I'm afraid you'll have to dig into the code to figure out the exact format needed and how to avoid loading masks. (I'm saying this because the model_fn expects the labels as argument as well.)
A hacky solution would be to create a white blank mask for each of your images; it isn't used in prediction anyways. Then you could probably directly use the dataset.make_dataset function to load your dataset, and use this in predict.py.
Also note that there are some divisibility assumptions on the image size: see here and here.


no zulip notifications

I noticed that Zulip notifications have not been working this morning.
Config: https://github.com/rust-lang/rust/blob/84b018341284798fa47f8171f4eb04f18f45cf23/triagebot.toml#L115-L121
Topic: https://rust-lang.zulipchat.com/#narrow/stream/268952-edition-2021/topic/Edition.20Bugs
Example issues: https://github.com/rust-lang/rust/issues/88431 https://github.com/rust-lang/rust/issues/88429

Caused by c0e3c8d8873fa22c389033a47abd78fdc56614b0 which made IssueRepository fail to deserialize from webhooks:
request failed: WebhookError(Issue failed to deserialize
Caused by:
0: at Path { segments: [Map { key: "repository" }, Map { key: "owner" }] }
1: invalid type: map, expected a string at line 1 column 6536)
cc @jackh726
Going to work on a fix now.

Oh. Hmm

@Mark-Simulacrum I can submit a fix for this right now if you don't have one

@jackh726 please take a look at my pr, but I think it should fix this. Happy to consider alternatives though, not sure if my work breaks the graphql anywhere.

Looks good to me. Graphql types are generated directly from the schema so can't really break.

Thanks so much for the fast response!
However, it doesn't seem to be working again.  There was one notification a little while after this was fixed, but I've filed two more issues since then which have not triggered anything: https://github.com/rust-lang/rust/issues/88442 and https://github.com/rust-lang/rust/issues/88444.  What's strange is that https://github.com/rust-lang/rust/issues/88440 made a notification, and that was filed only about 15 minutes before 88442.

Noted on Zulip as well but I think this is working, just the config requires C-bug applied to issues.


feat(page): introduce page.waitForFileChooser

This patch introduces a page.waitForFileChooser() method
that adds a watchdog to wait for file chooser dialogs.
This lets Puppeteer users to capture file chooser requests
and fulfill/cancel them if necessary:
const [fileChooser] = await Promise.all([
  // await for upcoming filechooser
  page.waitForFileChooser(),
  // some button that triggers file picking.
  page.click('#upload-file-button'),
]);
// Pretend as if user has selected '/tmp/foo.pdf'.
await fileChooser.accept('/tmp/foo.pdf');

NOTE In non-headless Chromium, waiting for file chooser results in the native file picker dialog not showing up.

Fix #2946

This patch introduces a page.introudceFileChooser() method
that implements interception of file chooser dialogs.

s/introduce/intercept

Offline you mentioned favoring waitForFileChooser. This isn't blocked on my review right?

Not sure why but for me when I am running headless filechooser works.
When I run headless set to false it gives error
TimeoutError: waiting for waiting for file chooser failed: timeout 30000ms exceeded

@OmarKhattab please file a new issue with a good repro steps so that we can debug locally.

@OmarKhattab Did you fix it?

nah @solartes


⚠ Processors has degraded performance

In fb25c1e, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 100 ms

Resolved: Processors performance has improved in c8aabc5.


Version bump v0.0.33

Codecov Report

Merging #274 into develop will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop      #274   +/-   ##
=========================================
  Coverage   99.475%   99.475%
=========================================
  Files           36        36
  Lines         3050      3050
=========================================
  Hits          3034      3034
  Misses          16        16


Editing a global macro creates a class-specific clone instead

There is no error code that I can see but if I edit a global macro and save it it does not modify the global macro but instead clones the original global macro with the changes as a class macro.
I've tried the /run GSELibrary[0]["Macroname"] = GSELibrary[classid]["Macroname"] fix from an earlier issue and while it does "fix" the issue it takes the global macro off all other characters bars.

Silly thing but when you edit is the Specialisation showing as global before you click save?  If it's showing your current spec it will save into your class folder.
TimothyLuke

On 8 Apr 2017, at 7:15 am, Luckrider<EMAIL_ADDRESS>wrote:
There is no error code that I can see but if I edit a global macro and save it it does not modify the global macro but instead clones the original global macro with the changes as a class macro.
I've tried the /run GSELibrary[0]["Macroname"] = GSELibrary[classid]["Macroname"] fix from an earlier issue and while it does "fix" the issue it takes the global macro off all other characters bars.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Double checked and yes the specialization / class ID drop-down lists Global - however, on the cloned macro (which shows up in the sequence viewer under the class header) it still lists Global in its specialization even though it doesn't show up on any other characters (I haven't checked to see if it shows on a different character of the same class but I would assume it would show up)

Found what was occurring.  The save function was checking for a Global Class ID and changing it to a class id for storage. This is fixed in 2.1.01


Shared root context causes a race

Sharing a root context between vm_id ID1 and vm_id ID2 causes a race, whereas ID2 acquires the config of ID1.
This is observed (non-deterministically) for null VM here:
https://github.com/istio/proxy/blob/master/test/envoye2e/stackdriver_plugin/stackdriver_plugin_test.go#L78
/cc @PiotrSikora @jplevyak @mandarjog

Here is generated envoy configs that causes race: https://gist.githubusercontent.com/bianpengyuan/ad97581bac2b769f34b8b9fec5aa2ffa/raw/17bd98780132eeb03893d84fdd00490409cda481/wasm.yaml

The race was identified to be:

registration call from the plugin to Opencensus singleton, last config won
gRPC calls from the plugin to the testing endpoint - first RPC won

This is a logic problem in the plugin after all.


BZ#1441861-Displays server feedback when there's an error opening a console

https://bugzilla.redhat.com/show_bug.cgi?id=1441861
https://www.pivotaltracker.com/story/show/143813823
original bug wasn't so much a bug (see below) but sui was not adequately displaying server feedback on console open error

no ux changes, for giggles, verification that we display message body when there is an error opening a console

Fine backport details:
$ git log -1
commit b3383cf70ef3feabeed8b3d9a4833e6622ec3284
Author: Chris Kacerguis<EMAIL_ADDRESS>Date:   Mon Apr 17 12:39:14 2017 -0500

    Merge pull request #673 from AllenBW/bz/1441861-display-complete-console-error-message

    BZ#1441861-Displays server feedback when there's an error opening a console
    (cherry picked from commit 2bcfa11b93baaf78d1d9660653c873c926b996d7)

    https://bugzilla.redhat.com/show_bug.cgi?id=1442901


Support for Proxying other services

Add support to easily proxy other HTTP services.

https://www.npmjs.com/package/express-http-proxy

Added


app.listen(port, () => { ^ ReferenceError: app is not defined

What version of this package are you using?
What operating system, Node.js, and npm version?
What happened?
What did you expect to happen?
Are you willing to submit a pull request to fix this bug?

Please more info about this issue because looks that is not required with this library.


Upgrading gatekeeper image to v3.6.0

Hi @nandajavarma !
I see that the PR changes only the image tag. Have you checked if there are changes to the manifests that need to be ported from upstream?
Reading upstream's release notes I see some updates that may affect the manifests, like these two:

ConstraintTemplate CRD moves to v1 🎉
Helm enable to config controller manager & audit port 🎊

Thanks!

Hey Ramiro! I'm testing the changes locally. I'll update it soon.
On Thu, Sep 2, 2021, 3:19 PM Ramiro Algozino @.***>
wrote:

Hi @nandajavarma https://github.com/nandajavarma !
I see that the PR changes only the image tag. Have you checked if there
are changes to the manifests that need to be ported from upstream?
Reading upstream's release notes
https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.6.0 I
see some updates that may affect the manifests, like these two:

ConstraintTemplate CRD moves to v1 🎉
Helm enable to config controller manager & audit port 🎊

Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sighupio/fury-kubernetes-opa/pull/33#issuecomment-911674194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAUAYJU3WKLCVJWRLW6JBFDT752VHANCNFSM5DIVM3FA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Workshop Overhaul (rewrite)

This is part of the rewrite push that we've been doing for April release. Legacy workshop has been removed in favor of a fresh, modern design, streamlined functionality and a component-based infrastructure to allow for easy adaptation.
This pull-request does the following:

Removes legacy Workshop files
Creates a new Workshop architecture file system
Add a few components & base systems needed for Workshop to open & run
Sets the groundwork for component & system porting / extensions
Documents all changes in clear & structured detail to allows for other developers to navigate the codebase extensively.

Please double-check to see if the file conflict was actually corrected. It seems correct on my end but, you never know.

For archival purposes: First.


Check the file checksums.txt in CI for PRs.

https://github.com/ckb-cell/ckb-bitcoin-spv-contracts/pull/25


add odo deploy and odo build-images tests

Signed-off-by: Joseph Kim<EMAIL_ADDRESS>What does this PR do?
What issues does this PR fix or reference?
Is your PR tested? Consider putting some instruction how to test your changes

/retest

/retest


[Data layer codelab] Section 7 (Create the task repository) should reuse mapped data

Here:
suspend fun refresh() {     val networkTasks = networkDataSource.loadTasks()     localDataSource.deleteAll()     val localTasks = withContext(dispatcher) {         networkTasks.toLocal()     }     localDataSource.upsertAll(networkTasks.toLocal()) }
The last line should probably read:
localDataSource.upsertAll(networkTasks.toLocal())

I think it should use the localTasks instead of converting the network tasks to local again, otherwise the withContext() has no purpose:
suspend fun refresh() {
    val networkTasks = networkDataSource.loadTasks()
    localDataSource.deleteAll()
    val localTasks = withContext(dispatcher) {
        networkTasks.toLocal()
    }
    localDataSource.upsertAll(localTasks) // Fixed this line
}

I got this problem and I fixed this another way!
I've gone to FakeTaskDao.kt and added this line tasksStream.emit(tasks)
my code now looks like this:
  override suspend fun upsertAll(tasks: List<LocalTask>) {
    val newTaskIds = tasks.map { it.id }
    _tasks.removeIf { newTaskIds.contains(it.id) }
    _tasks.addAll(tasks)
    tasksStream.emit(tasks) // this line
  }

I think this solution is a little bit better, because the upsertAll function doesn't emit newly updated tasks.

Sure! It sounds like you're referring to an issue or a suggestion related to the official Android Architecture Components samples, specifically around improving the data layer in the context of a codelab.
Here's a more detailed approach to your concern about reusing mapped data in the TaskRepository implementation within the context of section 7 of the codelab:
Objective

Enhance the repository to leverage mapped data, avoiding redundant computations or transformations.

Steps to Reuse Mapped Data in TaskRepository

1. Review Existing Structure

TaskRepository

Handles data operations and provides a clean API for data access to the rest of the application.

Data Mapping

Typically involves converting between entities (database objects) and domain models (business logic objects).

2. Using In-Memory Cache for Mapped Data
One approach to reuse the mapped data is to introduce an in-memory cache within the TaskRepository. This cache can store the transformed/mapped data to minimize redundant work.
Example:
class TaskRepository(private val taskDao: TaskDao) {

    // In-memory cache
    private val taskCache = mutableMapOf<String, Task>()

    suspend fun getTask(taskId: String): Task? {
        // Check the cache first
        taskCache[taskId]?.let {
            return it
        }

        // If not in cache, fetch from database and map it
        val taskEntity = taskDao.getTask(taskId) ?: return null
        val task = taskEntity.toDomainModel()

        // Store the mapped data in cache
        taskCache[taskId] = task

        return task
    }

    suspend fun updateTask(task: Task) {
        // Update database
        taskDao.updateTask(task.toEntity())

        // Update the cache
        taskCache[task.id] = task
    }

    // Other repository methods...
}

3. Optimize Mapping Logic

Ensure that your mapping logic is encapsulated in extension functions or separate mappers to maintain a single source of truth and to centralize the conversion logic.

Example Extension Functions:
fun TaskEntity.toDomainModel(): Task {
    return Task(id, name, description, isCompleted)
}

fun Task.toEntity(): TaskEntity {
    return TaskEntity(id, name, description, isCompleted)
}

Code Changes to Architecture Components Sample (PR #994)
Update your repository as follows to incorporate cache-based reuse of mapped data. The following pseudo-code assumes you have a basic understanding of the codebase.

Modify TaskRepository to Include Cache:

Make sure to update the TaskRepository to use a cache for mapped data.
class TaskRepository(private val taskDao: TaskDao) {

    private val taskCache = mutableMapOf<String, Task>()

    suspend fun getTask(taskId: String): Task? {
        taskCache[taskId]?.let {
            return it
        }

        // Fetch and map
        val taskEntity = taskDao.getTaskById(taskId) ?: return null
        val task = taskEntity.toDomainModel()
        taskCache[taskId] = task
        return task
    }

    // Other methods...
}

Ensure Mapping Functions are in a Centralized Location:

Put your mapping functions in a convenient file/module which ensures that the mappings are consistent across usages.
// TaskMapper.kt
fun TaskEntity.toDomainModel(): Task {
    return Task(id = this.id, name = this.name, description = this.description, isCompleted = this.isCompleted)
}

fun Task.toEntity(): TaskEntity {
    return TaskEntity(id = this.id, name = this.name, description = this.description, isCompleted = this.isCompleted)
}

Conclusion
By implementing an in-memory cache within the TaskRepository and ensuring all data transformations are centralized, you can greatly reduce redundant transformations and optimize data operations. This approach should fit well into the architecture and coding practices advocated by the Android Architecture Components and its corresponding codelabs.


[Improvement] [coordinator]dynamic assign strategy server num by shuffle partition num

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
assgin shuffle server num by shuffle partition num.
PartitionBalanceAssignmentStrategy.java
How should we improve?
No response

We have similar mechism. You can extract an attraction and add your strategy. https://github.com/apache/incubator-uniffle/pull/322


SONOFF example also with additional sensors?

Hi,
first to say this is a great project!
So nevertheless I'm wondering whether it is (already) possible to add additional sensors like a DS18B20 to the GPIOs of the SONOFF and get there measurements also via knx?
This is a nice add-on the Tasmota firmware (MQTT) already has.
Thanks for the response.

Hi,

first to say this is a great project!

Thanks!

So nevertheless I'm wondering whether it is (already) possible to add additional sensors like a DS18B20 to the GPIOs of the SONOFF and get there measurements also via knx?
This is a nice add-on the Tasmota firmware (MQTT) already has.

I don't know yet, I don't want to recreate everything Tasmota has done.
I don't want to offer a finished solution for every imaginable use-case but rather a library that can be used to build specialized firmwares.
The examples are there to show the feature-set of the library in a minimal setting.

For anyone who is interesed, now Sonoff-Tasmota supports KNX thanks to this great library.
Also, there are compiled binaries here


Upgrade node, yarn

@timabbott this is ready for review now.

@cPhost why did you upgrade yarn to 1.0.0 rather than the latest 1.4.1?

@timabbott so, for some reason when i bump the yarn version CI Fails.. So i let as 1.0.0 same goes for node version too.

And its only circeci not travis.

Updated to use yarn v1.4.1 so yarn any version seems to be working if node version is 8.5.0.


rdl: 1.0.0-0 in 'kinetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository rdl to 1.0.0-0:

upstream repository: https://gitlab.com/jlack/rdl.git
release repository: https://gitlab.com/jlack/rdl_release.git
distro file: kinetic/distribution.yaml
bloom version: 0.6.7
previous version for package: 0.10.6-1

Holding for sync


General - Consistency with respect to buttons #11

Initial update to fix the colour of the wallet button when connected to be the same primary colour as loan button and vice-versa

Thank you @tomdreamevil , I tend to prefer the secondary buttons as well. I'll let the front end devs and UI/UX pros decide how they feel about the change.

hey @tomjpandolfi yeah that sounds good to me! cheers


Remove circular ref in base widget

This removes the circular reference we had to introduce to keep the figure canavas around long enough for pytest-mpl to do the image comparison. Part of fixing https://github.com/matplotlib/napari-matplotlib/issues/109, but independent enough to be in its own PR.

This will close #95


Fix: fill missing surveillance counts with 0 instead of lirping between known values

Current surveillance plot linearly interprets across missing values. Fix this to show percentages of 0 when no data is available.

Before:

After:

(2020 now set to 0)


How to validate objects?

I am migrating a small code base from react-hook-form to coform
So, I am wondering how can I validate the prop service from the following schema:

As you can see, the values are present in the form submission.

As a reference I am using Listbox (Select) from Headless UI
https://headlessui.com/react/listbox#using-with-html-forms

https://codesandbox.io/p/sandbox/remix-object-field-validation-t06fut

https://codesandbox.io/p/sandbox/remix-object-field-validation-t06fut

Hi @jonathanpalma,
Here is an example based on the Listbox from Headless UI.
Generally I would avoid passing an object but just the identity only which is the source of truth. But if there is a need to pass an object, one approach would be stringify it as json and have zod preprocess it using JSON.parse(). It might be tempting to recreate the structure using a set of hidden inputs, but they will be serialized as formData and you will lost the type information (as everything will become string) which requires additional effort to cast the type of each property manually.
In case you missed it, you can also find examples integrating with other Headless UI component here


Spurious compiler warning when using DB,etc without args

The following code:
SECTION "Data", WRAM0
MyByte:
  db

is suggested by the docs as an idiomatic way of doing RAM definitions:

Declaring variables in a RAM section
DS allocates a number of bytes.  The content is undefined.  This is the preferred method of allo‐
cationg space in a RAM section.  You can, however, use DB, DW and DL without any arguments
instead.

However, due to https://github.com/rednex/rgbds/issues/208, this code now produces a compiler warning:

Empty entry in list of 8-bit elements (treated as 0).

I understand this warning was added to capture cases such as DB 1,,2 or DB 1,2,, but I think a bare DB should be a special case, as otherwise there is no alternative when declaring variables in RAM sections except DS 1, etc.

Fixed in https://github.com/rednex/rgbds/pull/211


Add new OS bootstrap script

This change adds a script that automates creating bootstrap CLI.
While there is still space for improvements in the script, I think
it is time to publish it. I have used it to bring up RHEL 6 and
Alpine and tested it on FreeBSD for x64. I have also tested
it on arm64 Linux.

@chcosta this is just a separated script from the PR that you've already approved. As I have said, I want to spend more time on the doc, but get the script in now.
cc: @sunandabalu

Getting this in sooner than later is great.  Do you know if the plan is to replace https://github.com/dotnet/core/tree/master/tools/dotnet-bootstrap with a pointer to this and/or the doc?
LGTM

@chcosta I think this should be the replacement for the other tool. I've actually got some ideas from it when creating this one.


std:0.61/fs 403 forbidden

I just found this error when building my api. I was working just fine this morning:
error: Import<EMAIL_ADDRESS>failed: 403 Forbidden

We special cased this before I think. I am going to fix it giving a 403 instead of 404.

This is imported from another module I don't know where it's coming from...
error: Import<EMAIL_ADDRESS>failed: 403 Forbidden
Imported from "https://deno.land/x/plugin_prepare@v0.7.0/deps.ts:1"


capsule-controller-manager is CrashLoopBackOff

Bug description
capsule-controller-manager is CrashLoopBackOff via helm install.
Reproduced Steps
helm repo add clastix https://clastix.github.io/charts
helm install capsule clastix/capsule -n fusionx --create-namespace

Expected behavior
capsule-controller-manager start successfully.
Logs
{"level":"info","ts":"2023-10-18T08:19:35.028Z","logger":"setup","msg":"Capsule Version v0.3.3 64513b8"}
{"level":"info","ts":"2023-10-18T08:19:35.028Z","logger":"setup","msg":"Build from: https://github.com/clastix/capsule"}
{"level":"info","ts":"2023-10-18T08:19:35.028Z","logger":"setup","msg":"Build date: 2023-06-27T17:12:25"}
{"level":"info","ts":"2023-10-18T08:19:35.028Z","logger":"setup","msg":"Go Version: go1.19.10"}
{"level":"info","ts":"2023-10-18T08:19:35.028Z","logger":"setup","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":"2023-10-18T08:19:35.030Z","logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":"2023-10-18T08:19:35.133Z","logger":"controllers.TLS","msg":"Generating new TLS certificate"}
{"level":"error","ts":"2023-10-18T08:20:31.331Z","logger":"controllers.TLS","msg":"cannot update Capsule TLS","error":"client rate limiter Wait returned an error: context canceled","stacktrace":"github.com/clastix/capsule/controllers/tls.Reconciler.ReconcileCertificates\n\t/workspace/controllers/tls/manager.go:110\nmain.main\n\t/workspace/main.go:183\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}
{"level":"error","ts":"2023-10-18T08:20:31.332Z","logger":"setup","msg":"unable to reconcile Capsule TLS secret","error":"client rate limiter Wait returned an error: context canceled","stacktrace":"main.main\n\t/workspace/main.go:184\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}

Additional context

Capsule version: 0.3.3
Helm Chart version: 0.4.6
Kubernetes version: v1.28.1+rke2r1

Thanks for opening this, @zhenlohuang!
May I ask you to give a try in increasing the deployment resources, especially CPU?
The first startup is responsible in creating the certificates, and it could take some time, causing then a loopbackoff.

We double the cpu and memory, however it doesn't work. The crash still happened.
Is there any workaround to disable the cert creating or increase the timeout?

You can offload certificate creation to cert-manager, if you have it installed.
https://github.com/projectcapsule/capsule/blob/9a21b408dde54c9d6522a0651135f76701dac263/charts/capsule/values.yaml#L9-L10
https://github.com/projectcapsule/capsule/blob/9a21b408dde54c9d6522a0651135f76701dac263/charts/capsule/values.yaml#L54-L55
https://github.com/projectcapsule/capsule/blob/9a21b408dde54c9d6522a0651135f76701dac263/charts/capsule/values.yaml#L158-L160
Let me know if this works for you, and maybe I could ask you to contribute to the documentation explaining how to install Capsule with cert-manager: WDYT?

@zhenlohuang please, can you provide some feedback about your issue? It would be helpful for the community and members who could potentially face the same issue!

@zhenlohuang We will close this issue for now, reopen if you need further assistance.


[TPU] Save checkpoint on global zero only and sync before

What does this PR do?
https://github.com/Lightning-AI/lightning/pull/17408 changed the XLA CheckpointIO implementation to not use xm.save().
This meant that we need to save only on rank zero, but updating the logic was missed for Fabric.
Additionally, mark_step is added to sync the graph before saving, to avoid any potential hangs.
Discussed with @Liyang90

@JackCaoG @will-cromar

LGTM. Calling mark_step before checkpointing is always a good idea


refactor all CSS into separate SASS files

Will allow all variables to be customised, plus it could potentially be shared with the ng1 version

@mattlewis92 hey matt, I could definitely work to set this up if you'd like. Would be happy to work on it so let me know your thoughts 😄

That would be awesome! A couple of things you'll need to do to tackle this:

[ ] setup the sass / css / style loader webpack config like so
[ ] extract the existing styles into separate scss files. As the CSS classes will now be available on the global scope you'll need to scope them using sass's nesting like so:

.calendar-month-view { // add this class to the root element of the month view component
  .events {
  }
  ... other classes from the month view component
}

[ ] the demo component should then import a sass index files which imports all the other sass files (so as not to bundle the sass files with the component source)
[ ] extract all colors etc into variables so that they could be customised by a user of this component. Ionic does a really good job of this
[ ] for bonus points you could also setup and configure stylelint

@mattlewis92 sounds good man! going to work on it bit by bit today. will let you know if I have any trouble.... looking forward to lending you a hand 👍

Great, thanks a lot! 😀

On 13 Jul 2016, at 17:59, Tom Greco<EMAIL_ADDRESS>wrote:
@mattlewis92 sounds good man! going to work on it bit by bit today. will let you know if I have any trouble.... looking forward to lending you a hand 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@mattlewis92 i seem to be having trouble with the sass-loader... In the meantime I can begin refactoring some of the CSS to Sass, however I am running into an error when I try to use the styleUrls property. Even when I try to use an external .css file, Angular2 can not find the code. I tried a number of different ways to fire it up so I wanted to see if you had any input as I have set up webpack's sass-loader a handful of times in the past to work with ng2.
Let me know your thoughts!

I tried to commit a change but it seems pretty tightly knit to do so, but this was going to be my commit message:
Added sass,css,style loader & configured webpack according to ng2-tv-tracker. I updated the project by adding the same dependencies that were in the ng2-tv-tracker however I still ran into an error. I am curious if this is because of how Angular2 compiles applications.

Additionally, I added the following dependencies to the project: node-sass, sass-loader, css-loader, style-loader as shown here, and I also added this piece of code as per your suggestion.

Ah right, you don't need to use styleUrls on the component, I would say keep all the SASS files separate and then just import 'main.scss' in the demo component which will import the styles globally.

@mattlewis92 got it 👍
This is what it is looking like now so I am about to scope all of the styles correctly and from there i'll break them into variables.

I'll try and add some mixins if i find repeating patterns as well if you're down with that.

That's awesome, glad it's coming along nicely!

I just pushed some code for this & commented on it here.


HSEARCH-2505 Lower the default read timeout with Elasticsearch

https://hibernate.atlassian.net/browse/HSEARCH-2505
Draft since I have to check if we have to change something in our doc...

Here is a full build: https://ci.hibernate.org/job/hibernate-search/view/change-requests/job/PR-2345/4/.

Here is another full build-n.6

Merged thanks!


Remove button not working on Demo

I'm going to remove the "Remove" button and make clicking the buttons remove them.

Awesome! Even better :)


Databricks db adapter

Description
Adds an adapter for connecting to a databricks database
Checklist

[x] I have added a changeset

LGTM 🚢


Fix Indian Map in Superset

The current Indian map in Superset is very inaccurate as it has several states missing. (Ex: Telengana) This happened on https://github.com/apache-superset/superset-ui/pull/1045
I have reported this on that PR - https://github.com/apache-superset/superset-ui/pull/1045#issuecomment-824715145
There are free and open source shape files of India which is accurate and details are given here - https://github.com/apache-superset/superset-ui/pull/1045#issuecomment-825379978
I unfortunately don't have the skills to convert the shape files to the format expected by superset. It would be great if this can be fixed.

The codebase on this repo has been moved to the main Apache Superset repo, and consequently the repo is in the process of being archived. See the Superset Improvement Proposal for details: https://github.com/apache/superset/issues/13013 . While all currently open issues and PRs will be closed, we encourage you to reopen this issue on the main repo if it is still relevant.


thread 'main' panicked at 'Unexpected type of Aux for phaseset

Hi,
I'm trying to run cramino for a phased .bam that was generated from PacBio Revio data using PacBio HiPhase. When I used the --phased  option I get the following error
thread 'main' panicked at 'Unexpected type of Aux for phaseset: I32(11863)', src/extract_from_bam.rs:171:18
stack backtrace:
   0: rust_begin_unwind
             at /rustc/d5c2e9c342b358556da91d61ed4133f6f50fc0c3/library/std/src/panicking.rs:593:5
   1: core::panicking::panic_fmt
             at /rustc/d5c2e9c342b358556da91d61ed4133f6f50fc0c3/library/core/src/panicking.rs:67:14
   2: cramino::extract_from_bam::extract
   3: cramino::main

If I remove --phased, cramino runs.  I'm wondering if somehow the phaseset ID is inconsistent with what cramino is expecting.  When I look at representative phase set IDs in .bam it looks something like this: PS:i:11863.    Could this be an issue with integer type I32 vs U32?  Seems to think this is I32 however looking in your code looks like its expected U32, which I thought "11863" would be.
fn get_phaseset(record: &bam::Record) -> Option<u32> {
    match record.aux(b"PS") {
        Ok(value) => match value {
            Aux::U8(v) => Some(u32::from(v)),
            Aux::U16(v) => Some(u32::from(v)),
            Aux::U32(v) => Some(v),
            _ => panic!("Unexpected type of Aux for phaseset: {:?}", value),
        },
        Err(_e) => None,
    }
}

Thank you !

Thank you for reporting this! I'm not entirely sure what it means, and how the type of the tags is determined to be one of the numeric types, but I know how to fix it. I'll make a new release soon.

Thank you Wouter for addressing that so quickly!  Phasing option is working now.

Ah, then I will also fix it for I16 :-D
New release https://github.com/wdecoster/cramino/releases/tag/v0.14.4

I am simply running cramino without the --phased flag and it throws me this error:
thread 'main' panicked at src/extract_from_bam.rs:180:18:
Unexpected type of Aux for NM tag: I8(1)
I am using a dorado bam with modified bases and cramino version 0.14.4

Aha, another unexpected Aux value. I will fix that one too :)

Thanks a lot :) I will patiently wait the next release.

Should be solved in v0.14.5

Should be solved in v0.14.5

Thanks a lot, I can confirm it has been fixed!

Good to hear!


xml

We have upload the default.yaml file in the correct path: configs/default.yaml. Thank you for noticing and apologies for our mistake!

Thank you for your appreciation. With our guidance, you were able to successfully run the program, but encountered a new error. After reviewing the relevant code, you discovered an issue with the dictionary. Not sure if it's a configuration problem.

This problem is caused by Windows. Could you run your code on a linux system? We haven't test it on Windows. Thank you for noticing and we will add the description on READ.ME

python train.py configs/VTacO/VTacO_YCB.yaml
python train.py configs/VTacOH/VTacOH_YCB.yaml
No visualized results ，May I ask how to modify and add visualization

Normally the visualization result is saved in the vis directory, and the number of iteration for every visualization can be modified in the config file with the variable training/visualize_every.

Since no update on this issue, we close it.


Transport method other than HTTP

While trying to draft up my OAuth Server using this amazing library I've ran into a little bit of an issue. I'm not quite sure whether its by design or if you are open to possibly some API changes.
I'm developing some services using a micro service approach and would love to have an authentication service. Doing so I would like to use RPC as the communication layer. Sadly osin makes some pretty hard assumptions on using HTTP as the transport layer and doesn't seem to expose any sort of underlying API to support any other transport layer.
Would you be opposed to some API changes to accommodate other transport protocols? If so, would you ever consider splitting packages and exposing the HTTP api in a package say osin/http?

Not sure what you're envisioning. The OAuth spec dictates http as the transport mechanism for both the authorization and token requests.

Yes, I know it does. I can attempt to describe what I was thinking and why I would want such a feature.
Let's assume I have a bunch of services that communicate through RPC (thrift, gRPC, etc.). I do have an HTTP front end but maybe I would want a service that my HTTP front end would delegate the authentication/authorization requests to. This way say I get a request I can chain these service calls by verifying an access token, checking scopes then hitting a database if it has the specified scope.
Yes, I could very well do all of this on my web frontend and just do these checks before sending an RPC request to another service but in my opinion it just seemed more decoupled this way (my proposal).
Now I do realize the benefit of the majority (no breaking API changes) over my small use case here, but I was just wondering if you'd be open to such a change. I always believed decoupling things like this would be a better design philosophy to begin with.

Still not seeing the integration. OAuth is oriented toward obtaining a token, not using it against an API. Whatever storage mechanism you implement that can retrieve token details for a given token could be used an authn/authz layer for any arbitrary API (http, rest, RPC, etc), but usage of an access token to auth to an API doesn't have anything to do with how the token was obtained.

Absolutely, I understand that. I guess the pursuit was just to decouple things more for  myself. I would of liked to have the token generation, authorization etc. all in one easy place but it's not the end of the world.
Thank you!


fix: update settings modal to avoid overflow in mobile devices

Resolves #70.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read and understand the Code of Conduct.
[x] Read and understood the licensing terms.
[x] Searched for existing issues and pull requests before submitting this pull request.
[x] Filed an issue (or an issue already existed) prior to submitting this pull request.
[x] Rebased onto latest master.
[x] Submitted against master branch.

Description

What is the purpose of this pull request?

This pull request:

add overflow:auto to allow for scroll and avoid overflow in the settings modal on mobile devices.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #70

Questions

Any questions for reviewers of this pull request?

I made the changes to the layout.css and ran make minify-css. Are there any other any build related tasks that I need to do?
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.

@stdlib-js/reviewers

@headlessNode Do you happen to have a GIF handy which shows the new behavior?

@kgryte


Endpoint limit parameter values

First of all, thank you so much for all your work on this project, it is really something unique!
I'm doing some tests with the api (using isFakeAccount Python wrapper) and found out that the limit parameter values for the endpoint https://m.np.playstation.net/api/trophy/v1/users/{accountId}/trophyTitles are as follows:
Min 1 (already in the documentation)
Max 800 (higher values will return an 400 bad request http error)
Default 100 (if not specified it will limit to 100 game titles trophies)
Since the numbers os trophies and titles are very different in sizes I believe the values may be different on other endpoints, but I'll try to confirm it and let you know.
Since I'm not a developer and have little to no experience with Git commands etc I'm posting it here. 😅

Hi @aron0306
Thanks for this, I'll update the documentation with your findings.

These limits have been updated now.


Pynapple paper tutorials

Peyrache et al 2015 and Zheng et al 2022 dataset figures have been converted to tutorials

Removed images folder


Missing license

Is there a license this project falls under? I can't see a license file, or any mentions of licensing in the readme file. Unlicensed projects are not really open-source, which makes using them in an application a complicated matter.
More info on unlicensed works: https://choosealicense.com/no-permission/

I see some files have a Red Hat copyright header with an Apache 2.0 license, as well. Is this accurate? Could it be clarified in a separate license file, or is it more complicated than that?


oauth: always set token cookies in response regardless of forward_bearer_token option

Commit Message: oauth: always set token cookies in response regardless of forward_bearer_token option
Additional Description: Unconditionally set the BearerToken, IdToken, and RefreshToken cookies in the response. The documentation of forward_bearer_token states "Forward the OAuth token as a Bearer to upstream web service." It's confusing for this behavior to affect response cookies as well and I can't think of a benefit that's being achieved here. This brings the behavior of this filter more aligned with what the documentation describes.
Risk Level: Low
Testing: Included
Docs Changes: N/A
Release Notes: Included
Platform Specific Features: N/A
Fixes: #32566 #15489

Any ETA on this PR? We'd love to use OAuth2 filter in prod - but we hit this bug and it is preventing us. Thank you!

Hi @derekargueta,
is there any chance to land this into the next release? If there is help needed, I can take something over.
Cheers,
Dennis

@derekargueta ping

@denniskniep thinking that could you just make separate PR as @derekargueta is not answering/pr not progressing? At least we need this feature

Was out on PTO. One reason I had for closing this was consideration of implementing encrypted cookies first, as this change would set the raw access token in the client browser which is undesirable by some.

Does it make sense to apply this functionality only, if a certain knob is set?

so how we should proceed here to get this forward?

hey @derekargueta afaik this PR should bring back the previous behavior that existed with this filter
https://github.com/envoyproxy/envoy/issues/23508 could be added an enhancement with a new field in the filter

@derekargueta does it make sense to introduce further properties to disable single cookies disable_XYZ_set_cookie? Like it was done here: https://github.com/envoyproxy/envoy/issues/33825
Adding following properties:

disable_access_token_set_cookie
disable_refresh_token_set_cookie

Then

we don't need to wait for https://github.com/envoyproxy/envoy/issues/23508
everyone can precisely control which cookies should be set or not, even if encryption is implemented.
forward_bearer_token no longer influences the cookie set behavior

What do you think?

@derekargueta  I created a PR for my proposal here:
https://github.com/envoyproxy/envoy/pull/35839


Suggestion for topics

Looking over the release notes of the last year, these are some of the most noteworthy topics I could think of:

Raster reprojection (although probably presented in South-Korea, might be worth mentioning again)
MapBox Vector Tiles
Rendering geometries to arbitrary canvas (vector legend)
CartoDB tile source
WFS queries with OGC Filter

And maybe also the rendering speed improvements in more detail.
And for development environment:

Switch to ESLint

It's probably also worth to mentioned the MapQuest changes in this talk, and why it led to removal of the source in ol3.
And also done in South-Korea or even before, but still the raster source processing always allows for a cool story I think.
And the time dimension stuff (WMS/WMTS) also allows for a nice demo.

See also http://rawgit.com/marcjansen/fossgis2016/master/openlayers-talk/index.html#/start German. Different timeframe, but some of these might be reusable.
I am gonna work on this talk today.... possibly until late in the evening


animated map (including side-by-side visualisation)

it should be possible to see animations of temporally evolving data as an animated maps.
by displaying two of those maps side-by-side supports data comparison and correlation analysis

Is this essential for API and CLI, or just the GUI interface? I think @forman has to chime in!

For the GUI, it is essential, not now but at some point in time. For API and CLI it is desirable. Since we can save individual maps as png/gif, people can create their own animated gifs or mpeg videas with extra software. However, this is a core feature I would expect from a climate analysis toolbox and it is also required by the original SoW.

From ops point of view considered a subset of #86. Duplicating the functionality of Window managers or the GUI in showing two plots side by side is considered out of scope here.


goodbye handling causes connect-disconnect loop due to incorrect signalling

As part of the cleanup in #492, I believe another race condition was introduced in the disconnect logic, particularly in the interaction between the handling of Slack's goodbye message and the teardown of the receiveIncomingEvent loop.
It seems that the only way for the read loop to be torn down is from a recv on rtm.disconnected, or an error from ReadJSON which triggers a send on killChannel. Since a goodbye triggers a send on killChannel, and the subsequent effect of killConnection is to close the socket being polled by ReadJSON, the end effect is that two false values are sent to the killChannel: the first from the goodbye handling and the second from receiveIncomingEvent. However, the second send always blocks waiting for a recv, since the normal place killChannel is polled is in the handleEvents flow, which has already exited due to handling a goodbye. What makes this bug so insidious, though, is the fact that this connect-disconnect loop does eventually end, and a normal connection can be established.
After 10 tries (each connect-disconnect loop takes about a second to complete), Slack begins ratelimiting the connection. At this point, we are saved by the recv from killChannel as part of the RTM.connect loop logic, which completely drains the killChannel (and also causes us to disregard the backoff cooldown time completely, triggering an immediate reconnect despite being ratelimited), and allows a normal connection to begin.
What you'll see in the debug log is something like this:
2019/10/12 23:35:42 websocket_managed_conn.go:369: Incoming Event: {"type": "goodbye", "source": "gateway_server"}
2019/10/12 23:35:42 websocket_managed_conn.go:211: killing connection
2019/10/12 23:35:42 websocket_managed_conn.go:173: Connecting to RTM
2019/10/12 23:35:42 rtm.go:72: Using URL: [redacted]
2019/10/12 23:35:42 websocket_managed_conn.go:189: Dialing to websocket on url [redacted]
2019/10/12 23:35:42 websocket_managed_conn.go:59: RTM connection succeeded on try 1
2019/10/12 23:35:42 websocket_managed_conn.go:211: killing connection
2019/10/12 23:35:42 websocket_managed_conn.go:173: Connecting to RTM
2019/10/12 23:35:42 rtm.go:72: Using URL: [redacted]
2019/10/12 23:35:42 websocket_managed_conn.go:189: Dialing to websocket on url [redacted]
2019/10/12 23:35:42 websocket_managed_conn.go:59: RTM connection succeeded on try 2
2019/10/12 23:35:42 websocket_managed_conn.go:211: killing connection
2019/10/12 23:35:42 websocket_managed_conn.go:173: Connecting to RTM
...
2019/10/12 23:35:44 websocket_managed_conn.go:173: Connecting to RTM
2019/10/12 23:35:44 rtm.go:68: Failed to connect to RTM: slack rate limit exceeded, retry after 58s
2019/10/12 23:35:44 websocket_managed_conn.go:177: Failed to start or connect to RTM: slack rate limit exceeded, retry after 58s
2019/10/12 23:35:44 websocket_managed_conn.go:143: reconnection 1 failed: slack rate limit exceeded, retry after 58s reconnecting in 58s
2019/10/12 23:35:44 websocket_managed_conn.go:173: Connecting to RTM
2019/10/12 23:35:44 rtm.go:68: Failed to connect to RTM: slack rate limit exceeded, retry after 58s
2019/10/12 23:35:44 websocket_managed_conn.go:177: Failed to start or connect to RTM: slack rate limit exceeded, retry after 58s
2019/10/12 23:35:44 websocket_managed_conn.go:143: reconnection 2 failed: slack rate limit exceeded, retry after 58s reconnecting in 58s
2019/10/12 23:36:42 websocket_managed_conn.go:173: Connecting to RTM
2019/10/12 23:36:42 rtm.go:72: Using URL: [redacted]
2019/10/12 23:36:42 websocket_managed_conn.go:189: Dialing to websocket on url [redacted]
2019/10/12 23:36:42 websocket_managed_conn.go:59: RTM connection succeeded on try 11
2019/10/12 23:36:42 websocket_managed_conn.go:369: Incoming Event: {"type": "hello"}

I believe the best course of action to fix this would be to add a mechanism to either preemptively tear down the receiveIncomingEvent loop at the same time as receiving a goodbye or signal that we are already in the process of tearing down the RTM connection. We can either 1) have receiveIncomingEvent tear itself down when it reads a goodbye off the socket, or 2) signal ongoing teardown by doing something like passing it a unique channel (per-connection, per-attempt) that can be closed by killConnection so we can ignore errors during teardown (or immediately return).
I can open up a PR but I'd like to hear your feedback before deciding on an approach (particularly from @james-lawrence).
Thanks!

so the problem here is that it rate limits? the connection eventually reestablishes?

looking again.... how does goodbye trigger a send on the kill channel? there are only two locations kill is written to. and goodbye isn't one of them. I think something else is going on, very well could be related to goodbye but double writes isn't one of them.

okay I'm following now. I think just removing the return from the goodbye handling will resolve this.

I think this might impact all of the cases except the killChannel in handle events.


Download PDF in other language

Hi folks,
I can download as PDF https://docs.microsoft.com/en-us/visualstudio/test/improve-code-quality?view=vs-2019
But PDF link is missing for https://docs.microsoft.com/es-es/visualstudio/test/improve-code-quality?view=vs-2019
Do you plan to allow dowload this link and others in other language than English?
Cheers

@jmroyb -- Josep, thanks for your feedback; we appreciate it. You can submit issues related to overall site experience, or suggestions for improved site functionality or design, at https://aka.ms/sitefeedback/.


Add eth_syncing and possibility to enable/disable apis

There's one potential issue here: when not doing fast-sync at all (i.e regular sync from block 0), we don't have any estimate for highest block. It would require to ask nodes about their highest blocks to get it. The questions is whether we should do it or not.

In my opinion we should not ask other nodes
highest block should be highest that we know of at given time, in case of fast sync it is target block and in case of regular sync latest block

@adamsmo in case of fast sync we already ask peers for their highest blocks

I mean issue additional request just for this RPC

How about estimating the highest block based on time/speed?
Consider this:
h = getCurrentHeight()
dt = B[h].timestamp - B[h - N].timestamp
avg = N / dt
x = avg * (now - B[h].timestamp)
heightestEstimatedBlock = h + x

@rtkaczyk I think that makes sense!

another possibility is to always ask peers for their latest block (no matter is it's fast or regular sync)

Do you mean to ask the peers via RPC or via the Ethereum protocol?
In either could we simply ask/estimate this value when executing this RPC method, rather than continuously update the app state storage while syncing?

Ethereum protocol, we could do that once when starting syncing, it would provide pretty accurate estimate

So once per runtime? Depends on what this method is really used for. Say I already had my node up to date and kept it running. But I notice I'm lagging a little (maybe because of network problems), and I want to see how far behind I am. In that case it's no good - I would have to restart the client.
Also, we could use eth_blockNumber to ask the peers, just saying.

Nodes don't talk to each other using rpc @rtkaczyk

If they knew their RPC port numbers they could. But they don't, right?

@rtkaczyk right. I guess there's quite a number of nodes that do not expose rpc

@rtkaczyk how about asking a peer for their best block when we connect? that way we could update our estimates every time we connect to new peer

Actually it was even simpler. I've added two changes:

ask for highest block when peer connects (and update estimate on response)
update estimate when new blocks are broadcasted


[NEW-FEATURE] Visual Composer should use object symbol instead of symbol hash.

/cib

Branch 453-_NEW-FEATURE_Visual_Composer_should_use_object_symbol_instead_of_symbol_hash created!


As a developer I want to send binary payloads to my function so that I can write functions to process binary data.

For example, image or audio processing.
Once content-type can be defined as part of a function (CLI #248) and communicated correctly, it becomes possible to send a binary payload to a function.  To support this however, changes would be needed in the various FDKs and the Fn Server itself.  Given the JSON nature of the protocol between server and function container, binary data as it stands can't be transmitted and thus needs to be encoded in some way, probably Base64. This then necessitates the need for an extension flag to the JSON protocol to say what the encoding of the request payload is - support for this would need to be added to the various FDKs first, and once those are rolled out the corresponding change to the Fn Server can be made.
Fn Server
For Fn Server to decide whether or not to set a "isBase64Encoded" flag in the JSON protocol, the server needs to know whether the payload needs to be encoded or not. The simplest way is to check the Content-Type header in the incoming request, but the question is whether this can be relied upon to be accurate - for instance nothing stops someone specifying "text/plain" as a Content-Type but actually sending some "application/octet-stream" data across, potentially leaving the server trying to json-encode binary data which may be problematic.
FDKs
The supported FDKs need to be extended to respect the "isBase64Encoded" flag, and if detected simply decode the payload before passing the request to the function handler.  These should be completed and delivered first so that binary-ready functions/FDKs are already in place before the server is updated.

Why can't the function get the binary data (image or a video files) from external object store in the short term?

re-reading this issue, my comment didn't indicate that this is possible today using the http format and my comment was more guided towards going forward, but I think our answer right now is OK, most FDKs support http format today.

This really came into being on the assumption that http was going away, and wasn't supported everywhere either (e.g. Python FDK I think).


Ship library as pre-compiled module

This will speed up loading times for the module (although it won't help with execution speed).

You already are.
ls /usr/lib/python3/dist-packages/ev3dev/__pycache__/

No, we are not; we ship source packages which are interpreted, compiled and cached at the client's discretion. This issue is a direct result of the suggestion you made in the call, where you said that we should be shipping separate binary packages with the module pre-compiled.

If this is a misinterpretation of your request, please elaborate on the suggestion.

@dlech yes. This issue is about us shipping packages with the module precompiled, with the specific goal of optimizing for Micropython. I believe that is what you were referring to during our call.

Yes, that is correct.

Now that we support micropython does that kill the need to pre-compile modules? Also wouldn’t the speed boost from a pre-compiled module only be a benefit the first time you load it?


Template error if debugbar middleware is put before flatpage middleware

I get the following error If I put the debug toolbar middleware before flatpages middleware in my config:
Template error
In template /home/xxx/.xxx/xxxx/local/lib/python2.7/site-packages/debug_toolbar/templates/debug_toolbar/base.html, error at line 48
Caught AttributeError while rendering: 'RequestVarsDebugPanel' object has no attribute 'view_func'
If I put it afterwards as we know, the debugbar won't display on flatpages.
Let me know if you need more infos.

I'm seeing this same issue. I suspect what's happening is that the flatpage middleware is a fallback middleware: it runs only if a URL didn't match and a view wasn't rendered. So the fallback middleware renders a response instead, but actually no view was actually rendered (because URL resolution didn't match).
But RequestVarsDebugPanel assumes that a view must have been rendered if a response was returned (which is not true).

Good news :-)


Robot Task Ontology

Is your feature request related to a problem? Please describe.
Research about available robot task ontologies and if not create one. This is linked to issue #79
This is neccesary for naming tasks.

Closing this one creating a research report ticket instead


Sharing sockets between multiprocess workers with Socket Manager

This is a PR for implementation of this issue.
Sharing sockets between multiprocess workers #24
Details is here.
http://qiita.com/ritta/items/d1ca662cdd04c54dba2c

First of all, this is great achievement. Good job!
Before going into details, could you let me know how can users use SocketManager? In other words, what's the API for applications?

Thank you very much! I love fluentd and I'm very glad to be able to get involved this project!
Firstly the API to use Socket manager is here.
#get socket manager in a spawned worker
socket_manager = ServerEngine::SocketManager.new_socket_manager

Then from this Socket Manager, users can create TCP or UDP sockets in spawned worker like this.
#get FD from socket manager
fd = socket_manager.get_tcp(bind, port)
#create listen socket from FD
lsock = TCPServer.for_fd(fd.to_i)

I implemented the API in Socket Manager class,
But if you think that I should make the API more explicit and create class for API, I'll make the class for API.

@naritta thank you. how does parent process create SocketManager::Server? how does child process get UNIX socket?

I think that there is a race condition in fundamental design. Do you consider this scenario?:

there are 1 parent process "P" and 2 child processes "A" and "B".
A calls P's socket_fd method using DRb
P creates a TCP socket for A, and sends it using send_io method.
B calls P's socket_fd method using DRb
P creates a TCP socket for B, and sends it using send_io method.
B calls recv_io
A calls recv_io

This rarely happens but its impact is significant if it happens.

Thank you. how parent process create SocketManager::Server and child process get UNIX socket is below.

Just before spawning, parent process create SocketManager::Server instance and Process manager get it.
https://github.com/fluent/serverengine/pull/25/files#diff-704e22e4c891dcc6b47ba7d7ecdc73f8R56

Then Process manager create pair of UNIX socket with Socket Manager function new_unix_socket and set FD for one of this in env for spawn.
https://github.com/fluent/serverengine/pull/25/files#diff-1e5e735f236537f81cca69fb746da179R167

Each FD will be peculiar for each child processes because of env of spawn.

In each child process, it will get the UNIX socket from env.
https://github.com/fluent/serverengine/pull/25/files#diff-e729c34d906c2f04e3c6849163091222R35

For the race condition problem between processes, I changed the design to use different Unix Socket for every processes.
https://github.com/naritta/serverengine/commit/9faaf4abd4abbf3245927390a5ee7fecfa18e777
the problem between processes should be solved by this change and I think another problem in a processes (with various plugins) will not happen because in one process it creates socket synchronously in order. (For example, assuming setting in_forward and in_http, race condition will not happen between in_forward and in_http in same one process.)
If this thought is wrong, I'll fix.

Would you mind if you continue development based on https://github.com/fluent/serverengine/tree/socket-manager-api branch? It is based on your https://github.com/fluent/serverengine/pull/26 branch, and implements SocketManager as a stand-alone library which isn't tightly coupled with ProcessManager.
As the commit message explains (https://github.com/fluent/serverengine/commit/d7c632c8ec8510cdccd102265a6c3a704e420da8), it doesn't use DRb. And it creates socket (or named pipe) pair for each requests. So it simplifies following issues I was going to mention:

Inter-thread race condition is significant issue because ServerEngine can't assume that fluentd is the only user of it.
SocketManager API should be loosely coupled from ProcessManager API to make things easy to understand & easy to use, or tightly coupled even with MultiProcessServer to let users assume that SocketManager is a part of standard features of ServerEngine. To go with the first idea, using UNIXSocket.pair is making API design difficult because socket pairs need to be passed to Process.spawn. But SocketManager API includes so much side effects (such as starting DRb server) to initialize it regardless of config options.
Affecting to DRb servers running beside SocketManager are affected by SocketManager.
Shutting down DRb server is tricky when multiple SocketManager instances are created.

I confirmed that above branch can complete simple test cases I added. But I have not tried Windows implementation. And as you can see TODO comments, its implementation is not completely working code yet. So I would like to rely on you to improve the Windows support.
With MultiSpawnServer (for fluentd, maybe), you can create SocketManager::Server and set socket path (SocketManager::Server#path) to an environment variable at server module (Server#before_run). On a child process (Worker#run), you can create SocketManager::Client with the path taken from environment variable (SocketManager::Client.new(ENV[...]])). You must close SocketManager::Server (at Server::after_run) but don't have to close SocketManager::Client.

I got it. Thank you for the reviewing!

@naritta If you're struggling to wrap a socket handle in a TCPServer or UDPSocket, you may try to call int rb_w32_wrap_io_handle(SOCKET s, int flags) function defined in ruby itself (ruby-2.2.2/win32/win32.c). I think you can call it using ffi. It returns a fd. Then you may use TCPServer.for_fd or UDPSocket.for_fd.

Thank you very much for teaching me!
This is the information that I really wanted!!!
Finally, I've succeeded in wrapping a socket handle in a TCPServer.
(Before I know this, I used _open_osfhandle and wrapped in IO class.)
Thank you very much!


Memory leak in Scryer Prolog

With limits I get this result:
$ ulimit -m 2000000
$ ulimit -v 2000000
$ target/release/scryer-prolog
?- ['program2.p'].
true.
?- between(1,100,_), suite_quiet, fail; true.
Segmentation fault

Not ok! Should continue running till the end.
Test program is this here:
program2.p.log

Possibly related to https://github.com/mthom/scryer-prolog/issues/950.

You can try, with the same ulimits:
?- [user].
app([], X, X).
app([X|Y], Z, [X|T]) :- app(Y, Z, T).
garbage(0, [0]) :- !.
garbage(N, L) :- M is N-1, garbage(M, R), app(R, R, L).
foo :- garbage(12,_), foo.

?- foo.
memory allocation of<PHONE_NUMBER> bytes failed
Aborted

Seems to be impossible to implement, even
after like 12 months, so closing this ticket, right?

Just earlier this week a new rebis-dev branch was published which improves this aspect of Scryer Prolog


.idea should be added to .gitignore

Yeah, common mistake :)

And sails-db-migrate.iml too

Not a mistake. I intentionally share the IntelliJ/WebStorm project settings.


Error generating ICS chain

Hey, I'm getting this error while generating an ICS chain using spawn.
The chain directory is created, but it seems that some templates are off.
Version: release/v0.50
➜  spawn git:(release/v0.50) spawn new icscons \
--consensus=interchain-security  \
--bech32=consu \
--denom=consu \
--bin=consumerd \
--disabled=cosmwasm,globalfee,tokenfactory,ibc-packetforward,ibc-ratelimit \
--org=${GITHUB_USERNAME}
go mod tidy
go: github.com/app imports
	github.com//icscons/app/params: malformed import path "github.com//icscons/app/params": double slash
go: github.com/app imports
	github.com//icscons/app/upgrades: malformed import path "github.com//icscons/app/upgrades": double slash
go: github.com/app imports
	github.com//icscons/app/upgrades/noop: malformed import path "github.com//icscons/app/upgrades/noop": double slash
go: github.com/cmd/consumerd imports
	github.com//icscons/app: malformed import path "github.com//icscons/app": double slash
go: github.com/app/decorators tested by
	github.com/app/decorators.test imports
	github.com//icscons/app/decorators: malformed import path "github.com//icscons/app/decorators": double slash
make: *** [mod-tidy] Error 1
3:19PM ERR Error running `make mod-tidy` err="exit status 2"

🎉 New blockchain 'icscons' generated!
🏅 Getting started:
  - $ cd icscons
  - $ gh repo create icscons --source=. --remote=upstream --push --private
  - $ spawn module new <name>   # generate a new module scaffolding
  - $ make testnet              # build & start a testnet with IBC

EDIT:
After inspecting, I didn't set the GITHUB_USERNAME environment variable.
Would it be possible to raise an error which would hard fail in case the env var is not set?
Feel free to close.

Other catches were added here as well :) Thanks again :partying_face:


[VS Code] Starting collaboration session: Could not connect to the server. Check that you are connected to the internet.

Error:
Starting collaboration session: Could not connect to the server. Check that you are connected to the internet.
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.1326

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.32.3

platformName
Linux

platformVersion
4.18.0-15-generic

Closing as a duplicate of #1113.


Visualize black cottonwood phenophase data

Follow up to #49
Need a reply from Kai Feng at ORNL with dates of the surveys

[x] compare cultivar ids between phenophase and SNP datasets
[ ] collate large dataset from the separate txt files, with date, site, treatment, and phenophase columns added
[ ] create figures comparing bud set and bud break between genotypes, plots, years, etc

Most files have good number of overlap (82 tp 98 %) with SNP cultivars.

With existing knowledge, combined txt files with ancillary info gleaned from file names. Several categories have NAs, and other parts of file names may need to be added. So far, site, year, budPhas, date, rep, and score are included.


perf(streaming): add the missed read prefix hint on state table

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
should NOT merge before https://github.com/risingwavelabs/risingwave/pull/8544, so that we can see the plan's changes.

add read_prefix_len_hint in the build function of the TableCatalogBuilder  as a required field.
add `read_prefix_len_hint for

agg distinct table, fix #8541
watermark filter state table
group topn state table
source state table

Checklist For Contributors

[x] I have written necessary rustdoc comments
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Checklist For Reviewers

[ ] I have requested macro/micro-benchmarks as this PR can affect performance substantially, and the results are shown.

Documentation

[ ] My PR DOES NOT contain user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

Could impact nexmark q15(agg distinct), q16(agg distinct) and q102(dyn filter)


Add time difference slide

Fixes #38
This PR adds a time difference screen after the second password generator for lessons 1 and 2. I also implemented the ability to go back within a lesson, so the users can try submitting different values without having to start the lesson over.

The numbers are accurate, right? I think the bigger picture is the average time-to-crack, since the password-cracker isn't pseudorandom (it increments) so each password has wildly different times depending on the most significant digits.

Yeah, the numbers are accurate based on projected time to crack the password. There's such a big fluctuation because we allow up to 12 digits, and based on the incremental password generation at 100,000 per second, the max password<PHONE_NUMBER>99) would take like 116 days.
Do you think the time should instead be an average? i.e. for a 4 digit password, the average is ~.005s and for a 6 digit password, the average is ~5s? The main thing I don't like about that is it doesn't really tie into what passwords they submitted or compare their two times directly, but I can see how using the projected time is confusing.

I think using an average as described could make sense, but only in the event that they don't allow their passwords to be cracked to completion. Thoughts?

I'm a little hesitant to try and track whether they let the password generator finish because I feel like that's going to be messy to implement. I'm also unsure if having some times be average while others are measured might be confusing. For example, if I was going through the lesson I might wonder why the first value is a measured time but the second is an average?
I think we should either go with

always using the actual values for both times, or
always using the average values for both times.

An idea I was thinking about was lowering the upper limit on password length to something more reasonable like 8 digits, in which case the time to generate the "longest" password is ~17 minutes. This solves the issue of some of the times seeming ridiculous (like 50 days) compared to others.
I also thought about changing the phrasing on the slide from:
your first password was
1321
and took
4s

to something like:
your first password was
1885
and would take
0.0491s
for our password generator to guess

so it's not implied that we let the password generator run to completion.
What do you think?

Also, what if we were to add a "skip" button to the password generation, allowing them to skip to the end of the animation (password and final time)? Would that be helpful or would it be more confusing?

I think both those ideas sound excellent - especially for those who are impatient.

Ugh, unfortunately there doesn't seem to be a good way to implement the skip functionality. I'll keep trying to see if there's a hack-y way to do it, but for now I'll focus on addressing the other stuff.

Roger that. Skip functionality could be a stretch goal - besides, we'd like for kids to progress through the whole lesson piece by piece ideally, wouldn't we? Sounds AOK either way :+1:

Yeah, I'll add an issue to the backlog for it!


Development pain-points

After stand-up this morning, we discussed some pain points that I found trying to develop in the mono-repo after a bit of a hiatus.
Here they are written down. Perhaps we can make issues for the pain points that we want to deal with.

[ ] I ran yarn && yarn contract:compile from nitro-protocol on master, and it failed. I needed to run yarn from the monorepo Misleadink .
[ ] .env.defaults is misleading
[ ] .env.local isn't loaded by default when I run yarn contract:compile
[ ] env variables weren't in .env
[ ] I ran yarn test from nitro-protocol, and got a confusing error. The docs say you need to start ganache, so that's good
[ ] I ran yarn start:ganache from nitro-protocol, doesn't work.
[ ] I ran yarn start:ganache from monorepo root, and the tests killed the ganache server
[ ] network-context.json is checked in, and gets changed when you start ganache
[ ] I saved a file from the devtools package, and prettier formatted my file on save. When I tried to commit that file, yarn lint:check failed

Taken from: https://github.com/statechannels/monorepo/pull/573#issuecomment-559705782
I managed to get VSCode + ESLint + Prettier playing nicely together :)
This is my .vscode/settings.json files:
{
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"eslint.workingDirectories": [{"directory": "packages/rps", "changeProcessCWD": true}],
"editor.formatOnSave": true
}
We will need to setup the eslint.workingDirectories option for each package.
I also downgraded Prettier in RPS to v1.18 so its consistent with other packages.
I also changed ESLintrc to not define Prettier rules but instead to inherit them from .pretterrc


Ignore clippy warning when length must be >= 1

Fixes: https://github.com/lumeohq/xsd-parser-rs/issues/120

CI failures seem unrelated. I think they're due to newly introduced checks in Rust.
I can fix the in a separate PR if you want.

CI failures seem unrelated. I think they're due to newly introduced checks in Rust.
I can fix the in a separate PR if you want.

I will look at it shortly.

Can you please rebase this on main?

Rebased


BREAKING CHANGE: remove experimental Yex.Managed.SharedDoc

coverage: 87.205%. remained the same
when pulling 5137cbda13247bbfbf04a05974c9aa691cb57581 on remove_deprecated
into 45a9f3f747d1f696867d26c7c1e262577cdea6b1 on main.


I can't add a song

I can't select my song in the chart editor no audio plays it says 0/0 for time i can't fix it i've done multiple file edits and txt edits but no matter what i do i can't fix it I'm using the latest version but it also doesn't work in 1.4.2 i haven't tried any other versions

my bro , it needs to be a ogg before you can actually play it on the game. and if you havent alrdy , rename the song ID in the source code before you could actually play it. and delete the other files as well

my bro , it needs to be a ogg before you can actually play it on the game. and if you havent alrdy , rename the song ID in the source code before you could actually play it. and delete the other files as well

it's already ogg dude but i will look at that source code thing

my bro , it needs to be a ogg before you can actually play it on the game. and if you havent alrdy , rename the song ID in the source code before you could actually play it. and delete the other files as well

where do i go to rename it in the source code

after much trial and error it turns out i had false information and you can't name your files with spaces instead of dashes in the newer updates


Made load support binary file objects

Codecov Report

Merging #103 (3ee43ef) into master (e58284a) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #103   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          487       489    +2
  Branches        94        95    +1
=========================================
+ Hits           487       489    +2

Impacted Files
Coverage Δ

tomli/_parser.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


RFM - capture2text

I DON'T Want To Become The Maintainer

[x] I have followed the Package Triage Process and I do NOT want to become maintainer of the package;
[x] There is no existing open maintainer request for this package;

Checklist

[x] Issue title starts with 'RFM - '

Existing Package Details

Package URL: https://chocolatey.org/packages/capture2text
Package source URL: https://github.com/dtgm/chocolatey-packages/tree/master/automatic/capture2text/

Date the maintainer was contacted (in YYYY-MM-DD): 2021-12-13
How the maintainer was contacted: email

Hello,
I'm the current maintainer of this package.
This issue can be closed.
Have a nice day


Reset all filters on "Reset" button press

Makes the URL a bit cleaner. Also updated nuqs package

thanks for the pr.
was resetting filter not working?
i think query string is not needed for the toolbar states.

filter restting is working fine.


Proposal: Break beforeNavigate into beforeUnload and beforeNavigate

Describe the problem
I've been thinking a lot about the beforeNavigate interface, as you can see by my recent issues:

#8605
#8597
#8482

I'd like to propose breaking beforeNavigate up into two methods: beforeUnload and beforeNavigate. This would help simplify the documentation and make it explicit in how to deal with the different behaviours.
Describe the proposed solution
Here's what the documentation could look like (and thus, influence the logic)

beforeUnload
A navigation interceptor that triggers before SvelteKit unloads. Calling navigation.confirm() will trigger the native browser unload confirmation dialog.
beforeUnload must be called during a component initialization. It remains active as long as the component is mounted.
beforeUnload((navigation: BeforeUnload) => {
  navigation.confirm();
});

beforeNavigate
A navigation interceptor that triggers when navigating to a new URL handled by SvelteKit. Navigation can be resolved or rejected, allowing you to prompt the user for confirmation.
beforeNavigate must be called during a component initialization. It remains active as long as the component is mounted.
Basic example using window.confirm
beforeNavigate((navigation: BeforeNavigate) => {
	if(window.confirm('Are you sure?')){
		navigation.resolve();
	} else {
		navigation.reject();
	}
});

Using a custom interface

{#if attemptedNavigation}

Are you sure?

			<button on:click={cancel}>Cancel</button>
			<button on:click={confirm}>Confirm</button>

{/if}

Alternatives considered
No response
Importance
would make my life easier
Additional Information
I've purposefully chosen different methods than navigation.cancel() so that we can be clear in the change of behaviour.

Thoughts related to this: https://github.com/sveltejs/kit/issues/8597#issuecomment-1846839385

I've opened #11300 which addresses the confusion around the current behaviour.
On reflection, aside from the bad docs, I think the current behaviour is what we want. As described in https://github.com/sveltejs/kit/issues/8597#issuecomment-1854506876, skipping beforeNavigate for external link clicks and leave navigations would prevent us from showing custom 'are you sure?' UI (in the external link click case) and force us to duplicate logic between beforeNavigate callbacks and beforeunload handlers.
The navigation.resolve() idea is intriguing, but I think it probably adds too much complexity. It would be burdensome for developers to always have to call resolve() (and impossible to tell when they had forgotten to call it, as opposed to not having called it yet), and it would get somewhat hairy if there was another navigation that happened in the meantime (at that point, does the from of the suspended navigation change? Or is it aborted automatically? In general we want to avoid APIs where these sorts of questions are possible).
I take the point that it's mildly cumbersome to know the intent of a navigation (i.e. the 'yes I'm sure' following an 'are you sure?' confirmation dialog) but I think that's better solved in other ways. (In most cases you can just have a local force variable that is true when you hit 'confirm', and is reset inside the beforeNavigate callback.)
As such, I'll close this issue.


Using the same seed and prompt word cannot completely reproduce the image after restarting the webui.

Using the same seed and prompt word cannot completely reproduce the image after restarting the webui.

expected.
you can try to update the extension (which should automatically load newest KGen which solve SOME reproducibility issue)
Also, some version of llama-cpp-python with cuda mode DO NOT ensure any reproducibility.
The metadata in image should provide the generated prompt, and the extension provide "apply original propmt"(or apply generated prompt?, I forgot) button to load the generated prompt.

If you want to know why restarting webui cause it
it is bcuz my function will cache the result and if all the things are same it will return same result without calling prompt gen to reduce time cost.