Create an SAPUI5 App from the Command Line

Tutorial URL: https://developers.sap.com/tutorials/cp-cf-sapui5-local.html
Hi all,
it seems the mentioned tutorial is out of date. I just followed the steps and see a lot of differences and finally an error during deployment.
yo version 3.1.0
Error while deployment
I assume that npm run build:cf is replaced by npm run build:mta. After I run this, I get following error:
INFO executing the "npm install --production" command...
.....
><EMAIL_ADDRESS>install /Users/duser/code/com.myorg.myUi5App/dist/approuter/node_modules/@sap/node-jwt
> node ./build.js

`darwin-x64-v8-6.8` exists; testing
.Binary is fine; exiting
added 245 packages from 133 contributors in 5.5s
npm WARN deprecated<EMAIL_ADDRESS>scmp v2 uses improved core crypto comparison since Node v6.6.0

[2019-11-05 11:42:49] ERROR could not pack the "myUi5App" module when archiving: stat ../mime/cli.js: no such file or directory
make: *** [myUi5App] Error 1
Error: could not build the MTA project: could not execute the "make -f Makefile_20191105114242.mta p=cf mtar= strict=true mode=" command: exit status 2
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build:mta: `npm run build:ui && shx cp -r approuter/. dist/approuter && mbt build -p=cf`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:mta script.

Differences for scripts
"scripts": {
        "start": "ui5 serve -o index.html",
        "serve": "ui5 serve",
        "test": "npm run lint && npm run karma",
        "karma-ci": "karma start karma-ci.conf.js",
        "karma": "rimraf coverage && npm run karma-ci",
        "lint": "eslint webapp",
        "create-xs-app": "echo '{\"welcomeFile\": \"index.html\",\"routes\":[{\"source\":\"^(.*)\",\"target\": \"$1\",\"service\":\"html5-apps-repo-rt\"}]}' > dist/webapp/xs-app.json",
        "build:mta": "npm run build:ui && shx cp -r approuter/. dist/approuter && mbt build -p=cf",
        "deploy": "npm run build:mta && cross-var cf deploy mta_archives/takLclRepo_$npm_package_version.mtar && npm run create-xs-app && cf html5-push dist/webapp",
        "build:ui": "rimraf dist && ui5 build  --dest dist/webapp"
    },

Thanks for opening the issue. You are right, the generator changed and the tutorial needs to be updated.
However, you saw the issue and it should work with the command you used instead. Can you please run the following commands sequentially and let me know which one fails?
npm run build:ui
npx shx cp -r approuter/. dist/
npx mbt build -p=cf

Hi Marius,
first command npm run build:ui runs fine. Second should be like this I guess npx shx cp -r approuter dist/ 😃
Error on third command.
% npx mbt build -p=cf
[2019-11-05 18:01:20]  INFO generating the "Makefile_20191105180120.mta" file...
[2019-11-05 18:01:20]  INFO done
[2019-11-05 18:01:20]  INFO executing the "make -f Makefile_20191105180120.mta p=cf mtar= strict=true mode=" command...
[2019-11-05 18:01:20]  INFO validating the MTA project
[2019-11-05 18:01:20]  INFO validating the MTA project
[2019-11-05 18:01:20]  INFO building the "ui5app" module...
[2019-11-05 18:01:20]  INFO executing the "npm install --production" command...
.up to date in 0.881s
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.

[2019-11-05 18:01:22]  INFO the build results of the "ui5app" module will be packed and saved in the "/Users/d060015/code/com.sap.custdev.ui5app/.com.sap.custdev.ui5app_mta_build_tmp/ui5app" folder
[2019-11-05 18:01:22] ERROR could not pack the "ui5app" module when archiving: stat ../mime/cli.js: no such file or directory
make: *** [ui5app] Error 1
Error: could not build the MTA project: could not execute the "make -f Makefile_20191105180120.mta p=cf mtar= strict=true mode=" command: exit status 2

When I invoke the mbt tool without npx, it runs fine?!?
% mbt build -p=cf
[2019-11-05 18:07:40]  INFO generating the "Makefile_20191105180740.mta" file...
[2019-11-05 18:07:40]  INFO done
[2019-11-05 18:07:40]  INFO executing the "make -f Makefile_20191105180740.mta p=cf mtar= strict=true mode=" command...
[2019-11-05 18:07:40]  INFO validating the MTA project
[2019-11-05 18:07:40]  INFO validating the MTA project
[2019-11-05 18:07:40]  INFO building the "ui5app" module...
[2019-11-05 18:07:40]  INFO executing the "npm install --production" command...
.up to date in 0.908s
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>No license field.

[2019-11-05 18:07:42]  INFO the build results of the "ui5app" module will be packed and saved in the "/Users/d060015/code/com.sap.custdev.ui5app/.com.sap.custdev.ui5app_mta_build_tmp/ui5app" folder
[2019-11-05 18:07:45]  INFO generating the metadata...
[2019-11-05 18:07:45]  INFO generating the MTA archive...
[2019-11-05 18:07:46]  INFO the MTA archive generated at: /Users/d060015/code/com.sap.custdev.ui5app/mta_archives/ui5app_0.0.1.mtar

Is there any global MBT config file I forgot?
Does mbt don't need to be installed globally, anymore?
Cheers,
Steffen

Hi Steffen,
yes, the mbt tool doesn't need to be installed globally anymore. So mbt build invokes your global installation (possible also an older one), npx mbt build, on the other side, uses the version you specified.
I've seen this issue before, but I thought it only occurs in versions > 0.3.3 which is why I have not yet updated the version here. I'll have to do some additional investigation to find out why it fails.

Seems that it already reported here SAP/cloud-mta-build-tool#542
For now, I updated the generator to use version 0.3.2  SAP/generator-easy-ui5@bf8f83c
Therefore, I'll close this one. Thanks again for reporting

Thanks for opening the issue. You are right, the generator changed and the tutorial needs to be updated.
However, you saw the issue and it should work with the command you used instead. Can you please run the following commands sequentially and let me know which one fails?
npm run build:ui
npx shx cp -r approuter/. dist/
npx mbt build -p=cf

First and second commands are ok.
The third is in error.
I triedthe third without npx. An error occurred too.


Opensource : 5.29 Explain everything related to CloudEvents

Description 📜
Tried to explain everything related to CloudEvents
Fixes #664

Type of change 📝

[x] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Open #Source

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Aryamanz29  have a look


job.status() fails with new singleton gates in Qiskit

Information

qiskit-ibm-provider version: 0.7.0
Python version: 3.8
Operating system: mac

What is the current behavior?
On the main branch of Qiskit (fe3bffbc8) singleton gates have been introduced which seems to cause problems for qiskit_ibm_provider. Specifically I got this error when doing job.status().
----> 1 job.status()

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/job/ibm_circuit_job.py:357, in IBMCircuitJob.status(self)
    354     return self._status
    356 with api_to_job_error():
--> 357     api_response = self._runtime_client.job_get(self.job_id())["state"]
    358     # response state possibly has two values: status and reason
    359     # reason is not used in the current interface
    360     self._api_status = api_response["status"]

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/api/clients/runtime.py:159, in RuntimeClient.job_get(self, job_id, exclude_params)
    150 def job_get(self, job_id: str, exclude_params: bool = None) -> Dict:
    151     """Get job data.
    152
    153     Args:
   (...)
    157         JSON response.
    158     """
--> 159     response = self._api.program_job(job_id).get(exclude_params=exclude_params)
    160     logger.debug("Runtime job get response: %s", response)
    161     return response

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/api/rest/program_job.py:62, in ProgramJob.get(self, exclude_params)
     60 if exclude_params:
     61     payload["exclude_params"] = "true"
---> 62 return self.session.get(self.get_url("self"), params=payload).json(
     63     cls=RuntimeDecoder
     64 )

File ~/opt/anaconda3/lib/python3.8/site-packages/requests/models.py:971, in Response.json(self, **kwargs)
    968             raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
    970 try:
--> 971     return complexjson.loads(self.text, **kwargs)
    972 except JSONDecodeError as e:
    973     # Catch JSON-related errors and raise as requests.JSONDecodeError
    974     # This aliases json.JSONDecodeError and simplejson.JSONDecodeError
    975     raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)

File ~/opt/anaconda3/lib/python3.8/json/__init__.py:370, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    368 if parse_constant is not None:
    369     kw['parse_constant'] = parse_constant
--> 370 return cls(**kw).decode(s)

File ~/opt/anaconda3/lib/python3.8/json/decoder.py:337, in JSONDecoder.decode(self, s, _w)
    332 def decode(self, s, _w=WHITESPACE.match):
    333     """Return the Python representation of ``s`` (a ``str`` instance
    334     containing a JSON document).
    335
    336     """
--> 337     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338     end = _w(s, end).end()
    339     if end != len(s):

File ~/opt/anaconda3/lib/python3.8/json/decoder.py:353, in JSONDecoder.raw_decode(self, s, idx)
    344 """Decode a JSON document from ``s`` (a ``str`` beginning with
    345 a JSON document) and return a 2-tuple of the Python
    346 representation and the index in ``s`` where the document ended.
   (...)
    350
    351 """
    352 try:
--> 353     obj, end = self.scan_once(s, idx)
    354 except StopIteration as err:
    355     raise JSONDecodeError("Expecting value", s, err.value) from None

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/utils/json.py:297, in RuntimeDecoder.object_hook(self, obj)
    295     return set(obj_val)
    296 if obj_type == "QuantumCircuit":
--> 297     return _decode_and_deserialize(obj_val, load)[0]
    298 if obj_type == "Parameter":
    299     return _decode_and_deserialize(obj_val, _read_parameter, False)

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/utils/json.py:125, in _decode_and_deserialize(data, deserializer, decompress)
    123 buff.write(decoded)
    124 buff.seek(0)
--> 125 return deserializer(buff)

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/qpy/interface.py:273, in load(file_obj, metadata_deserializer)
    270 programs = []
    271 for _ in range(data.num_programs):
    272     programs.append(
--> 273         loader(  # type: ignore[no-untyped-call]
    274             file_obj,
    275             data.qpy_version,
    276             metadata_deserializer=metadata_deserializer,
    277         )
    278     )
    279 return programs

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/qpy/binary_io/circuits.py:1171, in read_circuit(file_obj, version, metadata_deserializer)
   1169 custom_operations = _read_custom_operations(file_obj, version, vectors)
   1170 for _instruction in range(num_instructions):
-> 1171     _read_instruction(
   1172         file_obj, circ, out_registers, custom_operations, version, vectors
   1173     )
   1175 # Read calibrations
   1176 if version >= 5:

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit_ibm_provider/qpy/binary_io/circuits.py:325, in _read_instruction(file_obj, circuit, registers, custom_operations, version, vectors)
    323             params = [len(qargs), len(cargs)]
    324         gate = gate_class(*params)
--> 325     gate.condition = condition
    326 if instruction.label_size > 0:
    327     gate.label = label

File ~/opt/anaconda3/lib/python3.8/site-packages/qiskit/circuit/singleton.py:311, in _impl_init_subclass.<locals>.__init_subclass__.<locals>._Singleton.__setattr__(self, key, value)
    310 def __setattr__(self, key, value):
--> 311     raise TypeError(
    312         f"This '{self.base_class.__name__}' object is immutable."
    313         " You can get a mutable version by calling 'to_mutable()'."
    314     )

TypeError: This 'SXGate' object is immutable. You can get a mutable version by calling 'to_mutable()'

Steps to reproduce the problem
What is the expected behavior?
Suggested solutions
Seems like the qpy module in qiskit_ibm_provider needs to be updated

Do you have the same issue on version 0.7.2? It includes this qpy fix

ok this probably fixed it, thanks


Error

Just 2 sec after deploying on Heroku

?

get your Heroku IP and set it to web api read this wiki


Adding eagleanurag's profile

What type of PR is this? (check all applicable)

[x] 🚀 Added Name
[ ] ✨ Feature
[ ] ✅ Joined Community
[ ] 🌟 ed the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
I've put many hours into my profile README, working on the format, layout, custom GitHub Actions, and more. The final result is something I'm extremely proud of.
I've opened this PR to add my profile to the list because I believe that it's a wonderful example for someone who loves Robotics. I also believe that there are new things some people could potentially learn from it if they view the source.
Add Link of GitHub Profile
https://github.com/eagleanurag

@abhisheknaiidu  .....

@abhisheknaiidu edited the commit and added it to bottom of the little bit of everything

Resolved the conflicts please merge now


Updated the navbar for responsive view.

Title and Issue number
Title :Navbar is not responsive
Issue No. : #922
Code Stack : HTML,CSS
Close #922

Description
I have made a completely responsive navbar which is now properly visible in all kind of devices.

Video/Screenshots (mandatory)

Type of PR

[x] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[x] I have performed a self-review of my code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have gone through the  contributing.md file before contributing

##Are you contributing under any Open-source programme?
Yes

[x] I am contributing under GSSOC'24
[ ] I am contributing under VSOC'24

Hi @apu52 please review this PR.

Hi @apu52 please review and merge this PR and assign me the other issue #923 as well.


gcompris: 0.91 -> 0.95

Motivation for this change
Bump version to 0.95.
Previous version (0.91) was not properly working with qt > 5.9, it seems fixed now, so I removed the custom pinning to qt 5.9.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Do you want to bumb qmlbox2d as well?

@peterhoeg Well, there is nothing really new in qmlbox2d since last commit, however I'll bump it and setup it for qt > 5.9.
Actually I'm surprised that it even works, gcompris with qt 5.11 and qmlbox2d with qt 5.9.

@peterhoeg done.

When I build and start gcompris, I get a screen with the following message:

@Ma27 Have you nix-env -i ./result to install gcompris into your env? For some reasons, qt packages must be installed in an environment to work.

@Mic92 was faster, but I can confirm that it works fine when testing this with nix run :)


ES6 semantic and behavioral changes

Annex D:
http://www.ecma-international.org/ecma-262/6.0/#sec-corrections-and-clarifications-in-ecmascript-2015-with-possible-compatibility-impact

[ ] Own property check for global declarations
[ ] .length/indexing side effects in [[DefineOwnProperty]] (see spec)
[ ] TimeClip abstract operation must always return +0
[ ] Use local timezone instead of "z" when timezone offset not present
[ ] RangeError for unrepresentable year in ISO date strings (this applies to .toISOString())
[ ] "Invalid Date" for ToDateString(NaN)
[ ] LineTerminator escaping in RegExps
[ ] String.prototype.match() and String.prototype.replace() errata (see spec)
[x] Array.prototype.sort() behavior when compareFn returns NaN
[Already compliant, see #1121]

I'll add the Annex E stuff later.

The negative zero for Date needs fixing:
duk> new Date(-0)
= "1970-01-01T00:00:00.000Z"
duk> new Date(-0).getTime()
= -0

Invalid Date is already implemented:
duk> d = new Date('500000-01-02'); String(d)
= "Invalid Date"

Clarified in the bullet list that the RangeError for non-representable years applies to .toISOString() specifically (it'd be good to mention the related bindings where applicable).

Re: .toISOString(): I wasn't sure which bindings that bullet applied to (Annex D links to a generic section about the construction of the ISO string, not any particular binding).  I don't use Date objects much.

The Annex D link (the initial one, starting the paragraph) points to: http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.toisostring.

Ah, I see now, I ignored the leading section numbers because I thought they were just permalinks within Annex D itself.

Btw, while some of the stuff is already implemented, it'd be good to check for test coverage and add tests for any fixes. Maybe there could be a testcase for "Annex D" changes? I did that with E5 -> E5.1 changes. But doesn't really matter if the tests are separate or part of the built-ins, as long as there's coverage.

Regarding the array .length behavior, I'm not sure what the correct behavior is: While Annex D says that the length is captured after coercing the index, the spec text itself captures .length first, like in ES5.

ES7 [[DefineOwnProperty]] coercion order (get length, then coerce key) matches ES5 and 6, but ES7 still has that statement about coercion order in Annex D.  I'm quite confused.

Relevant Annex D text:

The 5th Edition moved the capture of the current array length prior to the integer conversion of the array index or new length value. However, the captured length value could become invalid if the conversion process has the side-effect of changing the array length. ECMAScript 2015 specifies that the current array length must be captured after the possible occurrence of such side-effects.

Actual specified algorithm:
http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects-defineownproperty-p-desc

Just added the Annex E stuff.  It's a huge list!

Regarding this:

Functions cannot return a Reference (not sure if applicable, just seems like a specification device)

ES5 allowed native bindings to return a reference that was LHS compatible, i.e. could be assigned to. There's no way to do that for standard Ecmascript functions but was allowed for some reason (it's also discussed in the ES5 specification). I don't know if it was ever actually used for anything, at least recently.

I thought that's what it meant, but I wasn't sure because it's listed under Annex E, i.e. changes with compatibility impact.  Since there are no lvalue-returning built-ins in ES5 to my knowledge and it's impossible to make one in Ecmascript, I don't think it's a compatibility issue in practice.

ES5 allows "host objects" to return LHS references so I suppose the intent is to say that they can no longer be provided in ES6. Then again, if you provide additional objects beyond ES6, I'm not sure if any normative requirement is broken if those custom objects behave in a non-standard way (including returning LHS compatible references).


Revert "[chore] delete unavailable S3 & Kafka Catalogs"

Reverts apache/incubator-seatunnel#4477

Wait CI/CD

Why does the sonar bot appear randomly?

Does the database and tables in the Kafka catalog refer to topics?

@EricJoy2048 Does this pr still need to be merged


kpm run file order issue

Bug Report
1. Minimal reproduce step (Required)
Create the following files in a directory called my_app
my_app/base.k:
schema MyApp:
   name: str
   versions: {str:str}
   version = versions[name]

my_app/input1.k:
output = MyApp{
   name = "my-app"
   versions = my_versions
}

my_app/versions.k:
my_versions = {
   "my-app": "1.0.0"
}

2. What did you expect to see? (Required)
This should compile via kpm run my_app. However it can be fixed if we rename my_app/versions.k, so that it lexicographically precedes input1.k:
mv my_app/versions.k my_app/a_versions.k
kpm run my_app

This now succeeds.
3. What did you see instead (Required)
 --> my_app/base.k:4:1
  |
4 |    version = versions[name]
  |  'UndefinedType' object is not subscriptable with 'str'
  |

4. What is your KCL components version? (Required)
kpm version 0.5.0

Related Issue: https://github.com/kcl-lang/kcl/issues/247
@steeling Hi there, thank you for your feedback. We are considering supporting this feature. The internal scope of the configuration block references global scope variables, which are currently not visible.

is this issue still relevant?

is this issue still relevant?

Yes.

can you please assign me?
@Peefy


Add docs badge to README

Hi there,
you have recently tried to evaluate this project via Inch. I took the liberty to make a badge for you:
The badge shows an evaluation by InchJS, but I guess you already knew that. :wink:
I would really like to roll out support for JS over the coming weeks (early adopters are forever, node-sass and Shipit).
Although this is "only" a passion project, I really would like to hear your thoughts, critique and suggestions. Your status page is http://inch-ci.org/github/indexzero/daemon.node
What do you think?

I created a duplicate PR: https://github.com/indexzero/daemon.node/pull/36
Sorry, I'm not very good at this "PR stuff". :disappointed_relieved:


Adds Integral Window Sum

Makes things easier in ImageFeatures.jl.

Coverage increased (+0.04%) to 78.614% when pulling 62491b41fe6a4439a4510fb53693cc9e0f14ca0d on mronian:sumintimg into ebd9c0b71d80f83c83dc951a5a690f96106398f7 on timholy:master.

I understand the reason you want this function, but I'm not so sure about the API. The part that makes it integral is what you pass into it; the function itself is just computing a couple of differences. Also, any time you specify a region with 4 numbers, it gets hard to remember the order of arguments; if nothing else it would be better to use UnitRanges.
On balance, I wonder if this is better used as a private (non-exported) function in ImageFeatures?

No problem. I wanted to put this here since it might help in future algorithms as many algorithms use integral images.

It's fine to have it here, but I think we'd need a better API, so if you can come up with something...

By API, you mean the 4 coordinates right (I'll change it to UnitRange and one more with CartesianIndex so both can be used)? Is the function name fine?

Would it be ok to tag a new release of Images.jl once this PR is done? It will help me avoid changing the travis script of ImageFeatures.jl. Is it too early for a new release?

Coverage increased (+0.06%) to 78.631% when pulling 0d12e293b41711bdf99ec41cbe22c57bbd6f9944 on mronian:sumintimg into 99c28e83ce54efd75aea4cb00b55ad64ce8f80e6 on timholy:master.

@timholy  Is the modified API good ?

It addresses the second comment but not the first comment in https://github.com/timholy/Images.jl/pull/531#issuecomment-236000983.

And no, it would be fine to tag a new version again. It was too long between releases before.

I am a bit confused :sweat_smile: ....would you like the function to calculate the integral image inside it or do you want the name to be changed so it doesn't give the wrong message that it calculates the integral image in itself.

Also, just wanted to check with you if you receive notifications when I comment on any issue/PR in ImageFeatures.jl.

I'm not sure, but something isn't right. It doesn't make any sense to recalculate the integral each time, so you want to cache the integral.
I think the biggest point is that the function name doesn't at all match what the function is doing: it's actually computing a diff, not an integral.

Also, just wanted to check with you if you receive notifications when I comment on any issue/PR in ImageFeatures.jl.

I do. I am trying to stop coding for the day and do other stuff, so it will be tomorrow at the earliest. (Sorry, I have a couple of deadlines.)

Oh Great! No problem.
PS - I'll look for a better name for that function.

Coverage increased (+0.06%) to 78.631% when pulling 41748d0db56ae3155dd5e7f1af373f375725e0ef on mronian:sumintimg into 99c28e83ce54efd75aea4cb00b55ad64ce8f80e6 on timholy:master.

Sorry forgot about this. I've changed it to diff_of_integral_image. Does that seem fine?

@timholy The last build of AppVeyor seems to have stopped because of an unrelated error.

How about just boxdiff or diff_box or something? The "integral" part is solely a consequence of which argument you pass, not the actual behavior of the function.

Changes Unknown when pulling e373da984640f8019b80c447dada04586352b368 on mronian:sumintimg into ** on timholy:master**.

Coverage increased (+0.06%) to 78.683% when pulling e373da984640f8019b80c447dada04586352b368 on mronian:sumintimg into 2eb7eb1fa88a50b83a0bd8a026006b40e9af3b5e on timholy:master.

Coverage increased (+0.06%) to 78.683% when pulling 83b0231fda3a24a3bead2f30a6bbe352d0bff0bb on mronian:sumintimg into 2eb7eb1fa88a50b83a0bd8a026006b40e9af3b5e on timholy:master.

Updated the docs now :)

That's excellent documentation!

Thanks!

@timholy Could you tag a new release of Images?

All set.

Thank you!


Package request: fastfetch

Project description
Fastfetch is a neofetch-like tool for fetching system information and displaying them in a pretty way. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, MacOS and Windows 7+ are supported.
Metadata

homepage URL: https://github.com/LinusDierheimer/fastfetch
source URL: https://github.com/LinusDierheimer/fastfetch/releases
license: MIT license
platforms: unix, linux, darwin.

Duplicate of https://github.com/NixOS/nixpkgs/issues/176799

@hervyqa FYI, It's available NUR: nur.repos.vanilla.fastfetch


Add source map support. Fixes: #223, #250

Fixes #223, #250
This adds basic source map support. Since transpilation of dependencies
is not merged yet, the sourceMapCache object and lookup is a little
premature (since we will only ever have one file that we can apply
apply source maps to).

Because we use require-from-string, our source maps are never written to disk. This requires the implementation of the retrieveSourceMap callback. Final solutions for #189 and #177 will need to expand on this as well.
I do not know how expensive it is to load up source-map-support in each forked process like this.
Since all errors are serialized and transmitted over IPC before logging, It may be possible to defer the stack-trace transform until it has been transmitted back to the main thread.

This needs #255 before it will pass on Windows. The Travis failure looks like a fluke.

Looks good :+1:

I do not know how expensive it is to load up source-map-support in each forked process like this.

Since all errors are serialized and transmitted over IPC before logging, It may be possible to defer the stack-trace transform until it has been transmitted back to the main thread.

Let's do some benchmarking before we start investigating this. Might not make a difference.


[FEATURE] Add historic rules

Is your feature request related to a problem? Please describe.
It would be nice to be able to express the desire for the new data to "look like" the old data (in terms of distribution).
Describe the solution you'd like
Since spark expectations collects summary stats already adding validation rules to allow there to be tolerances on the difference in today's summary v.s. the previous summary could be a good start.
Describe alternatives you've considered
I suppose we could write a query rule where folks just manually write the SQL query.
Additional context
TFDV goes above and beyond with it's historic views -- https://www.tensorflow.org/tfx/data_validation/get_started

@holdenk This is a good idea. We could add another rule_type stats_dq which would complement our existing rule types row_dq, agg_dq and query_dq.
By default, we can offer a view derived from the stats_df we generate. Currently, users specify a stats_table. We can propose a new stats_table_view constructed from the job's stats_df. Additionally, we can read from the current stats_table to establish a stats_table_existing_view.
Leveraging these two views, users can craft queries tailored to their validation needs. For added convenience, we'll include standard query examples in our documentation.

Awesome 👏

@holdenk @asingamaneni Great feature.
I think at some point we need to provide an interface for users to implement custom rule types that can be integrated with spark-expectations .


Uncaught TypeError: Cannot read property 'defaultTheme' of undefined

Thanks for making this!  Having trouble getting it to work in canary and ecli 0.2.0 stock new app
installed with npm install --save-dev ember-cli-toggle
All suggested inputs provided the subject error
{{x-toggle toggle='startCar'}}
{{x-toggle theme='light' toggle='enableLayer'}}
{{x-toggle theme='ios' size='small' toggle='muteVolume'}}
{{x-toggle theme='flat' toggle='disableTest'}}
{{x-toggle theme='flip' off='Nope' on='Yep' toggle='haveFun'}}
{{x-toggle theme='skewed' size='large' toggle='enablePartyMode'}}

@e-karma can you provide a stack trace?

@e-karma give it another try with 0.5.4, I updated to latest ecli.

Had the same issue, you need to add a ember-cli-toggle object to your environment config:
'ember-cli-toggle': {
  //includedThemes: ['light', 'ios', 'flip'],
  //excludedThemes: ['flip'],
  //defaultTheme: 'light',
  //defaultSize: 'small'
}

Should probably guard against this.

@pzuraq good catch.


Observe shadow root on connected callback

Description
While poking around and learning about catalyst I tried to use dynamic rendering on the shadow DOM for both a parent and a child custom web component. I was able to see the parent attach the child but the contents of the child were not attached to the DOM.
Why tho?
The existing lazyDefine creates a MutationObserver that listens to the entire document, but shadow roots live as a separate isolated node and so when the shadow root of the parent contained child, the import callback held in dynamicElements was not being called.
What's the fix?
We exported a new observe function which will observe for changes on the provided ElementLike. Then in the controller connectedCallback, if there is a shadowRoot, we'll observe it.
CC @keithamus who I paired on this with

:wave: Hello and thanks for pinging us! This issue or PR has been added to our inbox and a Design Infrastructure first responder will review it soon.

:art: If this is a PR that includes a visual change, please make sure to add screenshots in the description or deploy this code to a lab machine with instructions for how to test.
:fast_forward: If this is a PR that includes changes to an interaction, please include a video recording in the description.
:warning: If this is urgent, please visit us in #primer on Slack and tag the first responders listed in the channel topic.

Great work @williammartin! LGTM :wink:


gtk4::init() immediately panics unconditionally

Assuming the docs are correct, the gtk4::init() can be used to initialize a GTK app. However it just panics on my system and does so unconditionally.
My system: Ubuntu 21.04 with gtk4 4.0.3-4 and rustc 1.52.1
Code to reproduce:
fn main() {
  gtk4::init().unwrap();
}

Cargo.toml:
[dependencies]
gtk4 = { git = " https://github.com/gtk-rs/gtk4-rs" }

Output:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: BoolError { message: "Failed to acquire default main context", filename: "/home/aaron/.cargo/git/checkouts/gtk4-rs-e74ad56283dfeb5e/8d674b0/gtk4/src/rt.rs", function: "gtk4::rt", line: 104 }', src/main.rs:2:16

Interestingly, the example provided in the docs did work correctly on my system (btw. gtk needs to be replaced with gtk4 there). (However, creating a gtk4::Application myself did also crash despite the application being created before any widgets. Yet, I don't know why this happened so let's focus on this issue first)

yes, that comes from the change in https://github.com/gtk-rs/gtk4-rs/commit/7e61f5919f343dc17bf3a24393f8098b286733c9 no idea why the examples works fine though :/

you can work around it by adding glib::MainContext::default().acquire() before the gtk::init() call

(btw. gtk needs to be replaced with gtk4 there).
No, the docs explains that it expects you to rename the gtk4 to gtk in your Cargo.toml

no idea why the examples works fine though

The examples use GtkApplication instead of gtk::init, that's why.


Sti participant class support

PR to support subclass of participant class.
eg.
class User
has_surveys
end
class Admin < User
end

Hi @risinglf
Thank you for your contribution. :+1: We've accepted your pull request.
Cheers!!!


Uncaught TypeError: Cannot read properties of undefined (reading 'modifiers')

I use the following structure:
div wire:sortable-group="changed"
(4x) div wire:sortable-group.item-group="..." wire:sortable-group.options="..."
(0-n) div wire:sortable-group.item="..."
It's like 4 colums with items, similar to Trello. However, after upgrading to Livewire 3 i followed the instructions to use
@livewireScriptConfig
and manually start Livewire in app.js
import { Livewire, Alpine } from '../../vendor/livewire/livewire/dist/livewire.esm';
import "@nextapps-be/livewire-sortablejs";
Livewire.start()
However, i get the error as described on line 51, referring to
window.Livewire.directive('sortable-group', (el, directive, component) => {
// Only fire this handler on the "root" group directive.
if (! directive.modifiers.includes('item-group')) {
return;
}

Are you using v0.3.0 of this package?  On v0.3.0 I do not get an error and v0.3.0 is required if you are using Livewire v3

My bad. Update-behaviour is apparently different on versions below 1. I forgot to double-check, thank you!


Added script tree list, and function fast access

This PR adds a new class ScriptTreeList to replace the ItemList in the script_editor_plugin, and adds quick function access, based on @puppetmaster- mockup in #2732.
The ScriptTreeList follows the same API as the ItemList class. It comes with a setting to enable list mode that will make it behave as before. If not running in list mode the ScriptTreeList will create a drop down containing all function in that file. By clicking on the function it will open the file and go to the function.

closes #3238

This looks good, but i have my doubts about how useful it might be. Also,
when editing visual script, those have their own list.
What I would do instead, which I believe has more sense than this feature,
is transforming the list of scripts to, optionally, a filesystem tree so
you can see each script organized by folder.
For a list of functions, I would use another list below the lsit of scripts
(so they share vertical space) displaying the functions in the selected
script. Seeing all of them together is probably not that much of a good
idea.
On Sun, Aug 7, 2016 at 2:43 PM, Paul Batty<EMAIL_ADDRESS>wrote:

This PR adds a new class ScriptTreeList to replace the ItemList in the
script_editor_plugin, and adds quick function access, based on
@puppetmaster- https://github.com/puppetmaster- mockup in #2732
https://github.com/godotengine/godot/issues/2732.
The ScriptTreeList follows the same API as the ItemList class. It comes
with a setting to enable list mode that will make it behave as before. If
not running in list mode the ScriptTreeList will create a drop down
containing all function in that file. By clicking on the function it will
open the file and go to the function.
[image: code_tree]
https://cloud.githubusercontent.com/assets/6584330/17463972/6a9d1398-5ccb-11e6-94f2-d422e14bf8bb.png
closes #3238 https://github.com/godotengine/godot/issues/3238
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/6066
Commit Summary

Added script tree list, and function fast access

File Changes

M tools/editor/editor_settings.cpp
https://github.com/godotengine/godot/pull/6066/files#diff-0 (1)
M tools/editor/plugins/script_editor_plugin.cpp
https://github.com/godotengine/godot/pull/6066/files#diff-1 (28)
M tools/editor/plugins/script_editor_plugin.h
https://github.com/godotengine/godot/pull/6066/files#diff-2 (4)
A tools/editor/plugins/script_tree_list.cpp
https://github.com/godotengine/godot/pull/6066/files#diff-3 (233)
A tools/editor/plugins/script_tree_list.h
https://github.com/godotengine/godot/pull/6066/files#diff-4 (86)

Patch Links:

https://github.com/godotengine/godot/pull/6066.patch
https://github.com/godotengine/godot/pull/6066.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/6066, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_mubybikegizMYE-MnqaYMz9fRnks5qdhk-gaJpZM4JejCz
.

This is my counter-proposal, which I believe should be more useful:

Also, it should ask ScriptBaseEditor if it wants to display it for the current script, as the visual script editor already has one.

I think this PR could be more convenient than what @reduz proposed.
I can work easily by coming and going to several functions in different scripts.

I understand, but IMO this change is too aggressive.
Given not everyone can be pleased, and the fact that ScriptEditorPlugin is
getting bloated quickly (it was a lot of work to separate ScriptTextEditor
and fixed a few bugs in the process), I suggest we simply add the necessary
hooks to allow extending the editor via plugin API somehow to add more
features instead.
On Sun, Aug 7, 2016 at 4:55 PM, volzhs<EMAIL_ADDRESS>wrote:

I think this PR could be more convenient than what @reduz
https://github.com/reduz proposed.
I can work easily by coming and going to several functions in different
scripts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/6066#issuecomment-238104406,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z24xcJD6-rrIPgXHy6sn4Ox47T9nVks5qdjhCgaJpZM4JejCz
.

Would it be possible to reuse same design as visual script editor? It can list functions, exported variables and user signals, and this way we can leave item list alone for now. Adding of functions or variables can be done by appending or prepending lines of code to the script, and it works as a quick overview of what's inside the script.

I agree with @reduz on keep separating the list of scripts and the "outline" of symbols found in the current script (funcs, vars, signals), it's cleaner and involves less coupling.
I don't think showing script list as in filesystem is a good idea, the FileExplorer dock already does this job.

I mostly ignore class navigation panel when I am developing in other languages. I prefer to click on the file and scroll until I found the part that I am interested in. So this PR fits my behavior by rescuing me from scrolling by making me able to click on any part of the script directly. So I think it will be very useful for me.

I need this in my life please.

Superseded by #8974.


Autocompletion for a just script?

I've long had a setup program that makes symlinks to dotfiles, installs packages, etc. At some point I realized I could replace my code with just (thanks for that), so I rewrote it in terms of a justfile.
Now, I want autocomplete for my setup script. I tried making it a just script hoping that just+zsh would work some magic, but no such luck. I tried eval $(setup --completions zsh) on that just script, but nope. Is there a way of getting zsh to complete a just script? It works how I expect when doing just [tab] when there's a justfile in the current directory.

Interesting idea! I'm not sure if this is possible, but I'll leave it open in case anyone has any ideas. I don't know if zsh or other shells can do autocompletion based on the shebang line of a binary, since in general just by knowing the shebang line, for example python or perl, you don't know anything about what arguments a script takes.


Add right-hand nav for items

Suggested by @blowdart in the twitter thread. I think the theme I'm using has support for this, hopefully won't be a big lift.

Done 👍

Done 👍


Android:  Axmol is failing to play m4a audio file format

Hello,
On Android platform when we try to preload m4a audio files, the operation will fail. We are not sure if the m4a is not supported yet by Axmol. Maybe we need to setup a flag in the project CMake file? We are not sure at this point.
When the app is running, the files are located in a folder named "voiceMesages" in the app writable path.

axmol version: development branch

devices test on: Redmi Note 8 & 9, Google Pixel 8, Samsung Galaxy S24, Samsung Galaxy A73 (Android 11, 13 and 14)

developing environments

NDK version: 22.1.7171670
Xcode version: N/A
Visual Studio:  N/A

VS version: N/A
MSVC version: N/A
Windows SDK version: N/A

cmake version:  3.29.0
Steps to Reproduce:

Create a simple Axmole project
Add the files somewhere in your writable path
preload the files
Play the sound
audioFiles.zip

Thank you for your help,
Stay safe

The engine supports OGG, MP3 and WAV formats.

Any plan to support m4a file format? I think it's the default on Android.

It was supported on Cocos2d-x maybe we can just port over what is there?

 Which version of Cocos2d-x?
If you can find the implementation, then consider porting it over to Axmol.

Also, you don't need to use the built-in audio support.  You could always use other audio libraries, such as FMOD, which other developers have linked to their apps for extra features that don't exist in Axmol.

Yes coco2d-x does supportm4a audio file format since a long time. I think from 3.6.x . Since we were on 3.17.2 before migrating I can ensure you that it does.
Ok that works with FMOD or we may just change the format. Thank you for the advice 👍, I do appreciate. But I still think it would be nice if we could port what exist already in cocos2d-x. That way we make sure to have more compare to cocos2d-x not less.
Thank you again,
Stay safe.

But I still think it would be nice if we could port what exist already in cocos2d-x.

If you can find the implementation, then point out where it is, because looking through the Cocos2d-x code I cannot see any references to M4A, and even in the Cocos2d-x v3 and v4 cpp-tests project I can only see tests for OGG, WAV and MP3.

Strange, because we have it working. Let me check what was done and I will come back to you.
Thank you again

Hi rh101,
After investigating the legacy code, I can say that you are right. Ccos2d-x doesn't support that audio format. What was done it was to integrate and use ExoPlayer to support more audio format.
Thank you for your support, I do appreciate.
Stay safe

Not an issue


Client tasks

Updated copy and fixed styling
Support letters
PDFs
Success Emails

Good to merge :+1:  gonna check rspecs


Azure Arc app services extension fails to deploy

Scenario which you are working on
I have an on-premises bare metal server which is running the latest version of the AZURE STACK DEVELOPER KIT (ASDK), and in it I have deployed an AKS-ENGINE K8S cluster with 3 master nodes and 7 worker nodes.
With Arc, I am able to onboard to Azure the windows host running ASDK, as well as a LINUX VM running there which is acting as my development box and which I used to deploy the AKS-ENGINE cluster.
I am also able to onboard with Arc the AKS-ENGINE cluster on premises to Azure, and I have enabled AZURE MONITOR on that cluster. I have enabled GITOPS in the cluster and I have also deployed the Azure Arc Data controller to it, I created a custom location and deployed a SQL MI instance there.
I was also able to install the Azure Arc Event grid extension to the cluster. Will deploy a custom location and a topic soon.
However, now that I am trying to deploy the Azure Arc App services extension to the cluster and then create a custom location for it, the following happens (which I have recreated at least 10 times, always the same result), see bug description below.
Describe the bug
The problem is that I get an error that the Azure Arc App extension failed, as follows:  "Error: {failed to install chart from path [] for release [appservices-oakville]: err [release appservices-oakville failed, and has been uninstalled due to atomic being set: timed out waiting for the condition]} occurred while doing the operation : {Installing the extension} on the config"

However, eventually all pods end up running, although by the time all pods run the deployment has timed out and the portal shows the error above.

This is the command I used (verbatim from the script provided by the portal):

COMMENT ==> The IP address I used is the one that the LB of the AKS-ENGINE cluster (<IP_ADDRESS>), should I use another IP?, the JUMPSTART example and the examples in the AZURE DOCS all only cover the use case of using an AKS cluster in Azure (fake on-premises cluster), whereas in my case I am using a real on-premises cluster. I am assuming I am using the right IP Address.
Now, if I let the pods continue to exist, after the deployment failed, they run for about 15 minutes, then all are deleted and recreated and all eventually run again, and this gets repeated until I delete the namespace.
Expected behavior
Why does the deployment timeout, when all pods eventually run?, is there a way to extend the timeout period for the helm chart deployment to complete?
This environment is being used for many customer demos, it would be great if I can get some assistance here.
Regards,
ARTURO QUIROGA

@arturoqu77 this is a capability we are close to completing roll out of, I'm glad it was able to help you at this point.  Docs will be updated soon and there are a number of updates to the portal experience in final validation ahead of roll out on top of this update.


BEST API to get most viewers?

When generating a API for the script on the twitch website which 'Application Category' should i use for the most viewers per API key?
Choices are:
Game Integration
Website Integration
Application Integration
Browser extension
Broadcast Suite
Chat Bot
Giveaway Tool
Analytics Tool
Other
Cast Your Votes?
OR
Are they all limited to 10 viewers per API Key and i have to run multiple scripts under different API keys?
Please and Thanks.

How can I change API?

@OldmateJoe Did you ever find an answer for this?

I'm closing this issue because the project is currently not maintained and it will unlikely to be resolved.
For more, please read this: https://github.com/ohyou/twitch-viewer/blob/master/README.md#project-state


Tests: use the url_for statement for client ops

Fixed at https://github.com/gcavalcante8808/flask-wiki/commit/6bd387c15927175659efade4ca2a129ac71c08f0


Introduce Livebook Functions

We want to extract parts of a notebook either as a separate notebook or as a function that can be reused. Doing this requires understanding the code and extracting the relevant dependencies.

Closing in favor of #1742.


Improve codegen of copy_from_raw_u8

The optimizer cannot currently recognize that on little-endian architectures, the loop is equivalent to just a memcpy. However, when using u16::from_le_bytes, it recognizes the pattern correctly and emits a memcpy on little-endian architectures (and would generate efficient code to swap the bytes on big-endian architectures, at least that is what it does on x86 when using u16::from_be_bytes which requires an endianness swap since x86 itself is a little-endian architecture).
De-referencing a fixed-size slice of 2 elements seems to be crucial for the optimizer to emit the most efficient code, i.e. the code generated is not better than the current implementation when using u16::from_le_bytes([bytes[0], bytes[1]]). Passing fixed-size slices can be achieved safely by using source_row.array_chunks::<2>(), however since array_chunks is currently unstable, slice::from_raw_parts is used to achieve the same effect.
This PR also replaces chunks/chunks_exact with simple indexes for this function since chunks/chunks_exact uses slow integer division instructions when using a chunk size that is not known at compile time.
Comparison of generated assembly of inner loop: https://godbolt.org/z/PzaP71j5j

Nice, glad that you caught the fact that it works with 2-byte slices.
I did also notice the ArrayChunks implementation in the stdlib is extremely simple, at its core it is just a recast(especially as we don't care about the remainder feature): https://doc.rust-lang.org/src/core/slice/mod.rs.html#1075
Possibly we could just put that in directly given we're already doing an unsafe transmute here. Seems slightly more straightforward than the macro, though otherwise I don't have a strong preference.

I think the outer loop looks fine except that the variable names are potentially confusing. Given that self_row_idx and source_row_idx are the byte index of the first byte in the row relative to the entire plane. Maybe self_start_idx and source_start_idx, or self_row_start and source_row_start would be a clearer name?

I did also notice the ArrayChunks implementation in the stdlib is extremely simple, at its core it is just a recast(especially as we don't care about the remainder feature): https://doc.rust-lang.org/src/core/slice/mod.rs.html#1075

Possibly we could just put that in directly given we're already doing an unsafe transmute here. Seems slightly more straightforward than the macro, though otherwise I don't have a strong preference.

You're right, I didn't even think of that. Doing a recast as as_chunks does seems simple, so I went for doing that instead as that also allows us to drop the arrayref dependency.
@shssoichiro Thanks, I also renamed the variables to what you suggested since it does seem clearer than before.

For now I just changed it to use chunks_exact since it seems to generate a much less complicated inner loop.

I found a way to reduce the amount of integer divisions and get an even more efficient outer loop than chunks_exact, but the code is a bit complicated and uses even more unsafe

Sorry for all the noise. I changed it back to chunks_exact again since on closer analysis I can't really tell if the weird pointer arithmetic version is actually better than chunks_exact version, and in any case I don't think it's worth micro-optimizing the outer loop anyways.


Planning notebook

The planning notebook was empty, so I went ahead and added some examples using a subset of the familiar Romania graph from the search notebook.

Good work. You described the concepts nicely.
A few pointers you can improve on:

"The first step is to load the code ... Lets first think about modelling an Action" - You write 'first' two times in a row and it doesn't look nice. I would suggest rephrasing the second sentence.

When you have pointers, I suggest you capitalize them.

A lot of times you write "lets". It actually is "let's", with an apostrophe before 's'.

Usually small numbers in sentences are spelled out instead of writing them in numerals. For example: "We need at least 3 things" would be "We need at least three things". Note that "Chapter 10" is correct. This is a small thing and is a matter of preference, but in other Notebooks we mostly spell them out. Personally I would change it for consistency, but it's up to you.

"This is to workaround the fact" - You should space "workaround" to "work around". You use it as a verb in the sentence, and "workaround" is not a verb.

"Similarly, we track the effects in terms of the statements that become true, should an action be executed, and those that become false, once the action is executed." - This needs a bit of work. The 'should an action be executed' and 'once the action is executed' parts are a bit confusing. From my understanding they mean the same thing, but the first might also mean "in case an action is executed" while the second one might mean "after an action is executed". I believe they mean the same thing, but you changed the wording to avoid repetition. To avoid confusion and repetition, you can write something like this: "Similarly, we track the effects in terms of the statements that become true and those that become false once the action is executed."

"Next, actions contains a list of Action objects that may" - I'm not sure if "actions" is a variable, but if it isn't it should be followed by "contain" instead of "contains". If it is a variable, I would style it differently to set it apart.

"But, as clear from this list of airports" - I think there's a verb missing here. The sentence is not structured properly. Maybe an 'is' after 'as'?

You use the words "now" and "let's" a lot. I would suggest you rephrase some of these to make the text flow more smoothly.

You end the tutorial by defining a variable prob, but you don't do anything with it. This can of course be added later, but I would like to see something more done with it.

PR #427. I created a PR for planning.ipynb too.
We are going to have some merge conflicts.

@sofmonk Sorry I didn't anticipate that. Are you sure the code in your notebook will still work? There have been substantial changes in planning.py itself since #427 - eg. PDLL is now PDDL. Also, I haven't yet done any of the air-cargo problem or spare-tire problem in the notebook as you had, in #427. Maybe we could merge those in after you have refactored your notebook to reflect the updated planning.py module?

Thanks for the exhaustive suggestions, MrDupin. I have tried to incorporate most of them. The notebook reads much better than before now.

Nice work @kaivalyar, and helpful comments @mrdupin.


Auto-update for packages related to 'Microsoft.CodeAnalysis'

Updates package 'Microsoft.CodeAnalysis.FxCopAnalyzers' to version '2.9.3'
Updates package 'Microsoft.CodeAnalysis.CSharp.Scripting' to version '3.1.0'

2.9.3 Seems to have a bug that flags CA1062 (Check for null parameter) in a place where it is actually being checked (ServiceDescriptorExtensions : WithMetadata). 2.9.4-beta1.final seems to have it fixed, but it is a preview version. We should revisit this when 2.9.4 is released.

Closing as 2.9.4 is released


Cache is used although changes are made

https://github.com/Whist-Team/Whist-Core/runs/7483094318?check_suite_focus=true

I see no error.
If there were one, poetry would re-install things.

I see no error.
If there were one, poetry would re-install things.

I double checked the file exists. Path is also correct. How could else could it be missing?

You mean the test error?
I thought this issue was for a cache problem?

I fixed the problem which caused the tests to fail, you just did some typos.


Allow downstream impl of mbed dm to print help

The mbed dm subcommand has a complicated invocation. Instead of
duplicated the argument parser, I elected to pass the implementation
of mbed dm --help to the "downsteam implementation" (the python
script in mbed-os).
Resolves help issues in https://github.com/ARMmbed/mbed-cli/issues/747

Single line implementation! Love it! 👍

Thanks for looking into this. Now there is some help :)
However, as user I'm confused on which command I need to run.
See output:
C:\mbed>mbed dm -h
[mbed] Auto-installing missing Python modules...
usage: device_management.py [-h] [-l {debug,info,warning,exception}]
                            [--version]
                            {create,parse,verify,cert,init,sign,update} ...

Create or transform a manifest. Use C:\mbed\mbed-
os\tools\device_management.py [command] -h for help on each command.

Why do I need to care about "device_management.py" ?
I'm not interested in the internals of Mbed OS tools.
My interface is (and should continue to be) Mbed CLI

@MarceloSalazar That's something that should be changed in device_management.py.

@MarceloSalazar I'll create a PR to have the device_managment.py help print correctly. My prototype does this:
$  mbed dm -h
[mbed] Auto-installing missing Python modules...
---
usage: mbed device-management [-h] [-l {debug,info,warning,exception}]
                              [--version]
                              {create,parse,verify,cert,init,sign,update} ...

Create or transform a manifest. Use mbed device-management [command] -h for
help on each command.

positional arguments:
  {create,parse,verify,cert,init,sign,update}
    create              Create a new manifest
    parse               Parse an existing manifest
    verify              Verify an existing manifest
    cert                Create or examine a certificate
    init                Set default values for manifests
    sign                Sign an existing manifest
    update              Work with the Mbed Cloud Update service

optional arguments:
  -h, --help            show this help message and exit
  -l {debug,info,warning,exception}, --log-level {debug,info,warning,exception}
  --version             display the version

@MarceloSalazar Mbed OS PR up: https://github.com/ARMmbed/mbed-os/pull/8104


Documentation of admin REST API is missing body parameters

The Reference/Pulsar REST API on this page RestApi is missing all body JSON parameters. The new register Functions, etc take multi-part form data, these are not yet documented but when they are the form data needs also to be documented.

@HaraldGustafsson thank you for reporting this. we are going to fix it as part of our 2.0 release.

We should try to upgrade to swagger 1.5.19 as well. We're using 1.5.3 from 2015

Moved to 2.1 since it requires a bit of work and investigation with Swagger to include the JSON format for the requests.
(In any case this is just on website, so it's not technically "tied" to the release tag)

most of the REST apis except functions are updated in the new website. functions are tricky because it is using protobuf classes in the response, which cause swagger ui fails to load. will have to refactor how functions return the responses.


logrus's SetReportCaller invalid in elogrus

set log.SetReportCaller(true)  can displayed log with caller
but elk has no caller infos

too long time no result

If this library isn't maintained any more, I'll create a new one and advocate for that one instead...

@J7mbo did you ever think more about this idea?


Some sort of starting command

Can you provide some sort of starter command. It is not easy to do it yourself, so it might be better to put it in the readme

Done


Update train_transformer.jl

I think that computing validation loss without transformation is an error, a hold-over from a mistaken commit.
Also, this computes validation only every so often, too speed up. At the end, it does it every epoch, to ensure that a good best model is found.

no a good PR, I see that train_transformer! already has the periodic validation


Overhaul

Description of changes:

SwingLine onboarding requirements
Updated RDS: Postgres versions
General cleanup & maintenance

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests


getnewaddress returns the same address for subsequent calls

Hi,
Contrary to the "common" bitcoin RPC API, getnewaddress returns the same address in 2 subsequent calls if the address has not been used yet at the time of the second call.
Our code doesn't expect this, and I can imagine the same holds for other people.
Cheers,
-Freek

This has been resolved here - https://github.com/block-core/blockcore/commit/6ef036a35a189409fa74f6ce4fcf2a57add2cd7


minimal example is 1mb in release mode

Hey, I was thinking to use wasm in my project, but it is very small website and wanted to have fast load times. I tried compiling minimal example but I got 1mb file in release mode which is too much. Is here a way to optimise the size of the output?

I built my own project and it was 300kb, not bad. Why the example was 1mb then? It was building directly under the "examples" folder so maybe it was including some other files? Still, how about adding some tips for wasm file size optimisation? I was able to go down to 200kb with few flags from here:
https://github.com/rust-lang-nursery/rust-wasm/issues/109

Did you perhaps use one of the Emscripten targets to build the example? When I build the minimal example with cargo web build --release --target=wasm32-unknown-unknown I get a 318kB .wasm file.
Yeah, that can be further cut down with LTO, optimize for size, alternative allocator, etc. There is going to be a limit as to what you can do though as a non-insignificant chunk of Rust's stdlib has to go into the resulting .wasm file and there isn't much (currenty) you can do about it.

Yes, I got it down to 210 kb with optimisations.
Not bad, but for small projects its too much. I wish there would be a way to get this down to at least 100kb.

P.S. You might have success using twiggy to analyze why your wasm file is so large.

@Pauan
Thanks for the very long explanation. I understand that there is nothing much to do about it, I was just hoping there was some way to drop the size a little.
I guess you can close this issue, but I was also thinking about adding this information to README (together with some size optimisation tutorial) for people starting with wasm and trying to make the output smaller :)

Btw, I checked the actual size of downloading the wasm file and its only 5kb gzipped! So I guess not bad for small website.

@jaroslaw-weber The most comprehensive "how to make your Rust wasm small" guide is a part of the Rust Wasm book.
You're right: it might be useful for stdweb to link to it in the README.

Also keep in mind that wasm compiles much faster than javascript. At least Firefox with its new streaming compiler can compile really fast.


train

I have the following situation when using the training commands you provided

Hi, thanks for your interest,
This problem is caused by the windows operation system
I suggest you use ubuntu system to run our code
If you find our repo useful, please help us star it, thanks :)

Thank you for your reply
On Wed, Dec 18, 2024 at 11:04 AM Yuanhao Cai @.***>
wrote:

Hi, thanks for your interest,
This problem is caused by the windows operation system
I suggest you use ubuntu system to run our code
If you find our repo useful, please help us star it, thanks :)
—
Reply to this email directly, view it on GitHub
https://github.com/caiyuanhao1998/SAX-NeRF/issues/39#issuecomment-2550209936,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMPEQKEIVA3A55AHTOPHC7L2GDQ5LAVCNFSM6AAAAABTZT5JMWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJQGIYDSOJTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm using exactly what you call the ubuntu system
On Wed, Dec 18, 2024 at 6:41 PM 何首乌 @.***> wrote:

Thank you for your reply
On Wed, Dec 18, 2024 at 11:04 AM Yuanhao Cai @.***>
wrote:

Hi, thanks for your interest,
This problem is caused by the windows operation system
I suggest you use ubuntu system to run our code
If you find our repo useful, please help us star it, thanks :)
—
Reply to this email directly, view it on GitHub
https://github.com/caiyuanhao1998/SAX-NeRF/issues/39#issuecomment-2550209936,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMPEQKEIVA3A55AHTOPHC7L2GDQ5LAVCNFSM6AAAAABTZT5JMWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJQGIYDSOJTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


WEBGL_debug_renderer_info is deprecated in Firefox

I get this error in Firefox in any PlayCanvas Editor project, even in an empty project.
Note: I am on the latest Firefox edition, so I don't believe it's an outdated browser issue.

I can repro it as well, which is strange as based on this, the extension is supported:
https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_debug_renderer_info

This is 100% fine. Firefox is just saying that the extension will no longer work soon. PlayCanvas queries it (since some apps use the queried info to influence things like what resolution to render at) but the engine doesn't rely on it itself.


Add first crictl e2e test framework and suite

This adds a new Makefile target test-e2e, which uses the existing
ginkgo framework to run end-to-end tests for crictl.
The test framework and suite setups CRI-O in a tmp sandbox, whereas
every test can specify if a runtime is needed or not. This way it is
possible to create a new isolated environment where crictl can operate
on. Please be aware that external dependencies like runc and the CNI
plugins have to be existend on the system to acually work. The tests
have to be executed as root for now.
An example test suite for the help as well as the info command has
been added as well.
Relates to: https://github.com/kubernetes-sigs/cri-tools/issues/364

Now runs seamlessly in travis :)

/lgtm
/approve


Write justification for Grid PO spec usage

Produce a deliverable explaining why we pursued use of targeted specifications and justification for why we did not use others to strongly inform Grid Purchase Order design. Intent is to include content in the Grid Purchase Order RFC.

Moving to closed. This input/justification will be available within the "Rational & Alternatives" portion of the RFC document.

Moving to closed. This input/justification will be available within the "Rational & Alternatives" portion of the RFC document.


Fix for issue #1722, GVRCubeSceneObject with texture array throw invocation exception

For issue https://github.com/Samsung/GearVRf/issues/1722
Two main bugs: incorrect descriptor in CubeSceneObject and the index buffer was not getting bound

GearVRf-DCO-1.0-Signed-off-by: Mihail Marinov<EMAIL_ADDRESS>

Fix completed; the cube finally shows up. @NolaDonato please review.

Planning to merge on Wednesday


[WIP]feat Pluginization of Authenticator

abstract
introduces the pluginization of the Authenticator component, enabling greater flexibility and modularity within the authentication system. By refactoring the Authenticator into a pluggable SPI (Service Provider Interface), we allow for custom authentication mechanisms to be seamlessly integrated and managed.
Key Changes
AuthenticatorFactory Interface:
Defined a new AuthenticatorFactory interface to standardize the creation of Authenticator instances. The interface includes methods to create Authenticator instances based on configuration (ConfigBase) and to return a unique identifier for each factory (e.g., "ldap", "default"). The interface also provides a method getAuthenticatorConfig() to retrieve default configuration templates, aiding in the initialization process. Factory Identifier:
Each AuthenticatorFactory implementation must provide a unique identifier. This allows for easy registration and retrieval of specific Authenticator implementations based on the factory identifier. Configuration Management:
The getAuthenticatorConfig() method returns a ConfigBase instance, providing a default configuration that can be used or modified before creating an Authenticator. Benefits
Modularity: Authentication logic is now decoupled from the core system, making it easier to extend and maintain. Flexibility: Different authentication strategies (e.g., LDAP, default, etc.) can be easily added or swapped without altering the core codebase. Customization: Users can define custom Authenticator implementations and configure them as needed, enabling a more tailored authentication process.
eg
In your Maven pom.xml, add the fe-core dependency:
        <dependency>
            <groupId>org.apache.doris</groupId>
            <artifactId>fe-core</artifactId>
            <version>1.2-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>

import org.apache.doris.common.ConfigBase;

public class LocalAuthenticatorFactory implements AuthenticatorFactory {

    @Override
    public Authenticator create(ConfigBase config) {
        // No need to use config for this simple example
        return new LocalAuthenticator();
    }

    @Override
    public String factoryIdentifier() {
        return "local";
    }

    @Override
    public ConfigBase getAuthenticatorConfig() {
        // Returning a new instance of LocalConfig, which could be customized if needed
        return new LocalConfig();
    }
}
import java.util.HashMap;
import java.util.Map;

public class LocalAuthenticator implements Authenticator {
    private Map<String, String> userStore = new HashMap<>();

    public LocalAuthenticator() {
        // Hardcoded usernames and passwords
        userStore.put("user1", "password1");
        userStore.put("user2", "password2");
        userStore.put("admin", "adminpass");
    }

    @Override
    public boolean authenticate(String username, String password) {
        // Authenticate by checking the hardcoded user store
        String storedPassword = userStore.get(username);
        return storedPassword != null && storedPassword.equals(password);
    }
}
import org.apache.doris.common.ConfigBase;

public class LocalConfig extends ConfigBase {
    // Configuration options could be added here if needed
}

To make your LocalAuthenticatorFactory discoverable as an SPI service, you need to add a META-INF/services directory to your resources folder. Then, create a file named AuthenticatorFactory inside it.

run buildall

run buildall

run feut


feat: add C ndarray interface and refactor implementation for stats/base/dnanminabs

Resolves None
Description

What is the purpose of this pull request?

This pull request:

adds C ndarray interface for stats/base/dnanminabs
refactors JavaScript implementation
updates tests, docs, examples and benchmarks

Related Issues

Does this pull request have any related issues?

This pull request:

resolves None

Questions

Any questions for reviewers of this pull request?

No.
Other

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

No.
Checklist

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

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

same question here as #4206, What to use for generating random arrays with NaN values, Have left JS benchmarks and examples untouched for now


Timeout not configurable

Hi,
when I run the who.is query I can't specificy how long to wait before timeout from the server. Turkey who.is servers seem to be slow on responding. Can we add this parameter as parameter to the function?

Pull request welcome!


Don't work with lastest Steamwork SDK

Lastest SDK (steamworks_sdk_158a) don't work with your package. Can you update that ?
♥

The latest version supports 1.59 now


I am interested in making linux distros, please add me to the org

I would like a link to see what I can do to learn and contribute to this project

Invite sent.  Welcome !!


HDDS-5709. do not call removeTransactionsFromDB if nothing to remove

What changes were proposed in this pull request?
for now, blockingDeleting service will delete keys periodically and thus removeTransactionsFromDB will  be called periodically  , which is generate a raft log when scm ha is enabled.  if nothing to remove, a raft log will also be generated , which will delele nothing. this is not needed.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5709
How was this patch tested?
no need

LGTM, +1.

@ChenSammi @ayushtkn thanks for the reivew！


Update 2016-06-26-installation-v2.md

i needed this line too, I don't think it was just me or that i screwed something up, maybe you'll know right away

But item is already in the line above:
$DIR/anvio/bin

Doh! 👍


[Monitor Query + Ingestions] Update changelogs

Preparation for release.

API change check
API changes are not detected in this pull request.


2.1.1: Add bonus minions for necromancy level if configured to use limits

Compiled: here
Testing:
Please tick the box as you complete each test segment.

[ ] Base functionality test

Delete your config file
Start game
Ensure that you can summon unlimited minions
Quit game

[ ] Limit increment test

Edit config file to impose a limit on skeletons and draugr (different limit for each)
Edit the incrementer for each minion type (or leave it as default of 10)
Start game and check that you are being permitted to get new minions each time you get another X levels of Necromancy skill
Quit game

[x] Limit no increment test

Edit config file to have incrementers set to 0
Ensure that the limit can't be passed and that no extra minions are given as necromancy level increases

[ ] Mixture test

To be exceedingly thorough, test incrementer with skeletons works well without an incrementer on the draugr, and vice versa

There's a divide by zero error when either MinionLimitIncrementsEveryXLevels is set to 0.

There's a divide by zero error when either MinionLimitIncrementsEveryXLevels is set to 0.

Aw man, could've sworn I accounted for that possibility... haha. Thanks

Oh wait, you did. It was just because you checked one and used the other, which means it will be resolved with #117 (comment)

Ah ok, phew. Thanks for the great and comprehensive testing


Breaking equivariance

Hi, Thanks a lot for your work!!
I was running some equivariance tests on your implementation of the SE3-Transformer and found that it is not always conserved. It does not break every time and unfortunately I do not know where the bug is.
I have appended an image with an example of equivariance not being conserved.

To generate this image I used the following code:
    import numpy as np
    import matplotlib.pyplot as plt
    import torch

    from se3_transformer_pytorch import SE3Transformer

Make some data
    zline = np.arange(0, 2, 0.05)
    xline = np.sin(zline * 2 * np.pi)
    yline = np.cos(zline * 2 * np.pi)
    points = np.array([xline, yline, zline])
    geom = torch.tensor(points.transpose())[None,:].float()
    feat = torch.randint(0, 20, (1, geom.shape[1],1)).float()

    def rot_matrix(x):
        # Rotation matrix
        a ,b ,c = 2*np.pi*x
        return np.array([
            [np.cos(a)*np.cos(b), np.cos(a)*np.sin(b)*np.sin(c)- np.sin(a)*np.cos(c), np.cos(a)*np.sin(b)*np.cos(c)+ np.sin(a)*np.sin(c)],
            [np.sin(a)*np.cos(b), np.sin(a)*np.sin(b)*np.sin(c)+ np.cos(a)*np.cos(c), np.sin(a)*np.sin(b)*np.cos(c)- np.cos(a)*np.sin(c)],
            [-np.sin(b)         , np.cos(b)*np.sin(c)                               , np.cos(b)*np.cos(c)                               ]
        ])

Initialize model
    mdl = SE3Transformer(
        dim = 1,
        depth = 3,
        input_degrees = 1,
        num_degrees = 2,
        output_degrees = 2,
        reduce_dim_out = True,
    )

    def model(geom,feat):
        return geom + mdl(feat,geom, return_type = 1)

Check Rotation Invariance:
    with torch.no_grad():

        Q = torch.tensor(rot_matrix(np.random.random(3))).float()
        prerotated = model(geom @ Q, feat).squeeze().detach().numpy().transpose()
        posrotated = (model(geom, feat) @ Q).squeeze().detach().numpy().transpose()

        fig = plt.figure(dpi = 200)
        ax = plt.axes(projection="3d")

        ax.plot3D(prerotated[0], prerotated[1], prerotated[2], "r", linewidth=1.1)
        ax.plot3D(posrotated[0], posrotated[1], posrotated[2], "b", linewidth=0.5)

        plt.legend(["Pre-Rotated", "Post-Rotated"])
        plt.show()

Check Translation Invariance:
    with torch.no_grad():

        x0 = 1*torch.rand(3)
        prerotated = model(geom + x0, feat).squeeze().detach().numpy().transpose()
        posrotated = (model(geom, feat) + x0).squeeze().detach().numpy().transpose()

        fig = plt.figure(dpi = 200)
        ax = plt.axes(projection="3d")

        ax.plot3D(prerotated[0], prerotated[1], prerotated[2], "r", linewidth=1.1)
        ax.plot3D(posrotated[0], posrotated[1], posrotated[2], "b", linewidth=0.5)

        plt.legend(["Pre-Translated", "Post-Translated"])
        plt.show()

Hope this helps!!

@brennanaba Thanks Brennan for reporting this! Do you happen to know if the same issue does or does not exist for the official repository that Fabian put out?

@brennanaba Could you try the latest version? (0.0.14) I turned off an experimental feature I had on by accident (but it may or may not be the culprit)

Hi @lucidrains, thanks for answering so quickly. This does not happen on the version that Fabian put out. I will give the new version a try later today and let you know.

I am still getting the same error on version 0.0.14.

Just to clarify, this only happens around once for every ten runs of the code. So for some reason it seem to depends on how the model is initialised. Sorry I can't be of more help!!

@brennanaba No, thank you! :) As long as you can confirm Fabian's code is alright, then I can hunt down the bug. I'll put both into deterministic mode, feed both the same input until the output differs and find out where the offending code is

@brennanaba I did some more tinkering, and it seems like it is a precision problem
import torch
from se3_transformer_pytorch.se3_transformer_pytorch import SE3Transformer
from se3_transformer_pytorch.irr_repr import rot
from se3_transformer_pytorch.utils import torch_default_dtype

iters = 100

dtype = torch.float64
# dtype = torch.float32

with torch_default_dtype(dtype):
    dim = 4
    max_error = 0

    model = SE3Transformer(
        dim = dim,
        depth = 3,
        input_degrees = 1,
        num_degrees = 2,
        output_degrees = 2,
        reduce_dim_out = True,
    ).cuda()

    for i in range(iters):
        feats = torch.randn(1, 16, dim, dtype = dtype).cuda()
        coors = torch.randn(1, 16, 3, dtype = dtype).cuda()
        mask  = torch.ones(1, 16).bool().cuda()

        R   = rot(15, 0, 45).type(dtype).cuda()
        out1 = model(feats, coors @ R, mask, return_type = 1)
        out2 = model(feats, coors, mask, return_type = 1) @ R

        diff = (out1 - out2).max()
        print(f'{i} out of {iters} - {diff:.8f}')
        if diff > max_error:
            max_error = diff

    print('max error is', max_error)

In 100 tries, the maximum error I get with float64 is 1.5e-7
For float32, I hit 1e-4 :(
You can try this by running the script above yourself

oh also, upgrade to 0.0.15 in order for the model to work with float64 inputs, sorry, work in progress :pray:

my guess is that there is some approximation that leads to unstable results in the context of 'low' precision

in either case, it seems like doing everything in float64 'solves' the issue

ran float64 for 5000 times (each time calculates new basis vectors, unlike DGL graph batching), and the maximum error is 3.2820e-06

@brennanaba I'll see if I can bring in reversible networks https://arxiv.org/abs/1707.04585 and perhaps we can just use float64 throughout the network without having to incur a great cost

@brennanaba do you mind if I include your code as a colab notebook for others to try on the Readme?

@lucidrains Sorry for the late reply!! Feel free to share my code, I will check the new version tomorrow and let you know.

Hi Lucid, works like a charm with float64. I wonder at which step the network requires such high precision. Thanks a lot for fixing this!!

@brennanaba No problem! I'll step through the network this week to figure out just where in the network it needs to be high precision. Would be disappointing if it were to be all of it, but I can always pull the reversible net card.

@brennanaba No problem! I'll step through the network this week to figure out just where in the network it needs to be high precision. Would be disappointing if it were to be all of it, but I can always pull the reversibiliy card.

There is also the possibility I introduced a bug that makes the network more prone to precision errors, but I cannot imagine how that could be the case

Hi Lucid!! Just as an fyi and because you have it on your Readme.
If you try and predict coordinates directly by using the SE3-Transformer (like for you Alphafold2 example), you end up breaking translational equivariance. This is because the coordinates predicted will have to depend on your origin being fixed in space. This is the reason I force the model to predict  "correction" vectors for each input coordinate in the example I sent you.
To put it in coding terms, this breaks equivariance:
import torch
from se3_transformer_pytorch.se3_transformer_pytorch import SE3Transformer
from se3_transformer_pytorch.irr_repr import rot
from se3_transformer_pytorch.utils import torch_default_dtype

iters = 100

dtype = torch.float64
#dtype = torch.float32

with torch_default_dtype(dtype):
    dim = 4
    max_error = 0

    model = SE3Transformer(
        dim = dim,
        depth = 3,
        input_degrees = 1,
        num_degrees = 2,
        output_degrees = 2,
        reduce_dim_out = True,
    )

    for i in range(iters):
        feats = torch.randn(1, 16, dim, dtype = dtype)
        coors = torch.randn(1, 16, 3, dtype = dtype)
        mask  = torch.ones(1, 16).bool()

        x0 = torch.rand(3)
        out1 = model(feats, coors + x0, mask, return_type = 1)
        out2 = model(feats, coors, mask, return_type = 1) + x0

        diff = (out1 - out2).max()
        print(f'{i} out of {iters} - {diff:.8f}')
        if diff > max_error:
            max_error = diff

    print('max error is', max_error)

Hope that helps!!

@brennanaba duly noted! i've updated the readme!


Promote version to 1.0.0

Description
Promoting version 0.5.0 to 1.0.0 for GA Release
Issues Resolved
Testing

[ ] New functionality includes testing

[Describe how this change was tested]

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Approved


TBOX-131: logging format

↪ Pull Request
This PR changes the logger format to include both the name of the logger and the name of the file where the logging is called.  Previously only the name of the logger was shown.  The logger name is valuable particularly for external packages with logging enabled, since this indicates the module where the logging call was made.  For custom logging statements, however, the name of the logger is chosen by the script writer, so including the filename is important in this case.
Example:
Run a script called script.py with the following contents:
# logger created with name "my_logger"
log = tbox.utils.logger.create("my_logger", log_directory=".")

log.info("an info message")  # direct logging call

tbox.utils.logger.enable_package_logging("tamr_unify_client")
tamr = Client(...)
tamr.request("GET", "service/version")  # tamr_unify_client method that creates a log

The resulting logs will be:
INFO <4717485504> [2021-06-10 15:31:08,315] my_logger <script.py:10>  an info message
INFO <4717485504> [2021-06-10 15:31:08,418] tamr_unify_client.client <client.py:95>  GET http://<IP_ADDRESS>:9100/api/versioned/v1/service/version : 404

✔ PR Todo

[ ] Add documentation
[ ] Add examples
[ ] Ensure you are following the practices in the contributor guide and coding_standards

Use consistent and descriptive name conventions
Uses google-style docstrings
Uses versioned API/client methods only
Avoid global variables
Avoid giant try/catch
Don't use mutable default variables
Use a main() function in your scripts

[ ] Added/updated testing for this change (ensure you are testing any changes/new code!)
[ ] Update title to link to TBOX issue (i.e. start pull request title with TBOX-xx)
[ ] Approval from first code-reviewer
[ ] Approval from second code-reviewer (only required if a second reviewer has left comments)
[ ] Pass all checks

looks great!


docs(stats, cli): add new stats options

Docs for https://github.com/webpack/webpack/pull/4143
I will rebase and fix the table after #1309 is merged.

Rebased.


Fixes #8: Fix for wrong argument supplied at _get_database fn call

Ah, good catch!
Any chance you can replicate the bug in a unit-test? On one hand, that'd be more proper, but on the other, this is fairly obvious fix, and trivial.
Odd that the test suite wouldn't have caught it, but that does happen from time to time.
Sidenote: I'm also looking into why our documentation didn't get built and pushed out. I may wanna fix that before we merge this in, so that we get proper docs for when this hits master. I'll get back to this in an hour or two.

@arpitremarkable @tomage lgtm! The tests likely didn't catch it because it was valid code that was unasserted. I'm not too concerned about testing logging output and this seems like an obvious fix.
Thanks for the contribution!

@arpitremarkable Yep! I think we can merge more or less as-is!
There's one thing I'd like to suggest if you don't mind, which would be to add a relevant git trailer so that the version gets bumped (see more here: https://github.com/jyveapp/django-pgtrigger/blob/master/CONTRIBUTING.rst#releases-and-versioning).
We generally use git-tidy to achieve this - but this can really be trivially done by just slightly modifying your commit message.
It currently reads:
Fix for wrong argument supplied at _get_database fn call

But if you could change it to, say:
Fix for wrong argument supplied at _get_database fn call

Type: bug

(There must be one empty line between the message itself, and the first trailer apparently: https://git-scm.com/docs/git-interpret-trailers#_description).
then it'll make our build pipeline bump the version number properly.
You can easily achieve this with the following (just in case you haven't come across this before :) ):
$ git checkout fix-multi-db  # just to be on your branch for sure
$ git commit --amend  # should open up editor to let you edit the commit message
$ git push -f  # prob. need to force-push the new commit out

Thanks again for the contribution!

Heads-up - I also just pushed out a minor patch to fix the documentation building - so you could also rebase this branch with latest/greatest in the master branch.
Also, if you like, I could totally cherry-pick your commit - amend the commit message and get it merged in ASAP if you like (it would keep you as the commit author - for attribution, tho I'll be attached to it as the committer).
Totally up to you @arpitremarkable  :)

I've updated the commit.
Can not run make setup though so not able to make docs or test
Let me know if it is good to go


The counting of wishlist and compare products should be visible over the compare and wishlist icon in the top right corner.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
Master
Issue Description
The counting of products is not visible in compare and wishlist. if the user is adding the products in the compare and wishlist.
Preconditions
The user should be logged in is the shop
Some products should be added to the compare and wishlist.
Steps to reproduce
1. Go to 'Shop'
2. Add some products to the compare and wishlist
3. Try to view the added product on the compare/wishlist in the top right corner.
4. See the error
Expected Result
The counting of wishlist and compare products should be visible over the compare and wishlist icon in the top right corner.
Actual Result
The counting of wishlist and compare products are not visible over the compare and wishlist icon in the top right corner.
Screenshots

Additional context
No response

@prabhatkumaroc082
Please reset your project with master and then log in as a customer in a shop. then try to add the product to the wishlist.

Please assign this issue to me


Supporttailspin DIR

Allow me to pass in a directory. Tail every file in it that is named *.log.

Thanks for the suggestion, Alex. I will see if this can be added to tailspin at some point in the future.

Hi @alexec ,
I added support for tailing all files within a folder in 1.3.0. Hope it suits your needs.


Port to FreeBSD

I'm seeing more and more people using FreeBSD as their home servers, especially with the popularity of FreeNAS. I've been thinking about giving it a try and switching from Ubuntu to FreeBSD if I like it. I would love it to see this toolkit ported to FreeBSD. It would make it so much easier if I could use the toolkit to back up my settings for all my applications and copy them over to FreeBSD to minimize downtime.

yes, please port

Hi,
This isn't going to be an easy task to port this over to FreeBSD however I don't mind keeping this open to see if we can do this in future.
I've now moved the feature requests over to Feathub
Could you please vote for this there so we can start getting a feel for what people would like to be worked on next.
Thanks


CertificatePinner uses sha1 hashes

This is not my main domain, so i am maybe wrong with this:
Using a sha1 hash is a security issue, since sha1 should not be used for signing certificates anymore, so it should not for pinning.
Sincerely

We're using Chromium's format.
http://src.chromium.org/viewvc/chrome/trunk/src/net/http/transport_security_state_static.certs
If you can convince them to change, we'll change too. But for now the tangible benefits of consistency with chrome outweigh the attack vector. Remember, pinning is a 2nd layer of security; the attacker still needs to compromise a CA.

FYI, HPKP uses sha256: https://tools.ietf.org/html/rfc7469
Given the authors, I suspect Chrome will update soon ;-)

@swankjesse I would also like to place a vote for sha256 support since Google have already begun phasing out sha1
http://googleonlinesecurity.blogspot.dk/2014/09/gradually-sunsetting-sha-1.html
https://www.digicert.com/sha-2-ssl-certificates.htm

Will the conversion to SHA256 hashing be reconsidered in the near future?

Let's do it.


Add MP4 (M4A) load(s) support

This has been sitting around locally for too long. Time to get some other people looking at/testing it, so it can finally get across the finish line.
For anyone willing to do some testing of MP4 support: pip install -U git+https://github.com/thebigmunch/audio-metadata@mp4.
I set a warning to emit when it runs into tags using data types I don't currently have explicitly handled. I'd love to get any files that emit this warning.
Any questions/issues/discussion, post here.
TODO

Implement any remaining tag types. Specifically the freeform ---- tags.
Handle multiple value tags.
Finish extension parsing code.
Reorganize/cleanup parsing code as necessary.
Expose any attributes deemed worthy of exposing on MP4StreamInfo et al.

Hello! Found my issue got updated by this. Decided to test mp4 support. Seems to work for the most part. [Tested standard aac audio, not the weirded parts yet.]

Detects cover but doesn't detect other covers. [Again, those are placeholder images.]

Thanks for testing. I'm not sure everyone knows just how much I need people to test this stuff on their own files.
About the multiple tags, yeah, I hadn't gotten to supporting multiples for any of the MP4 tags yet. One of the things I need to finish up.
And thanks especially for the HE-AAC track. So, HE-AAC is actually AAC LC with SBR extension (v1) or SBR and PS extensions (v2). But, I haven't finished the extension parsing yet to be able to modify the codec description. This appears to be a v1 file. Glad to have an example.
Hopefully I'll get motivation to work on the MP4 stuff again soon. Been banging out a lot of other stuff recently.

Just pushed a new version that supports multiple covers.

And, now it should set the codec description for your AAC-HE file. Plus, I found and fixed a bug along the way.

Seems to work.
Also Doesn't detect Nero Encoded AAC for whatever reason... Test file if needed

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'untitledneroaac.m4a':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 2020-03-08T08:37:28.000000Z
    iTunSMPB        :  00000000 00000A40 000001C0<PHONE_NUMBER>096000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    encoder         : Nero AAC codec / <IP_ADDRESS>
  Duration: 00:00:12.86, start: 0.054667, bitrate: 96 kb/s
    Chapter #0:0: start 0.054667, end 12.918667
    Metadata:
      title           :
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 93 kb/s (default)
    Metadata:
      creation_time   : 2020-03-08T08:37:28.000000Z
      handler_name    : Sound Media Handler

Tossed a few static gif images into appleaac.m4a for cover test.. and it crashed. File in Question
>>> metadata = audio_metadata.load('untitledappleaac.m4a')
ValueError: 0 is not a valid MP4CoverFormat

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Python38\lib\site-packages\audio_metadata\api.py", line 125, in load
    return parser_cls.parse(data)
  File "C:\Program Files\Python38\lib\site-packages\audio_metadata\formats\mp4.py", line 671, in parse
    self.tags = MP4Tags.parse(data, ilst)
  File "C:\Users\joshw\AppData\Roaming\Python\Python38\site-packages\wrapt\wrappers.py", line 621, in __call__
    return self._self_wrapper(self.__wrapped__, instance, args,
  File "C:\Program Files\Python38\lib\site-packages\tbm_utils\decorators.py", line 41, in wrapper
    return wrapped(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\audio_metadata\formats\mp4.py", line 219, in parse
    tag = MP4Tag.parse(data, child)
  File "C:\Users\joshw\AppData\Roaming\Python\Python38\site-packages\wrapt\wrappers.py", line 621, in __call__
    return self._self_wrapper(self.__wrapped__, instance, args,
  File "C:\Program Files\Python38\lib\site-packages\tbm_utils\decorators.py", line 41, in wrapper
    return wrapped(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\audio_metadata\formats\mp4_tags.py", line 129, in parse
    return MP4CoverTag.parse(atom.read_data(data))
  File "C:\Users\joshw\AppData\Roaming\Python\Python38\site-packages\wrapt\wrappers.py", line 621, in __call__
    return self._self_wrapper(self.__wrapped__, instance, args,
  File "C:\Program Files\Python38\lib\site-packages\tbm_utils\decorators.py", line 41, in wrapper
    return wrapped(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\audio_metadata\formats\mp4_tags.py", line 60, in parse
    covers.append(MP4Cover.parse(data))
  File "C:\Users\joshw\AppData\Roaming\Python\Python38\site-packages\wrapt\wrappers.py", line 621, in __call__
    return self._self_wrapper(self.__wrapped__, instance, args,
  File "C:\Program Files\Python38\lib\site-packages\tbm_utils\decorators.py", line 41, in wrapper
    return wrapped(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\audio_metadata\formats\mp4_tags.py", line 24, in parse
    format_ = MP4CoverFormat(struct.unpack('>I', data.read(4))[0])
  File "C:\Program Files\Python38\lib\enum.py", line 304, in __call__
    return cls.__new__(cls, value)
  File "C:\Program Files\Python38\lib\enum.py", line 595, in __new__
    raise exc
  File "C:\Program Files\Python38\lib\enum.py", line 579, in __new__
    result = cls._missing_(value)
  File "C:\Program Files\Python38\lib\enum.py", line 608, in _missing_
    raise ValueError("%r is not a valid %s" % (value, cls.__name__))
ValueError: 0 is not a valid MP4CoverFormat

Though... FFmpeg also says a Unknown Cover Type and just skips it entirely:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000024a2520c1c0] Unknown cover type: 0x0.
    Last message repeated 2 times
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'untitledappleaac.m4a':
  Metadata:
    major_brand     : M4A
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 2020-03-07T09:13:17.000000Z
    encoder         : qaac 2.68, CoreAudioToolbox <IP_ADDRESS>, AAC-HE Encoder, CVBR 16kbps, Quality 96
    iTunSMPB        :  00000000 00000840 000007C0<PHONE_NUMBER>04B000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Encoding Params : vers
  Duration: 00:00:12.97, start: 0.044000, bitrate: 92 kb/s
    Stream #0:0(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 15 kb/s (default)
    Metadata:
      creation_time   : 2020-03-07T09:13:17.000000Z

Hi,
It seems like the bitrate is not being read correctly for some of my .m4a files. Any ideas as to why this could be happening?

What's the current state of this issue?  Thanks.

For the code base I'm using this branch with, I'm not doing anything particularly fancy so it mostly works. Biggest issues I hit were:

m4v isn't in the list of supported file extentions
Freeform fields are definitely still broken in that they don't properly append

It is working for m4a files recorded with quicktime media! thanks!!

For anyone that cares, here's a fix for the freeform fields bug: https://github.com/whatsnowplaying/audio-metadata/commit/920b2bfde57a16292214afdf2660d43e572eafd5