computed value becomes undefined inside onUnmounted hook unless it's accessed before

Version
3.0.5
Reproduction link
https://codesandbox.io/s/priceless-lalande-eh4wx?file=/src/views/Home.vue
Steps to reproduce

Go to Codesandbox.
Open console window in Codesandbox.
First access "Home" page, then move to "About" page.
You'll see computed value becoming undefined.
If you un-comment console.log(computedObj.value) right above the onUnmounted hook. The value becomes visible inside onMountedhook.

What is expected?
Not sure. Is this expected?
What is actually happening?
Not sure. I think it would be OK for computed or any other reactive value to be undefined inside onUnmounted, but I think it would be better to have consistent behavior.

in the unmounted stage, effects have been stopped, and stopped effects (if using a scheduler) return undefined:
https://github.com/vuejs/vue-next/blob/7f086369003b50101849f4bcb8dd2978c1ea87ff/packages/reactivity/src/effect.ts#L86-L88
In that sense, it's expected.
But if we don't want this behaviour for computed, we could implement a check for effect.active in computed's implementation, and run effect.raw() for stopped computeds, around here:
https://github.com/vuejs/vue-next/blob/7f086369003b50101849f4bcb8dd2978c1ea87ff/packages/reactivity/src/computed.ts#L50-L57
The downside would be that the value would no longer be cached, but at least consumers should still be able to get the value.

in the unmounted stage, effects have been stopped, and stopped effects (if using a scheduler) return undefined:
https://github.com/vuejs/vue-next/blob/7f086369003b50101849f4bcb8dd2978c1ea87ff/packages/reactivity/src/effect.ts#L86-L88
In that sense, it's expected.
But if we don't want this behaviour for computed, we could implement a check for effect.active in computed's implementation, and run effect.raw() for stopped computeds, around here:
https://github.com/vuejs/vue-next/blob/7f086369003b50101849f4bcb8dd2978c1ea87ff/packages/reactivity/src/computed.ts#L50-L57
The downside would be that the value would no longer be cached, but at least consumers should still be able to get the value.

Yeah that's true. Getting back cached computed value sounds right. I think this is tiny issue not sure if it's worth doing something about it, but I can understand it could be confusing because if the computed is accessed once, it looks like computed is working inside unmounted hook... maybe we should document it as an edge case...?

Yeah that's true. Getting back cached computed value sounds right. I think this is tiny issue not sure if it's worth doing something about it, but I can understand it could be confusing because if the computed is accessed once, it looks like computed is working inside unmounted hook... maybe we should document it as an edge case...?

I'd personally rather make the change I proposed. The value may not be cached, but you will likely access it once only in that hook, so there's no real performance impact to be expected.

I'd personally rather make the change I proposed. The value may not be cached, but you will likely access it once only in that hook, so there's no real performance impact to be expected.


About BP problem mentioned in the introduction

Hello~ I recently read your brilliant paper, but confused anout BP problem mentioned in the introduction:
Moreover, this would also hinder the back-propagation for the prediction module, which needs to calculate the probability distribution of whether to keep the token even if it is finally eliminated.
My understanding is that the deleted tokens do not participate in subsequent attention calculations, meaning there is no information exchange. They are also irrelevant to the calculation of loss. Therefore, it seems that directly deleting these tokens during training does not affect the correct backpropagation of gradients. I am a bit confused about this statement in the article and would appreciate it if you could clarify any misunderstandings.

Thanks a lot for your prompt and insightful response!
I have a bit of confusion and would appreciate your help in identifying where my understanding might be incorrect:
The reason the prediction module can be updated through gradients is that the output of the prediction module, hard_keep_decision (num_image_tokens, 1), establishes a gradient connection with the parameters of the prediction module via the Gumbel softmax. There are two pathways for the gradient to be transmitted back to hard_keep_decision from the loss: 1. Ratio loss, where during calculation, both 0 and 1 in hard_keep_decision can successfully transmit the gradient back. 2. Other losses, with the forward propagation path being: hard_keep_decision -> attention map -> subsequent layers -> loss. In the step from hard_keep_decision to attention map, even though the attention score of the dropped tokens is zero, the gradient there can still be backpropagated. Therefore, if tokens are removed, it would interrupt the gradient pathway of the dropped tokens in the second path, but theoretically, the prediction module would still update through the gradient transmission path of the kept tokens. However, removing tokens and training with an attention mask (keep tokens) would yield different results. I would like to inquire whether there are any theoretical advantages or disadvantages between these two methods, and whether retaining the results produced by the token would be better.


[Strategic Goal 2024] ISC as Advisors for the OSPO Survey 2024 - Collaboration with ISC

Reach out to ISC to join one more year as distribution partners and advisors for the OSPO survey 2024, to include questions about the involvement in innersource best practices and ISPO integration within OSPOs or open source management and strategy, to analyze trends and evolution over the years

The survey was launched! https://www.research.net/r/5GNDNPL


Bug: Local Announcements are shown for all communities

Green Bay is not supposed to see Leu messages. Seems like changing the community does not trigger tor reload the messages. When changing the account it does work.
Private Zenhub Image

I think this is actually a specific case of #1489, which has been fixed by #1501. Please reopen if I am mistaken.


Issue when referencing SQLite (ios project)

Hi,
I try to add SQLite library to an ios project but it doesn't work. Perhaps I missed something obvious because I'm new to ios development.
I first tried the manual approach: I dropped SQLite.framework from ios folder to my project tree in xcode, and I added it to my linked frameworks and libraries. But then, import SQLite statement in a swift class did not work.
Then I tried with Carthage: import SQLite works well but the project does not compile, with the error
/../Documents/../Carthage/Build/iOS/SQLite.framework/Headers/SQLite.h:6:9: 'SQLite/SQLite-Bridging.h' file not found
Could not build Objective-C module 'SQLite'

When I check the package content of SQLite.framework, I see that "Headers" folder contains:
SQLite-Bridging.h
SQLite-Swift.h
SQLite.h
sqlite3.h
Is there a bug or did I done something wrong ?
I use XCode 7.2 with a single view template ios project.
Thanks
Eric

I have the same exact problem. Is this answered elsewhere?

No, I had no feedback, so I used another library. I have not the name in mind now but I can find it later if you don't find.

I fixed it by cleaning the project folder. You can do this by holding alt, then Product -> Clean build folder.

Thank you for the tip, I'll give it a try!

@jandoornbos That was helpful. Thank you.


[docs] DataSource Metadata invalid json

the result example has a trailing ','
https://github.com/druid-io/druid/blob/master/docs/content/querying/datasourcemetadataquery.md

Fixed via #5547.


Add Bug report and Feature request templates from main repo

I think essentially the same Bug report and Feature request templates should be added from the main repo. Maybe the fixme folder can be left out though.

Great point Niko
https://github.com/gdsfactory/gplugins/commit/1b1943373bb2682ea3127564f9ef5820991dbc88


[AutoRelease] t2-datafactory-2022-10-26-64838(Do not merge)

https://github.com/Azure/sdk-release-request/issues/3300
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=987

issue link:https://github.com/Azure/sdk-release-request/issues/3300


The default example don't work

Hi @samiscoding , I tried to run the Dragoman but it crashes even with the default existing functions
There was no complete example given so I need to build mine by reverse engineering the existing code.
The example folder don't contains the most important information: the custom defined python functions (https://github.com/SDM-TIB/Dragoman/tree/master/example). The demo video don't show how to apply the functions in a RML file, it tells us where to write the python functions, but it don't show how to use those functions to actually run a mapping. The functions used in the example/test.ttl RML don't seems to be defined anywhere, so we need to figure out how to use functions by ourselves
It is not clear what is the full URI of the function that we define in the functions.py. That's the only thing we need to do normally: map a URI to a python function, because everything is a URI in RDF/RML, but there is no trace of defining URIs for functions in Dragoman. We can only define basic strings
In the example RML you used @prefix clarifyFun: <http://clarify2020.eu/function/> ., so I tried to use it also
You can find my repo here: https://github.com/vemonet/Dragoman/tree/vemonet-dev
I added a setup.py (it is required to publish a pip package, not sure why you dont have a setup.py for this package that has been published), and I improved the Dockerfile to run it easily as a CLI instead of the API (the API just makes everything more complex to use and increase the chances of failures, which reduce the reproducibility of your tool)
I provide infos on how to build and run as comments in the Dockerfile: https://github.com/vemonet/Dragoman/blob/vemonet-dev/Dockerfile.cli (I can do a pull request if you are interested in adding)
I currently just try to use the default tolower function you already defined but it does not seems to work.
docker run -it --rm -v $(pwd)/example/hgnc:/data ghcr.io/vemonet/dragoman:latest -c config.ini

Executing hgnc...
Traceback (most recent call last):
  File "/usr/local/bin/dragoman", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/Interpreter/__main__.py", line 20, in main
    translate(config_path)
  File "/usr/local/lib/python3.8/site-packages/Interpreter/translate.py", line 791, in translate
    update_mapping(triples_map_list, function_dic, config["datasets"]["output_folder"], config[dataset_i]["mapping"],True,file_projection, config["datasets"]["strategy"])
  File "/usr/local/lib/python3.8/site-packages/Interpreter/connection.py", line 141, in update_mapping
    prefix, url, value = prefix_extraction(original, predicate_object.predicate_map.value)
  File "/usr/local/lib/python3.8/site-packages/Interpreter/connection.py", line 83, in prefix_extraction
    return prefixes[url], url, value
KeyError: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'

That would be really nice if we could have a full example that works (just git clone, run docker and it work), so that we can start from that to try it.
It would also be nice to have a full working example of piping Dragoman + RDFizer. Because RML mappings don't do much with functions, so any person doing mapping ro RDF seriously will need functions.

Hi @vemonet, thanks a lot for trying Dragoman and giving us feedback. Regarding the missing functions, I just noticed that it is in another branch and not pushed to the main branch, my bad! I am working on preparing a complete example and demo on using Dragoman, I will definitely inform you once it is ready :) We will also consider your other comments on docker. Also, we are welcoming any type of collaboration, so if you are interested we'd be happy to hear from you via email :)


Pass Handlebars.create parameters along

Pass parameters for Handlebars.create along with promisedHandlebars in the options object.
This makes life easier at setting the defaultLayout for example.

Coverage remained the same at 100.0% when pulling 14bd1f19dfa3a4fd05847ed0b00adbf070d0926b on TV-productions:TV-productions-patch-create-params into b53ec5848a7cec29158d8682ea2e35eeabc22d1b on nknapp:master.

Coverage remained the same at 100.0% when pulling f68bcead3743b6f48572cc78ae19f9efdc441fcd on TV-productions:TV-productions-patch-create-params into b53ec5848a7cec29158d8682ea2e35eeabc22d1b on nknapp:master.

Hi and thanks for your PR.
I wasn't aware that the Handlebars.create() method could take parameters. Could you provide an usage-example for this parameter?
Actually, could you add the example to the examples-directory and include it in your pull request? Any dependencies can be added to devDependencies. Best, if the example is runnable after npm install.
For now, this will help me understand what you are up to, but later it will also be included into the documentation.

I'm closing this PR for now. @TV-productions if you are still interested, please add a comment and I will reopen.


Strange <Buffer 0a> issue with phonegap-cli commands

Hi,
I've got a strange issue with the phonegap-cli where any command I use ends up with loads of <Buffer ... message being printed to my screen, and then it exits with no debug message at all.
➤ phonegap platform update android --verbose
(node:9925) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
<Buffer 55 70 64 61 74 69 6e 67 20 61 6e 64 72 6f 69 64 20 70 72 6f 6a 65 63 74 2e 2e 2e>
<Buffer 0a>
<Buffer 6c 73 3a 20 6e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 3a 20 2f 55 73 65 72 73 2f 6d 61 74 74 2f 53 69 74 65 73 2f 67 ... >
<Buffer 41 6e 64 72 6f 69 64 20 70 72 6f 6a 65 63 74 20 75 70 64 61 74 65 64 20 77 69 74 68 20 63 6f 72 64 6f 76 61 2d 61 6e 64 72 6f 69 64 40 35 2e 31 2e 31>
<Buffer 0a>
<Buffer 6c 73 3a 20 6e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 3a 20 2f 55 73 65 72 73 2f 6d 61 74 74 2f 53 69 74 65 73 2f 67 ... >
<Buffer 45 72 72 6f 72 3a 20 4e 6f 20 4a 61 76 61 20 66 69 6c 65 73 20 66 6f 75 6e 64 20 77 68 69 63 68 20 65 78 74 65 6e 64 20 43 6f 72 64 6f 76 61 41 63 74 ... >

I've just re-installed node (using Homebrew) & phonegap so I'm pretty sure I'm on the latest version of everything.
➤ node -v
v6.2.1

➤ npm -v
3.9.3

➤ phonegap -v
(node:9975) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
6.2.6

It's worth noting that I previously had node v0.12 installed on this machine, and I upgraded it to v6.2.1 using Homebrew.

It's also worth noting that very simple commands like phonegap help actually work without any issues or strange terminal output.

Hey @Muffinman,
Thanks for bringing this to our attention! I will begin to look into this. Just to check, when you installed phonegap did you uninstall first, npm uninstall -g phonegap? If not can you try this and then reinstall, npm install -g phonegap.

No I didn't initially uninstall first, but I've since tried that and I still get the same problem.

I'm running into this too.  I've uninstalled and reinstalled.
phonegap platform

outputs
<Buffer 49 6e 73 74 61 6c 6c 65 64 20 70 6c 61 74 66 6f 72 6d 73 3a 0a 20 20 61 6e 64 72 6f 69 64 20 34 2e 31 2e 31 0a 20 20 62 72 6f 77 73 65 72 20 34 2e 31 ... >
<Buffer 0a>

Hi @pdebruic,
Are you using Mac / Windows? Also what version of PhoneGap do you have installed?

It was happening on mac.  I 'fixed' it by wiping out node & npm and reinstalling everything.  I had node (v6.?) installed with homebrew. After deleting everything I installed node 4.4.5 from the nodejs.org site and npm from the npmjs.com site and things started working.  I've no idea why they stopped working in the first place.
I'm not sure whether it was a phonegap issue or not.  Its just the only node package that had the problem that I noticed.

I have the same issue on Windows with node 6.2.1 and PhoneGap 6.2.7.

Getting the same issue on OS X 10.11.5, Node 6.2.2 and PhoneGap 6.2.8.
Tried reinstalling PhoneGap to no avail.

Same issue on OSX 10.9.5, Phonegap 6.2.9, Node 6.2.1 (npm 3.9.3).  It was working with older phonegap versions (two years old?) until I just uninstall/reinstalled everything fresh (using brew and npm -g -> Node, npm , Cordova, Phonegap).  Cordova command line works.  Latest phonegap GUI tool works.  Phonegap "help" works, but everything else spills buffer contents.

The fix for this was released in<EMAIL_ADDRESS>Closing this.


[OSDEV-219] - List page: Data moderator can trigger a merge from C/R screen

Introduce features mentioned in https://opensupplyhub.atlassian.net/browse/OSDEV-219 - data moderator can trigger a merge from Confirm / Reject screen. Confirm and Reject actions are preserved and replaced into the Select field along with the Merge action.
From the ticket description:

When data moderators are reviewing Confirm & Reject, the suggested potential_match(es) may in fact be facilities that are themselves duplicates and need to be merged. It would be helpful to be given the options that incorporate the merge moderation functionality from the C/R screen.
Merging facilities can occur from the facility list page while processing C/R POTENTIAL_MATCH(es)

Since the repository is public and only a limited group of people have access to Jira, please write the description for the pull request.

Done

@VadimKovalenkoSNF thank you for resolving my comments!
Please let me know when it will be ready for the final review.

There are still minor UI changes related to empty output of Merge select option and facility list header to be done.


CRF: Add scores for decoded tags to crf_decode

Currently, crf_decode returns the decoded tags and a best score. The best score contains just the best score of all tags. It does not represent how certain the model is at timestep x where it set the tag to z.
This PR updates crf_decode to return an additional tensor of size [batch_size, max_seq_len] that contains the score of the decoded tags. This score can be used as confidence score during prediction.

@googlebot I signed it!

Thanks, Tanja. I'm wondering if we could add a test case for confidence?  What do you think, Dheeraj @Squadrick

@Squadrick  @facaiy Thanks for your reviews. Should I add a test? What kind of test do you have in mind? Not 100% sure how a test could look like.

@tabergma any idea why the builds are failing?

Thank you for your contribution. We sincerely apologize for any delay in reviewing, but TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision:
TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA:
Keras
Keras-CV
Keras-NLP


How to pass Apple Receipt to API call

I'm having the issue of trying to pass the receipt value of RNIap.requestReceiptIOS() as a JSON to
var data = {   apple_request: [     {       subscription_number: "A-S00000004",       // Apple Receipt        receipt_id: RNIap.requestReceiptIOS()  //This is supposed to be the Apple receipt:"MIIT5gYJ..."      }   ] };
Output -

Reponse: Promise {_40: 0, _65: 0, _55: null, _72: null}

_55 is where the Apple Receipt base64 is at. I need to pass the value to receipt_id.
I also tried following the usual script of running .then after a promise call
var getPromise = Promise.resolve(getLastReceipt);     getPromise.then(function(value){       return value;     });
Which also returns as

Promise {_40: 0, _65: 0, _55: null, _72: null}

Question is How do I turn a Promise into a JSON?

Can I see what getLastReceipt is doing in detail?

Can I see what getLastReceipt is doing in detail?

getLastReceipt was an old method that I tried out and I have since removed it.
But it essentially was just a RNIap.requestReceiptIOS(); call where I tried to .then to read the promise.

@byang8 Do you mean you've solved the problem? Please provide minimal reproduction if you still need help. Closed for now.

No I've yet to solve the problem. So far only hardcoding the receipt from the console works.
Here is the flow:
getLastReceipt = async () => {
  var recentReceipt = await RNIap.requestReceiptIOS();
  var data = {
    apple_request : [
      {
        subscription_number: "A-S0000004",
        receipt_id: recentReceipt
      }
    ],
  }
  try {
  const response = await fetch(appstore_url, {
    method: 'POST',
    data,
    headers:{
      'API-TOKEN': 'secret_token'
    }
  });
  } catch(err) {
    throw Error(JSON.stringify(err));
  }
};

The issue in hand is that it cannot convert the RNIap.requestReceiptIOS() response to a JSON object because its a Promise.

The solution to this issue was that the API call and and function that contained the JSON body needed to both be asynchronous calls.
Wrapping:
async function getReceipt() {
    const latestReceipt = await RNIap.requestReceiptIOS();
    api.post(
      url,
      {
        apple_request: [
          {
            subscription: ${subscription_number},
            // Apple Receipt
            receipt_data: latestReceipt
          }
        ]
      },
      {
        headers: {
          "API-Token": ${api_token}
        }
      }
    );
  }

Api async/await call:
 const receiptCall = async () => await getReceipt();


implement all missing axis props & fix Position of tick labels

closes : https://github.com/zakodium/react-plot/issues/214
closes : https://github.com/zakodium/react-plot/issues/239

in src/components/Axis/VerticalAxis.tsx
i used textPosition: 3 + primaryTickLength, because we need a margin between tick line and the text (3 is the margin)

is tickLabel have to be in the plot when tickposition is "inner"?

is tickLabel have to be in the plot when tickposition is "inner"?

I think the label should never be inside the plot.
/cc @stropitek @lpatiny

I think the label should never be inside the plot.

I agree

fixed


In Cargo.toml I missspelled "version" and it still worked, but after I corrected it I now get compile errors.

Problem
The code is in this github repo: https://github.com/exo-cortex/simple_axum_button_response
In Cargo.toml I missspelled "version" in the line
tower-http = { verion = "0.4", features = ["fs"] }

Everything still worked fine and compiled without errors.
But once I corrected the mistake my project now does not compile anymore. I don't completely understand what's happening here. While compiling cargo displayed that it compiled tower-html v0.5.2 - so it somehow read the package name, but ignored the malformed version-statement.
I fixed my problem with the newer version (that cargo somehow used), but It is problematic IMHO that cargo does not warn the user of a misspelled dependency version statement; I did not correctly state the version and it still installed some version.
I don't think this is intended.
Steps

git clone the repo at https://github.com/exo-cortex/simple_axum_button_response
run cargo build
correct the misspelled word "verion" in Cargo.toml
run cargo build again
this should give you an errror.

Possible Solution(s)
Check toml file integrity when running cargo commands and warn user.
Notes
No response
Version
No response

Cargo had a bug where a missing version was treated as version = "*".  After a several year transition period for people to stop relying on the bug, we've fixed it in #13775 which will be released in 1.79
Closing as this appears to be resolved.  If there is a reason for us to keep this open, let us know.
btw you should have at least gotten the following (I do follow the reproduction steps)
warning: dependency (tower-http) specified without providing a local path, Git repository, version, or workspace dependency to use. This will be considered an error in future versions
warning: unused manifest key: dependencies.tower-http.verion

This is the other relevant issue tracking for typo correction for Cargo.toml: https://github.com/rust-lang/cargo/issues/9731

@epage
You're absolutely right! I somehow didn't see it, but it was there. Thank you.


difficulty to fetch() examples on windows

Am I the only one  ? (it works by manual download, though)
Python-3.6/Windows10/ipyvolume master of 10 minutes ago

You need either curl or wget. As similar issue was report here: https://github.com/maartenbreddels/vaex/issues/29
I'll try to fix it now, and you can try it it works ok?

ok for curl, will look.
also, if I didn't do anything wrong, with notebook-5.1.0rc1, jupyterlab-0.26.5 and ipywidgets-7.0.0b11 and current ipyvolume master, I fail to show anything on first part of the example.

Can you shows the output of the javascript console?

how do I do that (on chrome) ? (maybe shall i shift to firefox or edge)

otherwise, I haven't curl but I have requests. wouldn't requests be a more common option ?

Menu: View->Developer->Javascript console.
Yes, working on a built in module actually now.

Ok, it should be fixed now, the only thing is that you need ipywebrtc (just pip install it, no need to register as nb extension I think)

javascript console remembered me I had forgot to register in jupyterlab.
but trying to do that I get a:
C:\WinPython\a\ipyvolume>jupyter nbextension enable --py --sys-prefix ipyvolume
Enabling notebook extension ipyvolume/extension...
      - Validating: problems found:
        - require?  X ipyvolume/extension

Odd, how did you install it?

git clone https://github.com/maartenbreddels/ipyvolume.git
cd ipyvolume
REM add ",shell=True)" at the end of all "check_call" in setup.py
pip install -e .
jupyter nbextension enable --py --sys-prefix ipyvolume

all that in my particular context:
alabaster (0.7.10)
altair (1.2.0)
altair-widgets (0.1.2)
astroid (1.5.3)
Babel (2.4.0)
baresql (0.7.4)
beautifulsoup4 (4.6.0)
bkcharts (0.2)
bleach (2.0.0)
bokeh (0.12.6)
bqplot (0.10.0a3)
certifi (2<IP_ADDRESS>)
chardet (3.0.4)
colorama (0.3.9)
coloredlogs (7.3)
cx-Freeze (5.0.2)
cycler (0.10.0)
Cython (0.26)
decorator (4.1.2)
docutils (0.14)
entrypoints (0.2.3)
fast-histogram (0.2.1)
holoviews (1.8.2)
html5lib (1.0b10)
humanfriendly (4.4.1)
idna (2.5)
imageio (2.2.0)
imagesize (0.7.1)
ipykernel (4.6.1)
ipyleaflet (0.4.0a1)
ipympl (0.0.5)
ipyparallel (6.0.2)
ipython (6.1.0)
ipython-genutils (0.2.0)
ipyvolume (0.4.0a2, c:\winpython\a\ipyvolume)
ipywidgets (7.0.0b11)
isort (4.2.15)
jedi (0.10.2)
Jinja2 (2.9.6)
jsonschema (2.6.0)
jupyter (1.0.0)
jupyter-client (5.1.0)
jupyter-console (5.1.0)
jupyter-core (4.3.0)
jupyterlab (0.26.5)
jupyterlab-launcher (0.3.1)
lazy-object-proxy (1.3.1)
llvmlite (0.19.0)
lxml (3.8.0)
Markdown (2.6.8)
MarkupSafe (1.0)
matplotlib (2.0.2)
mccabe (0.6.1)
mistune (0.7.4)
mizani (0.3.2)
moviepy (<IP_ADDRESS>)
mpl-scatter-density (0.2)
mpldatacursor (0.6.2)
nbconvert (5.2.1)
nbformat (4.3.0)
networkx (1.11)
notebook (5.1.0rc1)
numba (0.34.0)
numexpr (2.6.2)
numpy (1.13.1+mkl)
numpydoc (0.7.0)
olefile (0.44)
opencv-python (3.3.0+contrib)
palettable (3.0.0)
pandas (0.20.3)
pandas-datareader (0.5.0)
pandocfilters (1.4.2)
param (1.5.1)
patsy (0.4.1)
pep8 (1.7.0)
pexpect (4.2.1)
pickleshare (0.7.4)
Pillow (4.2.1)
pip (9.0.1)
plotnine (0.2.1)
prompt-toolkit (1.0.15)
psutil (5.2.2)
ptyprocess (0.5.2)
Pweave (0.30.0a1)
py (1.4.34)
PyAudio (0.2.11)
pybind11 (2.1.1)
pycodestyle (2.3.1)
pyflakes (1.6.0)
Pygments (2.2.0)
pylint (1.7.2)
pyparsing (2.2.0)
PyQt5 (5.9)
pyreadline (2.0)
pyserial (3.4)
pytest (3.2.0)
python-dateutil (2.6.1)
PythonQwt (0.5.5)
pytz (2017.2)
pywin32 (221)
pywinpty (0.1.3)
pywinusb (0.4.2)
PyYAML (3.12)
pyzmq (16.0.2)
QtAwesome (0.4.4)
qtconsole (4.3.0)
QtPy (1.2.1)
reportlab (3.4.0)
requests (2.18.3)
requests-file (1.4.2)
requests-ftp (0.3.1)
rope (0.10.5)
scipy (0.19.1)
seaborn (0.8.0)
setuptools (36.2.7)
simplegeneric (0.8.1)
sip (4.19.3)
six (1.10.0)
snowballstemmer (1.2.1)
Sphinx (1.6.3)
sphinxcontrib-websupport (1.0.1)
spyder (3.2.1.dev0)
spyder-notebook (0.2.0.dev0)
spyder-reports (0.1.0.dev0)
spyder-terminal (0.2.0)
statsmodels (0.8.0)
supersmoother (0.4)
tables (3.4.2)
testpath (0.3.1)
tornado (4.5.1)
tqdm (4.15.0)
traitlets (4.3.2)
traittypes (0.0.6)
urllib3 (1.21.1)
vega (0.5.0)
ViTables (3.0.0)
wcwidth (0.1.7)
webencodings (0.5.1)
wheel (0.29.0)
widgetsnbextension (3.0.0b11)
winpython (1.9.20170809)
wrapt (1.10.10)

See last code block at: https://github.com/maartenbreddels/ipyvolume#installation you forgot the jupyter nbextension install --py --symlink --sys-prefix ipyvolume although the --symlink won't work I guess.

that was it, I skipped that line because "--simlink" never works on windows. so for the unhappy few developpers on Windows, the procedure should be:
git clone https://github.com/maartenbreddels/ipyvolume.git
cd ipyvolume
pip install -e .
REM if npm is in the PATH but not installed, add ",shell=True)" parameter in the two "check_call" of setup.py
jupyter nbextension install --py   --sys-prefix ipyvolume
jupyter nbextension enable --py --sys-prefix ipyvolume

ok, so for the first time ever, I succeeded at last to go from github source to notebook running on a  "python+npm" package. thanks @maartenbreddels !

doesn't work on jupyterlab-0.26.5, though. but I guess it may wait rc0 for a retry

Great! the jupyterlab needs separate work, it doesn't come for free unfortunately :) But I plan to do that within a few weeks.


Minor CMake cleanup to prevent redundant work in client builds

The CMake support in Tensile (namely TensileConfig.cmake) is doing unnecessary work. In turn, the configure/build times in downstream projects can take up to 20% longer than is necessary. The unnecessary work is due to:

Use of execute_process to invoke TensileCreateLibrary  --generate-manifest-and-exit which is eagerly run at configuration time regardless if manifest generation is required.
Using the contents of TensileManifest.txt as output for a subsequent add_custom_command call that is used to generate Tensile build artifacts.

In theory, it is reasonable to use the contents of the manifest as output for a subsequent add_custom_command call because this will ensure that the command is not considered satisfied unless all of the files in the manifest are generated. However, CMake needs to know what those files are at configuration time when it is configuring the custom command. Therefore, one must use execute_process to generate the manifest which has the consequence of redundantly calling to TensileCreateLibrary --generate-manifest-and-exit any time a client reconfigures whether or not it is necessary (and TensileCreateLibrary --generate-manifest-and-exit is expensive).
In practice, we would like to invoke TensileCreateLibrary once at build time prior to building dependent targets. By relaxing the output requirements of the custom command to just the manifest file. We can eliminate the execute_process call altogether. Further, we can provide an analog to checking that the custom command is satisfied (i.e. that it generated all of the expected files) by extending TensileCreateLibrary to enforce said check.
This PR includes the necessary changes to avoid the redundant work described above. Further, minor changes to verbosity related logic in TensileCreateLibrary were added to ensure users can turn off all output from Tensile.
The current default is set to turn off most of the Tensile output which gives the following output when configuring/building in the client (note the output at 0% which comes from the custom command in TensileConfig):
make -j32 install
[  0%] Generating libraries with TensileCreateLibrary
[  0%] Generating /mnt/host/projects/rocBLAS-internal/build/release/include/rocblas/internal/rocblas_device_malloc.hpp
[  1%] Generating prototypes from /mnt/host/projects/rocBLAS-internal/library/src.
[  1%] Built target rocblas_device_malloc
[  1%] Built target rocblas_proto_templates
Tensile::WARNING: Global parameter WriteMasterSolutionIndex = False unrecognized.
[  1%] Verifying files in /mnt/host/projects/rocBLAS-internal/build/release/Tensile/library/TensileManifest.txt were generated
Tensile::WARNING: Global parameter WriteMasterSolutionIndex = False unrecognized.
[  1%] Built target TENSILE_LIBRARY_TARGET
[  1%] Building CXX object Tensile/lib/CMakeFiles/TensileHost.dir/source/ArithmeticUnitTypes.cpp.o
[  1%] Building CXX object Tensile/lib/CMakeFiles/TensileHost.dir/source/AMDGPU.cpp.o

Users can reconfigure with -DTensile_VERBOSE=1 or -DTensile_VERBOSE=2 to get extra tensile output.
Initial testing includes:

Running: tox -e lint

Running: tox -v -e py310 -- ./Tensile/Tests -m pre_checkin

Running: cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=hipcc -DTensile_CPU_THREADS=32 -DTensile_ROOT=$(pwd)/Tensile -S HostLibraryTests -B build; cmake --build build; ./build/TensileTests

Integration test with rocBLAS ./install.sh -c -t <path to tensile including these changes>

Running: ./rocblas-test --gtest_filter=*quick*:*pre_checkin*-*known_bug*

In general, I think the changes are good to help reduce the build time. Most of the code movement makes sense!
I would encourage checking a few more things while we are at it:

Are the rocBLAS builds compatible with the changes? I think the original work was to prevent rocBLAS from building the entire tensile library multiple times (during cmake stage then during the actual build).
If we were to change the contents of a YAML config file (say working on a library contents), would a tensile dirty build detect the changes and build accordingly with new manifest and libs copied to the correct place after? Or do you have to build the entire library from scratch again?
Some tests appear to have been removed. Good idea to verify they are not needed anymore.

Yes I tested these changes against the current version of develop to confirm we get the behavior we are after. rocBLAS only invokes TensileCreateLibrary during the build stage. There is one issue that remains in rocBLAS that I was going to fix once this is merged (i.e. the virtual env cmake scripts eagerly blow away the tensile install which has the effect of adding some extra config time).
Correct, in this implementation, the CMake support is setup to observe changes in the Logic dir and retrigger calls to TensileCreateLibrary as needed. If the logic files don't change then nothing happens. This is a nice feature when you want to do incremental development on rocBLAS without making changes that would impact Tensile artifacts. Currently, every time someone configures rocBLAS they have to eagerly run tensile.
Please let me know what tests and I will take another look!

LGTM pending CI and newline EOF fix

Is DEPENDS_EXPLICIT_ONLY applicable to the uses of add_custom_command? In theory, it would be possible to run the Tensile build in parallel with the build of the library when compiling with ninja. The linking is the only part that actually needs to be serialized, but add_custom_command will force the serialization of the build by default.
Whether any build system has enough memory to build Tensile in parallel with the library perhaps another question, but it may be a nice option to have available.

Good find and I agree that would be nice. It looks like DEPENDS_EXPLICIT_ONLY was made available in cmake 3.27 which isn't available on all of the supported rocm platforms e.g. ubuntu 20 is 3.16. Currently, we have cmake_minimum_required set to 3.13.

It looks like DEPENDS_EXPLICIT_ONLY was made available in cmake 3.27 which isn't available on all of the supported rocm platforms e.g. ubuntu 20 is 3.16. Currently, we have cmake_minimum_required set to 3.13.

One approach for those sorts of enhancements is to conditionally enable them. e.g.
set(command_options "")
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.27)
  set(command_options DEPENDS_EXPLICIT_ONLY)
endif()
add_custom_command(mycommand
  ${command_options}
  ...
)

Not sure what you are trying to build in parallel, but if using all the cores for each stage simpler to debug if steps are done in order.   I would do additions in a new PR if experimenting.


New specific rule from adblockplus

Adblock Plus has introduce new filters  that disable generic hiding or blocking rules for a given website whilst leaving site-specific rules intact.
https://adblockplus.org/development-builds/new-filter-options-generichide-and-genericblock

Thanks. Noted.
I think this new rule does not create anything really new. You could already more or less do with it: "$elemhide", "$xmlhttprequest", "$script", ...
But anyway, the V4 will can exposed to this.
Thank you for the news =)


Bar chart get pixelforvalue at zero.

Hello, I try to draw two line beside the mouse move.
I found solution with chartjs line but when I use bar my solution doesn't work, because when I try to get the pixelForValue on my axis X, the value have a padding to the right from the base axis.
That is because bar chart never begin at zero.
I made jsfiddle for that :
https://jsfiddle.net/YvanBarbaria/g210L7Lz/5/
Actual with bar :

Expected :

I think the best solution here is to just draw the lines at the raw mouse coordinates rather than at the value of the bar

@etimberg I am not sure to understand what I need to do. For the moment, I try to draw the two line start from the axis.
```
ctx.moveTo(xScale.getPixelForValue(xScale.max), point.y);
ctx.lineTo(xScale.getPixelForValue(xScale.min),point.y);
ctx.moveTo(point.x, yScale.getPixelForValue(yScale.max));
ctx.lineTo(point.x, yScale.getPixelForValue(yScale.min));
ctx.stroke();
I try to draw one line start from the x of the point directly to the end of the y axis and from the beginning and same for the y of point with the max and min value of the x axis. But with the bar chart I can't draw the horizontal line from the start of the axis x...

Ok I find a solution instead of getting pixelForValue, I use the top, bottom, left and right values of the axis.
    ctx.moveTo(xScale.left, point.y);       ctx.lineTo(xScale.right,point.y);       ctx.moveTo(point.x, yScale.top);       ctx.lineTo(point.x, yScale.bottom);

@ybarbaria yup, that's a better way to do it. Or, use chart.chartArea

Closing this since it sounds like you've found a solution


LinkRest Pointers - Formalization

@andrus, please review and comment.
What is a pointer
A pointer is a means of specifying an arbitrary node (or a list of nodes) - a target - in the graph of data objects, that exist in LR application. The target is specified in relation to some other node, that acts as the pointer's root. Thus, a pointer can be seen as a path between two nodes in the object graph, where each intermediary step is an instance access or a relationship traversal and the last step is access to some entity's instance, collection of instances or attribute. Formally, such step is called a path segment.
A pointer always has an entity for which it can be resolved. This entity is called the pointer's base type. Usually, the pointer's path makes sense only relative to a specific entity; but it is not in any way restricted to it. Thus, the path itself is not a pointer, as it can be applied for different base types, at least in theory.
Each path segment also has an implicit context - an instance of some entity - which is determined at runtime by evaluating the previous segment. Segment's context is equal to the pointer's base type, if the segment in question is the first one in path.
A pointer always has a target type, which is determined by the pointer's last segment. Resolving the pointer yields an object, a list of objects or a value of this type (in case the target denoted by the pointer's path exists). Pointer's target type is particularly useful when a value yielded by some pointer is used to update the target of some other pointer.
Pointer's path may optionally start with or contain an ID expression. This can be seen as a means to narrow down the context from a collection of entity's instances to a particular instance or to change it from one instance to another. Aside from the practical usefulness of such technique, the pointer's implementation may perform certain optimizations based on this information, so it's reasonable to always begin the pointer's path with an ID expression.
To sum up, a pointer is a combination of some path and some entity for which this path can be resolved. Resolving a pointer yields either an instance of some (possibly the same) entity (or a list of entities) or a value, if the pointer's target is an attribute. If the pointer's last segment can't be resolved, the pointer does not yield a result (i.e. returns null or empty collection). If the pointer's path consists of more than one segment, and some of intermediary segments can't be resolved, then resolution of the pointer will fail with an exception on the first such segment.

Subject to additional discussion: Resource permissions (if any exist) are not taken into account when resolving the pointer's path. Thus, it is possible to access literally every one and each entity instance and all of their attributes via pointers.

Syntax
<pointer> ::= "." | <segment-list>
<segment-list> ::= <segment> ["." <segment-list>]
<segment> ::= <id-expr> | <attr-expr> | <rel-expr>
<attr-expr> ::= <property-name>
<rel-expr> ::= <property-name> [":" <id-expr>]

Expressions
The following characters are reserved and must be escaped in property names and ID expressions:

segment separator "."
ID separator ":"

Escaping is done by doubling the reserved character:

"." -> ".."
":" -> "::"

1. ID expression
String representation of the object's ID.

Subject to additional discussion: Compound IDs are not supported yet.

2. Attribute expression
Property name, where property is not a relationship.
3. Relationship expression
Property name, where property is a relationship. Optionally followed by the ID separator character and an ID expression.
Pointer types
Pointer's base type (entity type) is specified upon creating a pointer.
1. Entity collection
Path is equal to ".".
2. Entity instance
Path's last segment is an ID expression.
3. Attribute
Path's last segment is an attribute expression.
4. To-one relationship
Path's last segment is a relationship expression, and the relationship is to-one.
Can be implicit (ID not specified) or explicit (ID specified). This does not affect the functional behavior of the pointer.
5. To-many relationship (collection)
Path's last segment is a relationship expression, the relationship is to-many, and ID is not specified.
6. To-many relationship (instance)
Path's last segment is a relationship expression, the relationship is to-many, and ID is specified.
Pointer operations
1. put
Parameters: value
Performs one of the following:

Update object's properties in case of an entity instance pointer (merge new properties values into an existing object and remove those that are not specified in the new object).
Update property value, if the property is an attribute.
Add new object in an entity collection or a to-many relationship collection of objects.
Replace an object, that the pointer points to in a to-one relationship or a to-many relationship collection of objects, with a new object. Old object (if exists) is removed from the relationship.
If the object or value denoted by the pointer's path does not exist, then a new object or value is placed by this path. In case of an entity collection or a to-many relationship collection of objects, the collection will hold a single object after performing this operation.

Subject to additional discussion:

If the object or value denoted by the pointer's path is an entity collection, and the new value is an empty collection, then all objects in the entity collection are deleted.
If the object or value denoted by the pointer's path is a to-many relationship collection of objects, and the new value is an empty collection, then all objects in the to-many relationship are removed from the relationship.

If the pointer points to an existing object or value, then this object or value is replaced.
2. remove
Performs one of the following:

Delete an object in case of an entity instance pointer.
Remove property value, if the property is an attribute.
Remove an object from a to-one relationship or a to-many relationship with a specified ID. The object itself is not deleted.

Subject to additional discussion: when the target is an entity collection or a to-many relationship collection of objects, there are two possibilities: delete/unrelate all objects respectively or fail with an exception. Probably the latter is preferable for now (?), but the former is needed in order to comply with RFC6902.

If the object or value denoted by the pointer's path does not exist or it is an empty collection, then this operation does not have an effect.
3. resolve
Resolves object, collection or value denoted by the pointer's path. If the object, collection or value does not exist, then this operation does not yield a result (returns null). If the path can't be resolved (i.e. some of the intermediary segments do not yield a result), then this operation fails with an exception.
Addendum A. Compliance with RFC6902: JavaScript Object Notation (JSON) Patch
All operations from the RFC can be modeled using pointer operations:
1. add
Identical to pointer's put.
2. remove
Can be modeled by preceding pointer's remove with resolve and null check.
3. replace
Can be modeled by preceding pointer's put with resolve and null check.
Also see the note for the pointer's remove operation.
**4. move (from, to)
Can be modeled by "from" pointer's resolve followed by a null check on the result and remove and "to" pointer's remove and put.
**5. copy (from, to)
Same as for move, but without calling "from" pointer's remove.
6. test
Can be modeled by pointer's resolve and equality check. Order of elements in a collection does not matter.

Made a few small updates to the text.
I personally think that the most interesting and complicated part here is working with collections (entity "collection" and to-many relationships). So comments on this particular matter will be very much appreciated!

Future reminder:
Pointers may be extended to target some property of a collection of entities, i.e. a collection of values. Some cool batch operations can then be performed, like:

update all Messages for a particular User to be marked as read
update passwords for all Users in the application to be marked as expired
move a collection of pending orders of some Customer to his collection of fulfilled orders

And so on.

I may have missed some finer points, but here are my comments so far:
I like the possibilities you describe for the collection operations

Resource permissions (if any exist) are not taken into account when resolving the pointer's path.

Good point. We will need to address this eventually.

in order to comply with RFC6902.

I'd say at this point we no longer care about compliance with RFC6902.

Remove an object from a to-one relationship or a to-many relationship with a specified ID. The object itself is not deleted.

How do we handle a case when we want to both delete and unrelate an object resolved for a given pointer?

If the object or value denoted by the pointer's path is an entity collection, and the new value is an empty collection, then all objects in the entity collection are deleted.
If the object or value denoted by the pointer's path is a to-many relationship collection of objects, and the new value is an empty collection, then all objects in the to-many relationship are removed from the relationship.

+1

I'd say at this point we no longer care about compliance with RFC6902.
Yeah, I understand. Still think that we should try not to diverge too much if possible.

How do we handle a case when we want to both delete and unrelate an object resolved for a given pointer?
Currently there's no way to accomplish that. Would you prefer to have two different operations?

In fact in order to implement unrelate we just need to resolve the object instead of calling pointer's remove and then delete the object.

@andrus, I've started to work on update/delete pointer operations (https://github.com/atomashpolskiy/link-rest/tree/pointer-operations).
I'd be grateful if you helped me with the followings problems:

I'm getting an exception in com.nhl.link.rest.runtime.parser.pointer.PointerUpdateTest#testUpdate_EntityCollectionPointer. Can't figure out if I'm doing something wrong; I create an object with ObjectContext.newObject() and the same context won't then save this object and instead return me an error: ERROR 23505: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL160103153618000' defined on 'E4'. Looks like it doesn't replace temporary ID before flushing the object to database, despite that the ID is marked as generated in Cayenne data map.
I noticed that it's not possible to add an object from different Cayenne context into a to-many relationship. However with to-one relationships this works perfectly fine. Just curious if there's some catch that I should know about?
Do I understand it correctly that Cayenne's SelectById already knows how to compare values of different types? (e.g. string and integer ID values seem to work interchangeably)

Also we need to determine how the 'entity collection' pointer (specified as "." in short form) will look like in  JSON? Empty object maybe?

It appears the exception is caused by Derby's confusion about PK sequence. Prior manual insert of explicit IDs into E4 seems to be the problem. Replacing those with auto generation fixes it:
diff --git a/src/test/java/com/nhl/link/rest/runtime/parser/pointer/PointerUpdateTest.java b/src/test/java/com/nhl/link/rest/runtime/parser/pointer/PointerUpdateTest.java
index 2e92854..96f392b 100644
--- a/src/test/java/com/nhl/link/rest/runtime/parser/pointer/PointerUpdateTest.java
+++ b/src/test/java/com/nhl/link/rest/runtime/parser/pointer/PointerUpdateTest.java
@@ -61,9 +61,9 @@ public class PointerUpdateTest extends JerseyTestOnDerby {
     public void testUpdate_EntityCollectionPointer() throws Exception {

         SQLTemplate insertE4_1 = new SQLTemplate(E4.class,
-                               "INSERT INTO utest.e4 (id, c_varchar, c_int) values (1, 'xxx', 5)");
+                               "INSERT INTO utest.e4 (c_varchar, c_int) values ('xxx', 5)");
         SQLTemplate insertE4_2 = new SQLTemplate(E4.class,
-                               "INSERT INTO utest.e4 (id, c_varchar, c_int) values (2, 'yyy', 7)");
+                               "INSERT INTO utest.e4 (c_varchar, c_int) values ('yyy', 7)");
                runtime.newContext().performGenericQuery(insertE4_1);
         runtime.newContext().performGenericQuery(insertE4_2);

Thanks a lot!

I noticed that it's not possible to add an object from different Cayenne context into a to-many relationship. However with to-one relationships this works perfectly fine. Just curious if there's some catch that I should know about?

IIRC trying to link up objects from 2 different contexts causes an exception. If one of them is not registered in any context, it will get registered though, and no exception will occur. From what I can tell by looking at the code, this behaves the same with to-one and to-many.
In the new code I noticed we are working with unregistered objects quite a bit. It is not bad by itself, but is somewhat against the flow. Perhaps we can analyze the use cases and see if we can ensure that DataObject instances passed to pointers are coming from a context (I realize that ObjectContext instance is hidden inside pointer context... hmm... something to think about)

Do I understand it correctly that Cayenne's SelectById already knows how to compare values of different types? (e.g. string and integer ID values seem to work interchangeably)

This is probably a feature of the underlying DB (and is likely DB-specific).. Cayenne just passes the ID value through to the JDBC call.

Also we need to determine how the 'entity collection' pointer (specified as "." in short form) will look like in JSON? Empty object maybe?

In what context? Could you give an example?


Typo fix set_mutlieq in audyssey.py

set_mutlieq -> set_multieq

Good catch - it will need to be corrected where it is called in denon.py, here:
https://github.com/scarface-4711/denonavr/blob/053727bf1ccc09fe629ddf0ea64d84898615167e/denonavr/denonavr.py#L1728-L1731

Thank you, I included the complete fix in this commit https://github.com/scarface-4711/denonavr/commit/b073203039f1bf2a4b45cd48fd4e9ce298f1f34d


gradient descent notebook

the PET recon has a funny line

Also, it is called gradient descent, but it is actually ascending due to some minus signs. Better to switch the sign in the PET, but keep it for MR and CT.

@KrisThielemans Which notebook are you referring to?
SIRF-Exercises notebook ML_reconstruction compares OSEM with gradient ascent, and so far as I remember, other PET notebooks in SIRF-Exercises do not deal with gradient descent too.

Synergistic/gradient_descent_mr_pet_ct.ipynb. No need to fix this now though. Next release!

b6b0d6be1bf7ce5a6d18090aa6a1879d286c1d98 edited the notebook a bit to warn people about the confusion on signs.

@ckolbPTB should we move this notebook to Introductory in the next release? There isn't anything "synergistic" here really, and it nicely follows up from the other ones in that folder.

@ckolbPTB what do you think about moving this to Introductory?

@evgueni-ovtchinnikov would you have time to change the sign here and adjust?

currently the "ascent" is addressed by updating text in the notebook. This is good enough for 3.5. We'll multiply the PET objective function with -1 and descend in the next version

Move now completed.
The only thing remaining here is the strange line in the PET reconstructions.


HDDS-7856. Fix timeout in TestPushReplicator

What changes were proposed in this pull request?
Fix timeout in TestPushReplicator:
"main"
   java.lang.Thread.State: WAITING
        at sun.misc.Unsafe.park(Native Method)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1707)
        at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
        at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1742)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
        at org.apache.hadoop.ozone.container.replication.PushReplicator.replicate(PushReplicator.java:62)
        at org.apache.hadoop.ozone.container.replication.TestPushReplicator.uploadCompletesNormally(TestPushReplicator.java:61)

The problem is that PushReplicator now (after HDDS-7778) wraps the output stream for counting bytes, but the test expects the original output stream to be passed to ContainerReplicationSource#copyData.  The CompletableFuture is completed by the mock's answer for the call with right arguments.  Since this call is not made, CompletableFuture#get() blocks.
https://issues.apache.org/jira/browse/HDDS-7856
How was this patch tested?
[INFO] Running org.apache.hadoop.ozone.container.replication.TestPushReplicator
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.348 s - in org.apache.hadoop.ozone.container.replication.TestPushReplicator

Thanks @ayushtkn for the review.


Fix image-create with ACLs. Fixes #1394.

Relevant Issue (if applicable)
Fixes:
https://github.com/dragonflyoss/image-service/issues/1394
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

@dhbaird Please also add a signed-off-by by following https://github.com/dragonflyoss/image-service/pull/1395/checks?check_run_id=15694892551

Thanks for the guidance @imeoer! I confirmed that the line you indicated above should change: https://github.com/dragonflyoss/image-service/blob/34ee8255dea73819f4d634f83260d1fa4fe68c97/rafs/src/metadata/layout/v6.rs#L2088
I am working on the tests now and double checking the changes, and will also added signed-off-by.

Hi again @imeoer, When I tried to update the test indicated in previous comments, I got blocked by a new issue: toOCITar() drops all xattrs except for security.capability:
https://github.com/dragonflyoss/image-service/blob/34ee8255dea73819f4d634f83260d1fa4fe68c97/smoke/tests/tool/layer.go#L119
I read the code and traced it to containerd/archive, where it appears to ignore all xattrs except for security.capability:
https://github.com/containerd/containerd/blob/70a2c95ae8c02d7a4e448f0e4fb8bb0e6344b5c7/archive/tar.go#L644
Does this look like an issue in containerd/archive now too? Would you recommend that I create an issue over there too?
Thanks!

Does this look like an issue in containerd/archive now too? Would you recommend that I create an issue over there too?

@dhbaird It seems only the security.capability xattr is supported in OCI tar, so we can't add the test case into the build of oci tar -> nydus rafs, but still can support it in the build of directory -> nydus rafs.
But to keep it simple, I think we just need to add some unit tests for RafsXAttrs, what do you think?


Add Interactable event listeners via script

Overview
Most UI frameworks allow for event listeners to be added not only from a GUI editor, but also from code. MRTK currently makes it easy for event listeners on Interactable (except OnClick) to be configured in the editor, but configuring at run-time from script is not possible.
This PR does the following:

Fixes bugs preventing adding events at run-time
Adds utility scripts to Interactable  to simplify adding Interactable event listeners
Adds tests to verify all event listeners available in interactable by default
Adds examples to documentation

Demo: Old vs. new way to add event listeners
Here's the old way to listen to focus enter/exit events:
public static void AddFocusEvents(Interactable interactable)
{
    var ie = new InteractableEvent();
    var fr = new InteractableOnFocusReceiver(ie.Event);
    ie.Receiver = fr;
    interactable.Events.Add(ie);
    ie.Event.AddListener(() => Debug.Log("Focus on"));
    ie.OnFocusOff.AddListener(() => Debug.Log("Focus off"));
}

And the new way to add focus enter/exit events:
public static void AddFocusEvents(Interactable interactable)
{
    var onFocusReceiver = interactable.AddReceiver<InteractableOnFocusReceiver>();
    onFocusReceiver.OnFocusOn.AddListener(() => Debug.Log("Focus on"));
    onFocusReceiver.OnFocusOff.AddListener(() => Debug.Log("Focus off"));
}

Fixes: #5013

Verification
Verify that new tests pass, and that they did not pass before.

Generally lgtm, pending question about GetReciever

Just discovered issue: the secondary / extra events like OnRelease for the press receiver don't show up in editor. Need to fix that before checking in.

Need

FYI, sounds possibly related or dupe of #5652

Just discovered issue: the secondary / extra events like OnRelease for the press receiver don't show up in editor. Need to fix that before checking in.

@julenka FYI, sounds possibly related or dupe of #5652

Ended up being because I was using the [SerializeField] then event patters. It looks like the values don't get saved properly if you don't have a public setter. I fixed by reverting that change, not I just have public UnityEvents like before.

/azp run

/azp run

/azp run


Add eval and save options

What this PR do?
I propose to add some options to adjust the number of evaluations and the saving of checkpoints. Let me know what you think :blush:

Thank you very much for your reviews! :hugs:
@cccntu,

What's reason you use IntervalStrategy instead of something like this:
[...]
I think IntervalStrategy make the code more explicit. thinking

I think you've spotted it, the main reason is I think to simplify the reading of the code and also, to a second extent, the choice of the training parameters (no need to make sure that the X argument overrides the Y argument) :slightly_smiling_face:
(and the third reason is that transformers' training arguments work like this and I find it convenient)

Do you think the code above should use IntervalStrategy, too?
I don't really have an opinion! It's true that it could also bring the same "ease" of reading ifs conditions but on the other hand we only have two possible states for the update_strategy (steps and epochs). Would you have a preference?


FR: Allow behavior where dragging does not also grab the transcript

As a note taker, I sometimes only want specific content and specific time stamps so that I can keep the citations/annotations list concise.
Current behavior copies over the transcript chunk whenever I drag the timestamp over. I only need the timestamp.

Hi! Thanks for reaching out! Have you tried to drag and drop directly timestamp?


ui.dialog.confirm() and ui.dialog.notify() jQuery error with Webpack2

Webpack2 and DevExtreme dialog-bug with example to reproduce attached.
devexteme version: 17.2.4
devextreme-angular version: 17.2.4 (but have failed in every version for a year)

Specify the type of the issue (check one with "x"):
[x] bug Report
[ ] feature request
[ ] support inquiry

Steps to Reproduce:

unzip DevExtreme_Error-reproduce.zip
npm install -g webpack-dev-server
npm install
webpack-dev-server --config config/webpack.prod.js --watch

Results You Received:
After clicking test Test-button ui.dialog.confirm() is called and resulting with the following error:

ERROR TypeError: Cannot read property 'jQuery3310043683433871879452' of undefined

(or some other random number behind jQuery)
The same problem happens with ui.dialog.notify() ...
I have fixed this by using other component for dialogs, e.g. regular javascript alert() (but since confirm() is used in dxDataGrid when deleting this makes lot of extra work bypassing the error when using devextreme-angular)
Results You Expected:
Expected DevExtreme confirm() and notify() to work without error.
A ugly fix is to comment two lines (4 and 24) in app.module.ts ...

import { HomeModule } from './home/home.module'; // <--- comment this line and it will work
HomeModule, // <--- comment this line and it will work

and let the HomeModule only be referenced by Angular Router such way ...
const routes: Routes = [
    // Lazy async modules
    {
        path: '',
        loadChildren: './home/home.module#HomeModule'
    }
];

Environment Details:
Angular.io (Angular 4 or 5)
JQuery
Webpack2
DevExtreme_Error-reproduce.zip

@toralux
When researching this issue, we found that it relates to the zone.js version you are using. There is a bug in version 0.8.13 of zone.js that causes it to skip raising certain events. See the Drop-down popup windows and submenus are displayed incorrectly in Angular CLI ticket. Upgrade the zone.js version to resolve the issue.


ConstructorExpressions instead of Macros, No Describe Statement

Fixes Issue #6
Provides Compatibility with Steampunk
Remove Compativility with < 740

@sbcgua will you be dropping 702 compatibility?

@larshp I'm prone not to. But I'm not using this lib currently in my projects in our old system. So ... it depends on who uses it and where. How to find it out ? Maybe we can move 740 support into a branch ?
@DerGuteWolf Could you pls tell what is your reasoning behind this PR ?

it might be a good example for automatically downporting using abaplint

Would you mind if I ask you to measure the perf before and after and publish here ?

Will do this, however I need some shuffling around first.

Would you mind if I ask you to measure the perf before and after and publish here ?

Will do this, however I need some shuffling around first.

With describe

With RTTI

40% slower :( eh ...

OK.

Merged into a separate branch - steampunk
Added a reference for the main readme - https://github.com/sbcgua/abap_mustache/tree/master#versions

@DerGuteWolf Thanks for the PR !
@larshp feel free to PR experiments with auto up-porting. I guess current UTs are able to withstand that. :)


GUI not fitting screen 1366x768

I have another layout issue; at 1366x768 the window is cut off at the tab 'LDO'.
I think, a simple scrollbar would help. The windows is not scalable, so i have no chance of seeing the other checkboxes
version: 16.12.0-myriadrf1~yakkety on ubuntu 16.10 4.8.0-34-generic x86_64

Seeing this as well. Built from git master and wxwidget git master.
Commit  ce9f6ef7ccc0 seems to be the bad commit.

I wanted to test the waters to see if you would want a pull request. In the current state it is not really usable. As @c5e3 has noted the window is not resizable so there's really no relief.
I don't know wxwidgets or limesuite but I can look at it.  But maybe someone is already working on this.

I looked at wxFormBuilder (which seems to be a requirement) but wxFormBuilder will not compile against wxWidgets >= 3.1 so I cannot try to work on this.

Closing. I think recent GUI versions fit on 1366x768 screen. Proper window size control is not implemented but that seem same as issue #110

I think recent GUI versions fit on 1366x768 screen.

Hello @IgnasJarusevicius
Unfortunately they don't fit. I just tried with a fresh build of git master on an updated system.


Support showing address in linear view as raw file offset

Discussed in https://github.com/Vector35/binaryninja-api/discussions/6278

Originally posted by FischLu December 26, 2024
I am analyzing a Windows PE file and want to obtain the file offset. I have already adjusted the address display mode to "from file start" in Binary Ninja. However, I noticed that the addresses shown in Binary Ninja are consistently 0xC00 larger than the actual file offsets. After investigating, I found that the .text section does not immediately follow the header; instead, it starts at 0x1000, as shown in the figure.

How can I obtain the actual file offsets without manually subtracting 0xC00 each time? Is there a way for the software to handle this automatically? Thank you!

Toggling "From File Start" actually does NOT show the raw file offsets (despite the confusing name). It shows the value of current address minus the start of the binary view. In other words, the current address is 0x140001000, and the start of the binary view is 0x140000000. So it shows 0x1000.
IMO the name of the menu entry should probably be renamed to something like "From View Start", and another option, e.g., "From Raw File Start" should be added which does what you wanted


ubuntu 22.04 sever on myagv_pi not work

Describe the bug
I upload ubuntu 22.04 server on raspbarrypi sd card which in myagv
and pip install mypycobot, run simple test code
but code stuck when serial write
wheels don't turn
noting error occur
test code is
from pymycobot.myagv import MyAgv
import time

MA = MyAgv('/dev/ttyAMA0', 115200)

# forward
print("forward")
MA.go_ahead(40)
time.sleep(3)

# backward
print("backward")
MA.retreat(40)
time.sleep(3)

# turn left
MA.pan_left(40)
time.sleep(3)

# turn right
MA.pan_right(40)
time.sleep(3)

# clockwise
MA.clockwise_rotation(40)
time.sleep(3)

# counterclockwise
MA.counterclockwise_rotation(40)
time.sleep(3)

MA.stop()

and output is
ubuntu@ubuntu:~/test$ sudo python3 agv_test.py
forward

when KeyboardInterrupt

^C Traceback (most recent call last):
  File "/home/ubuntu/test/agv_test.py", line 8, in <module>
    MA.go_ahead(40)
  File "/usr/local/lib/python3.10/dist-packages/pymycobot/myagv.py", line 218, in go_ahead
    self._mesg(128+go_speed, 128, 128)
  File "/usr/local/lib/python3.10/dist-packages/pymycobot/myagv.py", line 128, in _mesg
    self._write(command)
  File "/usr/local/lib/python3.10/dist-packages/pymycobot/myagv.py", line 37, in _write
    self._serial_port.write(command)
  File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 640, in write
    abort, ready, _ = select.select([self.pipe_abort_write_r], [self.fd], [], None)
KeyboardInterrupt

how can i fix it?
 If you are not using the official Elephant system, you need to configure a serial port to use it


Adjust giant fruit effect

THIS PR DEPENDS ON THIS CLIENT BRANCH https://github.com/lambdaclass/champions_of_mirra/pull/1868
Motivation
The giant fruit effect was out of balance
Summary of changes
This PR balances it.
Also it adds the effect id which was needed for a refactor of how we handle the effects
How to test it?
Use this client branch to test it visually
Checklist

[x] Tested the changes locally.
[x] Reviewed the changes on GitHub, line by line.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

I've tried it alongside the client PR and it seems to work fine.


Renames .clang_format to .clang-format

Avoids this error: Can't find usable .clang-format, using LLVM style

Thanks for your attention to detail!


ERROR: Puppet 4.0 no longer supports local scope defined types

This module breaks in Puppet 4.0 as it no longer supports locally scoped defined types as in manifests/vcl.pp. I'd like to get this into a pull request ASAP but before I do I'd like to make sure someone will be available to merge it in and provide some feedback before going through the trouble. I'm not sure if this module is actively being maintained.
I received this error after updating to Puppet 4.0:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
Evaluation Error: Error while evaluating a Resource Statement,
Invalid resource type includefile at
/etc/puppetlabs/code/environments/dev/modules/varnish/manifests/vcl.pp:100:5
on node varnish.local

I have patched this locally using following suggested fix.
in manifests/vcl.pp:
Move the following into manifests/includefile.pp and rename the define to varnish::includefile
  # define include file type
  define includefile {
    $selectors = $varnish::vcl::selectors
    concat { "${varnish::vcl::includedir}/${title}.vcl":
      owner   => 'root',
      group   => 'root',
      mode    => '0444',
      notify  => Service['varnish'],
      require => File[$varnish::vcl::includedir],
    }

    concat::fragment { "${title}-header":
       target  => "${varnish::vcl::includedir}/${title}.vcl",
      content => "# File managed by Puppet\n",
      order   => '01',
    }
  }

On manifests/vcl.pp line 100:
change includefile { $includefiles: }
to varnish::includefile { $includefiles: }

Running into this issue as well.  Would like to see this merged.  @mlehner616 There's been some activity this month, I say make a pull request and see where it goes.  This looks like a good solution to me, rather than adding separate concats or something like that.. At this point, I'll have to fork it.

Thanks for reporting this.
Please make a pull request and I'll merge it in.

This is currently fixed is the "devel" branch using varnish::vcl::includefile along with quite a few other changes to that class.

Problem persists in defined type manifests/acl.pp and class manifests/vcl.pp, each one with a nested defined type.

Added PR 160


robots.txt

Empty robots.txt to avoid 404s

Coverage remained the same at 47.225% when pulling 30f81b8fe664f068f7e27ae850011a594f1b6724 on robots.txt into d4e58874f3d3e8d837a58152690d2893ac15d764 on master.

Coverage remained the same at 47.225% when pulling 8bf9e140c426c30ee32b796ead21b88d1b236042 on robots.txt into d4e58874f3d3e8d837a58152690d2893ac15d764 on master.


Plans to support SHA256?

Original issue 393 created by synikal on 2014-06-19T07:29:02.000Z:
Hi all,
Just wondering if there were plans to support SHA256? I'd really like to use existing tokens with this module and I think thats the prerequisite.

This issue was moved to google/google-authenticator-libpam#11


[izlesene] extract info using api request

Ideally we would extract all the information from a lightweight source (the json api in this case), but I don't think it's reasonable to stop getting the same information as before (even if we have to download the normal webpage).


figure out why await returnProject.staked_R(projectCost, stakingPeriod + (fastForwards * 604800), ipfsHash) fails the second time it's called in 2-stakedTest.js

Have checked and it's not because the token stakers and reputation stakers run out of tokens / reputation. What else could it be?

doesn't fail anymore...idk why.


(GSOC) Add all screenshots of all screens with their figma link.

Issues are added instead, this is fixed.


ux: speed up scene loading with big textures.

Loading requests currently go thru main thread opq - to which I believe it is throttled by the existence or non-existence of input events (which is in itself a bug).

texture load speed improved greatly with latest switch to xxhash


How to use my own datasets

Hello, if I want to experiment on your method with my own datasets, how should I modify the dataset processing file. I see that you used the CMU-Mocap and AMASS datasets to evaluate the method. Can you share the processing files of these two datasets to make better use of the method? Or can you show me how to modify the dataset file to fit my own datasets and experiment with your method? Thank you very much!

@wangtingyu-gjw Thanks for your interest.
The CMU-Mocap is a subset of the AMASS dataset. Therefore, I will tell you how to use AMASS.
You can download the AMASS dataset from the website (SMPL+H G). For the SMPL-H format, you can use SMPL-H or only use the body-only format (SMPL format, we use). If you would like to use the body-only format, please refer to this. If you are not familiar with how to process SMPL-H to SMPL or the usage of AMASS, please try UniMocap.
For your data, I'm not sure about your data format. The dataloader of the training supports the sequences of skeleton sequences of motion.

Ok, thanks again!

Seems the issue is resolved. I close it now. Any further questions, plz reopen it or raise another issue.


Blink-based ungoogled-chromium on iOS

i was thinking about the comment by @trymeouteh from this issue: https://github.com/Eloston/ungoogled-chromium/issues/56#issuecomment-422142350
agreed that Apple doesn't allow non-safari-webkit browsers on iOS.
But I think there may still be merit to such a project, as developers would be able to compile and side-load it themselves, and anyone with jailbroken device could conceivably install it ...

What's your question? Perhaps, it's best starting a repository with further description of the project you're proposing. I understand that Safari is the main standard in Apple's closed garden ecosystem environment. There might not be a requirement for jaibreaking the device for this. iOS is still an evolving standard.
"it would not be worthwile to make a Ungoogled Chromium for iOS since iOS does not allow [this]" is a really depressing statement from a developer standpoint. Multi-platform availability is a goal in almost every project. It's too strange for a platform, that too a popular platform, to have limited support like this. A little more clarity is definitely needed here.

Sorry this was meant as a feature request, not so much as a question

The Chrome/Chromium for iOS source code can be found here:
https://chromium.googlesource.com/chromium/src.git/+/master/ios/
And build instructions here:
https://chromium.googlesource.com/chromium/src/+/master/docs/ios/build_instructions.md#System-requirements
If anyone would like to take a crack at it.

As for Chromium on iOS, I understand that it’s not actually Chromium (using the Blink engine)... however, I like the design of Chrome on iOS and in some cases I can make a reasonable case performance-wise for iOS Chrome vs Safari... if Ungoogled could consider having a look I think a lot of people would check it out (even if we have to sideload it).

Thanks @gottabeleGIT my feature request is to have an actual Blink-engine based Chromium on iOS (side-loaded). I'm wondering, is it feasible to get a Blink-engine-based Chromium running on iOS? If not, then why not!

Sure, that'd be even better! Although I think the iOS system itself can only show a webpage using a WebKit View but I could be wrong about that...

Even if Blink doesn't work out, I think a browser can be based on WebKit and still be different from Safari (e.g. Epiphany on Linux). Even if not, I think Apple is starting to open up to other browsers and the iOS 14 feature of choosing your default browser is a step in the right direction.

Thanks @gottabeleGIT to avoid confusion I've changed the title of this issue. You're welcome to open a new one if that helps you achieve your goal!

Hey, kind of new to the subject but is it possible to compile chromium for iOS using Blink engine ? I would love to bring and maintain a blink-chromium sidelodable app for iOS but don't know how to proceed.

@Jean-Gabin it looks like someone got it working, i see some of the code not sure how to build it. https://issues.chromium.org/issues/40257943


chore(m365): add bot outlook channel configuration in bicep template

add bot outlook channel configuration in bicep template for NPM search sample

Closed since it is not targted GA.


lower allocation limits

Motivation:
We reduced allocations again, let's reset the limits.
Modifications:
lowed a bunch of limits to
  - MAX_ALLOCS_ALLOWED_1000_reqs_1_conn=47000
  - MAX_ALLOCS_ALLOWED_1_reqs_1000_conn=776100
  - MAX_ALLOCS_ALLOWED_ping_pong_1000_reqs_1_conn=4600
  - MAX_ALLOCS_ALLOWED_bytebuffer_lots_of_rw=3100
  - MAX_ALLOCS_ALLOWED_future_lots_of_callbacks=99100

Result:
tighter limits should find regressions more easily

Less allocations FTW!


Upgrade osc to 1.8.0

What type of PR is this?
/kind ci
What this PR does / why we need it:
This allows future krel versions to wait for the build results and report the correct error.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
Ref: https://github.com/kubernetes/release/issues/3632, https://github.com/cri-o/packaging/pull/124
Does this PR introduce a user-facing change?

None

@cri-o/cri-o-maintainers PTAL


Inconsistencies in lib/Documark.js

Function parameters are not consistent. Plugins for example get the DOM ($) and Documark instance (document) passed as parameters. Why get the document config via the Documark instance, but not the DOM?

When #9 is resolved, the parameters should become more consistent. The $ parameter is handy for quick access to the DOM and removes the need for var $ = document.dom(); in every plugin.


Add stylelint-scss plugin and SCSS examples and tests

https://github.com/kristerkari/stylelint-scss

Fixed in https://github.com/ntwb/stylelint-config-wordpress/commit/f993b6f1aa5e368f98b3a1c4cbddef8d8225dfef
Note: They'll be more SCSS rules added in the future


Adding async/await keywords recursively when needed

This PR should fix #28

@fbasso Thank you for your review!


Could  not  find kernel command line.

When i use  unpack_reapck_bin.sh  ,i meet a question .

Is it because this version is not supported?
The version is asa804-k8.bin.
Please help me！！！

Hi,
Indeed, it seems our script does not support this version yet, maybe because it is really old and we didn't test it on this specific version. If you want to add support for it, you need to look at bin.py and see what kernel command line pattern we try to match versus what is used in asa804-k8.bin.
Feel free to do a pull request if you find the fix or feel free to document here the kernel command line used and we can try to infer the fix.
Hope that helps.

@ktinkone I take a look at the firmware asa804-k8.bin, and found the kernel command line as follows:
$ strings ./asa804-k8.bin | grep quiet
quiet loglevel=0 ide1=noprobe console=ttyS0,9600n8 bigphysarea=

In your case, first you need to add another statement for seaching quiet loglevel=0 in unpack() (also repack()).
https://github.com/nccgroup/asafw/blob/f4d03cc6ab1e127cd68b5d6e86c7b4c1451d5362/bin.py#L97-L104
Then, to enable gdb, you should modify enable_gdb() too. This firmware use a similar way like asa803, but in another file asa/scripts/rcS.
However, there is another issue. Currently, the unpack() fails to extract the gz file, for the start_address is not aligned to 16. As we can see, the magic 1f 8b 08 starts from 0x1228bf instead of 0x1228c0.
https://github.com/nccgroup/asafw/blob/b284a3d8572c5cdf517cc0bf2f9086e9d00820c3/bin.py#L117-L135
$ hexdump -C -n 128 -s 0x1228b0 ./asa804-k8.bin
001228b0  df b7 b1 ff 95 ff 6f d4  7b f7 9e 85 a0 1f 00 1f  |......o.{.......|
001228c0  8b 08 08 96 b6 9b 48 00  03 72 6f 6f 74 66 73 2e  |......H..rootfs.|
001228d0  69 6d 67 00 ec fd 7b 7c  54 d5 f5 3f 0e 9f 49 26  |img...{|T..?..I&|
001228e0  64 80 81 19 24 68 50 94  51 07 85 8a 98 c1 00 09  |d...$hP.Q.......|
001228f0  84 36 24 24 80 02 06 42  00 b9 85 90 0b 13 08 49  |.6$$...B.......I|
00122900  4c 66 b8 54 2e c1 49 6a  0e c7 51 5a b1 d5 d6 b6  |Lf.T..Ij..QZ....|
00122910  50 2f 45 6b 95 5a 84 80  88 09 a1 09 28 b5 11 a8  |P/Ek.Z......(...|
00122920  46 a1 1a 15 ed 19 83 1a  6f 18 01 99 e7 bd d6 de  |F.......o.......|
00122930

I'm not know how to handle it elegantly. Maybe @saidelike can help.
Thanks!

Thanks @cq674350529, that's really helpful. I have made the changes you mentioned with my proposed workaround that should work to unpack and repack asa804-k8.bin. I also took this opportunity to refactor code for unpack() and repack() in bin.py since they were requiring the same offsets.
The only thing I am unsure is if you will need to manually patch lina_monitor as we had to do it iirc for asa803-k8.bin. You'll be able to check that when you boot the asa803 firmware with gdb enabled. I think it should show it listens for gdb but you may not be able to connect if it is the wrong serial port.
See the comment for asa804:
https://github.com/nccgroup/asafw/blob/d416889eeddcb016b08629e7dd5972c66ee485c0/unpack_repack_bin.sh#L447-L460
Hope that helps. Please let us know if that works or if you have any problem.

Hi.
Thank you very much.
The bin.py works well now .But  i meet a question .
😭😭
Error: Cannot patch the firmware because replacement .gz is bigger than the one in .bin (12899622 > 12896553)

@saidelike Good job, look good to me. I'm also not sure if it's necessary to patch the lina_monitor manually, for I don't have a real device either.
As @ktinkone mentioned, it seems that the new gzip-compressed rootfs.img.gz is bigger than the older. As can be seen from below, the size of gunzip-compressed files are same, but those gzip-compressed are different. I'm not sure if using gunzip -9 is proper. Maybe you can have a try @ktinkone ?
$ ls -l rootfs.img* asa804-k8-initrd-original.*
-rw-r--r-- 1 root root 30811136 Nov 26 18:47 asa804-k8-initrd-original.cpio
-rw-r--r-- 1 cq   cq   12896553 Nov 26 18:52 asa804-k8-initrd-original.gz_bak
-rw-r--r-- 1 cq   cq   30811136 Nov 26 18:47 rootfs.img
-rw-r--r-- 1 cq   cq   12898489 Nov 26 18:52 rootfs.img.gz_bak

Hi.
Think you very much.
OK,I meet a new question again 😭.
When  using  unpack_repack_bin.sh ,it doesn't work,but i can repack it step by step according to this article.

After that , i got a  asa804-k8-repacked.bin .
But when i put it on the real service. I meet a new question.

😭😭

Ah weird. I didn't have that gzip problem.
asafw$ sudo -E ./unpack_repack_bin.sh -i /home/user/cisco/firmware/asa804-k8.bin --free-space --enable-gdb
[sudo] password for user:
[unpack_repack_bin] Single firmware detected
[unpack_repack_bin] unpack_bin: asa804-k8.bin
[bin] Unpacking...
[bin] Old gzip size: 0xc4c929 bytes
[bin] Writing /home/user/cisco/firmware/asa804-k8-initrd-original.gz (12896553 bytes)...
[bin] unpack: Writing /home/user/cisco/firmware/asa804-k8-vmlinuz (1095871 bytes)...
[unpack_repack_bin] modify_bin: asa804-k8.bin
[unpack_repack_bin] ENABLE GDB
[unpack_repack_bin] Using asa804 ASA gdb patching method
[unpack_repack_bin] Freeing space in extracted .bin
[unpack_repack_bin] repack_bin: asa804-k8.bin
[bin] Repacking...
[bin] Old gzip size: 0xc4c929 bytes
[bin] New gzip size: 0xc4c6ae bytes
[bin] repack: Writing /home/user/cisco/firmware/asa804-k8-repacked-gdbserver.bin (14137344 bytes)...
[unpack_repack_bin] MD5: eed4b419bfbcebb6f100b73a5809297c  /home/user/cisco/firmware/asa804-k8-repacked-gdbserver.bin
[unpack_repack_bin] CLEANUP

$ gzip --version
gzip 1.6
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Jean-loup Gailly.

The way to automate solving it would be to either:

use a different gzip version since mine seems to work fine
remove additional files we don't need, see free_space() in unpack_repack_bin.sh

But when i put it on the real device. I meet a new question.

😭😭

This is the lina_monitor issue I was discussing earlier. You can see in the output that it is using /dev/ttyS1 instead of /dev/ttyS0. Basically the patch we did in /asa/scripts/rcS that is supposed to pass the serial port dev/ttyS0 is not taken into account by lina_monitor so you need to patch it manually inside lina_monitor and replace it like we did for asa804-k8.bin.
https://github.com/nccgroup/asafw/blob/d416889eeddcb016b08629e7dd5972c66ee485c0/unpack_repack_bin.sh#L447-L460

Hi.
So what i need to do is  just changing the "sed -i 's/(/asa/bin/lina_monitor)/\1 -g -s /dev/ttyS0 -d/' asa/scripts/rcS " to "sed -i 's/(/asa/bin/lina_monitor)/\1 -g -s /dev/ttyS1 -d/' asa/scripts/rcS"  ?
Or what else should i do ？

Hi.
I have change the rcS to  /dev/ttyS1.

But the same question happen.

The gzip version in my machine is also 1.6.
$ gzip --version
gzip 1.6
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by Jean-loup Gailly.

@ktinkone

Hi.
Think you very much.
OK,I meet a new question again 😭.
When using unpack_repack_bin.sh ,it doesn't work,but i can repack it step by step according to this article.

In manual step, cpio.sh is used. It uses gzip -9 instead of gzip, so there is no issue related to the size, as I mentioned above.
https://github.com/nccgroup/asafw/blob/4ebe04fb695bb10ea687c7b78f926e4bbdabedb5/cpio.sh#L63-L68

Hi.
So what i need to do is just changing the "sed -i 's/(/asa/bin/lina_monitor)/\1 -g -s /dev/ttyS0 -d/' asa/scripts/rcS " to "sed -i 's/(/asa/bin/lina_monitor)/\1 -g -s /dev/ttyS1 -d/' asa/scripts/rcS" ?
Or what else should i do ？

What you should do is to patch the lina_monitor binary manually, to change /dev/ttyS1 to /dev/ttyS0 in the binary, if I understand it well. Then you should add cp ${FIRMWAREDIR}/_asa804/lina_monitor_patched $(pwd)/asa/bin/lina_monitor for asa804, like asa803.

Oh,god. I have solve the  question .
Thank you very much .
Thank you again.
I use vim to open  lina_monitor
find ttyS1,then change it to ttyS0 and save it.

It works.
Best wishes

Great. I'll close the issue then.
Btw I changed in 09d33ca8b632b664822a4678a8f17d2ac241830a to use gzip -9 in unpack_repack_bin.sh too to reduce the chance of failure, as pointed by @cq674350529. Thanks for the idea.


Throw error when SecurityTokenService is unavailable.

This is hidden in a error 500 today.
Eg. used in ApplicationSession

Example of output when STS is unavailable:
Caused by: java.lang.IllegalArgumentException: Missing parameters for
tokenServiceUri [http://localhost:9998/tokenservice],
myAppTokenId [null],
myAppTokenXml[null] or
userCredential[UserNameAndPasswordCredential{userName='xxxxxx}]
at net.whydah.sso.commands.userauth.CommandLogonUserByUserCredential.(CommandLogonUserByUserCredential.java:45) ~[Whydah-Java-SDK-2.0.33-SNAPSHOT.jar:na]
at net.whydah.sso.commands.userauth.CommandLogonUserByUserCredential.(CommandLogonUserByUserCredential.java:54) ~[Whydah-Java-SDK-2.0.33-SNAPSHOT.jar:na]
at net.whydah.sso.WhydahUtil.logOnUser(WhydahUtil.java:99) ~[Whydah-Java-SDK-2.0.33-SNAPSHOT.jar:na]

The Application Session is meant to survive short period of network problems against STS and other services

Most commands will tell you this now...  please create an issue for commands which does not communicate this correctly


Fix extra attributes are ignored when selecting transforms chains from candidates

When selecting transforms chains from candidates, additional attributes
should not be ignored. If we just use the last transform's from to
search chains, we may get a wrong chain which cannot produce the requested
artifact at all.
Fixes #7061
Signed-off-by: noproxy<EMAIL_ADDRESS>Context

Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

In the end this contribution was merged through #7924.


Build with numpy==2.0

This is in lei with their advice on being ABI compatible with both numpy 2.x and 1.x.
It's also the opposite way to how ABI issues are normally kept away and I don't feel much confidence in NumPy's packaging strategies so I've added testing against the oldest supported numpy rather than take it on trust that we're not breaking 1.x compatibility.
Closes #23

I'd have liked to squeeze Python 3.13 support in as well but we're too soon for that. NumPy aren't publishing 3.13 wheels yet and I don't want to be building them from source.


not encrypted failing

        # not encrypted
	passgen -c any-secret -o data.png -s 1024
	# fails !!! It thinks its encrypted.
	passgen -d data.png

	@echo ""
	@echo ""

	# encrypted with password
	passgen -e "any secret" -p pass123 -o data_enc.png -s 1024
	passgen -d data_enc.png -p pass123

You see an error when using the -d flag after the -c flag because the -d flag is only used for decrypting encrypted information with the -e flag.
In other words, -d is not intended for reading unencrypted QR codes. The -c flag creates a QR code with custom text but does not make it encrypted.
In next updates, I will add a new -r flag for reading unencrypted QR codes. Let me know if you need any further assistance!

        # not encrypted
	passgen -c any-secret -o data.png -s 1024
	# fails !!! It thinks its encrypted.
	passgen -d data.png

	@echo ""
	@echo ""

	# encrypted with password
	passgen -e "any secret" -p pass123 -o data_enc.png -s 1024
	passgen -d data_enc.png -p pass123

You see an error when using the -d flag after the -c flag because the -d flag is only used for decrypting encrypted information with the -e flag.
In other words, -d is not intended for reading unencrypted QR codes. The -c flag creates a QR code with custom text but does not make it encrypted.
In next updates, I will add a new -r flag for reading unencrypted QR codes. Let me know if you need any further assistance!


[Feature] Load a project, not single file

First, a stable project path is nice. Second, the current path getter has a bug, if I open a file under another directory rather than where I invoke racket -l sauron, the path of the file is incorrect, it becomes <command-dir>/<file-name>.

Sauron would have a global config for this

Done partly in #45, close this since related issues would complete this idea.


[Addition]: spoofed clusters of heltec miners in Philippines (owner 14FLShjW3Cd6Mh5nnBWAUPtM4SS9xAwDiezgG9QPP8kSRTDnn5L)

Hotspot b58 Addresses
112f8FyEND3SJGEVWwcULDkvaEFt8r8b25pxM6b9ckEVDJn5bdzY
112KncMwpHW9uKwGe4VqDzFskDuMhHDVTKfjoHDyx7Ba5joQuWQC
112bFCWT1VWaFZEz2NyBtBKcGTvY2r6kjeS6SyPTZcP3eDcGnXVv
11LBa2Ay7TFpGDjFQCWQMWRej9muFkyPHPmhiCwbDf4DnbzGhwW
11TsVpVziKdMqyTf1T1T5aG51nDVJVRWcJJjeyWxrRwZzsowCVx
11yrF4PnJqwN6oMpU1YpMhXj273ymxA1DGE8UoyVwbNrqGTQBKi
112nfseoefYPusi5bey3YmrhmdGUJmijohGsWNiqtzrj7E5yyuoA
Discord Handle
screwdriver#9187
Reason(s)
spoofed cluster of miners with foreign IPs asserted in a remote province in the Philippines

We have taken into account this addition request in the next iteration of the denylist. Some or all of the Hotspots listed may be added to the denylist. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


[To Do] Crawl and audit the existing Templot Companion documentation to assess the scope of work.

Work Break Down
-[ x ] Setup Sphinx documentation structure
-[ x ] Deploy the initial Sphinx site to Github Pages
-[  ] Configure the site with a basic structure, placeholders for key sections, and ensure everything is working correctly.

[ ]


feat(ui): add more detail + filter to project list page

Fixes #1836
Includes new API endpoint that provides a list of Stages for each Project.

I'm a little bit worried about the size of the responses from the new endpoint. It's well within the realm of possibility that the response will contain thousands of Stages.
I'd feel better about it if we introduced paging to both the new endpoint and the Projects page -- sorry I know that's a fair bit of scope creep.
If we were to do that, I think it would be tenable to make pageSize list Stages requests. (One for each Project on the current page -- something I wouldn't have considered with an unbounded number of Project per page.)
Ultimately, that would remove the need for the new endpoint. The extent of the back-end changes would just be the addition of paging to the existing list Project endpoint.
Tangentially, I think there may be some security considerations to weigh here as well. Regardless of whether we were to make the suggested changes above or not, there may very likely be an issue of users who are able to list all Projects being unable to list Stages, which makes all of this a tad trickier.
If we were to swap to the paging approach and using existing endpoints, I think we'd just have to make the UI silently ignore 403s from list Stages requests for any given project.

@krancour Agreed! Updated this PR accordingly, and added simple string filtering in the process

@rbreeze took this for a test drive and works very nicely.
Excellent work on this.
I did notice that the list Stages endpoint isn't returning Stages lexically ordered by name. That's not something new you introduced, but the updated Projects page is making that discrepancy more noticeable. (Surprised no one noticed this when using the CLI.)

Would you mind adding a sort here?
https://github.com/akuity/kargo/blob/be15310310e700d1c25da4b092997cf5a8327ed8/internal/api/list_stages_v1alpha1.go#L32-L38

@krancour Good idea! Updated ListStage endpoint with a sort.


Incorrect pagination behavior with autoResetPageIndex set to true when deleting rows

Describe the bug
Currently working on a table with pagination and a display column that removes the current row.

The data for the table is stored in react state and passed into the data prop.
The display column performs a removal by filtering the current row out of the state.
Accordingly, autoResetPageIndex needs to be set to false to prevent the pageIndex state from resetting on every row delete.

Everything works well until all of the rows are deleted on the last page.
The pageIndex state doesnt update, even though the getPageCount response does.
I would assume that even with autoResetPageIndex set to false, the pageIndex state should update when data is deleted and the page count decreases.
Your minimal, reproducible example
will provide on request
Steps to reproduce
Steps To preproduce

Create a table that:

uses pagination
has a display column to remove the current row
has autoResetPageIndex set to false
has enough data to populate more than one page

navigate to the last page
remove all of the rows by clicking the delete buttons one by one

Expected behavior
Expected:
When the last row is removed the table state should decrease the pageIndex state to match the page count
Actual:
pageIndex is unchanged and there is no data shown since the pageIndex is out of range relative to the new number of pages
How often does this bug happen?
None
Screenshots or Videos
No response
Platform
issue happens on any OS with any browser
react-table version
8.5.15
TypeScript version
No response
Additional context
No response
Terms & Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

I hope this gets fixed soon. Not sure if others are using this or not, but this is a real blocker for me.


fix(workflows): fix backfill

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1025  👈
#1023
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MasterPtato and the rest of your teammates on  Graphite