chore: Add Pippenger with precomp

I think this works now, though we may want to put it behind a feature flag so it can get tested more

Also would be good to test out what happens if we do not use the toeplitz matrices now that msm's are faster


[4.x] - [features migration] - Clean up

Compliments #4667

Force merged - the checks passed, were incorrectly reported on PR


OIG - Create WebLogic AdminServer Container fails

Hi experts,
followed the steps documented under
https://docs.oracle.com/en/middleware/idm/identity-governance/<IP_ADDRESS>/tutorial-oig-docker/
and fail at
Step 4 - Create and Run the OIG WebLogic AdminServer Container
Log reads:
Creating Node Managers...
Creating Admin server...
Writing base domain...
Base domain created at /u01/oracle/user_projects/domains/base_domain
Extending domain at /u01/oracle/user_projects/domains/base_domain
setting server t3channel for server oim_server1
t3 channel created for server: oim_server1for address: Melindas-MBP
setting server t3channel for server soa_server1
t3 channel created for server: soa_server1for address: Melindas-MBP
Error: runCmd() failed. Do dumpStack() to see details.
Problem invoking WLST - Traceback (innermost last):
File "/u01/oracle/dockertools/createOIMDomain.py", line 435, in ?
File "/u01/oracle/dockertools/createOIMDomain.py", line 64, in createOimDomain
File "/u01/oracle/dockertools/createOIMDomain.py", line 304, in extendOimDomain
File "/tmp/WLSTOfflineIni2357786725884794514.py", line 143, in updateDomain
File "/tmp/WLSTOfflineIni2357786725884794514.py", line 19, in command
64254: Error occurred in "OPSS Processing" phase execution
64254: Encountered error: SecurityContext:
wlstOfflineLogs reads:
2021-04-24 14:39:47,198 SEVERE [19] oracle.security.opss.tools.lifecycle.OpssDomainConfigImpl - Error during configureOpssInDomain. Exception oracle.security.jps.service.keystore.KeyStoreServiceException: JPS-06501: Keystore demoidentity in stripe system already exists
2021-04-24 14:39:47,202 SEVERE [19] oracle.security.opss.tools.lifecycle.cie.OpssSecurityConfiguration - Error while processing initializeSubsystem. Exception oracle.security.opss.tools.lifecycle.LifecycleException: JPS-06501: Keystore demoidentity in stripe system already exists
2021-04-24 14:39:47,203 SEVERE [19] com.oracle.cie.domain.progress.AbstractProgressGenerator - Error occurred in phase {OPSS Processing} execution.
java.lang.IllegalStateException: SecurityContext:
Domain Name: base_domain
JDBC URL: opss-audit-DBDS:jdbc:oracle:thin:@//oimdb:1521/orclpdb1.localdomain
JDBC URL: opss-data-source:jdbc:oracle:thin:@//oimdb:1521/orclpdb1.localdomain
JNDI Name: opss-audit-DBDS:jdbc/AuditAppendDataSource
JNDI Name: opss-data-source:jdbc/OpssDataSource
Driver Name: opss-audit-DBDS:oracle.jdbc.OracleDriver
Driver Name: opss-data-source:oracle.jdbc.OracleDriver
Persistence Type: DATABASE
Platform: WLS
Scratch Dir: scratch
Reconfig Domain: false
Shared Secret Store: null
Extension: true
DisableManagementOperations: falseJDBC Properties:
user:DEV_IAU_APPEND
username:DEV_IAU_APPENDJDBC Properties:
user:DEV_OPSS
username:DEV_OPSS
RCU ran successfully and created schemas for OIM and SOAINFRA under prefix DEV.
Please guide how to troubleshoot this further...
Thanks,
Melinda

Resolved via MOS Note with similar error
"WARNING [83] oracle.security.opss.tools.lifecycle.OpssDomainConfigImpl - The schema DEV_OPSS is already in use for security store(s") While Creating an ODSI 12c Domain (Doc ID 1936588.1)


Group 11: Stage1 Report for assignment 2

Review from Group 8:

Getting the toy problem to work on the Phis is very nice and we will be looking forward to the the shallow water simulation running on the Phis.

AVX instructions seem to provide good speedup, but some plots showing this speedup would help.

In the OpenMP timings, what is the difference between 'iters' and 'fn_iters'? Also, noting the grid size in each experiment would be helpful to compare to the baseline of the original version.

OpenMP speedup plots that plot the speedup against the number of threads can give you a good thread number size to find the performant sweet spot that balances parallelism and thread overhead.

Profiling is only done for the serial version. Profiling the parallel code can give a good indication of load imbalance (spin time for OpenMP)

More in-depth analysis of vectorization may be insightful.

From Team 7:

Strength :
We liked your simple examples to test OpenMP.
It is nice to see that OpenMP shows great speedup in your examples.

Things to be improve :
You might try with different "nx".
It is better to have some graphs or plots to show your performance improvement against baseline.
We also think about domain decomposition for the next step, which is good plan.


Backport the creativePlayersLoadChunks rule

This PR adds the creativePlayersLoadChunks rule from newer Carpet versions. I was able to backport it as far as 1.9.
In 1.8.9- it's a bit more difficult and would require many changes to ChunkMap.

Nevermind, it works incorrectly. It only prevents chunk generation and not the loading. So, some things still need to be changed

Now it actually prevents chunk loading, with the only exception being the chunk player is in(it probably gets constantly loaded somewhere in player ticking). It's theoretically possible to port to 1.8-, but access wideners are required, and I'm not sure how to set them up in a multiversion project.
Also, in some cases, chunks are still getting loaded, like when changing the render distance or when a player is first added to a chunkmap, and I'm not sure if it's possible to fix it without MixinExtras

Nice ty!
Will check it properly, i've had some issues with validators interacting with the "getWorlds()" thing... iirc carpet starts before that array gets initialized and i kept getting null pointer exceptions, at least on 1.12.2- dedicated server.
If that happens we might need to modify when carpet gets initialized.
Will tell you in a couple hours!

I don't see Validator.validate being called anywhere other than ParsedRule.set, which is only from user input. So I'm not sure how that could have happened.
Also, I tried porting it to 1.8, and it kind of works, but not how it was supposed to. In pre 1.9 any getChunk() call would result in a chunk being generated. In 1.9, however, this method was split into ChunkSource.getLoadedChunk(), ChunkSource.getGeneratedChunk() and ChunkSource.getChunk().
If you actually stop chunks from being generated in ChunkMap, they would still be generated somewhere else via random getChunk() calls. It's not really fixable, so I don't think there's a reason to port this rule over to 1.8-.
I was also investigating what could cause chunk that player is in to load. Apparently, there are a lot of getBlockState() calls in entity ticking logic. So either try to suppress them all or just leave it as a feature and maybe add it to ChunkMap for proper synchronization to the client


After Close the fetch and start again dowloading the same file not started download

I started multiple download and it is working successfully but when I kill my app I close the Fetch instance at that time some files was not completely downloaded. after some time I again start the app and again put these file for download it added successfully in fetch but actually files was not downloading.

@kambrish
Before enqueuing Requests to Fetch, you can first check if the file was already downloaded.
    List<Integer> requestIdLists = new ArrayList<>();
        requestIdLists.add(request.getId());
        fetch.getDownloads(requestIdLists, new Func<List<Download>>() {
            @Override
            public void call(@NotNull List<Download> result) {
                //check if download exists and status is completed.

                //enqueue new requests only
                fetch.enqueue(newRequests);
            }
        }).

If not, you can enqueue the new request but be sure to set the EnqueueAction torequest.setEnqueueAction(EnqueueAction.REPLACE_EXISTING); This will force fetch to clear the old request and to download the file again. See EnqueueAction Java docs for more information.


Error when trying to build bundle

I'm submitting a bug report

Aurelia Skeleton Version
skeleton-typescript-webpack

Please tell us about your environment:

Operating System:
Windows 10

Node Version:
7.6.0

NPM Version:
4.3.0

JSPM OR Webpack AND Version
webpack 2.1.0-beta.27

Language:
TypeScript

Current behavior:
npm ERR!     npm owner ls aurelia-skeleton-navigation-webpack
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\OSME\AppData\Roaming\npm-cache_logs\2017-02-28T09_21_08_230Z-debug.log
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\OSME\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "build:prod"
npm ERR! node v7.6.0
npm ERR! npm  v4.3.0
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>build:prod: cross-env NODE_ENV=production npm run webpack -- --progress --profile
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:prod script 'cross-env NODE_ENV=production npm run webpack -- --progress --profile'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the aurelia-skeleton-navigation-webpack package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cross-env NODE_ENV=production npm run webpack -- --progress --profile
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs aurelia-skeleton-navigation-webpack
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls aurelia-skeleton-navigation-webpack
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\OSME\AppData\Roaming\npm-cache_logs\2017-02-28T09_21_08_439Z-debug.log
Expected/desired behavior:

What is the expected behavior?
To successfully run the command "npm run build:prod"

Remove the hat (^) in
"@types/whatwg-fetch": "^0.0.32"  -->  "@types/whatwg-fetch": "0.0.32"
and
"typescript": "^2.1"  -->  "typescript": "2.1"

Delete node_modules folder

npm install

npm run build / npm run build:prod

That solved my problem

Should be fixed by https://github.com/aurelia/skeleton-navigation/pull/714


Invalid "main" entry in package.json?

"main" in package.json seems to point to lib/tiny-cookie.js, but there is no such file. Is there some reasoning behind this? To get the library to work with browserify, I added the following to my package.json:
  "browser": {
    "tiny-cookie": "tiny-cookie/dist/tiny-cookie.js"
  },

Sorry for this fault. It has beed fixed https://github.com/Alex1990/tiny-cookie/commit/676c9f976e804cb276d4f06b8a261a1b8429e9b1.

No worries, thank you!

Will you be releasing the fix soon? :)

@mogelbrod  it has been released in v2.0.1

@Alex1990: I must've been blind when checking the releases tab - my bad! Thanks for the quick reply and a great library!


Bugfix. NPE in indentation rule(#555)

This PR fixes NPE in Indentation Rule
This pull request closes #555

Guess fix for apply in this case is not right. See Example4Expected.kt. Should we open an issue on it? @petertrr


fix: SDA-1857 for us keyboard we should also zoom in for command and =

https://perzoinc.atlassian.net/browse/sda-1857 Shortcuts: Zoom in hot keys not functional (Mac only)
Add so US keyboard can zoom in with "Command" and "="

@johankwarnmarksymphony We can use this solution instead of writing custom code.
There's an open issue in Electron for this issue @KiranNiranjan , check the link above.

Better solution will come from @KiranNiranjan


Segmentation doesn't go as high as C1 disc label

Description
Using the contrast-agnostic model on T1w data, in 2 cases out of 267 (data-multi-subject), the segmentation did not go as high as the  discs label 1 (in hte derivatives), here is an example of subject sub-stanford05

Here is the error generated :
--
Spinal Cord Toolbox (git-master-a866fc666681eca5e7e075b2f6174be0d670f6dd)

sct_label_vertebrae -i sub-stanford05_space-other_T1w.nii.gz -s sub-stanford05_space-other_T1w_seg.nii.gz -c t1 -discfile sub-stanford05_space-other_T1w_label-discs_dlabel.nii.gz
--

Creating temporary folder (/tmp/sct_2024-09-03_09-13-38_label-vertebrae_4sp6e_s4)

Copying input data to tmp folder...

Straighten spinal cord...
Creating temporary folder (/tmp/sct_2024-09-03_09-13-43_straighten-spinalcord_9guvk2ts)
Copy files to tmp folder...
Fitting centerline using B-spline approximation
Error on approximation = 5.63 mm
Error on approximation = 0.24 mm
Error on approximation = 0.43 mm
Error on approximation = 0.22 mm
Error on approximation = 0.06 mm
Error on approximation = 0.04 mm
Error on approximation = 0.03 mm
Error on approximation = 0.03 mm
Create the straight space and the safe zone
Length of spinal cord:<PHONE_NUMBER>0714548
Size of spinal cord in z direction:<PHONE_NUMBER>9594262
Ratio length/size: 1.0641247445941686
Safe zone boundaries (curved space): [-157.96712229534836, 19.119768000594263]
Safe zone boundaries (straight space): [-163.64494810094982, 24.797593806195707]
Pad input volume to account for spinal cord length...
Time to generate centerline: 29.0 ms
Image header specifies datatype 'float32', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Warping field generated: tmp.curve2straight.nii.gz
Image header specifies datatype 'float32', but array is of type 'float64'. Header metadata will be overwritten to use 'float64'.
Warping field generated: tmp.straight2curve.nii.gz
Apply transformation to input image...
/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i data.nii -o tmp.anat_rigid_warp.nii.gz -t tmp.curve2straight.nii.gz -r tmp.centerline_pad_crop.nii.gz -n 'BSpline[3]' # in /tmp/sct_2024-09-03_09-13-43_straighten-spinalcord_9guvk2ts
Generate output files...
mv /tmp/sct_2024-09-03_09-13-43_straighten-spinalcord_9guvk2ts/tmp.curve2straight.nii.gz ./warp_curve2straight.nii.gz
File created: ./warp_curve2straight.nii.gz
mv /tmp/sct_2024-09-03_09-13-43_straighten-spinalcord_9guvk2ts/tmp.straight2curve.nii.gz ./warp_straight2curve.nii.gz
File created: ./warp_straight2curve.nii.gz
cp /tmp/sct_2024-09-03_09-13-43_straighten-spinalcord_9guvk2ts/tmp.anat_rigid_warp.nii.gz ./straight_ref.nii.gz
File created: ./data_straight.nii
Remove temporary files...
rm -rf /tmp/sct_2024-09-03_09-13-43_straighten-spinalcord_9guvk2ts

Resample to 0.5mm isotropic...
load data...

Apply straightening to segmentation...
/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i segmentation.nii -o segmentation_straight.nii -t warp_curve2straight.nii.gz -r data_straightr.nii -n Linear # in /tmp/sct_2024-09-03_09-13-38_label-vertebrae_4sp6e_s4
File /tmp/sct_2024-09-03_09-13-38_label-vertebrae_4sp6e_s4/segmentation_straight.nii already exists. Will overwrite it.

Apply straightening to disc labels...

Dilate labels before warping...
Creating temporary folder (/tmp/sct_2024-09-03_09-15-18_apply-transfo-3d-label_jd6o8xxa)
/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/bin/isct_antsApplyTransforms -d 3 -i /tmp/sct_2024-09-03_09-15-18_apply-transfo-3d-label_jd6o8xxa/dilated_data.nii -o labeldisc_straight.nii.gz -t warp_curve2straight.nii.gz -r data_straightr.nii -n NearestNeighbor # in /tmp/sct_2024-09-03_09-13-38_label-vertebrae_4sp6e_s4

Take the center of mass of each registered dilated labels...
File labeldisc_straight.nii.gz already exists. Will overwrite it.
During disc labeling, center of mass calculation failed due to discontinuities in segmented spinal cord; please check the quality of your segmentation. Using interpolated centerline as a fallback.
Traceback (most recent call last):
  File "/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/spinalcordtoolbox/scripts/sct_label_vertebrae.py", line 501, in <module>
    main(sys.argv[1:])
  File "/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/spinalcordtoolbox/scripts/sct_label_vertebrae.py", line 359, in main
    label_vert('segmentation_straight.nii', 'labeldisc_straight.nii.gz')
  File "/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/spinalcordtoolbox/vertebrae/core.py", line 42, in label_vert
    label_discs(fname_seg, discs)
  File "/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/spinalcordtoolbox/vertebrae/core.py", line 514, in label_discs
    cx, cy = [int(x) for x in np.round(center_of_mass(slices)).tolist()]
  File "/home/GRAMES.POLYMTL.CA/sebeda/spinalcordtoolbox/spinalcordtoolbox/vertebrae/core.py", line 261, in center_of_mass
    raise EmptyArrayError("Center of mass can't be calculated on empty arrays.")
spinalcordtoolbox.types.EmptyArrayError: Center of mass can't be calculated on empty arrays

Removing this label solved the problem.
Maybe we should consider how we can make the segmentation go higher?

Maybe we should consider how we can make the segmentation go higher?

In some situations this was indeed a problem. Making the segmentation go higher would however require quite a bit of work, I think (ie: revisit ALL our ground truth and re-train a model). What do you think @naga-karthik ?

@sandrinebedard as discussed:

move issue to SCT
change title to refer to an issue with sct_label_vertebrae (instead of an issue with the segmentation)

Closing since now openned in : https://github.com/spinalcordtoolbox/spinalcordtoolbox/issues/4627


Remount rebased

@CodiumAI-Agent /describe

Title
Remount rebased

PR Type
Enhancement, Bug fix

Description

Refactored USB playback handling by introducing a new MountManager to manage mounting and unmounting operations.
Added new configuration options for MPD subfolders and mount configurations.
Implemented MPD-specific and symlink-based mount handling logic.
Removed legacy mount point handling and replaced it with a thread-safe cache.
Enhanced MPD operations with methods for mounting, unmounting, and clearing mounts.
Improved error handling and logging across multiple modules.

Changes walkthrough 📝
Relevant filesEnhancement10 files

usb.goRefactor USB playback to use MountManager

cmd/usb.go
Introduced a new MountManager for USB playback handling.  Replaced direct mount point handling with MountManager methods.  Improved error handling for USB playback operations.

+12/-7

config.goAdd MPD subfolder and mount configuration options

config/config.go
Added new configuration options for MPD subfolders and mount configuration.  Updated initialization logic to include new configuration defaults.  Enhanced logging for configuration setup.

+18/-5

cache.goImplement thread-safe mount point cache

hwcontrol/mounts/cache.go
Added a thread-safe cache implementation for mount points.  Introduced methods for adding, removing, and retrieving cached mount points.

+38/-0

mountpoints.goAdd MountManager for USB device handling

hwcontrol/mounts/mountpoints.go
Added MountManager for managing USB mount points.  Implemented methods for mounting, unmounting, and validating devices.  Integrated retry logic for mount point discovery.

+196/-0

mpd.goAdd MPD-specific mount handling

hwcontrol/mounts/mpd.go
Added MPD-specific mount handling logic.  Implemented methods for mounting and unmounting devices via MPD.  Introduced functionality to clear MPD mounts.

+58/-0

symlinks.goAdd symlink-based mount handling

hwcontrol/mounts/symlinks.go
Added symlink-based mount handling logic.  Implemented methods for creating and clearing symlinks.  Introduced cache population for symlinks.

+159/-0

utils.goAdd utility functions for mount handling

hwcontrol/mounts/utils.go
Added utility functions for reading mount files and generating target paths.  Introduced random string generation for unique target paths.

+55/-0

usb.goRefactor USB handling logic

hwcontrol/usb.go
Replaced regex-based USB name validation with USBNameRegex from mounts.  Simplified USB pre-check logic.

+3/-4

operations.goAdd MPD mount operations and refactor playback

mpdplayer/operations.go
Added methods for mounting, unmounting, and clearing MPD mounts.  Refactored track count retrieval to use a utility function.  Introduced neighbor discovery for MPD mounts.

+106/-2

utils.goAdd utility for track count retrieval

mpdplayer/utils.go
Added a utility function for retrieving track count.  Delegated track count logic to shared utilities.

+9/-0

Miscellaneous1 files

disc.goCleanup and simplify disc handling logic

hwcontrol/disc.go
Removed unused GetTrackCount function.  Simplified disc-related functionality.

+0/-6

Cleanup1 files

mountpoints.goRemove legacy mount point handling

hwcontrol/mountpoints.go
Removed the old mount point handling logic.  Deprecated the MountPointCache implementation.

+0/-148

💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

@CodiumAI-Agent /review

PR Reviewer Guide 🔍
Here are some key observations to aid the review process:

⏱ Estimated effort to review: 5 🔵🔵🔵🔵🔵
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review
Error HandlingThe new MountManager initialization in newUSBHandlers does not provide a robust fallback mechanism if the MountManager fails to initialize. This could lead to unexpected behavior or incomplete USB playback functionality.
Code ComplexityThe MountManager implementation introduces a significant amount of complexity, with multiple interdependent methods and error handling paths. This could make the code harder to maintain and debug.
Potential Symlink IssuesThe symlink creation and validation logic may not handle edge cases such as existing symlinks pointing to incorrect locations or permission issues during symlink creation.
MPD Mount OperationsThe new MPD mount and unmount operations rely heavily on external MPD commands. Any failure in these commands could leave the system in an inconsistent state, and the error handling does not seem to address rollback scenarios.
Thread SafetyThe protectedCache implementation uses a sync.RWMutex for thread safety, but there is no explicit testing or validation to ensure that concurrent access scenarios are handled correctly.

Persistent review updated to latest commit https://github.com/b0bbywan/go-mpd-discplayer/commit/c4ff8a53170d07db79fbda850d4287951151bbe6


createNumberMask import

Hi Guys
Firstly, thank you for a great project.  I have successfully installed text-mask in ionic 2 and the text mask is working great.  I am however struggling to get the createNumberMask to work.  I am new to angular 2 and ionic 2 so I suspect I am doing something wrong.  I have installed the addon (npm i text-mask-addons --save).
The questions I have are :

do i insert the import statement  (import createNumberMask from 'text-mask-addons/dist/createNumberMask') into the root appmodule.ts ?

do I then copy the code in the example (i.e. the source code of createNumberMask) into my component?

Finally, how do I them finally call the code in the html? is is just <ion-input  [textMask]="{mask: numberMask}" [(ngModel)]="myModel" type="text" [ngModelOptions]="{standalone:  true}">?

if answering this is to much of a mission, please direct me to a working angular 2 example with createNumberMask so that I can correct the source code.

Apologies for being a nuisance.
regards #

I don't use Angular so I may be no help, but  I'll try.
createNumberMask returns a mask function.  After importing the createNumberMask you need to run that function to initialize the numberMask
// this example is not specific to any framework
import createNumberMask from 'text-mask-addons/dist/createNumberMask'

var numberMask = createNumberMask(/* options */)
// now use `numberMask` for the mask property of the MaskedInput.

I don't know how to help more specifically with Angular, but if you have any other questions fire away

Thank you
I will check it out. If I get it working in Ionic2, I will update the thread.
Regards
From: Loz Jackson<EMAIL_ADDRESS>Sent: 04 May 2017 06:59 PM
To: text-mask/text-mask<EMAIL_ADDRESS>Cc: GeometricProgress<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [text-mask/text-mask] createNumberMask import (#522)
I don't use Angular so I may be no help, but I'll try.
createNumberMask returns a mask function. After importing the createNumberMask you need to run that function to initialize the numberMask
// this example is not specific to any framework
import createNumberMask from 'text-mask-addons/dist/createNumberMask'
var numberMask = createNumberMask(/* options */)
// now use numberMask for the mask property of the MaskedInput.
I don't know how to help more specifically with Angular, but if you have any other questions fire away
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/text-mask/text-mask/issues/522#issuecomment-299246198 , or mute the thread https://github.com/notifications/unsubscribe-auth/AbClz9vCroqpoqfA0ihQstduzgsaj1wRks5r2gO3gaJpZM4NPjxA .  https://github.com/notifications/beacon/AbClz8j37CNkJc6n7E-c3MH3Ykn8SnaRks5r2gO3gaJpZM4NPjxA.gif

Hey mate, It's pretty easy to import that addon into an Angular project. What  I did was import into my component this:
import createNumberMask from 'text-mask-addons/dist/createNumberMask';
then I create a variable calld numberMask like this into my component:
    private numberMask = createNumberMask({         thousandsSeparatorSymbol: '.',         allowDecimal: true,         decimalSymbol: ','     })
finally into my component template:
<input [textMask]="{mask: numberMask}" [type]="type">
and that's it, it works sweet for me.  Much appreciated – thank you.
Regards
Mark
From: Cristian Danilo Gutiérrez<EMAIL_ADDRESS>Sent: 10 May 2017 07:37 PM
To: text-mask/text-mask<EMAIL_ADDRESS>Cc: GeometricProgress<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [text-mask/text-mask] createNumberMask import (#522)
Hey mate, It's pretty easy to import that addon into an Angular project. What I did was import into my component this:
import createNumberMask from 'text-mask-addons/dist/createNumberMask';
then I create a variable calld numberMask like this into my component:
private numberMask = createNumberMask({ thousandsSeparatorSymbol: '.', allowDecimal: true, decimalSymbol: ',' })
finally into my component template:
<input [textMask]="{mask: numberMask}" [type]="type">
and that's it, it works sweet for me. Hope I had Helped you out;)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/text-mask/text-mask/issues/522#issuecomment-300557757 , or mute the thread https://github.com/notifications/unsubscribe-auth/AbClz_EuloujJxyA-LcfA3F3AurWh9Nlks5r4fWzgaJpZM4NPjxA .  https://github.com/notifications/beacon/AbClz_64z3iCf73mkZZIJbu85twN1C6nks5r4fWzgaJpZM4NPjxA.gif


EditText in content, keyboeard overlaying layout, params.softInputMode not affect

if i use edittext in content layout it is not adjusting when keyboard open, which is not usable at all in a chat head particulary. I tried to edit WindowViewController with
params.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
with and without FLAG_NOT_FOCUSABLE  ..... with TYPE_PHONE and TYPE_SYSTEM_ALERT
on addView and showView
and in the content custom view
but nothing worked
can you please suggest what should i do
and thanks

Sorry my fault, I thought I added compile project(':hover') in my gradle but it turn out that somehow i ctrl+z and i was still using the online lib.

Hi you,
I have a problem like that. Keyboard opens but layout not move. Please tell me how did you fix it?


checksum/fixity confusion

Our Sufia 7.3 app appears to be showing an MD5 checksum in admin fileset show page.
Not sure yet exactly where this comes from, not sure if a newly generated app would do the same.
Fedora -- at least by default -- uses SHA1 for fixity checking and 'modeshape' storage on disk. I don't believe we've changed our Fedora defaults.
It would make more sense for the admin checksum to match the checksum fedora is using for it's thing. Avoids developer confusion and confusion over fixity checking and developing restoration processes.
@jcoyne suggested this might be good for a tech call; I'm not participating in tech calls at the moment, so I'll leave that to @jcoyne or @hackmastera .

Copied from Slack:
@mjgiarlo :speech_balloon:

I'm guessing the MD5 checksum is the one generated by FITS. the long story short version: FITS gives you a bunch of information about your files that you might care about for curation or preservation of those files over time. we index that information and make it searchable. you could use it, for instance, to find soon-to-be-obsolete file formats, and remediate/update them.
One of the bits of information provided by FITS is the MD5 checksum before it went into Fedora, so that when you get it out of Fedora, you could verify Fedora itself didn't muck up your file.
Perhaps the characterization metadata UX could be better, to make clearer where that data comes from and what its intent is? A little question mark/info badge with a tooltip could work there to explain what's what.

Thoughts from @projecthydra-labs/hyrax-ui-ux-advisors pls?

it would be awfully convenient to me if the “characterization metadata” at least also had the fedora fixity checksum, even if both are necessary.
If hte point is showing checksum pre-fedora-ingestion as distinct from fedora checksum, I think it would be even BETTER if consistent checksum algorithm were used in both places. Then it would be super obvious if the checksum had changed in fedora ingest (a corruption there).
Right now... I guess you've got to manually calculate md5 of the thing in fedora, and make sure it still matches the recorded pre-ingest md5 checksum?

There's also some information on the filesets show page described as "Audit Status".    I assume that once audits are turned on this will be an audit of the Fedora, not the FITS, checksum?  If so another reason to report the Fedora checksum on this page, as well as the FITS checksum if that gives us information about ingest.
I agree with @jrochkind that the algorithm should be the same, so that if the checksum reported by FITS does not match the checksum reported by Fedora on ingest, we know.
From http://fedorarepository.org/fedora-and-digital-preservation:

Fixity2
A range of digest algorithms (MD5, SHA-256, etc.) can be configured for calculating, storing, and recalculating checksums
A default algorithm can be configured
An algorithm can be specified on resource creation
An algorithm can be changed after resource creation
A SHA-1 checksum is calculated and stored on file ingest
If a SHA-1 checksum is provided with an ingest request, it will be compared with the calculated value on ingest. A mismatch will cancel the ingest
The SHA-1 checksum can be recalculated and compared with the stored value at any time
Audit
Preservation metadata, modeled using the RDF-based PREMIS and PROV-O ontologies, may optionally be generated by repository events and stored in the repository; these are also accessible via external triplestores for enhanced querying.

I'm interested in not just resolving the confusion but making sure we are using the information that the checksums tell us.  It would be helpful to:

Create configuration instructions for running Audit and confirming that the results of an audit are displayed on the fileset show page.
Offer reporting options that allow repository administrators to comprehensively find mismatched checksums upon ingest and to discover checksums that an Audit flags as not passing.

Looks like Fedora provides the underpinning but we could push this further in our GUI for admins?

@newmanld I've been trying to figure out what the built-in audit service stuff actually does, i should write that up and share it.
But yes, it's the fedora checksum that the fedora fixity service (which the built in stuff uses) is checking.
The built-in stuff is not really suitable for our needs in several ways, I'm going to try to make PR's if I can to improve it, but it's a bunch of different classes factored differnetly than I would.

Brief response: in Hyrax master (for 2.x), we've renamed all the "audit" stuff to "fixity" to make its intent clearer.

Not directly related to this particular issue except as background, my write-up on what I discovered the existing fixity checking service code does, vs what we at least at CHF would need or prefer.
https://bibwild.wordpress.com/2017/05/01/exploring-and-planning-with-sufiahyraxfedora-fixity-validation/

@jrochkind - this is solid work in the write-up you shared.  I need to find time to re-read but think I agree with most if not all of your questions and points.  Bigger context than this original issue about which checksum to display - but worth some development.

Is this fixed by: https://github.com/samvera/hyrax/issues/867#issuecomment-298361442
or do we have more work here?


ImportError: cannot import name Servo

code:
from tkinter import *
from gpiozero import Servo

error:
sudo python3 hit.py
Traceback (most recent call last):
  File "hit.py", line 2, in <module>
    from gpiozero import Servo
ImportError: cannot import name Servo

--
afterwards tried importing Motor, LED classes,  - they work fine.
Servo , AngularServo - do not.

Perhaps you have an old version of gpiozero? The latest version is 1.3.2 and Servo only landed in 1.3.0. You can check what version you have installed by following the steps documented here: http://gpiozero.readthedocs.io/en/stable/notes.html#how-can-i-tell-what-version-of-gpiozero-i-have-installed


Merge commons master to browse-commons-via-app branch

Description
I have updated my local master from commons master and merged it to a new branch taken out from browse-commons-via-app branch.
It will update the browse-commons-via-app branch with the new code in master in main repository.

Strange, Travis says:
commons/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java:11: error: package android.support.test.rule does not exist
import android.support.test.rule.ActivityTestRule;
                                ^
/home/travis/build/commons-app/apps-android-commons/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java:30: error: cannot find symbol
    public ActivityTestRule<SettingsActivity> activityRule =
           ^
  symbol:   class ActivityTestRule
  location: class SettingsActivityTest
/home/travis/build/commons-app/apps-android-commons/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java:31: error: cannot find symbol
            new ActivityTestRule<SettingsActivity>(SettingsActivity.class,
                ^
  symbol:   class ActivityTestRule
  location: class SettingsActivityTest
3 errors

Umm @nicolas-raoul I am not sure what is the issue. I think merging should be correct.


feat: export material-ui localization files

closes #3055

Currently, I have to install @mui/material manually to be able to use its translation files. It's not ideal. Especially because you have i18n provider, I assume this library is globally adopted so exporting locale files is essential.

[x] Corresponding issues are created/updated or not needed
[x] Docs are updated/provided or not needed
[ ] Examples are updated/provided or not needed
[ ] TypeScript definitions are updated/provided or not needed
[x] Tests are updated/provided or not needed
[ ] Changesets are provided or not needed

Hey @ahhshm ,
Could you add a changeset? https://refine.dev/docs/contributing/#changeset 💥

Done!


equals with long fail

When I check this code :
long l = 12345678;
Check.That(l).Equals(12345678);
Fail with error "The checked value is different from the expected one."

sorry bad project


Associated type is considered unused

I would expect something like this to work, but it fails to compile with:
trait SquareMat2<M: SquareMat<N, V>> {
    type N;
    type V;
}

error: use of undeclared type name `N`
...
error: use of undeclared type name `V`

The syntax for accessing these two associated types is actually to use Self::N and Self::V, but after that it should work out ok:
trait SquareMat<A, B> {}

trait SquareMat2<M: SquareMat<Self::N, Self::V>> {
    type N;
    type V;
}


Disable CSS transitions in tests

CSS transitions often break tests. For example, a popup can take some
time to be fully shown if there is a transition time applied to its
show effect. The test will see that the popup is present and will try to
use it, but the element is ready yet.
This disables the CSS transitions in the test environment and removes
timing issues related to CSS.

This makes sense to me, but what do you think about putting this in a partial?

Is there a possibility that a test would want to confirm that those transition properties are present that might fail because of this change?

This has definitely bitten me before! :+1:

:+1:

Extracted a file for CSS overrides.

I like the partial. LGTM.

@gylaz :ship:!


Eyepicker + TextViewSceneObjects

I'm currently trying to get the following to work:
Two to four buttons (TextViewSceneObjects) with the one you look at changing color. Later I also want to make them clickable to start different things depending on which one got chosen.
Here's my code (half taken from the "gvrpickandmove" sample):
public class PickHandler implements IPickEvents {
    public void onEnter(GVRSceneObject sceneObj, GVRPicker.GVRPickedObject pickInfo) {
        if(sceneObj instanceof GVRTextViewSceneObject) {
            ((GVRTextViewSceneObject) sceneObj).setBackgroundColor(Color.GREEN);
            picked = sceneObj;
        }
    }
    public void onExit(GVRSceneObject sceneObj) {
        if(sceneObj instanceof GVRTextViewSceneObject) {
            ((GVRTextViewSceneObject) sceneObj).setBackgroundColor(Color.BLACK);
        }
    }
    public void onNoPick(GVRPicker picker) {
        picked = null;
    }
    public void onPick(GVRPicker picker) { }
    public void onInside(GVRSceneObject sceneObj, GVRPicker.GVRPickedObject pickInfo) { }
}

@Override
public void onInit(GVRContext gvrContext) {
    .....

    GVRSceneObject headTracker = new GVRSceneObject(gvrContext,
        new FutureWrapper<GVRMesh>(gvrContext.createQuad(0.1f, 0.1f)),
        gvrContext.loadFutureTexture(new GVRAndroidResource(
            gvrc, R.drawable.crosshair)));
    headTracker.getTransform().setPosition(0.0f, 0.0f, -1.0f);
    headTracker.getRenderData().setDepthTest(false);
    headTracker.getRenderData().setRenderingOrder(100000);
    scene.getMainCameraRig().addChildObject(headTracker);
    headTracker.attachComponent(new GVRPicker(gvrContext, scene));
    pickHandler = new PickHandler();
    scene.getEventReceiver().addListener(pickHandler);

    scene.getMainCameraRig().getLeftCamera().setBackgroundColor(1.0f, 0.0f, 0.0f, 1.0f);
    scene.getMainCameraRig().getRightCamera().setBackgroundColor(1.0f, 0.0f, 0.0f, 1.0f);
    GVRTextViewSceneObject b1 = new GVRTextViewSceneObject(gvrContext, 2f, 0.5f, "test 1");
    GVRTextViewSceneObject b2 = new GVRTextViewSceneObject(gvrContext, 2f, 0.5f, "test 2");
    b1.getTransform().setPosition(0.0f, 0.5f, -2.0f);
    b1.setGravity(Gravity.CENTER | Gravity.CENTER);
    b1.setTextSize(5);
    b1.setBackgroundColor(Color.BLACK);
    scene.addSceneObject(b1);
    buttons.add(b1);
    b1.attachComponent(new GVRMeshCollider(gvrc, true));

    b2.getTransform().setPosition(0.0f, -0.5f, -2.0f);
    b2.setGravity(Gravity.CENTER | Gravity.CENTER);
    b2.setTextSize(5);
    b2.setBackgroundColor(Color.BLACK);
    scene.addSceneObject(b2);
    buttons.add(b2);
    b2.attachComponent(new GVRMeshCollider(gvrc, true));
}

The problem is: Depending on what I attach, changing the color doesn't work properly, it simply ignores the outer half of the background:
http://i.imgur.com/JQUyRyp.png
... or changes the color even though I don't even look at the button anymore:
http://i.imgur.com/89g6mLG.png
Plus, there's this weird black border outside of the green background.
What I've already tried:

b1.attachComponent(new GVRMeshCollider(gvrc, true)): The button is green and also stays green if I look at it but I get the two bugs mentioned above.
With the second parameter set to false, the background doesn't stay green when the pointer is inside. If I additionally use "onInside", the text isn't seen as inside, so looking at it will turn the background black again, plus there's only a small area around the text that will make the background change its color.
b1.attachComponent(new GVRSphereCollider(gvrc)): Same problems as in 1..
b1.attachComponent(new GVRMeshCollider(gvrc, b1.getRenderData().getMesh())): Same problems as in 2..

Is there a specific way I have to do it, so it sees the whole background as "inside"?

Could you try
mainScene.getMainCameraRig().getOwnerObject().attachComponent(new GVRPicker(gvrContext, scene));

instead of
headTracker.attachComponent(new GVRPicker(gvrContext, scene));

This is a bug which I have been able to replicate with the latest master. I will look at why picking seems to not work with text view scene objects.

Pull request #812 should fix this bug. Please give it a try and see if it fixes your program.

@rahul27 Thank you, I tested all four ways with your suggestion and it looks like "new GVRMeshCollider(gvrc, false)" is the way to go with it. From the left it triggers the color change a little bit too early and from the right a little bit too late but I yet have to test it with two buttons next to each other and if it doesn't get worse, I'd say that the small offset is neglectable with a completely black background (only changed it to red for testing).
As with the other ways:

made the detection area bigger, so the black background completely triggers the change but it looks like the area is a circle and there's still the same problem like in the second screenshot.
Same as 2., so okay.
Same as 1.

Is it important that I detach the picker and delete the tracker again manually? I keep getting this error when I try to clear the scene through "scene.removeAllSceneObjects()" (which is line 790) before adding a TextViewSceneObject (in my case an error message) after pressing the picked button:
08-17 15:39:32.739: E/MessageQueue-JNI(8826): java.lang.UnsupportedOperationException: GVRSceneObject cannot have multiple parents
08-17 15:39:32.739: E/MessageQueue-JNI(8826): 	at org.gearvrf.GVRSceneObject.addChildObject(GVRSceneObject.java:754)
08-17 15:39:32.739: E/MessageQueue-JNI(8826): 	at org.gearvrf.GVRScene.addSceneObject(GVRScene.java:111)
08-17 15:39:32.739: E/MessageQueue-JNI(8826): 	at org.gearvrf.GVRScene.removeAllSceneObjects(GVRScene.java:135)
08-17 15:39:32.739: E/MessageQueue-JNI(8826): 	at com.xxxx.xxxx.MainScript.showText(MainScript.java:790)
Something else I just noticed:
The console says "The library 'framework.jar' contains native libraries that will not run on the device." when I run my app on the phone through Eclipse (don't know if it's a new message or if it's been there the whole time). Will that be a problem at some point or can I just ignore it?
@NolaDonato Thank you. Unfortunately I still haven't gotten Android Studio to work and import the project properly, so unless there are any huge changes, I'll just finish my app with Eclipse and only then migrate and get the newest version.

GVRMeshCollider(gvrc, false) will pick against the triangles in the mesh. It is a good way to go if you are using text views because it is the most precise way of picking and a text view is only two triangles so it is actually cheaper than testing against the bounding box.
GVRMeshCollider(gvrc, true) makes a bounding box around your mesh and picks against that. If you rotate your mesh it recomputes the rotated bounding box from the corners of the original so it is not a tight fit. If you have a complex mesh it is a lot faster.
GVRSphereCollider makes a sphere from the bounding box of your mesh and picks against that. You can supply a radius to make the sphere smaller. This is the fastest but least precise way of picking. I would not use it for buttons that are close. It will give you onEnter for both sometimes.
With pull request #812 I changed GVRPicker to pick from the viewpoint of the camera if you don't attach it to a scene object. Now you simply need to instantiate it to start picking:
GVRPicker myPicker = new GVRPicker(context, scene);
I will look into why removeAllSceneObjects crashes when using text views. This is a bug and it is not caused by anything your program did incorrectly.

Did you get the picker working in your application? The pull request is now checked in to the master branch.

Thanks for the explanation!
I didn't even manage to get an older version of my code from just before I switched to 3.0.1 to work with 3.0.1 again but I think I found the problem for that:
If I use "scene.removeAllSceneObjects()" on an "empty" scene (apparently there are always at least 5 scene objects in it, even directly after "scene = gvrContext.getNextMainScene()"), it causes the above error message to show. "if(!scene.getSceneObjects().isEmpty())" doesn't work in this case, I had to use "if(scene.getWholeSceneObjects().length>5)".
I also did a little bit more testing and yes, you're right, TextViews make "removeAllSceneObjects" throw that error message but it's not only that, even normal SceneObjects (in my case they were created with "GL_LINE_STRIP") cause the same problem - and "if(scene.getWholeSceneObjects().length>5)" doesn't help then of course.
I did get it to work with rahul27's suggestion but sorry, I haven't been able to test your change from the master branch because of the >3.0.1/Eclipse incompatibility yet.

Any news on a fix for the crashes?
Sorry if I seem a bit impatient, it's just that I can't really do/test anything until this problem is fixed and my app can properly clear the scene again.

I have tested GVRScene.clear() on an empty scene and it does not crash with the latest GearVRF. Here is my test:
GVRSceneObject sphere = new GVRSceneObject(ctx);
GVRTextViewSceneObject text = new GVRTextViewSceneObject(ctx, "Hello");
    text.getTransform().setPosition(-1, 0, -2);
    sphere.getTransform().setPosition(1, 0, -2);
    scene.addSceneObject(sphere);
    scene.addSceneObject(text);
    text.setName("text");
    sphere.setName("sphere");
    scene.bindShaders();
    scene.clear();

This test does not crash the current framework. I will need a specific sample that crashes for you to see if I can reproduce the problem here.

I see you're using "scene.clear()", should I use that or rather "scene.removeAllSceneObjects()" like I always have?
I always clear the scene before adding something new, just to be safe that there are no leftovers, so it's possible that an actually empty scene gets cleared and with "scene.getSceneObjects().isEmpty()" not working in my version, I can't really rely on "if(scene.getWholeSceneObjects().length>5)" in case there are any changes to that later.
So, I mean "empty scene" as in actually empty (without adding any objects), like:
GVRTextViewSceneObject text = new GVRTextViewSceneObject(ctx, "Hello");
scene.removeAllSceneObjects();
This only started crashing my app when I got 3.0.1, with the last version I had before that I've never had any problems.

The five objects in the scene are the root node and the camera group which has a left, right and center camera. These are needed for head tracking to work. GVRScene.clear() just calls GVRScene.removeAllSceneObjects() so I am not really doing anything different than you are.
The root node will only have one child if the scene is empty (the camera rig). This does not crash on the latest GearVRF when I run it.
    GVRTextViewSceneObject text = new GVRTextViewSceneObject(ctx, "Hello");
    scene.removeAllSceneObjects();

Ah, okay.
Oh, it looks like only 3.0.1 has this bug then, which really isn't good.
Is there any way to get a different version of 3.x.x that works properly (clearing and head tracking) but also still supports Eclipse?

@NolaDonato can you checkout 3.0.1 and see if you can apply your bugfix to it?  You may have to coordinate with @liaxim.  I'd like to 1) unblock @Nathipha  and 2) See what we can do to help @Nathipha  migrate to Android Studio.

Yes, it would be awesome if you could fix 3.0.1 for Eclipse because I'm giving up on Android Studio.
I managed to kind of get it to import my Eclipse project but in the end it gave me the "Gradle project sync failed. Basic functionality (e.g. editing, debugging) will not work properly." message and the folder structure was messed up too, so a complete fail on that part.
New try: With a new project and manually added my java files, res stuff and the changes of the old manifest. I then (like it says here: https://github.com/Samsung/GearVRf/releases/tag/v3.0.1) copied the "libvrapi.so" file to "\app\jniLibs" and "SystemUtils.jar" and "VrApi.jar" to "\app\libs" and added the latter two as libraries.
That's where the problems begin:
I got the newest version of the framework (so the zip file) and managed to add it as a module but adding it to the "Dependencies" tab (File - Project Structure) as a "Module Dependency" doesn't work. Or it does but it won't save it - same thing with the path of the NDK: I've put it in at least 5 times already but the next time I open those settings, the path is gone again.
And yes, I did clean/build the project (Build - Clean Project / Rebuild Project) right after adding every time but even that doesn't work:
Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:prepareDebugUnitTestDependencies, :app:mockableAndroidJar, :framework:generateDebugSources, :framework:generateDebugAndroidTestSources, :framework:prepareDebugUnitTestDependencies, :framework:mockableAndroidJar]
Warning:not copying Oculus files; OVR_MOBILE_SDK not found
Warning:relying on hard-coded paths and environment variables; OVR_MOBILE_SDK not found
:clean
:app:clean
:framework:cleanNative FAILED
Error:Execution failed for task ':framework:cleanNative'.
> A problem occurred starting process 'command 'ndk-build.cmd''
Information:BUILD FAILED

My "ovr_sdk_mobile" folder is still in the same spot it has always been in, same thing for the "Framework" folder and there is an environment variables for both the "ovr_sdk_mobile" and the NDK folder.

Instead of environment variables or relying on a fixed folder structure there is a better way. Modify gradle.properties (either the project's or the global one; global one recommended) to include:
ANDROID_NDK_HOME=<path-to-your-ndk>
OVR_MOBILE_SDK=<path-to-your-ovr-sdk>

Are you using Windows? Which Android Studio version?
The global gradle.properties should be under ~/.gradle/ on Linux and under the .gradle/ in user's directory in Windows.

Win 7 (64 bit) and 2.1.2 (I know, there's an update).
I added it in the "gradle.properties" in "wrapper\dists\gradle-2.10-all\samples\userguide\tutorial\properties" (there were three more: 1 in "samples\signing\maven" and 2 in "wrapper\dists\gradle-1.12-all" but my project uses 2.10 according to the folder in Android Studio) but still the same errors. Also no changes after including it in the "gradle-wrapper.properties" file in "G:\Dev\Android\workspace\myapp\gradle\wrapper".

I guess it would be best for you to just add these properties to the gradle.properties file under ./GVRf/Framework/. Should eliminate some confusion.

I think you can still build the current framework under Eclipse using the old projects. The extensions do not build under Eclipse because they contain assets and are built as aars - Eclipse doesn't support that.

@liaxim
I removed the framework in the module settings, deleted the folder in the project overview on the left, then added the paths to the "gradle.properties file under ./GVRf/Framework/" (I used the already existing lines in the file), re-imported it and added the dependency to my app but I still get the same error messages. Another build/cleaning and even "invalidate caches / restart" didn't help and the framework got deleted from the "dependencies" tab again.
Something else seems to be going on with Android Studio too. I'm also working on a small side-app for my main app and I sadly have to use Android Studio because there's no ADT versions for API > 21 for Eclipse. It took me over an hour to get the project to even build because of some weird "could not delete file" error messages and when I just now let it install the newest version (2.1.3), it gave me the same "Access Denied" for the "Delete" action **** again. It looks like Android Studio really wants to be "special" and needs admin access for everything (still didn't fix my problem with the damn thing unfortunately)...
@NolaDonato
Thank you so much, with your changes my app works again, even without "if(scene.getWholeSceneObjects().length>5)"! :)

@Nathipha
0. start from scratch

import the Framework project (GVRf/Framework/)
open settings.gradle (in the Android view's gradle scripts); add this

include ':myapp'
project(':myapp').projectDir=new File('full-path-to-your-apps-module')

If full-path-to-your-apps-module were to be some of our samples it would look like /home/some_user/GearVRf-Demos/gvr-eyepicking/app
3. open module settings of your app, go to the dependencies tab; add a module dependency to the framework; this should be it.

Thanks, I'll try it either later today or tomorrow.
Is it not necessary to add the oculussig in Android Studio (didn't find the "assets" folder in the new project) or is there a different folder for it?
I just found another bug that's most likely connected to the first one:
If I get every scene object with "scene.getWholeSceneObjects()", save it as an array and then later readd everything, it throws the same error message. Fortunately I can just do
"for(int i=scene.getWholeSceneObjects().length;i<objects.length;i++)"

and that'll work.

@Nathipha The oculus sig file needs to go your app's assets folder.

@liaxim
There's none in my Android Studio project, hm... Possible that it didn't even set up correctly then. I'll check again after following your steps.

The error message is because you are trying to add something to the scene that has already been added. In GearVRf a scene object cannot have multiple parents. If you get all the objects and then try to add them again it is correct in giving you this message. Here is how to add something that is already in the scene somewhere else:
GVRSceneObject parent = sceneObj.getParent(); // get parent of scene object
Parent.removeChildObject(sceneObj); // remove it from the scene
Scene.addSceneObject(sceneObj); // add it somewhere else

@liaxim
Okay, I created another new project, copied everything from my Eclipse one (java files, res stuff, manifest changes) and the extra files into it, then followed your steps.
There's something wrong with my Android Studio instance, even after the update and also if I start it as admin:
For the base project it keeps whining about "Buildtools 24.0.1 requires Java 1.8 or above.  Current JDK version is 1.7.", so I changed the JDK location for 1.8. (I currently use 1.7 for my environmental variable), saved the changes and at the end of the next build it whined about the exact same thing again and the settings reset themselves. Now it won't even keep the "SystemUtils.jar" and "VrApi.jar" as dependencies and it still doesn't save the framework (even with your changes to "settings.gradle ").
Building, cleaning or "invalidate caches / restart" doesn't change any of it.
Plus, it's still missing the "assets" folder, mabye because it's not building correctly, I don't know.
@NolaDonato
Ah, I see, that got changed with 3.0.1 then. Before that it just readded the object. Thanks.

Could you share the build log with us? What do you mean by "save the framework"?

@Nathipha I created a pre-release - https://github.com/Samsung/GearVRf/releases/tag/v3.0.2. This has the latest framework. Please update your application to depend on both .aars from the pre-release.

@Nathipha Where do we stand with this issue?

@liaxim Sorry, I didn't find the time for it lately.
Can I simply replace the files in the "Framework" folder or does Android Studio want special treatment before I can do that?

Please update your application to depend on both .aars from the pre-release.

So simply add them as dependencies - apart from the framework module and the two jar files - too?
My "gradle.properties" file now says (sorry, forgot to readd the OVR path):
android.useDeprecatedNdk=true
OVR_MOBILE_SDK="G:\\Dev\\GearVR\\ovr_sdk_mobile"
ANDROID_NDK_HOME="G:\\Dev\\AndroidNDK"

Gradle Console:
Executing tasks: [clean, :app:generateDebugSources, :app:compileDebugSources, :backend_oculus:generateDebugSources, :backend_oculus:compileDebugSources, :framework:generateDebugSources, :framework:compileDebugSources]

Configuration on demand is an incubating feature.
Incremental java compilation is an incubating feature.
copying oculus binaries

FAILURE: Build failed with an exception.

* Where:
Build file 'G:\Dev\Android\workspace\xxx\backend_oculus\build.gradle' line: 29

* What went wrong:
A problem occurred evaluating project ':backend_oculus'.
> Could not normalize path for file 'G:\Dev\Android\workspace\xxx\backend_oculus\"G:\Dev\GearVR\ovr_sdk_mobile"\VrApi\Libs\Android\VrApi.jar'.

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

BUILD FAILED

Total time: 0.775 secs

Can I replace the files in the "Framework" folder or does Android Studio want special treatment before I can do that?

Not sure which files you are referring to. Could you please be more specific?

So simply add them as dependencies - apart from the framework module and the two jar files - too?

In your app's build.gradle you will need something like this:
dependencies {
    compile(name: 'framework-debug', ext: 'aar')
    compile(name: 'backend-debug', ext: 'aar')
}

Edit 2: It builds a lot further now but there's still an error (Gradle Console):

Why don't you just add the tools:replace="android:icon" attribute? Like this:
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:icon">

Are you still having build problems or can I close this issue?

I'm still at the same point I was in September and haven't really had the time or patience to deal with AndroidStudio since then, partially because I was working on a different project. I'm back to working on my original app now and I know that at one point I do have to migrate the whole thing to AndroidStudio.
I don't mind opening a new issue just for the build problems and then link back to this thread, so you can either close this one and I'll open a new one once I need it or just leave it open and I'll use it again - I don't mind either way.

@Nathipha, go ahead and open a new one once you need it and we'll help you out at that point.

Okay, I will do that.
I have a quick last question regarding TextViewSceneObjects in combination with the EyePicker:
I know how to change the background color on entry or exit but is it also possible to give it a border ("padding" inside the object), e.g. white one for a black TextViewSceneObject on a black background? If there's no way to do it directly, I'll look at how to do it with a Drawable myself.

You can do this by putting two border objects as children positioned behind the text view scene object, one black and one white. Add a GVRSwitch component to the text view to allow you to select one of the children to display. Then set the switch index on entry and exit. This will allow you to change the border color when the object is selected.

Ah, a GVRSwitch is exactly what I need (in my case: show the border onExit once you press a button on the controller), already found the sample, thanks!  I've been using:
GradientDrawable border = new GradientDrawable();
border.setStroke(1, Color.WHITE);
sceneObj.setBackGround(border);

... but if there's a shorter way that doesn't mess with the background color (with my way it always defaults to black), I'd happily take it.
A slight - I don't want to call it a problem - thing I just noticed with my eyepicker:
If it enters a TextViewSceneObject (with "new GVRMeshCollider(gvrc, false)") from the right, I always have to go further towards the middle of the object to actually have it picked/change color compared to entering it from the left. It doesn't matter where the objects are (middle of the screen, far left, far right,...) and entering from the top or bottom doesn't seem to make a difference. Is there a way to fix this?

You could use GVRBitmapTextures for your two border objects. To create a Bitmap with color of your choice you do:
Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(color);

I want to look at your issue regarding picking. Can you send me the piece of code where you make your text view scene objects and attach the colliders?

@Nathipha, ping :)  Do you have a moment to send your code to @NolaDonato ?  thanks.

@Nathipha You can put the two border scene objects in a GVRSwitch. Then have the GVRTextViewSceneObject and the GVRSwitch share the same parent. But if you really wanted to, you can add the GVRSwitch to the GVRTextViewSceneObject and make that work too.

@NolaDonato i'm primarily concerned with whether there is a framework bug in here somewhere.  @Nathipha had a comment earlier saying,
"If it enters a TextViewSceneObject (with "new GVRMeshCollider(gvrc, false)") from the right, I always have to go further towards the middle of the object to actually have it picked/change color compared to entering it from the left. It doesn't matter where the objects are (middle of the screen, far left, far right,...) and entering from the top or bottom doesn't seem to make a difference. Is there a way to fix this?"
Is there a bug here?  If so, what is it?  Once I understand that, I can make an informed decision as to whether to keep this on the 3.2 blocker list.

@liaxim I was thinking about creating 3 child objects for each of my GVRTextViewSceneObjects/roots, one for the different color for onEnter of my picker, 1 with a border for an enabled option and one without border. The question is now: I have 10 buttons, will creating a single GVRSwitch with 3 child objects for each of them be slower or faster than manually adding/deleting a border object or changing the background color or does it simply not matter with that amount of buttons?
@NolaDonato
Does this happen in 3.1 too? Possible that it's just a bug with 3.0.1 and if so, I can live with it.
Unfortunately there's another bug I've noticed since 2.x (so basically since I started using the framework) but haven't paid too close attention to but while we're at it:
Sometimes it doesn't load GVRTextViewSceneObjects properly, they have a black background and the font size is huge, so the text gets cut off. This only seems to happen if a picker is active, at least I've never had it happen while displaying an error message.
The bug:
http://i.imgur.com/GhIPJ8b.png?1
What it should look like (I can easily reset the button through my onExit method):
http://i.imgur.com/z3mFjIM.png?1

Without knowing what colliders are being used I cannot tell. I will try to make a sample with sphere colliders to try and reproduce it.

@Nathipha I think both options would work reasonably well. I'd say get it to work first and if you notice performance issues, we will help out.

What we could do is use 3.0.1 to recreate @Nathipha's issue. If we do that we can determine is it fixed and why in master. This is what I will attempt since our release is waiting on this particular issue.
@Nathipha Please open new issues for other problems you encounter.

So the issue I am referring to is the different picking behavior depending on the direction you enter the TextViewSceneObject.

@Nathipha Uploading self-contained 3.0.1 app that I believe shows what you are talking about. Please confirm. Just unzip and run "gradlew.bat installDebug".
app.zip

@Nathipha How do you determine a scene object is picked early/late? I assume you have a reticle attached to the camera rig and you judge relative to that? What is the Z of your text scene objects? What is the Z of your reticle scene object?
Modify the app I attached, set the Z of the reticle (tracker) to be the same as the text scene objects and suddenly it is all good. It is a matter of perception but let's confirm.

@NolaDonato I'm using:
button.attachComponent(new GVRMeshCollider(gvrc, true));

@liaxim  Okay, it's currently working just fine with actually changing the background and adding/removing the border if necessary but I think I'll just try it with a GVRSwitch anyway, thanks.
Okay, I'll open another issue for the messed up buttons.
Sorry but I can't test it, I changed the JAVA_HOME environment variable to Java 1.8 already (had it on 1.7) but it's still giving me the "unsupported major.minor version 52.0" error message. Also can't get it to work as imported project in Eclipse:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.org.gvrfapplication/com.example.org.gvrfapplication.MainActivity}: java.lang.ClassNotFoundException: .........
Did you see the problem too? If it's only a 3.0.1 thing and it works fine in 3.1+, there's no need or point fixing it at the moment, I can live with it until I have to update to 3.1+ anyway.
I simply judge by watching the headtracker that's attached to the camera (it's set up like in the "gvrpickandmove" sample), there's no reticle, it's just the bounding box of the GVRTextViewSceneObject (for the sake of simplifying things I'll just call them "buttons"). You can actually see it better without having the phone in the Gear VR but even with it clipped in there's a slight difference noticeable. At first I thought that it's simply a perception thing (like you said) because of the steep angle I look at the buttons that are further to the left or right but it also happens if the button is directly in front of me or if it's on the left, where you would expect the picker to pick the button later from the left (instead of the right) if it was a perception thing.
z of buttons: -2.0
z of headtracker: -1.0

You need to ensure the new JDK is on the PATH. Like this set PATH=%JAVA_HOME%\bin;%PATH%. Then try the command.
What I am seeing is the same in 3.0.1 and in a very recent snapshot of 3.1.2.
Please try z of headtracker -2.0. I actually would recommend larger z for all; then scale your scene objects accordingly. Usually helps most people with focusing.

unless someone disagrees, this doesn't appear to be a release blocker.  removing that label.


refact(decide-options): Added translate options method to be used by testapp and agent.

Summary

Added TranslateOptions method to remove redundant declaration from test-app and agent.

Test plan

Added unit test.

Is there a link to JIRA?


Adds a comments widget to core

Widget to display comment style information (avatar, user name, and text)
Usage:
Broadcast data in the following format from jobs:
%{
  avatar: "http://placehold.it/50x50",
  name: "John Smith",
  quote: "Dang! Kitto is super awesome!"
}

To display in a dashboard:

Ebert has finished reviewing this Pull Request and has found:

5 possible new issues (including those that may have been commented here).

You can see more details about this review at https://ebertapp.io/github/kittoframework/kitto/pulls/61.

Coverage decreased (-0.4%) to 86.219% when pulling 60bf3c126793bc5c0e30cd1995673e1810f8d0dc on comment-widget into e035f4c03974d4daf4e4851506659fdb384df30b on master.

This is a neat pull request with documentation and everything, but i feel like a comments widget does not belong to the core as it doesn't seem like a building block widget. We should definitely add a reference in the additional-widgets section in the wiki.

I will add it to the widget repository.


Require user_id

The protocol defines a user ID is required:

The client includes in the request packet the IP address and the port number of the destination host, and userid

Codecov Report

Merging #11 into master will decrease coverage by 0.79%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master      #11     +/-   ##
=========================================
- Coverage   85.44%   84.65%   -0.8%
=========================================
  Files           6        6
  Lines         213      202     -11
=========================================
- Hits          182      171     -11
  Misses         31       31

Impacted Files
Coverage Δ

socks/socks4.py
95.08% <100%> (ø)
:arrow_up:

tests/test_socks4.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


[Build] Make Assemblies CoreCRL compliant

-> Check whats done in Autofac or Automapper

awaiting dnu integration in cake.
for now build don't throw if exception occurs.


Issue in writing JSON for Transform.rotate() widget

Need help to write JSON for Transform.rotate() widget
Transform.rotate(           angle: -0.075,           child: Text(             "Wednesday",           ),         )
Can anyone suggest correct JSON for above widget?

Transform isn't one of the supported widgets.
You can see the full list here:
https://github.com/peiffer-innovations/json_dynamic_widget#built-in-widgets
If you'd like to add Transform, PRs are welcome, or you can use these instructions to custom add it to your app:
https://github.com/peiffer-innovations/json_dynamic_widget#creating-custom-widgets


Resume ("listen here instead")

handle master takeover

There's now a music note button to resume playback. Turns red when the browser is no longer master


500px not downloading largest size and adding watermark

This photo for example: https://500px.com/photo/125562869/dark-wasteland-by-michael-goh
The program downloads from this url:
https://drscdn.500px.org/photo/125562869/m%3D1170_k%3D1_a%3D1/16a8db6d2b2f37cec35a3e588888108b
The largest size is here:
https://drscdn.500px.org/photo/125562869/m%3D2048/5f5471e71a3e3583730f0ed2fc9920eb

This is because RipMe is using 500px's API. From the docmentation on image sizes:

The images provided with our standard API access will be watermarked with the 500px logo and attribution. For non-watermarked images please contact<EMAIL_ADDRESS>
Which I assume means it costs money to get non-watermarked, higher-res images.
But there's probably a workaround...

Well, I have a userscript for 500px: https://github.com/Hrxn/Userscripts/blob/master/500px.user.js
So, yes, you can get images with higher resolution.
You can use this userscript with either Firefox and Greasemonkey, or any Chrome(ium) browser and Tampermonkey.
It should also work without any extension, just paste all that JS code into the browser console and run it.
I have tested this on Chrome, this works. Chrome also has a nice feature to save "snippets", custom pieces of JS to easily run whenever and wherever you want. This might sound complicated, but it is actually really easy to use.
Simply run the script on any *://500px.com/photo/* page, you can just navigate normally now, so click the left or right arrow, or use the left or right key and use the links on the right side that are now appearing.
There are some caveats though:
This script uses MutationObserver to monitor changes to the document body, and that can be flaky at times. It works fine for the purpose, i.e. when browsing the site you can always get the link for the image you are currently viewing.
But the 'try download' link only works in Chrome(ium) browsers, I have no idea why. It uses the download="" attribute in the <a element, maybe they don't work at all in Firefox, even if it is part of the official spec. And the changing of the file name does not work as well, I'm trying to do downoad="' + filename '", this should work theoretically, that is part of the HTML Standard, but maybe the HTTP Response can override this. Maybe I should ask on Stack overflow, if someone knows stuff they are there ;-)
Anyway, the real interesting part is the m%3D2048bit in an URL that indicates the biggest size available. Sometimes you have photo pages with m%3D2048_k%(Something), this means that the picture will be in a bigger size but it still has '500px' watermarks. But I think that there can't be done anything in this cases, because you only have these links with m%3D2048_k%(Something) and nothing else. No other image publicly accessible at their servers.
But finding these links is pretty easy, actually. Open just any single 500px photo page, view the source (They disabled right-click and I haven't found out how to circumvent this, but you can always use Ctrl+Uof course) and search for m%3D2048. You will always find 6 links in different parts of that page.

<meta content='https://drscdn.500px.org/photo/80626185/m%3D2048/9d821f61feb3aab9fb69c3bef2592ec6' property='og:image'>

<meta content='https://drscdn.500px.org/photo/80626185/m%3D2048/9d821f61feb3aab9fb69c3bef2592ec6' property='twitter:image:src'>

3 - 5
Also inside the <head

The links are encoded here, i.e. slashes are escaped with \/

Inside the <body now

I've looked at a lot of these links now, on many different photos, and apparently it is always the same link, six times. Please tell me if you spot any difference...
So, theoretically, for every https://500px.com/photo/(PHOTO-ID)/(PHOTO-TITLE) you will get the same HTML source, and the links inside of the <meta section and the <div id='preload' should be relatively easy to access. If you load a photo page this way, by direct link, it should always work. I have not found any deviant behaviour here so far.
Of course, the golden question is, what about a gallery page, or a profile page, like this one: https://500px.com/lenin1968
Well, all the images there are linked in this way:
https://500px.com/photo/< ID >/< TITLE >
I guess it should be possible, somehow ;-)
Caveat II:
https://marketplace.500px.com/ is entirely a different story
Caveat III:
The REAL, full-size images (originals, maybe RAW), with dimensions of a couple megapixels (as listed in the section at the right, Details, Download, or Purchase) are not accessible via the public web, I would bet. 500px has them on their servers, but you will only get them if you really purchase them, I assume.
Also, please keep in mind:
During my tests, the links in the format listed above always worked, so you will always get an image via URL, but some photographers do not upload images in a high resolution, that is their discretion. So don't be surprised when you use such a link but the image you end up with is rather 'small'
;-)
If anyone has more questions, please let me know,
If I can be of any help with testing, please let me know as well..

I looked into this; looks like the site uses some clever javascript to call 500px's API using a CONSUMER_KEY that has higher privileges than a free API account (which RipMe uses). This explains why you can get non-watermarked, higher-res images via their website (using Chrome/Firefox) than via RipMe.
Luckily the photo page (e.g. https://500px.com/photo/125562869/dark-wasteland-by-michael-goh) has a link to the full-size, non-watermarked image. Downloading is a lot slower now, but it gets the full image.


Random non / partial cache generation

Using the "File" backend, I have observed the module remove the cache file but not (have time??) to update and re-add it, before the BuildTask finishes.
I have yet to see a pattern in this behvaiour e.g. timeouts or memory problems, it would seem to be some sort of race condition, when the module needs to remove then update the cache, before re-adding it, but for some reason never manages to re-add it, leaving a partially (or no) generated cache behind.
The same problem may also exist using other backends.

I haven't observed this for some time. Closing.


How you can change the language in the tooltips

Hello,
The language in the shortcuts are in Chinese, and my end users do not speak Chinese, how can I change the language in the tooltips?
Merci Beaucoup

Please refer to https://github.com/cipchk/ngx-simplemde#installation-instructions


Can you publish npm package ?

Can you publish npm package ?

Update the version through a PR it's auto published 😉

Updated - 1.3.4 was published


Use ITK-JS in my web application

If I have a web application with the purpose of doing image registration (ITK Algorithms) on DICOM Images, will I be able to use this library?

Hi @ayahajar ,
Yes :-)
I will eventually create an example and post a link here.

Can we get the example @thewtex?

@LabbaAwwabi getting closer to make it easier to set up...
Testing / feedback / improvements appreciated for the Hello World: https://insightsoftwareconsortium.github.io/itk-js/examples/hello_world_node.html


Incorrect dates in the 'Date' Field

Bug Description
The 'Date' Field of the application form takes any input as correct input. Even dates like 00/00/0000 are considered as correct input.
Screenshots

Issue corrected in f798834526cc631bd235e50fad99a3b53c45e4d2

Issue resolved. Thank You !


Task: Implement LangGraph Information Extraction Specific Case

Description
Implement LangGraph information extraction for a specific use case as a proof of concept.
Parameters: data template, prompt, documents
Output: Set of objects such that each object is valid according to the input data template
Tasks

[ ] Define specific case (coordinate with group)
[ ] PDF parsing
[ ] Data template
[ ] Prompting
[ ] Information extractor
[ ] Validator

Freeform Notes
No response

**Project Update: @ibevers @hvgazula @puja-trivedi @tekrajchhetri **

Ran preliminary experiments using LangGraph for RAG, search, and multi-agent interaction to strengthen domain knowledge. POV: These approaches might be too complex and advanced to automate portions of the PRISMA framework in systematic literature reviews.
Defined a minimal use case. This is from my systematic literature review on AI-driven autism assessment using behavioral data. Our objective is to guess whether our literature review should include some papers based on their title, abstract, and keywords.

INCLUSION CRITERIA:

Relevance to Assessment: Papers must directly address assessment, screening, diagnosis, or detection methods related to autism.
Primary Resources: Only primary research articles will be considered, excluding secondary sources like meta-analyses and systematic reviews.
Target Population: Subjects should include individuals diagnosed with autism spectrum disorder (ASD) or suspected to have ASD.
AI Application: The study must involve applying artificial intelligence (AI) techniques for behavioral analysis.
Recent Publications: Articles must have been published within the last 10 years to ensure currency (2013-2024).
Study design: Papers are included no matter what is the study design(s) and setting(s), and duration of follow-up

EXCLUSION CRITERIA:

Treatment Focus: Papers only focusing on treatment approaches will be excluded to maintain the assessment-oriented scope.
Literature Reviews: Studies that are literature reviews or systematic reviews will not be included to maintain a primary research focus.
Theoretical Papers: Studies with only theoretical content and no empirical data will be excluded.
Non-Human Subjects: Studies involving animal subjects or computational simulations without human data will be excluded to ensure human relevance.
Subjects only suspected to have autism: high-risk subjects (e.g., siblings) will not be included in the literature review, unless they are assessed/diagnosed.
AI application on manually extracted features: Studies feeding ML models with manually extracted features are excluded to focus on entirely automatic processes.
Lack of Peer Review: Papers lacking peer review will be excluded to ensure a certain level of research quality. (e.g., book chapters)
Abstract Papers: Abstract papers will be excluded
Lack of Behavioral Data: Papers that lack behavioral data or analysis will not be included to ensure relevance to the behavioral analysis aspect.
Non-English Papers: Papers not in English will be excluded due to language limitations.
Non-AI-based Assessment: Use of AI-based Agents for interacting with the subjects, but not for assessment

PAPERS:
Let's consider the following arxiv papers as a start.:
{'arxiv_id': '2406.13470', 'should_include': True}
{'arxiv_id': '2201.00927', 'should_include': True}
{'arxiv_id': '2401.04088', 'should_include': False}

Created a script for extracting titles, abstracts, and keywords from arXiv (following @satra 's suggestion to start there). While I understand his reasoning, this approach may limit the project's utility. However, I'm proceeding with it (at least as a first step).
Tested specific inclusion/exclusion questions using several open-source models (e.g., smollm, phi-3), but responses weren't consistent or at least contextually relevant. GPT4-o1-mini provided better results. Concerns: how much can we pay for that?

Code is available in the respective branch under the experiments folder (including the preliminary experiments).


sadd deprecation warning

use with redis 4.8.1 results in
Redis#sadd will always return an Integer in Redis 5.0.0. Use Redis#sadd? instead.(called from: /Users/jakanapes/.gem/ruby/3.1.3/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:564:in `wrapped_send')
I can see it being called here
/Users/jakanapes/.gem/ruby/3.1.3/gems/resque-scheduler-4.9.0/lib/resque/scheduler/delaying_extensions.rb:93:in `delayed_push'

We got a similar warnings, and our logs are flooded with the following.
Redis#sadd will always return an Integer in Redis 5.0.0. Use Redis#sadd? instead.

We tracked it down to https://github.com/resque/resque-scheduler/blob/master/lib/resque/scheduler/scheduling_extensions.rb where there are 3 usages of redis.sadd.


Search Bar inside of new nav bar doesn't scale down properly

This is inside of the Consultants branch at the moment

Don't Think new Nav is better than the other one fixed the other one and think we should stick to that one instead and it also scales fine


GpsLab\Bundle\PaginationBundle\Service\Configuration" but no such service exists.

Cannot autowire argument $pagination of "App\Controller\KanallarController::index()": it references class "GpsLab\Bundle\PaginationBundle\Service\Configuration" but no such service exists.

Sorry. I forgot tagging PaginationParamConverter service.

I create new release with fix #46 for this issue.


export button

Add a button to the UI that allows the current selection to be downloaded as a GeoJSON file for use in a GIS.
cc @emilyeros

🚢 'd


Option to make the part of the hitbox behind an entity hidden

So if you are looking at an entity with hitboxes on you can't see the back part of their hitbox.
The point of this feature is to make hitboxes look cleaner and better by only showing the part of the hitbox that you can actually hit since you can't hit entities from behind if you face towards them.

No worries


CIF-1640 - Productcollection clientlib is not included in Venia demo

replace no longer existing productlist clientlib with productcollection

How Has This Been Tested?
Manually tested.
Types of changes

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

Checklist:

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

Relates to https://github.com/adobe/aem-cif-guides-venia/pull/56


add hyprland module

I can most likely work on this tomorrow. it should be easy enough (i hope)

Duplicate of #57 (understandably the old issue was closed, so you probably missed it)


Replace Nucleo board with STM32 chip

The Nucleo board really doesn't have much on it that's useful other then the STM32 part.  Why not just place the part down on this board and get rid of the Nucleo board all together?  That would lower cost and put us one step closer to a final design which certainly won't include that board.
The Nucleo board does have a debug interface which is handy, but that can be replaced with a 4 pin connector to allow an external STLINK debugger to be connected to the chip.
Other then the processor and the debugger, the Nucleo board is pretty much just connectors and power supplies.

This is primarily risk mitigation - we would like to sub in the PCB module in the alpha units and test ASAP.

Ya, I figured that was the thinking.  These parts are pretty dead simple to use, they don't require much more then power in and assuming you're using a QFP package it's probably easier to solder the chip to the board then all those connectors.

Reopening and assigning to Beta, since we would like to get here eventually.


msconvert.exe raw output MGF differs from proteome-discoverer

I am using the following command to convert a Thermo/HF raw file into MGF
"F:\OneDrive - NTNU\ProteoWizard 3.0.22155.0ff594f 64-bit\msconvert.exe"  --filter "peakPicking true 1-" --mgf l:\190128_robin_WT_5.raw
format: MGF
outputPath: .
extension: .mgf
contactFilename:
runIndexSet:

spectrum list filters:
  peakPicking true 1-

chromatogram list filters:

filenames:
  l:\190128_robin_WT_5.raw

processing file: l:\190128_robin_WT_5.raw
calculating source file checksums

writing output file: .\190128_robin_WT_5.mgf

and see it is different from the proteome-discoverer 2.5 PWF_QE_Basic_MGFx - Copy.pdProcessingWF.txt
output?
For example proteome-discoverer 2.5 says
BEGIN IONS
TITLE=File: "F:\190128_robin_WT_5.raw"; SpectrumID: "58"; PrecursorID: "0"; scans: "58"
PEPMASS=562.91254 2160.42041
CHARGE=2+
RTINSECONDS=21
SCANS=58
93.28708 1613.25
211.51585 1544.29
213.93216 18616.9
549.95520 1562.23
END IONS

while msconvert says
BEGIN IONS
TITLE=190128_robin_WT_<IP_ADDRESS>
RTINSECONDS=21.7782996
PEPMASS=562.860046386719 33584.291259765625
CHARGE=2+
93.28707886 1613.2463378906
211.5158539 1544.2867431641
213.9321594 18616.86328125
301.7001648 3080.8708496094
549.9552002 1562.2274169922
END IONS

wondering what could be the reason and which one is more or less correct?
I can share the raw file if the need be?

I see several differences but only number 3 seems significant:

Scan time in seconds is truncated to an integer for some reason in PD's output.
Precursor intensity is calculated differently.
Precursor mass is different. Possibly some kind of refinement is being done by PD and not msconvert. You could try the precursorRefiner and precursorRecalculator filters.
The exception peak added by msconvert and not PD.

I tried several experiments with your input and none of them is getting close to the PD-result
"F:\OneDrive - NTNU\ProteoWizard 3.0.22155.0ff594f 64-bit\msconvert.exe"  --filter "precursorRefine peakPicking true 1-" --mgf "F:\OneDrive - NTNU\190128_robin_WT_5.raw"
BEGIN IONS
TITLE=190128_robin_WT_<IP_ADDRESS>
RTINSECONDS=21.7782996
PEPMASS=562.859787097224<PHONE_NUMBER>81900006
CHARGE=2+
93.28707886 1613.2463378906
211.5158539 1544.2867431641
213.9321594 18616.86328125
301.7001648 3080.8708496094
549.9552002 1562.2274169922
END IONS

"F:\OneDrive - NTNU\ProteoWizard 3.0.22155.0ff594f 64-bit\msconvert.exe"  --filter "precursorRecalculation peakPicking true 1-" --mgf "F:\OneDrive - NTNU\190128_robin_WT_5.raw"

BEGIN IONS
TITLE=190128_robin_WT_<IP_ADDRESS>
RTINSECONDS=21.7782996
PEPMASS=562.860046386719<PHONE_NUMBER>81900006
CHARGE=2+
93.28707886 1613.2463378906
211.5158539 1544.2867431641
213.9321594 18616.86328125
301.7001648 3080.8708496094
549.9552002 1562.2274169922
END IONS

"F:\OneDrive - NTNU\ProteoWizard 3.0.22155.0ff594f 64-bit\msconvert.exe"  --filter "precursorRecalculation precursorRefine peakPicking true 1-" --mgf "F:\OneDrive - NTNU\190128_robin_WT_5.raw"

BEGIN IONS
TITLE=190128_robin_WT_<IP_ADDRESS>
RTINSECONDS=21.7782996
PEPMASS=562.860046386719<PHONE_NUMBER>81900006
CHARGE=2+
93.28707886 1613.2463378906
211.5158539 1544.2867431641
213.9321594 18616.86328125
301.7001648 3080.8708496094
549.9552002 1562.2274169922
END IONS

"F:\OneDrive - NTNU\ProteoWizard 3.0.22155.0ff594f 64-bit\msconvert.exe"  --filter "precursorRecalculation precursorRefine" --mgf "F:\OneDrive - NTNU\190128_robin_WT_5.raw"

BEGIN IONS
TITLE=190128_robin_WT_<IP_ADDRESS>
RTINSECONDS=58.7746344
PEPMASS=562.860107421875<PHONE_NUMBER>18000008
CHARGE=2+
83.74562836 1534.3530273438
213.936264 11447.2548828125
213.9624481 5957.8374023438
301.7164307 4459.0385742188
END IONS

"F:\OneDrive - NTNU\ProteoWizard 3.0.22155.0ff594f 64-bit\msconvert.exe"  --filter "precursorRefine" --mgf "F:\OneDrive - NTNU\190128_robin_WT_5.raw"

BEGIN IONS
TITLE=190128_robin_WT_<IP_ADDRESS>
RTINSECONDS=58.7746344
PEPMASS=562.859678994197<PHONE_NUMBER>18000008
CHARGE=2+
83.74562836 1534.3530273438
213.936264 11447.2548828125
213.9624481 5957.8374023438
301.7164307 4459.0385742188
END IONS

I had also asked PD-support and they are not willing to share the details, some patent issue it seems... i had already tried their own c# lib https://github.com/animesh/RawRead and which also differs from PD results, similar to msconvert though but without the "exception peak" (where is this actually useful @chambm ?)
mono RawRead.exe 190128_robin_WT_5.raw
BEGIN IONS
TITLE=58	4	SCANS=FTMS + c NSI d Full ms2<EMAIL_ADDRESS>[77.6667-1165.0000]
RTINSECONDS=21.7782996
PEPMASS=562.860046386719<PHONE_NUMBER>	18616.863
CHARGE=2+
93.2870788574219 1613.24633789063
211.515853881836 1544.28674316406
213.932159423828 18616.86328125
549.955200195313 1562.22741699219
END IONS

I am trying to play with the c# dll but most probably this will remain a mystery then i guess...


Selectors with no dependencies have never input parameter

Getting this with the latest 4.1.1 version
import {createSelector} from 'reselect';

const mySelector = createSelector([], () => ({
    foo: 'foo'
}))

mySelector({});
// Error, {} is not assignable to never

https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbwMZQKYEMaoMqoDapIzQC+cAZlBCHAORoDO+hMtA3ALABQ3SEAdg3ggAnrgJFocALxwUGLOJbQAFAG0AugBo4KgJQyAfLoTc45ihAgAuOuSu1uJPXu7dRSyVBUJnnLgD0AXAAegD83EFwQpiotvyoAG6oUEA

Seems too restrictive. Should it be unknown instead?

Legit question: why would you ever have a selector here with no dependencies? The whole point of createSelector is to memoize on the input values.

Good question, @markerikson!
We use it to cache the result of a function forever, but lazily only after it gets called for the first time. We could probably use another utils for that, but a selector with no dependencies already works very well for that case.
Let's say you have some kind of intl global  function in an object prop (which might be a config for some component), but the result of that function depends on an initial api call (like user settings). You could write it like
import intl from 'intl';

const tableConfig = {
  name: intl('List'),
  ...hundred of other props...
}

So intl() in that case will be called immediately upon module execution, and we don't want that, because we still don't have critical information in place. We want that config to be created only when we are ready to render actual page, and that happens after we fetch user settings.
So, we simply wrap it into a selector which makes it a function, which creates the object once (and only when we are ready) and caches it forever.
import intl from 'intl';

const tableConfig = createSelector([], () => ({
  name: intl('List'),
  ...hundred of other props...
}));

It's similar to having useMemo with [], but outside of the React.
There are different ways to approach that problem, but createSelector was the easiest one to add, because we already use createSelector in the application.
And conceptually in JS there is no limitation of calling a function with a number of parameters bigger than then number of arguments, down to zero arguments. So a selector with zero dependencies should still be able to participate in dependencies of other selectors, which might or might not get state and props arguments, which I think makes unknown a better candidate here than never ("Be liberal in what you accept and strict in what you produce")

I think what you might actually want in this case is not even createSelector, but the defaultMemoize function itself. Try passing your "run this once" function to defaultMemoize instead and see what happens?

Technically, the type is correct...the selector is expecting never because there is no dependency from which it can gather type information. So it assumes, correctly, there is no type possible to pass into a non-existent dependency.
I don't think there is a fix for this since it's actually doing what you're asking it. I think this might just be a situation where casting {} as never will get you through.
You can do this:
const mySelector = createSelector([], () => ({
    foo: 'foo'
}))

const NEVER = null as never
mySelector(NEVER)
mySelector({} as never)
mySelector(null as never)
// etc..

or if you want to pass in null directly, this could work:
const myNullSelector = createSelector((state: null) => {}, () => ({
    foo: 'foo'
}))

myNullSelector(null)

The types, as they are, very specifically pull out the information handed into the createSelector function, so there's not exactly a typing problem here. In fact, attempting to fix this will result in breaking a lot of other working type checks that happen. It's definitely not something we can easily support (if we can at all).
An example of what breaks, if we make the following change to the Selector type:
export type Selector<
  S = any,
  R = unknown,
  P extends never | readonly any[] = any[]
> = [P] extends [never]
  ? [S] extends [never]
    ? (state?: S) => R
    : (state: S) => R
  : (state: S, ...params: P) => R

Now if the S type (meaning state type) is inferred to never it will make the resultant signature (state?: never) => R, which will work for the case you mentioned above. Where it fails is here:
  const selector = createSelector(
    (state: string) => 1,
    (state: number) => 2,
    (...args) => 0
  )

  // @ts-expect-error
  selector('foo')
  // @ts-expect-error
  selector() // this will erroneously NOT show a type error now...which isn't good.
  // @ts-expect-error
  selector(5)

TLDR
This is not something we can support currently, nor am I convinced we should. I recommend {} as never since it's already a kinda weird thing anyway. Or better yet, what @markerikson suggested:
import { defaultMemoize } from "reselect"

const memoizedFunc = defaultMemoize(() => ({
  foo: "foo",
}))

memoizedFunc()

Based on that answer, I think we can go ahead and close this. Let us know if there are further issues!

@markerikson @eXamadeus I guess it was fixed in 4.1.3, now empty dependencies work and the type is () => unknown

Huh, I guess some of the parameter merging fixes I did changed behavior here.
Can you also double-check the https://github.com/reduxjs/reselect/releases/tag/v4.1.4 release I did just now?

Just checked 4.1.4, in this case behavior is similar to 4.1.3!


DFI deposit stuck

Hi,
I habe Trouble with my deposit. Recovery only says waiting for more confirmations.
Tx: 6dba5110dcd3ff217a52599edd0dc4b58ec615f153ffd2d7a5523778e069690f
BSC: 0xa75d2BF7f3e75356f96B54C0Ec20394bd62c02A2
Thanks

Using Brave Browser + Wallet. Half empty Page after confirmations, maybe because Brave Wallet locked after 5 min?


Next iteration (v0.13.0)

This version of RNA introduces a lot of plugins and internal changes that are probably compatible with the end RNA configuration.
Todo

[ ] Add inline code comments
[ ] Add tests for each esbuild plugin module
[ ] Add a documentation page for the @chialab/esbuild-rna packages
[ ] Add a documentation page for each plugin

Changes

@chialab/esbuild-plugin-emit and @chialab/esbuild-plugin-transform plugins have been deprecated and their functionalities are now available from the @chialab/esbuild-rna plugin/framework.
Replaced the acorn with @swc/core. Parsing is faster and swc typings are provided as well
Build storybook using the html plugin for a complete build
The new plugin @chialab/esbuild-plugin-css-import resolves CSS @import to node modules using the esbuild resolve hook instead of using postcss (#21)

Maintenance

Setup tests (finally)
Update dependencies

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@f3f40a7). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #30   +/-   ##
=======================================
  Coverage        ?   71.75%
=======================================
  Files           ?       10
  Lines           ?      878
  Branches        ?        0
=======================================
  Hits            ?      630
  Misses          ?      248
  Partials        ?        0

Continue to review full report at Codecov.

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


6 autocomplete for cities

For the conflicts in the yarn.lock just accept the remote
I usually don't push the package.lock and 'yarn.lock` files


Embed profiling directly as a Playground action

Profiling should be easily accessible as an action in the Playground.


run.command for macOS

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
run.command to quickly run it on macOS.
Describe the changes proposed in the pull request A quick description of the changes made to the repository
Added run.command
What is the current behavior? (You can also link to an open issue here)
N/A
What is the new behavior (if this is a feature change)?
N/A
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
N/A
Other information:

this is quite un-needed if you know what your doing you just get into the directory of the generator and python3 it?

this is quite un-needed if you know what your doing you just get into the directory of the generator and python3 it?

Yes, this PR doesn't make sense.