errors if use kSecAttrAccessibleAlways

Hi!
I need to use kSecAttrAccessibleAlways, but JNKeychain stop working when I replace kSecAttrAccessibleAfterFirstUnlock with kSecAttrAccessibleAlways in getKeychainQuery:forAccessGroup: method (line 31).
I get result == -25299 in saveValue:forKey:forAccessGroup: (line 64) and due to this I get _SecItemCopyMatching((_bridge CFDictionaryRef)keychainQuery, (CFTypeRef *)&keyData) == -25300 in loadValueForKey:forAccessGroup: (line 101) accordingly.
Is it possible to fix it somehow?

I found how to reproduce it. I try all this in simulator.
For example start with using kSecAttrAccessibleAfterFirstUnlock. Save some values in keychain. Then change kSecAttrAccessibleAfterFirstUnlock to kSecAttrAccessibleAlways. Start the app an get the problem I describe above. Reinstalling the app and a reboot of simulator did not help. Only "Reset Content and Setting…" did help.
The issue remain the same if use kSecAttrAccessibleAlways first and switched to kSecAttrAccessibleAfterFirstUnlock after.

Did you guys manage to fix it?

@luizperes I no longer work on that project and do not remember exactly whether we were able to deal with this problem, or we decided to do everything differently
in any case, you can see the code of JNKeychain subclass that we use, and it seems like this has allowed us to get rid of the problem described above
https://github.com/Sistemium/iSistemium/blob/dev/iSistemium/Classes/Base/STMKeychain.m
or
https://github.com/Sistemium/iSistemiumCore/blob/persisting/iSistemiumCore/Classes/Base/Helpers/STMKeychain.m

Thanks @gogbajbobo, I really appreciate that! :D


Add purge css ignore comment

Describe the bug
Purge css plugin remove date picker css.
Please add purge css ignore comment to first and last line of react-modern-calendar-datepicker/lib/DatePicker.css to solve this bug.
/* purgecss start ignore */
{ DatePicker CCSs }
/* purgecss end ignore */

Hi, this doesn't make sense. Where do you import the CSS file of the library? if you're importing it in the same file that you're using the date picker, Purge should detect it as a used style and therefore, it wouldn't remove styles.

I solve my issue with change post-css config. I add ./node_modules/react-modern-calendar-datepicker/**/*.js to content config array :
const tailwindcss = require('tailwindcss');
const autoprefixer = require('autoprefixer');
const purgeCss = require('@fullhuman/postcss-purgecss');
const cssNano = require('cssnano');

const isProduction = process.env.NODE_ENV === 'production';
const purgeCssConfig = purgeCss({
  // Specify the paths to all of the template files in your project
  content: [
    './src/index.html',
    './src/**/*.jsx',
    './src/**/*.tsx',
    './node_modules/react-modern-calendar-datepicker/**/*.js',
  ],
  // Include any special characters you're using in this regular expression
  defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || [],
});

module.exports = {
  plugins: [
    // postCssImport,
    tailwindcss('./tailwind.config.js'),
    ...(isProduction ? [purgeCssConfig, cssNano({ preset: 'default' })] : []),
    autoprefixer,
  ],
};

But I still have problem.

Above defaultExtractor config have issue with date picker css classNames.
All className don't pass through the defaultExtractor filter. I think that must change my defaultExtractor filter config.

@masihjahangiri Can you please reproduce this on CodeSandBox or if it's not possible to config purge there, provide a repo for me to investigate the case more carefully?

Closed due to inactivity


Dropdowns have excessive spacing with large lists

Select one ...  (check one with "x")
[ ] bug
[ ] feature request
[ x ] enhancement

Expected behavior

many entries in the list, constrained by viewport => clipped content that is not accessible

Other problems include dividers having excessive spacing and the internal padding within .dropdown-menu class and its top margin ( causes a slight gap )

Actual behavior

Suggested fix: compensate by restricting height according to a natural container and letting the list overflow with scrolling. This can be done via CSS; however it is better if widgets commonly accept some type of constraint definition to aid when real estate is limited. This aligns better to responsive strategies.

Reproduction of behavior
Environment details

Angular version: 2.0.X
4.2

Clarity version:
0.9

OS and version:

Browser: [all ]

I think putting a maximum height by default on Dropdown is too problematic though.
But what we can do is let you, the consumer, set a max height to any dropdown in CSS depending on your own constraints, and we would make sure that the styles can handle it and that the dropdown menu would scroll. I think that would be the most flexible solution.

Per earlier discussion with @mattmutt
This issues covers a few suggested enhancements/changes to dropdowns...

Tightening up the whitespace above and below dividers in a dropdown menu.
Tweaking the whitespace at the top and bottom of a dropdown menu such that it better matches the perceived horizontal whitespace on the sides and, incidentally, tightens up a bit.
Adjusting the placement of dropdown menus triggered from the header so that they appear closer to the bottom of the header.

and

Gracefully handling scrolling when a dropdown is to large to fit on a page. <= this may need to be part of the "collision detection" issue #1262

@reddolan and @lil-kim : I support the top 3 suggestions from what I have seen of them. If one of you could advise on the edits, I'd appreciate it.
@youdz : Is number 4 a collision detection feature or something that can be accomplished with just CSS on our end?

If we have to detect that it doesn't fit, it's collision detection, yes.

@mathisscott, Will see what I can do.

Here's the spec for padding adjustments:

Reviewed & approved by: @mathisscott, @reddolan

when a dropdown is aligned to be on the bottom, there remains a 2px top margin inside .dropdown-menu. While tiny, it does expose  2 pixels of non active space between the target and the top edge of the popped up dropdown widget. What does this mean in simple terms? Dropdowns would not be flush to their target container.


How to add color and its label on side with chart.

Can we do something line this. Both number and percentage inside and labels outside,

Hi @MuzaffarMahmood 👋
Absolutely! You can use labelInterpolationFnc function to modify labels inside chart (here's an example) and create your own legend outside the chart.


[Feature request] Integration of esp-gdbstub possible?

There's a GDB stub for ESP8266 made by Espressif. The software running on the ESP8266 can be debugged at runtime with the help of the stub.
Do you think it would be possible / feasible to integrate this stub into this project? Mainly, it would be nice to have as a part of the build system and automatically linked into debug builds.
I'm probably going to try that out in the near future. If I manage to do it well, I could send a PR.

https://github.com/resetnow/esp-gdbstub
It's not in the main repo because of its license.

Thanks for the reminder, I somehow managed to overlook the licensing issue.


chore(bindings/nodejs): update package.json repository info

Fix: #2075

I believe the real problem happened here: https://github.com/apache/incubator-opendal/blob/main/bindings/nodejs/npm/darwin-arm64/package.json

You may need to update repo URL into sub module in binginds/nodejs/npm/.


Implement enso language support for codemirror code editor

Implement codemirror's language mode for Enso using our existing enso parser integration. The code editor should be able to perform syntax highlighting.
Make sure that it is possible to eventually attach more metadata for convenient display in the editor. In the future, we want to be able to see AST ID of selected or hovered ranges, as well as show current state received from execution context.

wip here: https://github.com/enso-org/enso/tree/wip/sb/codemirror-highlighting


Feature Request: Allowing custom indexing via user scripts

We've had quite a few folks try and adapt DVJS scripts to write custom queries that aren't doable in the data query language. The vast majority of these seem to involve some kind of file parsing. While these are relatively niche use cases (I suspect 3 in 100 type numbers), I wonder if it's feasible to allow using a custom index/source exposed via a user script so that folks can fall back on the DQL.
Let me try to illustrate with an example:
function customFileParser(pathOrSource) {
    //imagine this spits out an array or index that the DQL can run against
}

table without id
    file.name,
    customElement
from customFileParser("path/to/files")

Allowing for these custom sources would cut out the pain of having to learn JS and let folks work with community built text parsers.
I do concede that this is relatively low priority and that this opens up a whole different can of worms but I was curious what you thought of this.

The proper way to support this is probably via "index decorators", which would be user scripts which run during background file parsing which can add additional metadata to files. I've mainly held off from implementing this yet for two reasons:

It makes queries less portable since you now need something other than just Dataview to execute it.
They are a little hard to write in a way that doesn't destroy performance (they have to run on a separate thread which has no access to the Obsidian API).

That being said, it's a good idea overall.

adding on this: I've just tried to get something like PageRank to work. incoming and outgoing links are not really helpful in determining which notes are highly relevant if analyzed only with depth=1. This feature request would be useful for that as well.

Similar use cases to those discussed here and here are what resulted in me finding #959.


repo.remove throws error

when using repo.remove('gh-pages', 'file that exists', function(err) { console.error(err); }); I get the following error and callstack:
Uncaught TypeError: Cannot call method 'reject' of undefined -- github.js:532
(anonymous function) -- github.js:532
(anonymous function) -- github.js:347

I was trying to effect a "repo.replace" by first removing a file I know exists in the tree using repo.remove and then calling repo.write to put in a new copy with updated information, but the remove throws this error.
It appears that the _ var in https://github.com/michael/github/blob/master/github.js#L532 does not actually point to anything.

Thanks for the info here, but I'm concentrating work re: repo.remove on #108. Marking as duplicate, please continue discussion there. Thanks!


Uploading symlink seems broken in JFrog CLI v2

Describe the bug
Using Jfrog CLI v2 to upload a file structure with symlinks is not working as expected.
To Reproduce
Trying to upload the following structure in which the symlink “O_LATEST” is in 2 different folders: “Folder_1”  and  “Folder_2”.
$ ls -ltr
total 0
drwxr-xr-x  5 tataraov  staff  160 Nov 16 15:10 Folder_1
drwxr-xr-x  5 tataraov  staff  160 Nov 16 15:10 Folder_2
drwxr-xr-x  3 tataraov  staff   96 Nov 16 15:11 O_LATEST
$ ls -ltr Folder_1
total 0
-rw-r--r--  1 tataraov  staff   0 Nov 16 15:08 File_F2
-rw-r--r--  1 tataraov  staff   0 Nov 16 15:08 File_F3
lrwxr-xr-x  1 tataraov  staff  12 Nov 16 15:08 Folder_Latest -> ../O_LATEST/
$ ls -ltr Folder_2
total 0
-rw-r--r--  1 tataraov  staff   0 Nov 16 15:10 File_F4
-rw-r--r--  1 tataraov  staff   0 Nov 16 15:10 File_F5
lrwxr-xr-x  1 tataraov  staff  12 Nov 16 15:10 Folder_Latest -> ../O_LATEST/
Expected behavior
JFrog CLI v2 should be able to upload the symlink to Artifactory from Folder_2.
Screenshots

Versions

JFrog CLI version: 2.5.1
JFrog CLI operating system: macOS
Artifactory Version: 7.27.10

Additional context
export JFROG_CLI_LOG_LEVEL=DEBUG && ../jfrog251 rt upload "*" 'arti-sandbox-generic-local/test-no-symlinks-jfrog251/' --server-id=Art  --flat=false
Log path: /Users/tataraov/.jfrog/logs/jfrog-cli.2021-11-16.15-53-54.6115.log
{
"status": "success",
"totals": {
"success": 5,
"failure": 0
}
}

Hi @tataraov, I opened a PR in jfrog-client-go to fix this issue. I'll update here when it's released.

@tataraov The fix is released in JFrog CLI v2.12.0. From now on, when walking the file tree during an upload, the same file might be visited and uploaded more than once, and only directory symlinks won't be visited more than once.
We'd appreciate your feedback on the fix.


flynn usage questions

Hello,
I have some questions regarding flynn.

Mongo Provider can be run in the cluster? I tried to scale up the mongodb but every time i close my leader machine, mongo goes down.
How can i setup flynn to use my internal git? I don't have my projects on github, i have a private git repository (gogs) exposed over internet. The flynn remote command is the sollution? I din't managed to setup a private repository project using it.

The MongoDB provider works for both single node and clustered deployments.
Flynn doesn't care where your repository is hosted unless you are using the dashboard to deploy it.
To get your app setup with Flynn clone it locally and then run flynn create <name>
This will create a git remote that will point at your Flynn cluster.
Then you can run git push flynn master to deploy your app.

Can you tell me how i can setup mongodb to run in the cluster? I need to scale it ? How does flynn decides how to scale apps and providers in the cluster? If i have let's say 3 virtual machines, and i want to scale mongodb to have an instance run on every VM, i only need to say something like flynn -a mongodb scale mongodb=3?

You shouldn't run scale commands directly on the database appliances, simply provisioning a resource for an app will take care of scaling up the database. The scheduler will attempt to place all of the appliance jobs on different hosts.

Ok, thx. It seems i have some problems with the mongodb and mariadb deployments. I've opened a new issue.
https://github.com/flynn/flynn/issues/3403

Another question. How can i check ho many hosts are online? How many hosts flynn see online. Let's say a restart a host. How can i be sure that the host is still available to the cluster?

flynn-host list provides a realtime view of which peers are currently up and registered with discoverd.

Yes, thx, i found it.
Do you have any idea if this problem is being investigated?
https://github.com/flynn/flynn/issues/3383
I can deploy flynn only doing the hack described in my comment. Does flynn also supports weave instead of flannel? Maybe it is a flannel problem or maybe we need to pass some more configs params to flannel. I've seen some issues open on flannel github regarding multi node deployment.


Delete conditional files from the project if a conditional feature is disabled

Problem
When you disable an optional feature (such as Docker support) in cookiecutter.json and re-run make template certain files that are only needed for the optional feature (such as Dockerfile) don't get deleted. For example:
$ cookiecutter gh:hypothesis/cookiecutters --directory pyramid-app __docker=yes --no-input
$ cd my-pyramid-app
$ <edit .cookiecutter/cookiecutter.json and change __docker to "no">
$ make template

This will remove Docker-related stuff from files like .github/dependabot.yml and Makefile but it won't remove entire files like Dockerfile.
Solution
https://github.com/hypothesis/cookiecutters/issues/17 will move the knowledge of which files are conditional into post_gen_hook.py (instead of being in the filenames). Once that's done it should be easy to remove an existing Dockerfile from the target project if __docker is "no".
We might want to check that the hash of the project's Dockerfile is the same as the hash of the Dockerfile generated by the template (in the temporary directory) and not remove the project's Dockerfile if they differ: we don't want to delete files that might have been modified by the user.
We also shouldn't delete any files that're listed in the ignore list in the project's cookiecutter.json.

I don't think we should do this: not worth the complexity


Not throwing an error

The app opener when using the open() function does not throw an error and rather prints to terminal. This makes it hard to do certain things such as speak something using speech recognition library when like the app is not found

You could try like
from AppOpener import open as run
run("ls") # Prints list of application

That will give me a list of applications but What I propose is that when a app is not found from this code
def open_things(self, output=True, match_closest=False):
    with open ((os.path.join(main_path,"data.json")),"r") as f:
        data1 = json.load(f)
        keys = data1.keys()
        try:
            dir01 = data1[self]
            os.system("explorer shell:appsFolder\\"+dir01)
            # print(("explorer shell:appsFolder\\"+dir01))
            if output:
                print("OPENING "+self.upper())
        except:
            result = difflib.get_close_matches(self,keys, n=1, cutoff=0.6)
            app_name = ' '.join(result).strip()
            if result:
                if output:
                    print("Closest match to "+self.upper()+" : "+str(result))
                if match_closest:
                    dir01 = data1[app_name]
                    os.system("explorer shell:appsFolder\\"+dir01)
                    # print("explorer shell:appsFolder\\"+app_name)
                    if output:
                        print("OPENING "+app_name.upper())
            else:
                if output:
                    ''' Instead of printing this line it should throw an error '''
                    print(f"{self.upper()} NOT FOUND... TYPE (LS) for list of applications.")
            pass

Look at the code in the if output block. It should throw an error so that we can handle it as we like.

Yup!! If appname is not registered, it just passes it. We'll fix this on next version

Actually we could do something like, open("XYZ", throw_error=True) in the next version

Yeah, I agree with the throw_error solution since it gives a choice. Do you mind if I work on this change? I would be glad to help

Yeah, I agree with the throw_error solution since it gives a choice. Do you mind if I work on this change? I would be glad to help

Hello I think we can do the same thing with open("XYZ", output=True) which prints that app is registered something like this...
The pr you made seems useless 😑
Actually, I forgotten the output attribute exists 😂
but yeah, thanks for the pr 🫶

No problem dude 🔥Keep coding

Actually the output=True, just prints when the app is not found or when a app is not running. But if it threw an error then I can do something like:
try:
    open("XYZ", throw_error=True)
except:
    # Now i can do whatever I want here like
    # using the pyttsx3 library I can make it speak something
    engine = pyttsx3.init()
    engine.say("The App you want to open was not found")
    engine.runAndWait()

It just expands the usability of the module. Previously we couldn't do that because it was just a print statement.
I know it sounds weird becuase I want it to throw an error 😅 but in some cases it's better like the above example that's why I did the PR.

Actually your code dosen't even throw an exception error.
Try this code first:
from AppOpener import *

try:
    open("XYZ", output=True)
except Exception as e:
    pass

Even if you don't print the exception it'll still print his line "XYZ" was not found. Explained later why
then try this:
from AppOpener import *

try:
    open("XYZ", output=True)
except Exception as e:
    print("DID IT THROW AN ERROR?")

Then check the output. In the output you won't see this "DID IT THROW AN ERROR?"
You can put anything in the except block it won't be executed even if the app is not found. Yes this "XYZ was not found" will be printed because this is being done through your code in this line. Even if you do not print the exception it will still print it, because there is no exception and the exception is not even a thing.
if output:
     ''' Instead of printing this line it should throw an error '''
     print(f"{self.upper()} NOT FOUND... TYPE (LS) for list of applications.")

Because printing to the console is not the same as raising an error like in my pr. Please do try this in your version of the code and then tell me if it worked because it shouldn't work and I'm pretty sure it's not working for anyone. Try and put anything in the except block it won't get executed in your version of the code, and then try the same in my version of the code.
And I am actually not a beginner in python I'm pretty advanced building APIs and almost a data analyst. Please do do these run's and then tell me what you see.


revise handling of page size/geometry

From<EMAIL_ADDRESS>on March 14, 2013 15:47:18
The specification of page size/geometry is currently ambiguous.
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=148

From<EMAIL_ADDRESS>on March 14, 2013 13:54:17
This issue was closed by revision r867 .
Status: Fixed

From<EMAIL_ADDRESS>on March 14, 2013 14:14:13
This issue was closed by revision r869 .


scoped style with dynamic added DOM

I am using jquery-ui which might introduce some DOM in run time. The scoped style will not be applied to the new DOM, any solution on this?

This repo issue tracker is for vuejs.org website issues. You should ask you question in forum.vuejs.org
As for question, you might want to read about Vue.nextTick() or vm.$nextTick() and check if it's what you looking for.

@azamat-sharapov thanks!


Invalid Education Program Field of Study

While an institution is creating or editing an Education Program there is a calculation between “Credential Type” and “Classification of Instruction Programs (CIP)” that must result in the “Field of study code”.
So, the below scenario ends up in an error (Internal Server Error) because the “Field of study code” is not being populated.

The expected scenario would be like below.

This was implemented as part of #1222 and apparently, there is at least one combination missing (probably W3).
Currently, the possible combinations are present on form.io.
Form.io reference:
https://github.com/bcgov/SIMS/blob/d521713b923c825fe5af347868787187a21ca1fb/sources/packages/forms/src/form-definitions/educationprogram.json#L216.
The spreadsheet including all definitions is present at
Documents>General>Analysis>User Story Specifications>Federal Study Code (#1222)>Fed Study Code Mapping.xlsx
Curent list:
P7: "25",
P5: "55",
P8: "25",
P3: "40",
P6: "70",
P4: "40",
P2: "25",
P1: "25",
Q4: "39",
Q7: "24",
Q5: "54",
Q1: "24",
Q6: "69",
Q2: "24",
Q8: "24",
Q3: "39",
R7: "23",
R6: "68",
R4: "38",
R5: "53",
R2: "23",
R3: "38",
R8: "23",
R1: "23",
S8: "22",
S1: "22",
S4: "37",
S3: "37",
S2: "22",
S5: "52",
S7: "22",
S6: "67",
T1: "21",
T7: "21",
T4: "36",
T5: "51",
T3: "36",
T8: "21",
T6: "66",
T2: "21",
U8: "20",
U3: "35",
U2: "20",
U4: "35",
U7: "20",
U5: "50",
U1: "20",
U6: "65",
V1: "19",
V3: "34",
V6: "64",
V5: "49",
V2: "19",
V7: "19",
V4: "34",
V8: "19",
W8: "18",
W4: "33",
W2: "18",
W7: "18",
W5: "48",
W1: "18",
W6: "63",
X5: "47",
X2: "17",
X1: "17",
X4: "32",
X8: "17",
X3: "32",
X6: "62",
X7: "17",
Y4: "31",
Y8: "16",
Y5: "46",
Y6: "61",
Y2: "16",
Y3: "31",
Y1: "16",
Y7: "16",
Z7: "15",
Z8: "15",
Z5: "45",
Z4: "30",
Z2: "15",
Z3: "30",
Z1: "15",
Z6: "60"
Expected fixes

[ ] Ensure that all the configurations available on the spreadsheet are updated on form.io.
[ ] Check if it is possible to add a validation to the "Field of Study" to ensure that, if some combination is missing the form will not be submitted avoiding the internal server error. For instance, add a required filed validation with the custom error message "The combination of the Credential Type and CIP did not result in a known Field of Study code." (Nice to have).

Created #2083 for business area to validate fix.


Add 8 bit support - chapter II

Hi !
Here is a (dirty) attempt of enabling other modules support (other than nn.Parameter) on accelerate
This time I had to slightly modify the script set_tensor_to_device as following:

If is_buffer : assigns the buffer to new_value as usual
assign module._parameters[tensor_name] to the correct new_value ONLY when the device is different to a GPU. The latest case means that the new_value has been already set to the correct device so there is probably no need to put it again on the same device.

I can't see any breaking changes but I suspect the likelihood of this statement being true is quite high. Would love to hear your thoughts @sgugger @muellerzr
Related to the PR: https://github.com/huggingface/transformers/pull/17901

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Bugfix: Revert any volumeClaimTemplate values set in openshift-monitoring ConfigMap

Which issue this PR addresses:
Addresses: Bug 9991650
What this PR does / why we need it:
If one sets the below yaml on the configmap named "cluster-monitoring-config" in the "openshift-monitoring" namespace, the cluster operator will go unhealthy because we currently are only resetting any storage requested size.  The cluster monitoring operator is dumb and will just blindly apply the volumeClaimTemplate in the configmap to the prometheus statefulset even if it's not a valid volumeClaimTemplate (volumeClaimTemplate requires a size to be valid).
Instead, let's just zero out the volumeClaimTemplate so that the monitoring cluster operator should never go unhealthy.
  config.yaml: |
    prometheusK8s:
      volumeClaimTemplate:
        spec:
          storageClassName: managed-premium

This change will remove any mention of volumeClaimTemplate.* if set.
Test plan for issue:
unit, e2e operator, and manually
Is there any documentation that needs to be updated for this PR?
No

/azp run e2e

@mjudeikis @jewzaam  - fixed an issue with e2e operator test.  Should be good to go now.


Github Actions in CI to check both ghc-8.6.5 and ghc-8.10.2 builds

I don't think we really need this at this level. The full matrix build at cardano-node makes sense, but for each individual component it just adds a lot of overhead. At the most it might be worth having a single CI build for 8.6.5 (and we'll use hydra for 8.10.2).

I dropped MacOS and Windows so you only have ghc-8.6.5 and ghc-8.10.2 for Linux.
The reason I've added this to other projects is if we get casual contributions from forks, there still exists a rudimentary CI over which we can have a meaningful conversation with the contributor.
The Github Actions build sometimes finishes faster so which also means faster feedback.
Github Actions builds aren't currently "required" so they don't block merges if you're concerned about that.

Woah, haven't seen this before:
test/Test/Shelley/Spec/Ledger/Rules/TestChain.hs:583:52: error:
    • Reduction stack overflow; size = 201
      When simplifying the following type:
        (Cardano.Ledger.Era.Era era0, Cardano.Ledger.Val.Val s0,
         Cardano.Ledger.Core.Compactible s0, Eq s0,
         cardano-binary-1.5.0:Cardano.Binary.FromCBOR.FromCBOR
           (CompactForm s0),
         cardano-binary-1.5.0:Cardano.Binary.FromCBOR.FromCBOR s0,
         deepseq-<IP_ADDRESS>:Control.DeepSeq.NFData s0,
         nothunks-<IP_ADDRESS>:NoThunks.Class.NoThunks s0, Show s0,
         cardano-binary-1.5.0:Cardano.Binary.ToCBOR.ToCBOR (CompactForm s0),
         cardano-binary-1.5.0:Cardano.Binary.ToCBOR.ToCBOR s0,
         base-<IP_ADDRESS>:Data.Typeable.Internal.Typeable s0,
         (nothunks-<IP_ADDRESS>:NoThunks.Class.NoThunks (TxBody era0),
          Eq (TxBody era0), Show (TxBody era0),
          cardano-binary-1.5.0:Cardano.Binary.FromCBOR.FromCBOR
            (cardano-binary-1.5.0:Cardano.Binary.Annotated.Annotator
               (TxBody era0)),
          cardano-binary-1.5.0:Cardano.Binary.ToCBOR.ToCBOR (TxBody era0),
          Shelley.Spec.Ledger.Hashing.HashAnnotated (TxBody era0) era0))
      Use -freduction-depth=0 to disable this check
      (any upper bound you could choose might fail unpredictably with
       minor updates to GHC, so disabling the check is recommended if
       you're sure that type checking should terminate)
    • In the second argument of ‘(.)’, namely ‘_body’
      In the second argument of ‘(.)’, namely ‘_certs . _body’
      In the second argument of ‘(.)’, namely ‘toList . _certs . _body’
    |
583 |     certs = concatMap (reverse . toList . _certs . _body)
    |                                                    ^^^^^

I dropped ghc-8.6.5 because it doesn't build due to the above mentioned error.
Can come back to it if necessary.


support dotty assignments in diagnostics

Closes https://github.com/posit-dev/positron/issues/4544.

I have read the CLA Document and I hereby sign the CLA

We're going to move to a typed syntax API that will be easier to write and review, and to rowan for untyped nodes which will insulate us from tree-sitter.

I assume this tooling is still somewhat far down the line? If so I'd hope we can still take this in the interim since it's a relatively small + isolated change.

Test failure appears unrelated (but frightening):
Caused by:
  process didn't exit successfully: `/home/runner/work/ark/ark/target/debug/deps/data_explorer-9c0079d3ec061369` (signal: 11, SIGSEGV: invalid memory reference)

@kevinushey would you mind if I merged this in after doing the rest of the tree-sitter sync I'm currently working on? It touches the diagnostics file a lot and I think itll be easier to handle the conflicts by merging mine then laying in this on top


New to Gulp but Seems Like it Should Be Working

Anytime I update the _.config.scss file - I keep getting the below error with Gulp running (and CSS doesn't compile):
'sass' errored after 4.79 ms
[12:17:07] TypeError [ERR_INVALID_ARG_TYPE]: The "id" argument must be of type string. Received type object
at Module.require (internal/modules/cjs/loader.js:631:11)
at require (internal/modules/cjs/helpers.js:20:18)
at requireFn (/Users/lindseyjones/Github/sitename/node_modules/gulp-load-plugins/index.js:37:14)
at Object.get (/Users/lindseyjones/Github/sitename/node_modules/gulp-load-plugins/index.js:68:18)
at Gulp. (/Users/lindseyjones/Github/sitename/gulpfile.js:44:21)
at module.exports (/Users/lindseyjones/Github/sitename/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/lindseyjones/Github/sitename/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/Users/lindseyjones/Github/sitename/node_modules/orchestrator/index.js:214:10)
at Gulp.Orchestrator.start (/Users/lindseyjones/Github/sitename/node_modules/orchestrator/index.js:134:8)
at Gulp. (/Users/lindseyjones/Github/sitename/node_modules/gulp/index.js:36:18)
Am I missing something that should be installed with the framework? Thank you,

@perichus actually I got gulp to run the compiler and the files within the SCSS folder are updating to the wire.css but not to wire.min.css. The original problem was that I needed to install gulp sass and gulp-load-plugins via npm. Appreciate any insight on this last quirk and apologies if it's user error.. Thanks so much


[TW#24183] openssl - ssl_pm_reload_crt() is incorrectly mapping verify_mode values to mbedtls modes

The code was treating the verify_mode as a value, it is actually a flag that can consist of several or'ed together values. It was also mapping SSL_VERIFY_FAIL_IF_NO_PEER_CERT to MBEDTLS_SSL_VERIFY_OPTIONAL but SSL_VERIFY_FAIL_IF_NO_PEER_CERT means that the verification is NOT optional.
Pull request to fix the issue at: https://github.com/espressif/esp-idf/pull/2162
Other people have caught the same issue with the openssl to mbedtls mapping but not sure that they are using esp-idf or not, https://github.com/warmcat/libwebsockets/blob/master/lib/tls/mbedtls/mbedtls-server.c#L38

Closing since PR #2162 has been merged.


Do not dismiss failures prior to serialization

Thanks @BenFradet. Do we have a sense yet of what kinds of scenarios could lead to events failing pre-serialization?

Haven't looked into that yet but when inspecting the logs I noticed a few times that groups of messages seem to reach this https://github.com/snowplow/kinesis-s3/blob/master/src/main/scala/com.snowplowanalytics.snowplow.storage.kinesis/s3/S3Emitter.scala#L121 but are never heard of again that's what made me look into this in the first place.


Tweak 3 validation error messages on 'Health: Brain injury' page

Tweak 3 validation error messages on 'Health: Brain injury' page
As per Trello 376
Screenshots of UI changes

 Health subsection - Brain injury


update dpkg to open updated chrome pacakge

Coverage remained the same at 98.913% when pulling f37aabe190b522e8d121e54027f73aa406fe7bc4 on maxrandolph:mrandolph/patch-1 into 7900317e03df922e5aba8b812b0ed55da76772fb on tableau:master.


Incorrect link on VM page

At https://docs.microsoft.com/en-us/azure/virtual-machines/, the "See more" link under the "Windows virtual machines" box sends the user to https://docs.microsoft.com/azure/virtual-machines/linux/ when it should instead send the user to https://docs.microsoft.com/azure/virtual-machines/windows/.

Thank you @smcoll. I've opened a PR to fix this.


Demo.py not running as expected

Hi @aharley, I love your work and am trying to use it to track particles across videos for a project. However, when I cloned the repo, installed the packages in requirements.txt, and tried to run demo.py, I get both a KeyError and OSError.
Here is the entire terminal output:

From looking at this output and the demo.py file, it looks to me like both the print statements on lines 96 and 107 print the expected output, but my guess is that the log_dir parameter of SummaryWriter on line 110 is causing the errors. I would really appreciate any advice on how to fix this error so demo.py runs correctly.

I see! Looks like you are running this on windows. Do you have access to a unix machine you could try this on?
Anyway, if you're lucky, this might be easy to fix. Windows does not like colons. So, try deleting this line:
model_name = model_name + '_' + model_date
(since model_date has a colon inside it)


[diffusers]: Model Manager Web UI

Model Manager UI needs some changes to support diffusers models:

Description: this stays the same!
~Config~: remove; a model's config file is always in a standard location in its directory.
Model Location: needs to offer two options:

path for a local filesystem path, OR
repo_id for a model hosted on 🤗, e.g. CompVis/stable-diffusion-v1-4

VAE Location: needs the same path or repo_id option as Model Location.

There might be a use case for subfolder as well, as some repositories are only a VAE like stabilityai/sd-vae-ft-mse, but you might also want to load just the VAE from a repository that has one in a subdirectory, like runwayml/stable-diffusion-v1-5 subfolder=vae. Or maybe we define some syntax (like a colon separator) to make that part of a single string?

~Width~ and ~Height~: remove; we get these from the model's own settings.

plus maybe some indication of whether a model hosted with a repo_id is locally cached or not?

This will need rewriting of how the models.yaml is handled on the backend. Once @lstein does it on the backend, I'll make the necessary changes to the frontend.

VAE Location: needs the same path or repo_id option as Model Location.
There might be a use case for subfolder as well, as some repositories are only a VAE like stabilityai/sd-vae-ft-mse, but you might also want to load just the VAE from a repository that has one in a subdirectory, like runwayml/stable-diffusion-v1-5 subfolder=vae. Or maybe we define some syntax (like a colon separator) to make that part of a single string?

I'm writing the support for vae subfolders. Here is what I understand the task to be. Please confirm.
Case 1: No VAE entry (already supported)
stable-diffusion-2.1:
  description: Stable Diffusion version 2.1 diffusers model (5.21 GB)
  repo_id: stabilityai/stable-diffusion-2-1
  format: diffusers

In this case, we just load the diffuser model and whatever vae model is in the vae subdirectory will be used by default.
Case 2: VAE-specific model entry (already supported)
stable-diffusion-2.1:
  description: Stable Diffusion version 2.1 diffusers model (5.21 GB)
  repo_id: stabilityai/stable-diffusion-2-1
  format: diffusers
  vae:
      repo_id: stabilityai/sd-vae-ft-mse

In this case, we download the vae, load it, and replace the main model's VAE with this one.
Case 3: VAE in a subfolder of another model (not supported)
stable-diffusion-2.1:
  description: Stable Diffusion version 2.1 diffusers model (5.21 GB)
  repo_id: stabilityai/stable-diffusion-2-1
  format: diffusers
  vae:
      repo_id: runwayml/stable-diffusion-1.5
      subfolder: vae

In this case, we're going to load the model located in runwayml/stable-diffusion-1.5 subdirectory vae and replace the main model's VAE with this one.
Is this the correct behavior?

Yep, that describes the places to find VAE models. 👍

repo_id for a model hosted on 🤗, e.g. CompVis/stable-diffusion-v1-4
Is it possible to have a repo_url instead? For 🤗 domains, it would use diffusers native functionality and for other domains it would download the model and pass the path to diffusers.

The model_manager backend does accept a URL for ckpt-based models when calling add_model(). It downloads and then installs.

@blessedcoolant - Are you working on this? It's the last must-have feature before we merge.

I'm a little busy for the next 2-3 days but I'll try to see if I can find the time in between. If not, I can do it after.
But maybe in the meanwhile, you could still merge it to main and I can hotfix the model manager UI afterwards.
That way people can test out the rest of the stuff if they wish to.

More or less done. Might need to clean up how the VAE's are found but the rest of it is good to go I think. Added to the diffusers PR to try. Not built yet. So need to launch in dev mode.

done, diffusers models can be added and edited with the web model manager.
Some functions, like converting model formats, are not yet in the web UI.


Incremental save of annotation.

@azhavoro
I found bug in this patch. I tried next scenario:

I opened a annotation task.
I remove all annotation by click "Remove annotation" button
I created any bounding box
I saved it and got 400 error.
I saved it again and it was successful.
I updated page and I saw old annotation together with new annotation.

@azhavoro
Also after client parsed an annotation file without client_id field, we have situation when all objects have index -1. I think it isn't right.

@azhavoro
Other bug in a scenario:

I opened task (it was a interpolation task, but I think it doesn't matter)
I uploaded annotation file without client_id fields.
I saved job. It was successful.
I moved any box.
I saved it again and I got 400 error.
Each next save also returned 400 code.

@azhavoro
ReID doesn't work with this patch. I checked it.


jni_mh.h with jint as 32-bit long

I got jni-bind working on Windows but needed to work-around a difference in how Oracle JDK 19 defines jint.
On Linux:
typedef int jint;

On Windows (comment from the JDK preserved):
// 'long' is always 32 bit on windows so this matches what jdk expects
typedef long jint;

If I compile on Windows, I get TMP errors:
src/main/c/jni_bind_release.h:507:19: error: static assertion failed due to requirement 'AllUnique_v<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>': FindIdxOfVal only operates on unique sets.
  507 |     static_assert(AllUnique_v<Ts...>,
      |                   ^~~~~~~~~~~~~~~~~~
src/main/c/jni_bind_release.h:513:40: note: in instantiation of template class 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<void>>::StaticAssertWrapper<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
  513 |   static constexpr std::size_t value = StaticAssertWrapper<Ts...>::value;
      |                                        ^
src/main/c/jni_bind_release.h:518:40: note: in instantiation of static data member 'jni::metaprogramming::FindIdxOfVal<jni::IsConvertibleKey<void>>::value<void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
  518 |     FindIdxOfVal<Comparator>::template value<Ts...>;
      |                                        ^
src/main/c/jni_bind_release.h:760:26: note: in instantiation of variable template specialization 'jni::metaprogramming::FindIdxOfValWithComparator_idx<jni::IsConvertibleKey<void>, void, unsigned char, bool, signed char, short, long, float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view, jni::RefBaseTag<_jstring *>, _jobject *, jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *, jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>, jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>, _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *, jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>, jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>, _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *, jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *, jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>' requested here
  760 |       TypeOfNthElement_t<FindIdxOfValWithComparator_idx<Comparator, Keys_...>,
      |                          ^
 ... etc etc

Full gist here.
I'm not above changing the typedef in the JDK, but if it is possible to make jni-bind tolerant of the types encapsulated by jni_md.h that would be even better.
Either way, for my own edification, what I don't entirely grok is why the template specialization is failing to begin with. I don't see it. The jlong type is on Windows is:
typedef __int64 jlong;

There is no actual difference in the types on Windows and Linux. The types are unique (32-bit and 64-bit literals). Yet AllUnique<> fails.

Thanks for taking a look at this and for the detailed context in your bug.   Also, please be aware of https://github.com/google/jni-bind/issues/197 which first mentions this.
I believe the issue is arising here:
https://github.com/google/jni-bind/blob/main/implementation/proxy.h#L53
proxy.h and its counterpart proxy_definitions.h describe the mappings that JNI Bind uses to map the declaration (i.e. Method<jlong>{}) to what the argument lookup should be (e.g. jlong).
Unfortunately, if these two types are the same, it's going to complicate what that declaration should look like.  The compiler won't be able to differentiate between the two.  i.e.
typedef  int A ;
typedef int B  ;

static_assert(std::is_same_v<A, B>);  // compiler treats as identical.

On the one hand, it's good JNI Bind catches this (it is a goal to prevent widening or shortening, real bugs that have occurred on non-JNI Bind code I've worked on), on the other, it's a shame that this is a deficiency.
I'm not sure what's right here. I think a syntax like follows makes sense:
static constexpr jni::Class { "kClass",
  jni::Method { "intM",  jni::Return<void>{}, Params { jint{} } },
  jni::Method { "longM",  jni::Return<void>{}, Params { Type<jlong>{} } },
  jni::Method {
       "overloadM",
       jni::Overload { jni::Return<void>{}, Params { Type<jint>{} } },
       jni::Overload { jni::Return<void>{}, Params { Type<jlong>{} } },
  },
};

LocalObject<kClass> obj{};
obj("intM", 1);  // Fine
obj("intM", jlong{1}); // Impossible to prevent, won't compile on Linux, doesn't shorten or widen
// obj("intM", jlong{BIG_VAL}); // Compiles *nowhere*, would cause shortening.
obj("intM", jint{1}); // Compiles everywhere.

obj("longM", 1);  // Impossible to prevent, compiles everywhere.
obj("longM", jlong{1}); // Compiles everywhere.
obj("longM", jlong{BIG_VAL}); // Compiles Linux only, Windows complains of shortening.

// obj("overloadM", 1);  // FAILS on *Windows only*, ambiguous.
obj("overloadM", jint{1});  // FAILS on *Windows only*, ambiguous.
// obj("overloadM", jlong{1}); // FAILS on *Windows only*, ambiguous.
// obj("overloadM", jlong{BIG_VAL}); // FAILS on *Windows only*, ambiguous.

I actually am not sure what the best way around this is.  I'm definitely open to a different syntax than above, but, JNI Bind relies heavily on making inferences from types.  If those types become ambiguous, thins become tricky.  The above is basically forcing no implicit conversions.
I'd also be open to having some kind of "ambiguity ranking" where things work without ambiguity, but anything ambiguous  that isn't the default (e.g. int vs long) requires being explicit.
What do you think?

I think AllKeys is the culprit too, but I don't get entirely what is causing the collision, since on llvm/clang x86_64-pc-windows-msvc, jint is a 32-bit long and jlong is __int64.
You could do a syntax like Type<>. My gut says in those examples with literals, if you really want jlong, you need to decorate with a C-language LL, because in Java, a long is a 64-bit integer.
Ideally this code should compile as-is without further decoration.
JNIEXPORT void JNICALL Java_com_coralblocks_javatocppandback_jni_1bind_HelloWorld_goToNativeSide
  (JNIEnv *env, jclass klass, jint x, jstring msg) {
   static constexpr jni::Class kClass {
      "com/coralblocks/javatocppandback/jni_bind/HelloWorld",
      jni::Method {
          "sayHello",
          jni::Return < void > {},
          jni::Params < jint , jstring> {}
      }
    };
    jni::LocalObject < kClass > helloWorld {};
    helloWorld("sayHello", x, msg);
}

Only one method matches on all platforms, regardless of how the jdk typedefs int. If you're saying that needs to be  jni::Params < Type<jint> , jstring> then I suspect everyone will just end up using that as the defacto syntax.

Hmm that's strange you're seeing that collision there if the types are different.  Wasn't the entire issue that it was being defined as 32 bit but only on Windows? Are you sure it's the same two types colliding?

I agree the syntax above should be the "defacto syntax", after all, that's the syntax notwithstanding these failures.  Type is bloating the declaration a lot.
The problem is, that if there's a platform where jint and jdouble are indistinguishable, there's no way JNI Bind knows what method signature to use, because you don't know if Params has jint of jdouble.
Perhaps better would be if some arbitrary order is imposed on jint and jdouble. If you use it on Linux, it just works (like normal), but if you use it on Windows you have to say Type<jdouble> if you want jdouble, but not for jint.
This has the downside that folks can now compile something that basically doesn't work (if you pass an int and you incorrectly use jdouble in your definition, you will lookup the int method).  The upside is that we can warn folks if they use a double with int declared (when they meant to say Type<jdouble>).

32 bit but only on Windows

No, jint is 32-bit on WIndows and 32-bit on Linux. Because Java int is 32-bits everywhere in the universe. The difference is Linux defines jint as:
typedef int jint;

And Windows defines it as:
// 'long' is always 32 bit on windows so this matches what jdk expects
typedef long jint;

If I take a big hammer and make the typedef to a C int on Windows, all is well with jni-bind.
// 'long' is always 32 bit on windows so this matches what jdk expects
typedef int jint; // local change long -> int  --KC

Nothing material changes, because both C long and C int are 32-bit on  llvm/clang x86_64-pc-windows-msvc.
But without that change, jni-bind fails to compile with the gist from earlier.
In all universes, both Linux and Windows, this code below will assert regardless of whether it is jint is  C long or C int. Because of course it does. A Java long is 64-bit on all platforms.
#include <type_traits>
#include <jni.h>

/*  Linux
        JAVA_HOME="/usr/lib/jvm/java-19-openjdk-amd64"
    Windows:
        JAVA_HOME="C:/Program Files/Java/jdk-19"
 */
int main(int argc, char *argv[])
{
    static_assert(static_assert(std::is_same_v<jlong, jint>); )
}

The problem is, that if there's a platform where jint and jdouble are indistinguishable

There is no platform where jint and jlong (sic) are indistinguishable. They are not the same. What does happen is jni-bind fails to compile if jint is typedef long and not int.

I took this a little further, but couldn't take it home. Some ascii art annotations on the error message inline commented with AllKeys from
// error: static assertion failed due to requirement
// 'AllUnique_v<void, unsigned char, bool, signed char, short, long,
//                   jchar^    jboolean^    jbyte^  jshort^      ^<- that's jint on x86_64-pc-windows Oracle JDK 19
//    float, long, long long, char, unsigned short, double, std::string, _jstring *, char *, const char *, std::string_view,
// jfloat^    |      |     jchar^      jbyte^   jdouble^
//     wut?!->^      ^<- jlong everywhere
//    jni::RefBaseTag<_jstring *>, _jobject *,
//    jni::RefBaseTag<_jobject *>, jni::LoaderTag, jni::Object, jni::Self, _jarray *,
//    jni::RefBaseTag<_jarray *>, jni::ArrayTag<_jarray *>, _jobjectArray *, jni::RefBaseTag<_jobjectArray *>,
//    jni::ArrayTag<_jobjectArray *>, _jintArray *, jni::RefBaseTag<_jintArray *>, jni::ArrayTag<_jintArray *>,
//    _jbooleanArray *, jni::RefBaseTag<_jbooleanArray *>, jni::ArrayTag<_jbooleanArray *>, _jbyteArray *,
//    jni::RefBaseTag<_jbyteArray *>, jni::ArrayTag<_jbyteArray *>, _jcharArray *, jni::RefBaseTag<_jcharArray *>,
//    jni::ArrayTag<_jcharArray *>, _jshortArray *, jni::RefBaseTag<_jshortArray *>, jni::ArrayTag<_jshortArray *>,
//    _jdoubleArray *, jni::RefBaseTag<_jdoubleArray *>, jni::ArrayTag<_jdoubleArray *>, _jfloatArray *,
//    jni::RefBaseTag<_jfloatArray *>, jni::ArrayTag<_jfloatArray *>, _jlongArray *,
//    jni::RefBaseTag<_jlongArray *>, jni::ArrayTag<_jlongArray *>>': FindIdxOfVal only operates on unique sets.

// CDecls for all declarable types (these index into proxy definitions).
using AllKeys =
    Corpus_t<JniUserDefinedCorpusTag, void, jboolean, jbyte, jshort, jint,
             jfloat, jlong, jchar, jdouble, jstring, jobject, Self, jarray,
             jobjectArray, jintArray, jbooleanArray, jbyteArray, jcharArray,
             jshortArray, jdoubleArray, jfloatArray, jlongArray>;

If we can explain where that "extra" long is coming from in the template pack, we've explained the problem. I went down the rabbit hole of how the whole pack is constructed, but alas as of this writing cannot. It is not coming from <include/win32/jni_mh.h>. That supplies the first long (for jint) and the long long (for jlong).

Here is the culprit:
template <typename LongType>
struct Proxy<LongType,
             typename std::enable_if_t<std::is_same_v<LongType, jlong>>>
    : public ProxyBase<jlong> {
  using AsArg = std::tuple<long, jlong>;
  using AsDecl = std::tuple<long, jlong>;

  template <typename OverloadSelection, typename T>
  static constexpr bool kViable = IsConvertibleKey<T>::template value<long> ||
                                  IsConvertibleKey<T>::template value<jlong>;

  static jlong ProxyAsArg(jlong val) { return val; }

  // jlong is a smaller type on ARM than x86.
  // When jlong is not equivalent, we upcast to the wider type.
  template <typename T,
            typename = std::enable_if_t<std::is_same_v<T, long> &&
                                        !std::is_same_v<jlong, long>>>
  static jlong ProxyAsArg(T val) {
    return jlong{val};
  }
}

Which is probably what you were trying to say earlier. A jlong (aka Java long aka Java Long) is a C long long everywhere.
As to the Type<> syntax, sure, I guess, if you think that will address the problem. Whatever solution so long as the below compiles everywhere, as it is not ambiguous anywhere.
extern "C" JNIEXPORT void JNICALL Java_com_example_jnicalc_JniTest_greet(
    JNIEnv*, jclass, jstring jmsg, jobject jcallback)
{
    static constexpr jni::Class kClass{
        "com/example/jnicalc/JniTest",
        jni::Method{
            "hello",
            jni::Overload{ jni::Return<void>{}, jni::Params{ jint{}, jlong{} } },
            jni::Overload{ jni::Return<void>{}, jni::Params{ jlong{}, jint{} } },
        }
    };
    jni::LocalObject<kClass> obj{};
    jint one{1};
    jlong two{2};
    obj("hello", one, two);
    obj("hello", two, one);
}

> Task :CalcApplication.main()
hello (int, long) -> (1, 2)
hello (long, int) -> (2, 1)
leaving

Right now this fails to compile.

Thanks for the super detailed bug descriptions.  I think I understand what's up, it may take me a bit to get a fix in place, I'll try to get back ASAP.

Apologies for taking so long, I did try to dig into this further this weekend but frustratingly, getting a setup to repro the issue has been tricky.
Long story short, I tried forcing the types as you've described above, but couldn't repro on my Linux box, probably because of subtleties with other types.  I then tried to put together a Windows box with MSVC, but realized I was wasting time putting together environment so I gave up, and tried to compile JNI Bind with Godbolt.
This got further, but I started to run into independent issues just compiling JNI Bind at all (and the issues are occurring well before the above failure).  E.g. ValsEqual doesn't even work with MSVC: Godbolt (code is slightly reduced for brevity).  This looks like a compiler bug to me.
I've been slowly knocking out these other issues (they will need to be fixed anyways), but, what are you compiling JNI Bind with so that it get's close on Windows?
My gut tells me that adding Proxy definition for int  which conditionally enables an additional Proxy definition for otherly sized ints is maybe going to help (I think the AllUnique is a red herring), but it's hard for me because as I said I'm struggling with repro.
Sorry for the delay,

E.g. ValsEqual doesn't even work with MSVC. You can get it from the llvm-project here, ie LLVM-17.0.2-win64.exe

It won't compile with MSVC. Environment is llvm/clang x86_64-pc-windows-msvc aka clang-cl.exe. My local fix for what it is worth, is this at here:
#ifndef _MSVC_LANG
template <typename LongType>
struct Proxy<LongType,
             typename std::enable_if_t<std::is_same_v<LongType, jlong>>>
    : public ProxyBase<jlong> {
  using AsArg = std::tuple<long, jlong>;
  using AsDecl = std::tuple<long, jlong>;

  template <typename OverloadSelection, typename T>
  static constexpr bool kViable = IsConvertibleKey<T>::template value<long> ||
                                  IsConvertibleKey<T>::template value<jlong>;

  static jlong ProxyAsArg(jlong val) { return val; }

  // jlong is a smaller type on ARM than x86.
  // When jlong is not equivalent, we upcast to the wider type.
  template <typename T,
            typename = std::enable_if_t<std::is_same_v<T, long> &&
                                        !std::is_same_v<jlong, long>>>
  static jlong ProxyAsArg(T val) {
    return jlong{val};
  }
};
#endif


pull request for e2e test at 12/19/2016 08:15:17

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update the NOTICE file for images

For images created by ourselves, we should explain them in the NOTICE file.

addressed by https://github.com/apache/singa/commit/adc72effea359796d1aa2c3e19f4dd2950c099ad


./SocialFish password

./SocialFish user password needed.

Wiki: https://github.com/UndeadSec/SocialFish/wiki


Forced to add callback

In your README for dndb you say that a callback for insert is optional, but when i use it, Type yells at me and tells me that I have to add a callback

I think you only need to add a ? after cb

I'll put in a PR later to fix it

Yes buddy, it's a silly mistake, sorry. If you want to fix it, go ahead, it's great for me that there are people interested in improving DnDB, thanks.


Feature/fix styling for pages

Closes #10
Added bootstrap to index.html file, class names already present on HTML tags are now working.
Added react-bootstrap package to ease styling by adding component with built-in bootstrap classes (ie Grid, Row, Col, Button, etc...).
Added webpack config in css-loader to allow modular css, and added a few examples (App.css, NavBar.css).

@aamato1990  You added the test:update script, is this something that needs to be manually run when updating the snapshot related files?  If so, you should update the readme to reflect this.  Otherwise it looks good, and I'll approve the review.

@BWortman @JVanderford  I've pushed a commit to address the failing test.  when trying to checkout that commit, you'll likely see this message:

Just remove the snapshots folder, as I've committed it to source control now.
After that, the test should run.
I've documented the update snapshot process in the README as well.  Let me know your thoughts.

@JVanderford  yes, with just the -u option.  I'll add that note to the README.


BEM lint should allow block's/element's boolean modifier in shorthand.

Hi, I wouldnt consider myself a BEM expert, and fairly new to using it, but currently the BEM lint only allows block's/element's boolean modifier in key-value format.
For example:
block-name_mod-name_mod-val // allowed
block-name_mod // not
block-name__elem-name_mod-name_mod-val // allowed
block-name__elem_mod // not
Shouldn't block-name_mod  and block-name__elem_mod be allowed? Or in writing BEM when using a modifier shouldn't it always be in key-value format?

Hey @christophercochran,
It sounds like you are trying to use the hyphenated_BEM convention, not BEM? See the discussion in #335 for more information.
Others have been tripped up by this as well, so we may call greater attention to this by renaming BEM to strict_BEM.

@sds From my understanding hyphenated_BEM is for writing  BEM like classes like:
block-name--mod
block-name__elem--mod
where the modifier is delimited by a '--' (double hyphen) instead of '_' (single underscore).
block-name_mod
block-name__elem_mod
is following BEM naming convention set by BEM (https://github.com/bem/bem-naming/blob/master/README.md) and would use a single underscore instead of the double hyphen, so should still be within the convention of BEM and not hyphenated_BEM.
block-name_modifier_value
block-name__elem_modifier_value
are currently allow, but sometimes is simpler to just write block-name_mod. Unless I am wrong and block-name_mod is not allowed, but in the link above it seems that it should be.

It seems like your understanding is correct. Unfortunately, our team does not use strict_BEM ourselves, but hyphenated_BEM, so I'm not familiar enough with the definition of strict_BEM to really speak to this issue.
The original regex was provided by @mrpavlikov, who I believe is also using strict_BEM. @mrpavlikov, can you speak to this issue at all?
@christophercochran if you provide me a modified regex that matches the cases you expect and include some tests, I would happily merge a pull request. Thanks!

Hello everyone!

Or in writing BEM when using a modifier shouldn't it always be in key-value format?

Yes, correct, only key-value pair, like in when you are writing css you writes what property will have which value. Same applies to modifiers, you are saying what will be modified and which way. Check this out: https://en.bem.info/method/definitions/#modifiers-for-blocks

A modifier has a name and a value.

@mrpavlikov Thank you for your explanation. I saw one mention of boolean statements, but now that I think of it, in the world of CSS, these would be few anyways, and having the name and value does give more detail into what the modification is. Thank you again!


Make sqlalchemy Object column policies configurable

Right now it is not easily possible to use a different column policy when using the Object type. This commit makes it easier and is backwards compatible.
Due to as_mutable() always returning an instance, it is not possible (to my knowledge) to extend the Object type "the sqlalchemy way" eg.
# default Object column
object1 = Column(Object)

# throws TypeError because Object is already an instance
object2 = Column(Object('dynamic'))

My solution is a little verbose, extends the api, the naming is also not optimal. if it is too much, you could keep only the changes from the _Craty class and they would still make configuring column policies way easier eg.
# complete solution
object1 = Column(StrictObject)

# minimal change solution
object2 = Column(MutableDict.as_mutable(_Craty('strict')))

Thanks for the contribution.
I'm not sure if it is a good idea to have explicit classes for each column_policy.
Instead I could imagine having a factory method. Something like:
def object(column_policy):
    return MutableDict.as_mutable(_Craty(column_policy))

But I think before adding something like that we should take a look at how we can support specifying nested columns.
It should eventually be possible to specify something like e.g.
create table t (
    obj (strict) as (
        name string
    )
 )

I think I've played around with that before at a Hackathon but never got around to finish it. I'll see if I still have something of that lying around.

Thanks for your feedback, I completely forgot about nested columns.
I realized that I will need nested columns support too, so I will close this pull request for now and
should I implement nested columns before you do I will create a new pull request.

Okay, would be cool if you can come up with something.
this was the thing I'd been playing around with: https://github.com/crate/crate-python/commit/6a2ea2f6e323c9db36fc155fe84cc21dbf216e4f#diff-c7f6cb482c711062006a50210b16ecc5R25
But I think the change tracking didn't work correctly (which is required to generate correct update statements. E.g that a statement like update t set obj['x'] = ...  is generated instead of update t set obj = {x = ...}


Verify the error bitmask

The error bitmask doesn't look correct:
[18:05:14][D][sensor:127]: 'solar_charger error bitmask': Sending state 24576.00000  with 0 decimals of accuracy

Done.


PPD-89: Removing pin phone service until build and version restored

Closing - found out why my service was providing nulls and fixed it!

Closing - found out why my service was providing nulls and fixed it!


Example Builds

When I build all the examples from the website, they all crash except helloworld, and metaballs. I used visual studio 2015, to build them and tried in both Debug and Release settings. Any reason why they would all crash but the two?

Most of the examples require shader/texture/mesh data to be loaded. When running
examples your current directory should be examples/runtime.

https://bkaradzic.github.io/bgfx/examples.html#examples

Oh, didn't see that, thanks.


Corrected Malformed YAML

The metadata.yml file is malformed, which is likely stopping GTM from being able to process the template.
This PR just fixes the formatting

Looks fine.


MCON-1623: add editor to v3/campaigns docs

Description of the change:
Reason for the change:
Link to original source: https://jira.sendgrid.net/browse/MCON-1623
@ksigler7

this code will go live 8/16

LGTM


[Feature Request] Compatibility with Link Range plugin

The Link Range plugin allows one to link to a range of headings using a [[note#h1..h2]] syntax. SNW does not seem to see these types of links, as they do not appear in any reference counters. What is the feasibility of getting SNW to see these links, given that it uses the Obsidian link cache?

This is a cool plugin, but it is basically adding its own linking system to Obsidian. Obsidian doesn't have native support for what this plugin is doing and thus isn't reflected in its internal database. SNW uses the internal database to identify these links. Unfortunately, it is beyond until Obsidian adds this natively, which I would like!


click the last Button(lowest) in LGAlertViewStyleActionSheet's buttonTitles,didn't do anything?what's wrong~?please help

eg:  LGAlertView *alert = [[LGAlertView alloc] initWithTitle:@"type" message:@"msg" style:LGAlertViewStyleActionSheet buttonTitles:@[@"aliPay",@"weixin"] cancelButtonTitle:@"cancle" destructiveButtonTitle:nil actionHandler:^(LGAlertView *alertView, NSString *title, NSUInteger index) {
NSLog(@"%lu",(unsigned long)index);
} cancelHandler:^(LGAlertView *alertView,BOOL onButton) { } destructiveHandler:^(LGAlertView *alertView) { }];
when i clicked the button named @"weixin" ,but it seems do nothing.then the alert dealloced.

ooo!! I fixed it myself;  the version in cocoaPods is too old,change to the latest version 2.0.13,can solved this bug.


Use unique pubsub subscriptions and topics in reg tests

This PR changes the pubsub regression tests so they only use unique topic and subscription names so names do not conflict between parallel-running Travis instances (largely the reason for our existing issues with these tests). Also they only delete the topics and subscriptions they create (and they should delete every single one they create).
PS: More deletions than additions! :dancer:

Sweet!


Can't override default configuration

I can't seem to override the default configurations. My code is set up just like it was before version 1.0 except for the updates needed for version 1.0.
i.e changing backgroundImage to configuration.backgroundImage
It seems as though it's initializing with the defaults before it hits my own in ConfigureAppearance()

No worries! haha
Hmm so you're setting up the configuration from outside the LoginCoordinator? You're not subclassing.
Now that you can use the View Controller's separately, I did design it so that you must configure the view controller before calling super.viewDidLoad().
But I'll look into your issue, which is different because it's in the coordinator not the viewcontrollers, and see if it should be designed differently.
Could you share some code? How it did not work and how it does work now?
Thanks!

Ah, I found what my issue was. I was still calling configureAppearance() after super.start()
After switching those two around it works as you designed now!

Oh ok. Awesome! Glad it works now!

omg, I meant the same issue. It took me an hour to update the old code.
Could anybody add more suggestion for the other guys?


boxplot simplification + colors

seems to me boxplot could be simplified by taking in an array of arrays?
boxplot([rand(30), rand(50), rand(10)])

then e.g. plotting three boxes for the petal length of the iris data set, grouped by species, is as easy as:
boxplot([df_iris_species[:, :PetalLength] for df_iris_species in groupby(df_iris, :Species)])

right now it's not too trivial to make this.
another thing: seems I cannot make the boxes three different colors, unless I use dodge.
full code needed to see petal length distributions grouped by species:
using RDataSets

df_iris = dataset("datasets", "iris")
species_to_position = Dict(zip(unique(df_iris[:, :Species]), 1:3))

petal_lengths = zeros(nrow(df_iris))
positions = zeros(Int, nrow(df_iris))
for (i, row) in enumerate(eachrow(df_iris))
    petal_lengths[i] = row[:PetalLength]
    positions[i] = species_to_position[row[:Species]]
end
# maybe a flatten or list comprehension to do this more easily using the groupby

fig5 = Figure()
ax5 = Axis(fig5[1, 1],
title="irises",
	  ylabel="petal length",
xticks=(1:3, unique(df_iris[:, :Species]))
)
# comment shows what I wish I could do
boxplot!(positions, petal_lengths)#, color=ColorSchemes.Accent_3)
current_figure()

ohhhh, I see an example. lmk if a PR is welcome with an example like this in the docs.... :smile:
for (i, df_by_species) in enumerate(groupby(df_iris, :Species))
    boxplot!(i * ones(nrow(df_by_species)), df_by_species[:, :PetalLength])
end


Frontend: Homepage for kurakoo

Proposal
I would like to code out the landing page/ HomePage for kurakoo as per this design

Please assign it to me

Assigned to you. Go ahead @hardik7e

Thank you @ir2010

Kindly assign me this issue under GSSOC 2021.

Can I work on this issue?

Issues are to be assigned on first come first serve basis. If a valid PR is not created within 4 days, the issue will be assigned to someone else.

The issues are to be assigned on first come first serve basis. If a valid PR is not made within 4 days, the issue may be assigned to someone else.


Tectonic-Ingress

Issue Report Template
Tectonic Version
1.8.4-tectonic.3
Environment
BareMetal
What hardware/cloud provider/hypervisor is being used with Tectonic?
VMware
Expected Behavior
There is following setup Ingress -> Service (ClisterIP) -> Pods
Traffic coming to any worker node is processed by tectonic ingress (which seems to be nginx ingress)
Tectonic ingress forward traffic to destination pod (doesn't matter on what Node it is scheduled ).
Actual Behavior
Traffic is forwarded to pod only in case it is coming into Node with scheduled pod.
If traffic coming to Node where no Pod related to service specified as backed in Ingress configuration, we get  504 Gateway Time-out
Reproduction Steps

Setup Ingress (with specific hostname), Deployment, Service (ClusterIP)
Set replicas for Deployment less than Nodes
Try to connect to Nodes with http and set host header. Where Pods are scheduled, we get successful routing and reply.
For Nodes where pods are not scheduled we receive 504 Gateway Time-out

Other Information
As per Nginx ingress controller documentation:
The NGINX ingress controller does not use Services to route traffic to the pods. Instead it uses the Endpoints API in order to bypass kube-proxy to allow NGINX features like session affinity and custom load balancing algorithms. It also removes some overhead, such as conntrack entries for iptables DNAT.
Im wondering how to troubleshoot that, or am I understand how it suppose to work in a wrong way.

@yuko11

Traffic coming to any worker node is processed by tectonic ingress

how are you routing traffic? You expect to be able to hit worker-node-ip/my-route and be properly redirected?
I imagine that if you define a hostname in the ingress configuration but then don't use it when you attempt to connect the nginx-ingress-controller won't route properly.

@kbrwn
Thanks, Kyle! Yes, I expect that I can do
curl -H "Host:myhost.local" http://192.168.1.x
where 192.168.1.x is IP of any worker regardless if there is application pod scheduled there or not, and that request reach application

I'm wondering if we need ingress controller deployed in each namespace in Tectonic. Most probably that's the reason of the issue.

Ingress controller nodes show logs: "upstream timed out (110: Connection timed out) while connecting to upstream". It appears that I can't do curl from ingress-controller pod into application pod

Issue is due to network policies. But not really clear how to allow traffic from ingress controller to service pods, which going between Nodes (in case initially request came to Node without application Pod and was source NATed).


[ADMINAPI-34] - Adding e2e tests for claimsets endpoint

Description
Code Fixes and Refactoring

Refactored to only show a single validation message for each distinct duplicate resource in the ResourceValidator.
Refactored to throw the NotFoundException instead of validation failure exception to be similar to other not found cases for the endpoint.
Refactored the EditClaimSet flow to throw an AdminAppException from within the claim set command and catch-rethrow a validation exception with the "System Reserved claim sets" exception message.
Refactored the DeleteClaimSet flow to throw an AdminAppException from within the delete claim set command and catch-rethrow a validation exception with the "System Reserved claim sets" exception message.
Added the additional condition to make sure the claimset exists when validating claimset name change.

E2E Tests

Updated the AdminApi postman collection to add e2e tests for claimsets endpoint.
Please consult the testing section on the ticket for the test cases covered.

Regarding the E2E failure, it looks like the Docker build is set to use a specific Admin API package rather than building an image from the current changes or doing the version substitution like Admin App does. We won't be able to get that passing in this PR without making some other changes. We can consider:

Removing the PR check (so it only builds after a new package is released)

This still will only run using the hard-code version in the Dockerfile. Better option would be to utilize the set-versions script

Adding a "dev" Dockerfile which builds from the current code instead of pulling down from Nuget and utilizing that in the E2E step

Might be best to merge this regardless of that check, but I would suggest we get a passing E2E test with the package published after this change before releasing.

COULD: We might consider appending a GUID to our test claimset name. Currently if we get "halfway" through a run it can end up in an un-repeatable state. We haven't had any unique constraints in features yet so this hasn't really come up, but you can see how to create and insert GUIDs in the Register tests.

COULD: We might consider appending a GUID to our test claimset name. Currently if we get "halfway" through a run it can end up in an un-repeatable state. We haven't had any unique constraints in features yet so this hasn't really come up, but you can see how to create and insert GUIDs in the Register tests.

Good thought. Added the suggested GUID to claimset names.


Update collection samples for collection expressions

Many of our samples create and initialize collections and arrays to create sample data.
These samples are easier to read if we use collection expressions instead of older existing expressions to initialize those data structures.
Once .NET 8 / C# 12 had reached G.A., update samples that use other syntax to create collections and arrays to the new collection expression syntax.
In addition, update the text in the fundamentals section to discuss collection expressions in C# 12.

Associated WorkItem - 157260

Fis shortly after G.A.


Reduce noise in gym

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] 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)

Motivation and Context / Related issue
We want less noise.

How Has This Been Tested (if it applies)

Checklist

[x] The documentation is up-to-date with the changes I made.
[x] I have read the CONTRIBUTING document and completed the CLA (see CLA).
[x] All tests passed, and additional code has been covered with new tests.

For some reason impossible to add @mathuvu as a reviewer...

Can you explain what this does as a comment, because I don't get it at all, it seems obscure to change the noise little by little

For some reason impossible to add @mathuvu as a reviewer...

Added to the nevergrad team

For some reason impossible to add @mathuvu as a reviewer...

Added to the nevergrad team

Thanks @jrapin

Can you explain what this does and why as a comment (so that we can understand when rereading later), because I don't get it at all, it seems obscure to change the noise little by little

Comment added. The goal is to reduce the noise, while not spending more than 20% of the budget of the experiment.


invalid signature on selfhosted docker container

I did the installation on my Docker host (Debian 5.10.149-2) using the instructions.
docker build -t astral . and docker run -d -p 8080:8000 --name astral astral
Astral runs fine so far, the page loads and I can log in using nos2x plugin and see the notes. However, when I now want to make a post, the error message appears: could not publish post: Error: signature provided by custom signing function is invalid.
I have been able to reproduce the error in several browsers. When I open the version at https://astral.ninja, posting works without error. I have also run the installation several times, always with the same result.
Do any of you have any idea what the error could be here?

hey there! I just posted from my localhost without issue so not sure whats going wrong. have you tried logging out your user and then logging back in? just to be sure its signing for the right key

Yes. Even tried with another private key, same result.

I can confirm the same error message as @cercatrova21.
Tried logging out and in as well.

can you confirm you are using http://localhost:8080/ and not the local ip address? someone on nostr reported this fixed the issue for them.

@monlovesmango I was also affected by this issue - I tried connecting to localhost and it does work if you do that! I wanted to put Astral on hy home server and connect to it over the web though, so a fix would be appreciated.

Yes, with local installed version and accessing over localhost, it works. I have also the setup with a homeserver which has multiple docker containers running 24/7 and my goal is, to setup astral there. So also from me, a fix would be very appreciated

ah ok. can you guys try the command below? I use this to run astral in docker on my prod machine (also debian) and its been working without issue.
docker run -d --restart=always -p <local host ip>:<local port>:8000 --name astral astral
and then proxy your home server location to the http://localhost:<local port>. heres what my nginx config looks like (replace 8XXX with your <local port>:
server {
    listen 443 ssl;
    server_name astral.ninja;
    server_tokens off;
    location / {
      limit_except GET {
         deny all;
      }
      proxy_pass 'http://localhost:8XXX';
      proxy_buffering off;
      proxy_set_header X-Real-IP $remote_addr;
      add_header 'Cross-Origin-Opener-Policy' 'same-origin' always;
      add_header 'Cross-Origin-Embedder-Policy' 'require-corp' always;
    }
}

not sure what kind of setup you guys use so this might be a pain. will try to release next version with refactored signing function to see if that resolves the issue.

hey guys I just pushed a new version that has refactored signing. can you see whether you still get the same issue?

Now I can't build the docker image:
docker build --no-cache --pull -t astral .
Sending build context to Docker daemon  370.5MB
Step 1/10 : FROM node:16.16.0-alpine3.16 as build
16.16.0-alpine3.16: Pulling from library/node
Digest: sha256:1c8769a8c9ed57817ef07162744a3722421333a438185c560aa42a9a1fc6ea23
Status: Image is up to date for node:16.16.0-alpine3.16
 ---> b1ca7421d2e7
Step 2/10 : COPY package.json /app/build/package.json
 ---> 0b7965836ab8
Step 3/10 : COPY yarn.lock /app/build/yarn.lock
 ---> c995e11c7fc9
Step 4/10 : WORKDIR /app/build
 ---> Running in 3bb661cf5bff
Removing intermediate container 3bb661cf5bff
 ---> 23d23aa369ef
Step 5/10 : RUN apk --no-cache --virtual build-dependencies add   python3   make   g++   && yarn   && apk del build-dependencies
 ---> Running in 3d895e720293
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
(1/25) Upgrading musl (1.2.3-r0 -> 1.2.3-r2)
(2/25) Installing libbz2 (1.0.8-r1)
(3/25) Installing expat (2.5.0-r0)
(4/25) Installing libffi (3.4.2-r1)
(5/25) Installing gdbm (1.23-r0)
(6/25) Installing xz-libs (5.2.5-r1)
(7/25) Installing mpdecimal (2.5.1-r1)
(8/25) Installing ncurses-terminfo-base (6.3_p20220521-r0)
(9/25) Installing ncurses-libs (6.3_p20220521-r0)
(10/25) Installing readline (8.1.2-r0)
(11/25) Installing sqlite-libs (3.38.5-r0)
(12/25) Installing python3 (3.10.9-r0)
(13/25) Installing make (4.3-r0)
(14/25) Installing binutils (2.38-r3)
(15/25) Installing libgomp (11.2.1_git20220219-r2)
(16/25) Installing libatomic (11.2.1_git20220219-r2)
(17/25) Installing gmp (6.2.1-r2)
(18/25) Installing isl22 (0.22-r0)
(19/25) Installing mpfr4 (4.1.0-r0)
(20/25) Installing mpc1 (1.2.1-r0)
(21/25) Installing gcc (11.2.1_git20220219-r2)
(22/25) Installing musl-dev (1.2.3-r2)
(23/25) Installing libc-dev (0.7.2-r3)
(24/25) Installing g++ (11.2.1_git20220219-r2)
(25/25) Installing build-dependencies (20221227.180348)
Executing busybox-1.35.0-r17.trigger
OK: 229 MiB in 40 packages
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
error Couldn't find the binary git
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command '/bin/sh -c apk --no-cache --virtual build-dependencies add   python3   make   g++   && yarn   && apk del build-dependencies' returned a non-zero code: 1

I tried to add git and openssh into the Dockerfile but now it's complaining about a SSL error instead:
Sending build context to Docker daemon  370.5MB
Step 1/10 : FROM node:16.16.0-alpine3.16 as build
16.16.0-alpine3.16: Pulling from library/node
Digest: sha256:1c8769a8c9ed57817ef07162744a3722421333a438185c560aa42a9a1fc6ea23
Status: Image is up to date for node:16.16.0-alpine3.16
 ---> b1ca7421d2e7
Step 2/10 : COPY package.json /app/build/package.json
 ---> 6b2ae931c3dd
Step 3/10 : COPY yarn.lock /app/build/yarn.lock
 ---> a7e9dc6c3829
Step 4/10 : WORKDIR /app/build
 ---> Running in 9ae28b330993
Removing intermediate container 9ae28b330993
 ---> 90ad0d2bb37a
Step 5/10 : RUN apk --no-cache --virtual build-dependencies add   python3   make   g++   git   openssh   && yarn   && apk del build-dependencies
 ---> Running in 85a4091cef51
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
(1/39) Upgrading musl (1.2.3-r0 -> 1.2.3-r2)
(2/39) Installing libbz2 (1.0.8-r1)
(3/39) Installing expat (2.5.0-r0)
(4/39) Installing libffi (3.4.2-r1)
(5/39) Installing gdbm (1.23-r0)
(6/39) Installing xz-libs (5.2.5-r1)
(7/39) Installing mpdecimal (2.5.1-r1)
(8/39) Installing ncurses-terminfo-base (6.3_p20220521-r0)
(9/39) Installing ncurses-libs (6.3_p20220521-r0)
(10/39) Installing readline (8.1.2-r0)
(11/39) Installing sqlite-libs (3.38.5-r0)
(12/39) Installing python3 (3.10.9-r0)
(13/39) Installing make (4.3-r0)
(14/39) Installing binutils (2.38-r3)
(15/39) Installing libgomp (11.2.1_git20220219-r2)
(16/39) Installing libatomic (11.2.1_git20220219-r2)
(17/39) Installing gmp (6.2.1-r2)
(18/39) Installing isl22 (0.22-r0)
(19/39) Installing mpfr4 (4.1.0-r0)
(20/39) Installing mpc1 (1.2.1-r0)
(21/39) Installing gcc (11.2.1_git20220219-r2)
(22/39) Installing musl-dev (1.2.3-r2)
(23/39) Installing libc-dev (0.7.2-r3)
(24/39) Installing g++ (11.2.1_git20220219-r2)
(25/39) Installing ca-certificates (20220614-r0)
(26/39) Installing brotli-libs (1.0.9-r6)
(27/39) Installing nghttp2-libs (1.47.0-r0)
(28/39) Installing libcurl (7.83.1-r5)
(29/39) Installing pcre2 (10.40-r0)
(30/39) Installing git (2.36.3-r0)
(31/39) Installing openssh-keygen (9.0_p1-r2)
(32/39) Installing libedit (20210910.3.1-r0)
(33/39) Installing openssh-client-common (9.0_p1-r2)
(34/39) Installing openssh-client-default (9.0_p1-r2)
(35/39) Installing openssh-sftp-server (9.0_p1-r2)
(36/39) Installing openssh-server-common (9.0_p1-r2)
(37/39) Installing openssh-server (9.0_p1-r2)
(38/39) Installing openssh (9.0_p1-r2)
(39/39) Installing build-dependencies (20221227.181210)
Executing busybox-1.35.0-r17.trigger
Executing ca-certificates-20220614-r0.trigger
OK: 248 MiB in 54 packages
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
error Command failed.
Exit code: 128
Command: git
Arguments: ls-remote --tags --heads<EMAIL_ADDRESS>Directory: /app/build
Output:
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command '/bin/sh -c apk --no-cache --virtual build-dependencies add   python3   make   g++   git   openssh   && yarn   && apk del build-dependencies' returned a non-zero code: 128

please do not pull the image from docker, it is not maintained. you need to build from source. I am not overly familiar with docker and can only vouch for and help with the instructions laid out in the readme.
if you are trying to build on a remote server you can use (replace the 'remote' context with the name of your remote server context):
docker --context remote build -t astral .

Also got some errors while building the docker image. Unable to create anymore.
docker build -t astral .
Sending build context to Docker daemon  5.127MB
Step 1/10 : FROM node:16.16.0-alpine3.16 as build
16.16.0-alpine3.16: Pulling from library/node
213ec9aee27d: Already exists
015fad1872e1: Pull complete
c93f3de25c33: Pull complete
bc5d1f30ff35: Pull complete
Digest: sha256:1c8769a8c9ed57817ef07162744a3722421333a438185c560aa42a9a1fc6ea23
Status: Downloaded newer image for node:16.16.0-alpine3.16
 ---> b1ca7421d2e7
Step 2/10 : COPY package.json /app/build/package.json
 ---> 1b8ccd20081f
Step 3/10 : COPY yarn.lock /app/build/yarn.lock
 ---> f7931198e106
Step 4/10 : WORKDIR /app/build
 ---> Running in 04387316a4e5
Removing intermediate container 04387316a4e5
 ---> 8523509b98b9
Step 5/10 : RUN apk --no-cache --virtual build-dependencies add   python3   make   g++   && yarn   && apk del build-dependencies
 ---> Running in 8adb76f1de16
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
(1/25) Upgrading musl (1.2.3-r0 -> 1.2.3-r2)
(2/25) Installing libbz2 (1.0.8-r1)
(3/25) Installing expat (2.5.0-r0)
(4/25) Installing libffi (3.4.2-r1)
(5/25) Installing gdbm (1.23-r0)
(6/25) Installing xz-libs (5.2.5-r1)
(7/25) Installing mpdecimal (2.5.1-r1)
(8/25) Installing ncurses-terminfo-base (6.3_p20220521-r0)
(9/25) Installing ncurses-libs (6.3_p20220521-r0)
(10/25) Installing readline (8.1.2-r0)
(11/25) Installing sqlite-libs (3.38.5-r0)
(12/25) Installing python3 (3.10.9-r0)
(13/25) Installing make (4.3-r0)
(14/25) Installing binutils (2.38-r3)
(15/25) Installing libgomp (11.2.1_git20220219-r2)
(16/25) Installing libatomic (11.2.1_git20220219-r2)
(17/25) Installing gmp (6.2.1-r2)
(18/25) Installing isl22 (0.22-r0)
(19/25) Installing mpfr4 (4.1.0-r0)
(20/25) Installing mpc1 (1.2.1-r0)
(21/25) Installing gcc (11.2.1_git20220219-r2)
(22/25) Installing musl-dev (1.2.3-r2)
(23/25) Installing libc-dev (0.7.2-r3)
(24/25) Installing g++ (11.2.1_git20220219-r2)
(25/25) Installing build-dependencies (20221228.003456)
Executing busybox-1.35.0-r17.trigger
OK: 229 MiB in 40 packages
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning "emoji-mart-vue-fast ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning "emoji-mart-vue-fast > vue-virtual-scroller ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^5.9.0".
[5/5] Building fresh packages...
Done in 23.22s.
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.16/main: No such file or directory
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.16/community: No such file or directory
(1/24) Purging build-dependencies (20221228.003456)
(2/24) Purging python3 (3.10.9-r0)
(3/24) Purging make (4.3-r0)
(4/24) Purging g++ (11.2.1_git20220219-r2)
(5/24) Purging gcc (11.2.1_git20220219-r2)
(6/24) Purging binutils (2.38-r3)
(7/24) Purging libatomic (11.2.1_git20220219-r2)
(8/24) Purging libgomp (11.2.1_git20220219-r2)
(9/24) Purging libc-dev (0.7.2-r3)
(10/24) Purging musl-dev (1.2.3-r2)
(11/24) Purging libbz2 (1.0.8-r1)
(12/24) Purging expat (2.5.0-r0)
(13/24) Purging libffi (3.4.2-r1)
(14/24) Purging gdbm (1.23-r0)
(15/24) Purging xz-libs (5.2.5-r1)
(16/24) Purging mpdecimal (2.5.1-r1)
(17/24) Purging readline (8.1.2-r0)
(18/24) Purging ncurses-libs (6.3_p20220521-r0)
(19/24) Purging ncurses-terminfo-base (6.3_p20220521-r0)
(20/24) Purging sqlite-libs (3.38.5-r0)
(21/24) Purging mpc1 (1.2.1-r0)
(22/24) Purging mpfr4 (4.1.0-r0)
(23/24) Purging isl22 (0.22-r0)
(24/24) Purging gmp (6.2.1-r2)
Executing busybox-1.35.0-r17.trigger
OK: 8 MiB in 16 packages
Removing intermediate container 8adb76f1de16
 ---> be196c3848da
Step 6/10 : COPY . /app/build
 ---> 070d1e40cfe4
Step 7/10 : RUN npx quasar build -m pwa
 ---> Running in c3d3c49e183f

 .d88888b.
d88P" "Y88b
888     888
888     888 888  888  8888b.  .d8888b   8888b.  888d888
888     888 888  888     "88b 88K          "88b 888P"
888 Y8b 888 888  888 .d888888 "Y8888b. .d888888 888
Y88b.Y8b88P Y88b 888 888  888      X88 888  888 888
 "Y888888"   "Y88888 "Y888888  88888P' "Y888888 888
       Y8b

 Build mode................ pwa
 Pkg quasar................ v2.9.2
 Pkg @quasar/app-webpack... v3.5.9
 Pkg webpack............... v5
 Debugging................. no
 Publishing................ no

 Configured browser support (>= 88.88% of global marketshare):
 · Chrome for Android >= 104
 · Firefox for Android >= 101
 · Android >= 104
 · Chrome >= 96
 · Edge >= 102
 · Firefox >= 95
 · iOS >= 13.2
 · Opera >= 86
 · Safari >= 14.1

 App • [GenerateSW] Will generate a service-worker file. Ignoring your custom written one.
 App • Chaining "UI" Webpack config
 App • Extending "UI" Webpack config
 App • Cleaned build artifact: "/app/build/dist/pwa"
 App •  WAIT  • Compiling of "UI" in progress...
 App •  DONE  • "UI" compiled with errors • 22602ms

 App •  ERROR  •  UI  in ./src/router/routes.js

Module not found: Can't resolve imported dependency "pages/DevTools.vue"
Did you forget to install it? You can run: yarn add pages/DevTools.vue

 App •  COMPILATION FAILED  • Please check the log above for details.

npm notice
npm notice New major version of npm available! 8.11.0 -> 9.2.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.2.0>
npm notice Run npm install -g<EMAIL_ADDRESS>to update!
npm notice
The command '/bin/sh -c npx quasar build -m pwa' returned a non-zero code: 1

it works! Really appreciated your work :-)

thank you for finding that bug! would have never found it locally. we good to close this?


Add node@7 support to engines key

yarn throws a fit when it tries to install a package that claims not to support the current engine.
This might be better modeled as >=6.x, since the expectation is that it requires at least node v6, I think?

published 1.1.6


Ability to specify platform for keyboard events

All of the keyboard interactions in keyboard.dart hard code platform as 'macos'.
Is there any plan to add the ability to support specifying other platforms? Even if not planned on your side, do you think this is this something that would make sense for the package?

I merged a change that now sets the platform based on the defaultTargetPlatform, which you can control in your tests. I also added a public override if you specifically want to set the platform for key events for a test without altering defaultTargetPlatform.
And I'm now realizing that I forgot to connect the override value to the chosen platform, so I'm going to file an issue for that and cut a new release.


Language sprint - Week 14

TODO: Add task here.

Guys, @gimantha @grainier @pubudu538 @MaryamZi @Anoukh @Shan1024 @pranavan15 @rdhananjaya @hemikak @NatashaWso2.  Please add your task as a comment, I will update the issue.

We are maintaining separate GitHub projects for each area.
Ballerina Lang - https://github.com/ballerina-platform/ballerina-lang/projects/7
Streaming - https://github.com/ballerina-platform/ballerina-lang/projects/10
Docker & K8s - https://github.com/orgs/ballerinax/projects/1


Running Superset agains Druid

Make sure these boxes are checked before submitting your issue - thank you!

[x ] I have checked the superset logs for python stacktraces and included it here as text if any
[x ] I have reproduced the issue with at least the latest released version of superset
[x ] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
{"GIT_SHA": "", "version": "0.24.0"}
Expected results
I have data in Druid but when I am trying to query them from Superset, there is error in UI:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/superset/viz.py", line 329, in get_df_payload
    df = self.get_df(query_obj)
  File "/usr/lib/python2.7/site-packages/superset/viz.py", line 142, in get_df
    self.results = self.datasource.query(query_obj)
  File "/usr/lib/python2.7/site-packages/superset/connectors/druid/models.py", line 1238, in query
    client=client, query_obj=query_obj, phase=2)
  File "/usr/lib/python2.7/site-packages/superset/connectors/druid/models.py", line 959, in get_query_str
    return self.run_query(client=client, phase=phase, **query_obj)
  File "/usr/lib/python2.7/site-packages/superset/connectors/druid/models.py", line 1126, in run_query
    client.timeseries(**qry)
  File "/usr/lib/python2.7/site-packages/pydruid/client.py", line 167, in timeseries
    return self._post(query)
  File "/usr/lib/python2.7/site-packages/pydruid/client.py", line 484, in _post
    res = urllib.request.urlopen(req)
  File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/lib64/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.7/urllib2.py", line 1244, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib64/python2.7/urllib2.py", line 1214, in do_open
    raise URLError(err)
URLError: <urlopen error [Errno -2] Name or service not known>

Actual results
Steps to reproduce
I successfully followed this:
http://druid.io/docs/latest/tutorials/quickstart.html
But superset querying is not wokring

Double check your broker host and coordinator host.

@SpyderRivera do you mean broker and coordinator setting of Superset?
is that config.py file? Or where I can find it, I think that's a problem though..

Update:
If i run superset refresh_druid
from console, i got a same error as above.
2018-05-07 10:11:56,304:WARNING:root:Failed 2nd attempt to get latest segment 2018-05-07 10:11:56,305:ERROR:root:<urlopen error [Errno -2] Name or service not known> Traceback (most recent call last):   File "/usr/lib/python2.7/site-packages/superset/connectors/druid/models.py", line 648, in latest_metadata     analysisTypes=[])   File "/usr/lib/python2.7/site-packages/pydruid/client.py", line 286, in segment_metadata     return self._post(query)   File "/usr/lib/python2.7/site-packages/pydruid/client.py", line 484, in _post     res = urllib.request.urlopen(req)   File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen     return opener.open(url, data, timeout)   File "/usr/lib64/python2.7/urllib2.py", line 431, in open     response = self._open(req, data)   File "/usr/lib64/python2.7/urllib2.py", line 449, in _open     '_open', req)   File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain     result = func(*args)   File "/usr/lib64/python2.7/urllib2.py", line 1244, in http_open     return self.do_open(httplib.HTTPConnection, req)   File "/usr/lib64/python2.7/urllib2.py", line 1214, in do_open     raise URLError(err) URLError: <urlopen error [Errno -2] Name or service not known> Refreshed metadata from cluster [_default_tier]

@SpyderRivera  Thank you for your answare, probem was that broker host was not defined in cluster configuration in super set UI.