Exporter fails when exporting an armature with one or more non-deforming root bones with "Export Deformation Bones Only" and "Remove Armature Object" options enabled

Describe the bug
When exporting a scene containing an armature with one or more non-deforming root bones with both the "Export Deformation Bones Only" and "Remove Armature Object" options enabled, the exporter raises the following error:
Python: Traceback (most recent call last):
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/__init__.py", line 1289, in execute
    res = gltf2_blender_export.save(context, export_settings)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_export.py", line 37, in save
    json, buffer = __export(export_settings)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_export.py", line 55, in __export
    __gather_gltf(exporter, export_settings)
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_export.py", line 202, in __gather_gltf
    active_scene_idx, scenes, animations = gltf2_blender_gather.gather_gltf2(export_settings)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather.py", line 31, in gather_gltf2
    scenes.append(__gather_scene(blender_scene, export_settings))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather.py", line 94, in __gather_scene
    node = gltf2_blender_gather_nodes.gather_node(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py", line 48, in gather_node
    children=__gather_children(vnode, export_settings),
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py", line 130, in __gather_children
    joint = gltf2_blender_gather_joints.gather_joint_vnode(bone_uuid, export_settings)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/snap/blender/5438/4.2/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_joints.py", line 52, in gather_joint_vnode
    blender_bone = vtree.nodes[vnode].blender_bone
                   ~~~~~~~~~~~^^^^^^^
KeyError: 'cdfb2ad9-b573-4109-8c2b-f91abed960dd'

To Reproduce
Steps to reproduce the behavior:

Open the attached example.blend
Go to the glTF exporter (File > Export > glTF 2.0 (.glb/.gltf))
Enable both the "Export Deformation Bones Only" and "Remove Armature Object" options under Data > Armature in the exporter properties
Attempt to export the file

Expected behavior
The export should not fail and, if removing the non-deforming bones from the armature yields an armature with a single root bone, the Armature object should not be present in the exported glTF file.
.blend file/ .gltf (mandatory)
example.zip
Version

OS: Kubuntu 22.04
Blender Version 4.2.3 LTS

Confirmed

Root cause:
Check if we can remove the armature object use some functions that bakes bone lists.
This check is done before the filter of non deformation bone.
So when we want to get this list, as it's cached, we get the list with non deformation bones, so try to access a bone that is filtered
Additional bug when we want to export only DEF bones :
the check is done on all bugs, not only deformation bones, if we want to get only def bones.
So having at root a DEF and a nonDEF bone => Check will failed and said we can't remove armature


Table To support text-alignment.

Can we have CSS to support text-alignment in tables as centered.

Just to do this thing, I had to create my own css. Thought woud be useful if there was

But bootstrap is just the base. It's not an all-solution. It is meant to be extended.  The intention of Bootstrap is to... bootstrap your project. It's not a just-add-water website, you have to fiddle around yourself :)

Yup. Understood my folly. I did that.


Visualize simulation after complete

from #2
| (Run or Visualize) | Annotate | Clone | Download |                          | Delete | Terminate |


fix snapshot, runner, test_reconciler

change summary
typescript types

fix typescript types for coverage

Runner

adding extra arguments for more granular control of the run process
allow passing node_env
emit close and exit events separately

test_reconciler

add API to remove file from cache

snapshot

fixes snapshot parsing for flow and typescript files
refactor and clean up parser modules and tests
upgrade "jest-snapshot" dependency

I'm really sorry, but currently I have hardly any spare time available for this project. Unfortunately, I also don't know when I'll have time to comment on the other PRs.
So far this PR looks good to me.

@stephtr no need to be sorry, we all do what we can, I appreciate you are taking the time to review this. Personally, I found review adds tremendous value by simply providing a different perspective, but I also understand that it is a mental overhead for the reviewers. A review is indeed a gift that I think should never be taken for granted. Thanks!


Cleanup; format source, add final modifiers, make fields private

This pull request formats the source code, adds the eclipse formatter, organizes imports, introduces final modifiers, removes unused variables and makes fields private where possible. It might do other minor stuff too, can't remember.

Boop! :cookie:


Add contact page

can you please squash your commits. So we have a single commit with the change. We don't want old commit nor merge commits in history.

can you please squash your commits. So we have a single commit with the change. We don't want old commit nor merge commits in history.

Hold on, will do.


Add monovalent ion parameters from parm99

This PR adds monovalent ion parameters to smirnoff99Frosst's source files and to the FF; once merged I will also update the smirnoff99Frosst repo.
@bannanc - please take a quick look to make sure everything looks in order to you. To help you out, here's a copy and paste of the source material from parm99:
  Li+      1.1370  0.0183             Li+ Aqvist JPC 1990,94,8021. (adapted)
  Na+      1.8680  0.00277            Na+ Aqvist JPC 1990,94,8021. (adapted)
  K+       2.6580  0.000328           K+  Aqvist JPC 1990,94,8021. (adapted)
  Rb+      2.9560  0.00017            Rb+ Aqvist JPC 1990,94,8021. (adapted)
  Cs+      3.3950  0.0000806          Cs+ Aqvist JPC 1990,94,8021. (adapted)
  F-       1.75    0.061              Gough et al. JCC 13,(1992),963.
  Cl-      1.948   0.265              Fox, JPCB,102,8070,(98),flex.mdl CHCl3
  Br-      2.22    0.320              Junmei(?)
  I-       2.35    0.40               JCC,7,(1986),230;

I'm pretty sure you don't want most of those parameters---those NaCl parameters are vulnerable to crystallization, for example. Have you read through the latest AmberTools manual discussing good modern choices for ions?

See Section 3.6 of the Amber 17 Manual.

Looks like there are three sets, @jchodera , for each water model. Assuming (for now) we are using TIP3P, which do you propose?

I'd suggest bundling TIP3P and the related ion parameters into a single tip3p.ffxml file, and TIP4P-Ew and related ion parameters into tip4pew.ffxml file.

AMBER manual:

For the 12-6 LJ nonbonded model, three different parameter sets are available for each water model to meet different requirements:

12-6 normal usage set. In which we have HFE set of the monovalent ions (could reproduce the experimental HFE),[97] the Compromise (CM) set of divalent ions (which could reproduce the experimental relative HFE and CN values),[95] and IOD set (could reproduce the experimental IOD) for the trivalent and tetravalent ions.[96] These parameters are recommended to be used in the normal MD simulations. This is because for the monovalent ions the error of the 12-6 LJ nonbonded model is pretty small (a CM set may not needed since HFE or IOD set are pretty close to each other) while for the trivalent and tetravalent metal ions the 12-6 LJ nonboned model has relative big error (a CM set could have big error for both HFE and IOD at this moment).
12-6 HFE set to reproduce experimental HFE.[94, 96, 97] The HFE parameter set has limited error for monovalent ions, while could have remarkable error for highly charged ions. Since we use the HFE set for monovalent ions in the 12-6 normal usage set, so we don’t have a sepecific HFE set parameter file for monovalent ions.
12-6 IOD set to reproduce experimental IOD.[94, 96, 97] Since the ion with certain parameter could reproduce similar IOD values in the three water models, so the IOD set parameters of three water models were designed identical (for the monovalent and divalent metal ions, while for the trivalent and tetravalent ions, the IOD set are estimated for each water model separately). The IOD parameter set are recommmended to be used in the structural refinement or for structural property orientated investigation.

Probably we will have to make all three sets available in separate files, though we may also want to pick a "default" set to include in the basic force field (e.g. have SMIRNOFF99Frosst include one specific set which one can override by including a different ffxml file).

@jchodera

I'd suggest bundling TIP3P and the related ion parameters into a single tip3p.ffxml file, and TIP4P-Ew and related ion parameters into tip4pew.ffxml file.

That doesn't solve it since there are THREE SETS PER WATER MODEL.

I still need to look more closely at the documentation, but I agree that we should pick a default to be in SMIRNOFF99Frosst.

Probably we will have to make all three sets available in separate files, though we may also want to pick a "default" set to include in the basic force field (e.g. have SMIRNOFF99Frosst include one specific set which one can override by including a different ffxml file).

Whoops---sorry about missing the "three per water model" issue. I agree it's good to have override choices, and set 1 (the normal usage set) should be our default.

OK, so here's my plan:

Use Joung/Cheatham "general purpose" TIP3P parameters by default in the force field (in this PR)
Make separate FFXML files containing the various parameters AMBER provides for the various water models (in a separate PR) and provide these, so they can be used to override the defaults when desired

Since there are three sets of parameters per water model, I do NOT plan to include these in the water FFXML files, but just have a separate set of FFXML files that would be loaded by the user depending on what ion parameters they want.


How to remove __typename when mutation

Is your feature request related to a problem? Please describe.
Owing to I need cache, so use addTypename: false is not my solution
vue apollo have provide some way to remove __typename when mutation?
Describe the solution you'd like
Add some middleware to handle this problem by vue-apollo integration or add some code to remove __typename when mutation
Describe alternatives you've considered
just delete __typename when mutation
I think it's not a good idea

Hi, I'm having the same issues as @AruXc. I totally agreed this should be handled by apollo client or vue-apollo. There's already an issue on Apollo repository. here.

for someone need the solution
these base on @jdinartejesus mentioned issue.
import { getMainDefinition } from "apollo-utilities"
import omitDeep from 'omit-deep-lodash'
...

const cleanTypenameLink = new ApolloLink((operation, forward) => {
  // more keys like timestamps could be included here
  const keysToOmit = ['__typename']

  const def = getMainDefinition(operation.query)
  if (def && def.operation === 'mutation') {
    operation.variables = omitDeep(operation.variables, keysToOmit)
  }
  return forward ? forward(operation) : null
})
...

// Create the apollo client
const apolloClient = new ApolloClient({
  link: ApolloLink.from([cleanTypenameLink, authLink, httpLink]),
  cache
})

It's definitely a good temporary solution, but I believe should be solved internally on Apollo Client or Vue-Apollo.

There are a few other solutions exists: https://stackoverflow.com/questions/47211778/cleaning-unwanted-fields-from-graphql-responses/51380645#51380645
But in that case apollo-client will not be able resolve and update a cache of the fragments.


Nginx not running with State Exit 2

Info:

Docker version ($ docker --version): 18.06.1-ce
Laradock commit ($ git rev-parse HEAD): 0ed5487ed7204aff6897db8de14e1e79469280fd
System info (Mac, PC, Linux): PC
System info disto/version: Windows 10

Issue:
Cannot Start Nginx After First Build and Restart
docker-compose ps:
The system cannot find the path specified.
           Name                          Command              State                  Ports
--------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh           Up       2375/tcp
laradock_mysql_1              docker-entrypoint.sh mysqld     Up       <IP_ADDRESS>:3306->3306/tcp, 33060/tcp
laradock_nginx_1              /bin/bash /opt/startup.sh       Exit 2
laradock_php-fpm_1            docker-php-entrypoint php-fpm   Up       9000/tcp
laradock_workspace_1          /sbin/my_init                   Up       <IP_ADDRESS>:2222->22/tcp

Expected behavior:
Nginx Running Successfuly

Reproduce:
Just followed official documentation, error occured (only nginx) when I start with docker compose -d nginx mysql

Relevant Code:
`docker-compose logs nginx`:

Attaching to laradock_nginx_1
nginx_1                | /opt/startup.sh: line 2: $'\r': command not found
nginx_1                | /opt/startup.sh: line 10: syntax error: unexpected end of file
nginx_1                | /opt/startup.sh: line 2: $'\r': command not found
nginx_1                | /opt/startup.sh: line 10: syntax error: unexpected end of file

Right now the only workaround is to "disable" the startup.sh script and change the CMD command inside nginx Dockerfile

Sorry for this, I'll fix it as soon as possible.

 Is there already a solution?

Yes, but not yet merged  #1879

@matthijs-neijenhuijs My current work around is the only solution until the merge is accepted

@ludo237 i have bring backed this line but still doesn't work

@ludo237 @matthijs-neijenhuijs @iamzhuyi for fix this issue add this line

@Shchepotin @ludo237 thanks，it's my first time use docker, and i don't know the image should rebuild when the dockerfile change 🤣

I had the same problem.
I think that it is a problem that meta characters are included in / nginx / startup.sh.
Laradock works without problems by changing / nginx / startup.sh in my environment.

@junichimura it has been fixed already but the PR is still open somehow

guys I've added this and rebuild the image but still doesn't work 😳@ludo237 @iamzhuyi

@ludo237 @matthijs-neijenhuijs @iamzhuyi for fix this issue add this line

Add that line still don't work.
After add RUN sed -i 's/\r//g' /opt/startup.sh , then I run docker-compose down docker-compose up -d nginx mysql redis workspace, still samp problems docker-compose logs nginx :
Attaching to laradock_nginx_1_204e51496d22
nginx_1_204e51496d22   | /opt/startup.sh: line 2: $'\r': command not found
nginx_1_204e51496d22   | /opt/startup.sh: line 10: syntax error: unexpected end of file

Docker version 18.09.0, build 4d60db4
docker-compose version 1.23.1, build b02f1306

You need to rebuild from scratch ...

How to fix this problem
There is literally a PR that fix this problem....


[GO Live][Nov 17]

Push to live

Docs Build status updates of commit a453f9f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/design/designing-apps-in-meetings.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Redirect URI comparison for native OAuth clients (RFC 8252)

Native Applications have to use ephemeral ports in the redirect_uri. This is something that is already addressed by the RFCs:
Draft-ietf-oauth-security-topics-27: This document therefore advises simplifying the required logic and configuration by using exact redirect URI matching ... The only exception is native apps using a localhost URI: In this case, the authorization server MUST allow variable port numbers as described in [RFC8252], Section 7.3.
RFC 8252: OAuth 2.0 for Native Apps (rfc-editor.org): Native apps that are able to open a port on the loopback network interface without needing special permissions (typically, those on desktop operating systems) can use the loopback interface to receive the OAuth redirect. Loopback redirect URIs use the "http" scheme and are constructed with the loopback IP literal and whatever port the client is listening on. That is, "http://<IP_ADDRESS>:{port}/{path}" for IPv4, and "http://[::1]:{port}/{path}" for IPv6.

@rohe I have also rebased this PR.


Corrected null parameter setting

The correct value that's accepted for the "null": parameter is \\N not \N. Entering \N writes an empty result for nulls while \\N writes the correct \N value.

Thank you for correcting it! I'll merge it.


test: disable SILGen test

This does not make sense on PE/COFF targets where the _weakLinked
attribute is unsupported.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test and merge


haskell: compiling with ghcjsHEAD produces huge amount of files.

Issue description
An attempt to build a Haskell project with less than 100 transitive dependencies using ghcjsHEAD exhausts available inodes on a filesystem with 3.2M of them allocated. An eventually successful attempt to salvage the build involved invoking nix-store --optimise during the build which reported:
$ nix-store --optimise
414.39 MiB freed by hard-linking 1554289 files

on a freshly optimised system.
I will try to get more precise measurements tomorrow but wanted to check first if this is perhaps a known issue.
Building with ghc8.0.2 doesn't appear to exhibit the same issue although for ghc8.0.2 I get packages out of binary cache, unlike with ghcjs which requires compiling everything.
Steps to reproduce
N/A atm.
Technical details
Built on top of a162c6c828 with few custom commits not related to haskell.

So my initial estimation was wrong and there are 129 packages being built + 78 instances of ghcjs-0.2.020170323-with-packages.  How about a generational GC model for Nix? 😉 and the young generation doesn't get hardlink-optimized

But more seriously, it seems like intuitively there should be more symlinking going on to avoid this proliferation of files. Is the ghcjs-*-with-packages not symlinking?

There is a lot of symlinking going on for sure 😃:
$ find /nix/store -maxdepth 1 -name "*-ghcjs-0.2.020170323-*"  -type d | wc -l
76
$ for p in $(find /nix/store -maxdepth 1 -name "*-ghcjs-0.2.020170323-*"  -type d ); do find $p -type l | wc -l; done
19503
19451
18873
19253
19024
20485
19876
18909
19064
19075
20808
18790
7641
22021
18916
20065
19095
19320
19430
20993
20417
19289
19734
18896
19103
20346
20414
18703
18813
18933
24347
20048
19804
18881
20233
19941
19703
19359
19502
19512
19230
19214
20556
18961
20229
25793
18876
18810
18853
19633
19204
18936
20444
18976
20719
19197
19134
19154
26621
19305
20597
19653
19120
19049
19557
20131
19620
19339
20074
19089
21442
20064
20402
19168
19246
19997

So I've got 76 /nix/store/*-ghcjs-*-with-packages folders, each one containing ~ 20000 symlinks for a total of ~ 1500000. And there are ~ 190000 folders accounting for the rest of the inode usage.
Naively not knowing much about haskell packaging I would think I would end up with a single folder containing all my deps but it seems as most dependencies get their own copy of ghcjs for some reason.

PS. I trimmed down my dependencies a bit to try and reduce the number of files so the numbers above will be slightly different from what I originally reported but still on the same order of magnitude :-(

git bisect points to 4b77d425aa5970f39f0637894075d2df8c1575c8 as the commit where all those *-ghcjs-*-with-packages folders started appearing. With that reverted:
$ df -hi
Filesystem                  Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/vg-nixos--root 3276800<PHONE_NUMBER>052    9% /
$ nix-build ...
$ df -i
Filesystem                  Inodes  IUsed   IFree IUse% Mounted on
/dev/mapper/vg-nixos--root 3276800<PHONE_NUMBER>021   11% /
$ find /nix/store -maxdepth 1 -name "*-ghcjs-0.2.020170323-*" -type d | wc -l
0

Ping @3noch author of the commit - any ideas what's going on here? Any way to avoid those multiple folders being created while keeping your changes? Or are those folders required and this is by design?

@cstrahan Thoughts?

In 4b77d42 I switched to using symlinkJoin, which results in less sharing than buildEnv (the former creates a new directory at every branch, whereas the latter attempts to symlink branches to the corresponding target directory). The switch was made because - resource utilization aside - it simplifies things greatly: if you want to manipulate the resulting symlink forest in some way, you can trivially do so as you have a bunch of writable directories nested under each other, instead of having to deal with symlinks pointing at read-only directories in the store, which would require a case-by-case conversion of sub trees into directories where/when you want to modify the contents.
Unfortunately, I didn't anticipate the resource growth issues (inodes, in this case). More concerning, though (IMO), is the fact that we have so many /nix/store/*-ghcjs-*-with-packages. @pbogdan, would it be possible to see the nix expression you're using to build your packages (dunno if there's anything private in there)?
An idea, while it's on my mind:
Instead of leaning on symlinkJoin, we might want to try to just make buildEnv easier to work with. If we had a function (in scope from buildEnv or perhaps stdenv) that would ensure that a given branch of the symlink forest was a writable directory, that would resolve most of the pain.

I pushed a reproducible example to https://github.com/pbogdan/nix-issue-25595. And this is what I used when running git bisect to get a quick count of -with-packages:
$ nix-env -i -A frontend -f .--dry-run --argstr compiler ghcjsHEAD 2>&1 | grep with-packages| wc -l

I could try and minimise it further if needed.
Let me know if that helps or if you can't reproduce your end.

@pbogdan Thanks -- I'll take a look either later tonight or tomorrow.

@cstrahan FWIW all those -with-packages folders getting created seems to be due to  https://github.com/NixOS/nixpkgs/commit/4b77d425aa5970f39f0637894075d2df8c1575c8#diff-360bed088faac7580cee137eeffb39e0R202 forcing evaluation of ghcEnv

@pbogdan Sorry this took me so long to get to - your analysis was spot on. Should be fixed in master now.

@cstrahan awesome, thank you :smile:


add spectra gradient data

@phivk I'm happy you like them! I fixed the issue in #128 together with other ch3 issues


Nc load latlon fix

🚀 Pull Request
Description
Closes #4460
I realised that the reported problem was due to a mistake which I introduced in #4198 :
I had retained unchanged the trusted older routines, 'is_latitude/longitude' and 'is_rotated_latitude/longitude' , but changed the way in which they are used :  As written, 'is_rotated' relies on your having already ensured the truth of 'is_latitude_longitude'.
The small changes here to iris.fileformats._nc_load_rules.actions fix that.
Since there were no specific tests before, I have now developed a test harness for this aspect of the translation process.
Having encountered the problems described at #4469 (see below), I have only included simpler testcases, and particularly excluded some more complex ones which show potentially problematic changes in behaviour.  However, I think the remaining tests do show utility, and demonstrate that the problem raised was fixed.
(
Note:
During this process I stumbled over a whole lot more unexpected complexity.
It turns out that within #4198 I may have oversimplified the logic and behaviours of the old Pyke rules, and that should now  probably be reviewed : see #4469
)

@pp-mo Forgot to mention that this is totally worthy of a whatsnew entry... fancy pushing a follow-on PR and I'll bank that for you?


Fix unrendered link in documentation

Addresses #1499

Coverage remained the same at 100.0% when pulling 32ad87caf1507a81dbb577ac792b3d223e6d5c67 on ace-n:fix-link into 3cfc68c20e29df85a16eae1de96da8dde232207c on GoogleCloudPlatform:master.

Thanks @ace-n!


Substitute abs with fabs?

For Intel FPGA, abs cannot be used on floating point variables, and fabs must be called explicitly.
Perhaps we want to replace abs with fabs if we see that it's used on a floating point type?

@TizianoDeMatteis What do you think?

Sounds good to me...but where? OpenCLKeywordRemover?

Of course :-)

@TizianoDeMatteis this depends on #237, since we need to know that the expression in the function is a float. Gogo!


Merge pr616-pr611-into-latest2-move-unittest-to-privnet-478

What current issue(s) does this address, or what feature is it adding?
#478, #554
How did you solve this problem?
With the help of @ixje  and @jseagrave21 , we have migrated all the unit test cases which depend on BlockChainFixtureTestCase and ẀalletFixtureTestCase to a privnet image. As a side effect issue #554 is also fixed. A big THANK to them for this PR. :smile:
How did you make sure your solution works?
Run all tests individually and collectively.
Are there any special changes in the code that we should be aware of?
There are new fixtures that we need to upload to AWS. They can be found here: link
We have also added a new configuration setting (data/protocol.unittest-net.json) which is specifically used for running the unittest. The new setup for adding test cases is based on a neo-privnet-unittest image. More guideline on how to add new test cases will be given in due course of time.
Please check the following, if applicable:

[x] Did you add any tests?
[x] Did you run make lint?
[x] Did you run make test?
[x] Are you making a PR to a feature branch or development rather than master?
[x] Did you add an entry to CHANGELOG.rst? (if not, please do)

:+1:

I am thinking Travis will pass once the new fixtures are uploaded to AWS.

Also, I recommend changing the title of the PR to something more descriptive, like "Reduce Test Fixture Size"

So there's a chicken egg problem here; neo-python as a dependency or coupling with neo-boa, so the build system also validates that neo-boa is still working as intended. neo-boa has test depending on WalletFixtures. To solve this we first merge the PR into a separate branch on the main repo so we can point neo-boa's build system to this branch and fix the tests


BigInt support.

Factoring u128 is fine, but this tool could be more useful if it could factor BigInt quickly.
(See rug::Integer for fast BigInt crate.)

Thanks for the comment.
You're correct that being able to factor arbitrary large integers would be very useful.
I will consider what you suggest but certainly I need to evaluate how much effort this update would require and when I could have enough time for it.

I have decided to continue supporting factorization only for integers up to 128 bits.


Invoke method doesn't work with single quote & line translation

When I send a string with single quote (') or line translation (\n) as an argument into invoke  method, it doesn't return anything
let message = "FirsLine\n SecondLine\n SingleQuote' "
hub!.invoke("sendMessage", arguments: [message]){ (result, error) in
      print("SendMessage result: \(result)  error: \(error)")
}

I guess that in that case we'll get syntax error in JavaScript
Because I'm debugging invoke method in SwiftR.swift & variable «js» has this value
SwiftR.swift:476 connection.runJavaScript(js)
js	String	"ensureHub('chathub').invoke('sendMessage', 'FirsLine\n SecondLine\n SingleQuote' ').done(function() { postMessage({ message: 'invokeHandler', hub: 'chathub', id: '7DBE8B14-D170-4CB9-8332-3A29E96E0374', result: arguments[0] }); }).fail(function() { postMessage({ message: 'invokeHandler', hub: 'chathub', id: '7DBE8B14-D170-4CB9-8332-3A29E96E0374', error: processError(arguments[0]) }); })"

Any ideas on how to resolve the issue?
Thanks

Thanks for the report. Yeah, I think I can fix that. I'll keep you posted.

Should be all set now. I'll do some more testing myself before publishing to Cocoapods, but let me know if you run into any issues.

Fixed in v0.10.1


ci: Stick with Go 1.17

As the Makefile uses deprecated Go features, GH actions should use a fixed 1.17.* version of Golang.
This is intended as a temporary fix for https://github.com/k8snetworkplumbingwg/sriov-network-operator/issues/231

lgtm

@SchSeba @zshi-redhat PATL this is needed for CI to pass


EN-4323: Use fixed version of secondary-watcher

Update secondary-watcher docker image
Update secondary-lib version (removes unused code)

To my knowledge, I think this all that needs to happen to spandex-secondary for issue EN-4323 fixes.

This build looks good.

it is :sheep:able


Initial draft for nighthawk workload

Description
Adding nighthawk as a workload to the operator.
Wrapper side of it for more context: https://github.com/cloud-bulldozer/benchmark-wrapper/pull/446
Sample CR Configuration:
apiVersion: ripsaw.cloudbulldozer.io/v1alpha1
kind: Benchmark
metadata:
  name: nighthawk-benchmark
  namespace: benchmark-operator
spec:
  clustername: myk8scluster
  elasticsearch:
    url: https://search-perfscale-dev-chmf5l4sh66lvxbnadi4bznl3a.us-west-2.es.amazonaws.com:443
  workload:
    cleanup: true
    name: nighthawk
    args:
      # url: https://www.google.com
      image: quay.io/vchalla/nighthawk:latest
      terminations: ["http", "edge", "passthrough", "reencrypt"]
      kind: pod
      hostnetwork: false
      number_of_routes: 3
      samples: 1
      concurrency: 8
      duration: 60
      connections: 80
      max_requests_per_connection: 50
      debug: true
      serviceip: true
      service_type: NodePort

Testing
Tested and verified the results in the ES and pod logs as well.
Sample ES docs
"hits" : [
      {
        "_index" : "ripsaw-nighthawk-results",
        "_type" : "_doc",
        "_id" : "4a2a5aa5c41a3ec53bdc5de9f9ea4a04f12cc8fa967fa2033b95f82e2ae356f0",
        "_score" : 1.0,
        "_source" : {
          "concurrency" : 8,
          "duration" : 60,
          "connections" : 80,
          "max_requests_per_connection" :<PHONE_NUMBER>,
          "rps" : 5,
          "kind" : "pod",
          "url" : "http://nighthawk-benchmark-route-http-2-benchmark-operator.apps.vchalla-perfscale.perfscale.devcluster.openshift.com",
          "workload" : "nighthawk",
          "uuid" : "e777d5e4-4b9e-5e90-a453-61e30caa9a5b",
          "user" : "ripsaw",
          "cluster_name" : "myk8scluster",
          "targets" : [
            "http://nighthawk-benchmark-route-http-2-benchmark-operator.apps.vchalla-perfscale.perfscale.devcluster.openshift.com"
          ],
          "hostname" : "nighthawk-client-<IP_ADDRESS>-nginx-http-2-e777d5e4-pmxvt",
          "requested_qps" : 40,
          "throughput" : 39.98936405750067,
          "status_codes_1xx" : 0,
          "status_codes_2xx" : 2400,
          "status_codes_3xx" : 0,
          "status_codes_4xx" : 0,
          "status_codes_5xx" : 0,
          "p50_latency" : 3.188863,
          "p75_latency" : 4.302335,
          "p80_latency" : 5.629951,
          "p90_latency" : 10.191871,
          "p95_latency" : 13.958143,
          "p99_latency" : 24.370175,
          "p99_9_latency" : 39.522303,
          "avg_latency" : 4.663531,
          "timestamp" : "2022-08-18T19:57:57.357909411Z",
          "bytes_in" : 1108800.0,
          "bytes_out" : 331200.0,
          "iteration" : 1,
          "run_id" : "NA"
        }
      }
    ]

Pods logs can be verified using below script once all the clients are reached to completion state
echo -n "`oc get all | grep -i -e 'completed' | cut -f 1 -d ' '`" > output.txt

cat output.txt | awk '{print $0}' | while
	read each
do
	echo "client name: $each"
	echo "client info"
	echo -n "`oc get $each -o yaml | grep -i -e "clientfor" -e 'port' -A 2`"
	echo -e "\n"
	echo "client logs"
	echo -n "`oc logs $each | tail -n 5`"
	echo -e "\n\n"
done

Some of the Testing Screenshots:

Codecov Report

Merging #796 (cba4e9b) into master (68671d1) will decrease coverage by 0.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #796      +/-   ##
==========================================
- Coverage   53.47%   53.17%   -0.31%
==========================================
  Files           8        8
  Lines         331      331
==========================================
- Hits          177      176       -1
- Misses        154      155       +1

Flag
Coverage Δ

gha
53.17% <ø> (-0.31%)
:arrow_down:

python-3.9
53.17% <ø> (-0.31%)
:arrow_down:

unit
53.17% <ø> (-0.31%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cli/ripsaw/clients/k8s.py
90.00% <0.00%> (-1.12%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@rsevilla87 @mukrishn @jtaleric PTAL when you have a chance

Tested again and verified results with all the new changes.


[Errno 111] Connection refused

when reconfiguring the installation after update . I get tne following error :
2023-11-27 19:31:34.577 DEBUG (MainThread) [custom_components.youfone] Finished fetching youfone data in 1.933 seconds (success: False)
2023-11-27 19:31:34.588 DEBUG (SyncWorker_44) [custom_components.youfone.client] [YoufoneClient|login|authenticate] Calling POST https://my.youfone.be/prov/MyYoufone/MyYOufone.Wcf/v2.0/Service.svc/json/login with {"request": {"Login": "deleted", "Password": "deleted"}}
2023-11-27 19:31:34.623 DEBUG (MainThread) [custom_components.youfone.config_flow] [Errno 111] Connection refused
User name and password a verryfied with the Youfone app so they work .
Youfone.be wes down for several days . Now back online

They were/are not really down, they just are blocking you. Their DDOS protection is kicking in quite quickly.
I'm trying to work around it once I get my IP unblocked

Identical as #86


The specified node version file at .nvmrc does not exist

Latest version of spec-prod seems to create failures, see https://github.com/w3c/mediasession/actions/runs/6157270766 for instance.
The error message is "The specified node version file at: /home/runner/work/mediasession/mediasession/.nvmrc does not exist". I wonder whether the spec-prod code now looks for an .nvmrc file, which ends up being looked for in the root folder of the repository that runs spec-prod (and not in the root folder of spec-prod itself).
Or is it because switch to v4 is not only recommended but actually mandatory for actions/checkout@v2?

I didn't see these issues during CI maybe because I tested within this repository. It seems I need to provide full path to .nvmrc so it looks it within spec-prod and not in repository root. Will create a fork and test it.
Thanks for reporting!


"logging.info" is still broken from version 6.10.0

Describe the bug
It seems the new update 6.12.0 is mandatory to use testnet now. However, logging is still broken starting from version 6.10.0.
bt.logging.info doesn't show up. only warn and error show up
https://discord.com/channels/1120750674595024897/1179557631061413968/1235755142377373756
To Reproduce
bt.logging.info doesn't show up. only warn and error show up
Expected behavior
bt.logging.info doesn't show up. only warn and error show up
Screenshots
No response
Environment
Unix
BT version >= 6.10.0
Python 3.10.13
Additional context
No response

Adding this to the code seems to fix the issue
    if config.logging.debug:
        bt.logging.enable_debug()
    elif config.logging.trace:
        bt.logging.enable_trace()
    else:
        bt.logging.enable_default()

        Thanks @ceterum1

I havent looked at the Bittensor code in detail, but I think the issue has two parts:

The old parameters --logging.debug and --logging.trace no longer work
The default loglevel is set to 0 because enable_default() is not called correctly during the logger init

This code:
import bittensor as bt
import time

bt.logging.info("First INFO message")
bt.logging.error("First ERROR message")
bt.logging.warning("First WARNING message")
bt.logging.debug("First DEBUG message")
bt.logging.trace("First TRACE message")
bt.logging.success("First SUCCESS message")

time.sleep(1)

print(f'Log level before enable_default: {bt.logging.get_level()}')
bt.logging.enable_default()
print(f'Log level after enable_default: {bt.logging.get_level()}')

bt.logging.info("Second INFO message")
bt.logging.error("Second ERROR message")
bt.logging.warning("Second WARNING message")
bt.logging.debug("Second DEBUG message")
bt.logging.trace("Second TRACE message")
bt.logging.success("Second SUCCESS message")

time.sleep(1)

print(f'Log level before enable_debug: {bt.logging.get_level()}')
bt.logging.enable_debug()
print(f'Log level after enable_debug: {bt.logging.get_level()}')

time.sleep(1)

bt.logging.debug("Second DEBUG message")
bt.logging.trace("Second TRACE message")

print(f'Log level before enable_trace: {bt.logging.get_level()}')
bt.logging.enable_trace()time.sleep(1)
print(f'Log level after enable_trace: {bt.logging.get_level()}')

time.sleep(1)

bt.logging.trace("Third TRACE message")

Results the following log entries:
Log level before enable_default: 0
2024-06-20 08:10:19.361 |      ERROR       |  - First ERROR message -
2024-06-20 08:10:19.362 |     WARNING      |  - First WARNING message -
Log level after enable_default: 20
Log level before enable_debug: 20
2024-06-20 08:10:19.364 |       INFO       |  - Second INFO message -
2024-06-20 08:10:19.364 |      ERROR       |  - Second ERROR message -
2024-06-20 08:10:19.364 |     WARNING      |  - Second WARNING message -
2024-06-20 08:10:19.364 |     SUCCESS      |  - Second SUCCESS message -
2024-06-20 08:10:19.365 |       INFO       | bittensor:loggingmachine.py:298 | Enabling debug.
2024-06-20 08:10:19.366 |       INFO       | bittensor:loggingmachine.py:305 | Debug enabled.
Log level after enable_debug: 10
Log level before enable_trace: 10
2024-06-20 08:10:19.366 |      DEBUG       | bittensor:loggingmachine.py:354 |  - Second DEBUG message -
Log level after enable_trace: 5
2024-06-20 08:10:19.367 |       INFO       | bittensor:loggingmachine.py:276 | Enabling trace.
2024-06-20 08:10:19.367 |       INFO       | bittensor:loggingmachine.py:283 | Trace enabled.
2024-06-20 08:10:19.368 |      TRACE       | bittensor:loggingmachine.py:349 |  - Third TRACE message -
(.venv) joonas@heimomaster:~/bt-dev/llm-defender-subnet$ python test.py
2024-06-20 08:11:30.618 |      ERROR       |  - First ERROR message -
2024-06-20 08:11:30.618 |     WARNING      |  - First WARNING message -
Log level before enable_default: 0
Log level after enable_default: 20
2024-06-20 08:11:31.623 |       INFO       |  - Second INFO message -
2024-06-20 08:11:31.623 |      ERROR       |  - Second ERROR message -
2024-06-20 08:11:31.624 |     WARNING      |  - Second WARNING message -
2024-06-20 08:11:31.624 |     SUCCESS      |  - Second SUCCESS message -
Log level before enable_debug: 20
2024-06-20 08:11:32.626 |       INFO       | bittensor:loggingmachine.py:298 | Enabling debug.
Log level after enable_debug: 10
2024-06-20 08:11:32.629 |       INFO       | bittensor:loggingmachine.py:305 | Debug enabled.
Log level before enable_trace: 102024-06-20 08:11:33.631 |      DEBUG       | bittensor:loggingmachine.py:354 |  - Second DEBUG message -

Log level after enable_trace: 5
2024-06-20 08:11:33.634 |       INFO       | bittensor:loggingmachine.py:276 | Enabling trace.
2024-06-20 08:11:33.636 |       INFO       | bittensor:loggingmachine.py:283 | Trace enabled.
2024-06-20 08:11:34.637 |      TRACE       | bittensor:loggingmachine.py:349 |  - Third TRACE message -

We implemented a workaround in SN14 with custom logging parameter to get the Bittensor>=7.0.0 into use due to other reasons, so the code snippet @jbonilla-tao mentioned wont work for everyone.
I think this can be fixed quite easily in Bittensor by making sure the set_default() is called in the logger init and if any of the --logging.X parameters have been set and adjust the init accordingly. I can take a look at it and submit a pull request, but I wont be able to do it for at least a few weeks, so anyone is free to also submit a pull request with the fix.
There are also couple of other issues we have noticed with the logging. While some are not directly related to Bittensor and some are personal preferences, I though to still mention them here:

Quite a many subnets are using PM2 as a tool to run miners and validators. The colours do not work anymore with PM2 even when setting FORCE_COLOR=1, which makes the logs more difficult to read
Sometimes the log message is split into multiple lines:

0|llm-defender-subnet-miner-0-testnet  | 2024-06-19 19:31:36.016
0|llm-defender-subnet-miner-0-testnet  |  |
0|llm-defender-subnet-miner-0-testnet  |     SUCCESS
0|llm-defender-subnet-miner-0-testnet  |  |  - Processed payload synapse from UID: 9 - Confidence: 0.0 - UUID: 37b3196f-a088-4af1-ac92-1d88a724ee10 -

This should all be on a one-line, like this: 1|llm-defender-subnet-miner-1-testnet  | 2024-06-19 19:25:56.363 |     SUCCESS      |  - Processed payload synapse from UID: 9 - Confidence: 0.0 - UUID: b1172882-fa29-4b2a-a89d-84b781d58af2 -
3) Extra characters are added into the message field (- in the start and end of the message). I think it would be better to keep the message field (i.e., whatever is logged with the logger command) unmodified as it makes it easier for people to collect and process the logs.
4) Logs seem to be at times coming in incorrect order (most likely related to asyncio). Timestamps are correct so not a huge problem, but can cause some confusion when the messages are not displayed in correct order

Indeed the loss of colors in the pm2 logs is a blocker for us right now. Considering replacing all logging with a different library

Fixed in 8.4 by #2366


CMake changes

When CMAKE_DEBUG_POSTFIX is used soci did not load backend correctly in backend loader so I added it to CMake.
For example I normally use "d" as debug postfix which results in soci_core_4_0d.dll, soci_empty_4_0d.dll, ... on windows platform. This way distinction is made for debug/release modules.
Second change is added support for MSVC multiprocess compiling( enabled by default ).

Thank you


Replace broken readme anchor with working link

This anchor (#writing-plugins) is broken, I suggest to replace it with https://github.com/matryer/xbar-plugins/blob/main/CONTRIBUTING.md
Screenshot ↓

I think this is fixed now. Thanks for reporting it @josephschito.


Support plan output larger than 1MiB

Since the plan is being stored in kubernetes it's limited to 1MB, this isn't hard to hit on larger terraform projects.
Ideas to support.

[ ] Split the plan file and store in multiple secrets
[ ] Plan file artifact API using ephemeral storage
[ ] Support uploading/downloading from S3

Idea: Split
This is pretty straight forward, but basically chunk the file into something less than 1MB and store multiple, then need to re-assemble.
Idea: Plan File Artifact API
This is sorta like the idea around source controllers artifacts, but instead the allow upload as well, have a lightweight plan api internal that plan files can be uploaded/downloaded from by the controller.
The biggest downside: if the API is restarted between plan/apply the files would be lost as it would be ephemeral storage.
Idea: Plan File In S3
Instead of writing to kubernetes, write to S3. The problem here is configuring S3 access, and now needed another external service.

Thank you so much @ekristen
I think we can start by splitting big gzip bytes into 1MB (or less like 900 KB?) chunks.
For example, a plan of size 2.1MB would be split into 1MB, 1MB and 100MB chucks.
The first secret would be named normally like, tf-plan-helloworld.
The second secret would be named tf-plan-helloworld-chunk-1.
The third secret would be named tf-plan-helloworld-chunk-2.
Inside tf-plan-helloworld, there would be an annotation "tf.weave.works/extra-chunks": "2", so that the controller would need to look for the extra chunks from the other two secrets.
what do you think?

@chanwit that's the conclusion I came to. I think to limit the number of edge cases and logic, it should always split at like 850/900 KB (even if it is less) and treat the main secret as a meta secret that just contains a data entry for the number of chunks which would always be 1 or more and perhaps SHA hash if for validating the reassembly.

@ekristen that's cool. Maybe we would try crafting something and K8s will tell us the real limitation it has.

I started doing this on my own project and I know the rancher team had to do this as well, it's a decent pattern that seems to work.
You can also use projected volumes if using a separate pod per run to mount all the secrets to a single directory and the piece them back together, or you can just use the k8s client to find and assemble.

or you can just use the k8s client to find and assemble.

This would be a good candidate for a tfctl command.

Now with the custom backend merged by #288, we can use, for example, S3 to store tfstate.
Chunk-based tfplan can now be prioritized.

1 MiB is equal to 1048576 bytes, so we can use 1000000 bytes as the limitation.

I think we should make it 850-900 for buffer and so that if annotations or labels are needed later we aren't pushed up against the threshold.

I've upgrade to Flux v2.0.0-rc.5 and tf-controller v2.0.0-rc.5 and this is still happening, let me share an screenshoot...

Just a comment on this. While i havent run into this limitation yet I can understand the reasoning. The proposed pattern above seems to be well adopted and would provide a solution to the stated problem.
The only thing I would be afraid of is how fragile this pattern would be. I.e. it relies on all the secrets to exist and if one is not present/corrupted then the entire state is not valid and that could lead to unintended side effects.
I wonder if as part of future work it could auto backup a single tf state file (or if its broken up all the chunk files) to s3 (as a potential solution above) automatically. And there could be tfctl cmd to download/verify/restore from s3 -> cluster...this would not remove the fragilness of the chunk files but would be a safer way to reduce unexpected failures due to file corruption/deletion.

regarding this, let me ask, i'm currently stopped with the migration of 1 provider due to this limitation, after read the last comments, if I'm using this Terraform config using GCS bucket in order to store the TFSTATE , ¿¿are there some magic parameter I forget it in order to put the PLAN also in this GCS bucket ?? I totally agree in the idea in order to move to GCS bucket or S3 also the TFLAN and avoid the size limitation... If somebody has another solution should be great!

Closing as we won't implement anytime soon.


Exception on startup rev 488c478

Rev 488c478 fails to start with the following exception:

@pmonks Please run npm install and try again, one of the dependencies is not installed.

That did it!


unknown type name 'uint16_t' when cross-compiling

I have a build environment on Linux cross-compiling for macOS.
I have built and installed Ogg.
I have checked out tags/v1.3.7 from a clean git clone of https://github.com/xiph/vorbis.git.
I have run ./autogen.sh and ./configure.
./autogen.sh && ./configure --build=x86_64-pc-linux-gnu --host=x86_64-apple-darwin15 --prefix=/opt/ffbuild --disable-shared --enable-static

When I make I get the following errors:
In file included from analysis.c:20:
In file included from /opt/ffbuild/include/ogg/ogg.h:24:
/opt/ffbuild/include/ogg/os_types.h:75:12: error: unknown type name 'uint16_t'
   typedef uint16_t ogg_uint16_t;
           ^
/opt/ffbuild/include/ogg/os_types.h:77:12: error: unknown type name 'uint32_t'
   typedef uint32_t ogg_uint32_t;
           ^
/opt/ffbuild/include/ogg/os_types.h:79:12: error: unknown type name 'uint64_t'
   typedef uint64_t ogg_uint64_t;
           ^
3 errors generated.

Full output of ./configure and make is below:
Updating build configuration files for vorbis, please wait....
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:60: installing './compile'
configure.ac:14: installing './config.guess'
configure.ac:14: installing './config.sub'
configure.ac:16: installing './install-sh'
configure.ac:16: installing './missing'
examples/Makefile.am: installing './depcomp'
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-apple-darwin15
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-apple-darwin15-strip... /opt/osxcross/target/bin/x86_64-apple-darwin15-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
checking for x86_64-apple-darwin15-gcc... /opt/osxcross/target/bin/x86_64-apple-darwin15-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /opt/osxcross/target/bin/x86_64-apple-darwin15-cc accepts -g... yes
checking for /opt/osxcross/target/bin/x86_64-apple-darwin15-cc option to accept ISO C89... none needed
checking whether /opt/osxcross/target/bin/x86_64-apple-darwin15-cc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of /opt/osxcross/target/bin/x86_64-apple-darwin15-cc... gcc3
checking how to run the C preprocessor... /opt/osxcross/target/bin/x86_64-apple-darwin15-cc -E
checking for inline... inline
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by /opt/osxcross/target/bin/x86_64-apple-darwin15-cc... /opt/osxcross/target/bin/x86_64-apple-darwin15-ld
checking if the linker (/opt/osxcross/target/bin/x86_64-apple-darwin15-ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /opt/osxcross/target/bin/x86_64-apple-darwin15-nm
checking the name lister (/opt/osxcross/target/bin/x86_64-apple-darwin15-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-apple-darwin15 format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /opt/osxcross/target/bin/x86_64-apple-darwin15-ld option to reload object files... -r
checking for x86_64-apple-darwin15-objdump... /opt/osxcross/target/bin/x86_64-apple-darwin15-ObjectDump
checking how to recognize dependent libraries... pass_all
checking for x86_64-apple-darwin15-dlltool... /opt/osxcross/target/bin/x86_64-apple-darwin15-dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-apple-darwin15-ar... /opt/osxcross/target/bin/x86_64-apple-darwin15-ar
checking for archiver @FILE support... no
checking for x86_64-apple-darwin15-strip... (cached) /opt/osxcross/target/bin/x86_64-apple-darwin15-strip
checking for x86_64-apple-darwin15-ranlib... /opt/osxcross/target/bin/x86_64-apple-darwin15-ranlib
checking command to parse /opt/osxcross/target/bin/x86_64-apple-darwin15-nm output from /opt/osxcross/target/bin/x86_64-apple-darwin15-cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-apple-darwin15-mt... no
checking for mt... mt
configure: WARNING: using cross tools not prefixed with host triplet
checking if mt is a manifest tool... no
checking for x86_64-apple-darwin15-dsymutil... x86_64-apple-darwin15-dsymutil
checking for x86_64-apple-darwin15-nmedit... x86_64-apple-darwin15-nmedit
checking for x86_64-apple-darwin15-lipo... x86_64-apple-darwin15-lipo
checking for x86_64-apple-darwin15-otool... x86_64-apple-darwin15-otool
checking for x86_64-apple-darwin15-otool64... no
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /opt/osxcross/target/bin/x86_64-apple-darwin15-cc supports -fno-rtti -fno-exceptions... yes
checking for /opt/osxcross/target/bin/x86_64-apple-darwin15-cc option to produce PIC... -fno-common -DPIC
checking if /opt/osxcross/target/bin/x86_64-apple-darwin15-cc PIC flag -fno-common -DPIC works... yes
checking if /opt/osxcross/target/bin/x86_64-apple-darwin15-cc static flag -static works... no
checking if /opt/osxcross/target/bin/x86_64-apple-darwin15-cc supports -c -o file.o... yes
checking if /opt/osxcross/target/bin/x86_64-apple-darwin15-cc supports -c -o file.o... (cached) yes
checking whether the /opt/osxcross/target/bin/x86_64-apple-darwin15-cc linker (/opt/osxcross/target/bin/x86_64-apple-darwin15-ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking GCC version... 4.2.1
checking if /opt/osxcross/target/bin/x86_64-apple-darwin15-cc accepts -Wdeclaration-after-statement... yes
checking for memory.h... (cached) yes
checking for cos in -lm... yes
checking for pthread_create in -lpthread... yes
checking pkg-config is at least version 0.9.0... yes
checking for OGG... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for working memcmp... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating m4/Makefile
config.status: creating lib/Makefile
config.status: creating lib/modes/Makefile
config.status: creating lib/books/Makefile
config.status: creating lib/books/coupled/Makefile
config.status: creating lib/books/uncoupled/Makefile
config.status: creating lib/books/floor/Makefile
config.status: creating doc/Makefile
config.status: creating doc/vorbisfile/Makefile
config.status: creating doc/vorbisenc/Makefile
config.status: creating doc/libvorbis/Makefile
config.status: creating doc/Doxyfile
config.status: creating include/Makefile
config.status: creating include/vorbis/Makefile
config.status: creating examples/Makefile
config.status: creating test/Makefile
config.status: creating vq/Makefile
config.status: creating libvorbis.spec
config.status: creating vorbis.pc
config.status: creating vorbisenc.pc
config.status: creating vorbisfile.pc
config.status: creating vorbis-uninstalled.pc
config.status: creating vorbisenc-uninstalled.pc
config.status: creating vorbisfile-uninstalled.pc
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
make  all-recursive
make[1]: Entering directory '/opt/ffbuild/src/vorbis'
Making all in m4
make[2]: Entering directory '/opt/ffbuild/src/vorbis/m4'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/opt/ffbuild/src/vorbis/m4'
Making all in include
make[2]: Entering directory '/opt/ffbuild/src/vorbis/include'
Making all in vorbis
make[3]: Entering directory '/opt/ffbuild/src/vorbis/include/vorbis'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/opt/ffbuild/src/vorbis/include/vorbis'
make[3]: Entering directory '/opt/ffbuild/src/vorbis/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/opt/ffbuild/src/vorbis/include'
make[2]: Leaving directory '/opt/ffbuild/src/vorbis/include'
Making all in vq
make[2]: Entering directory '/opt/ffbuild/src/vorbis/vq'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/opt/ffbuild/src/vorbis/vq'
Making all in lib
make[2]: Entering directory '/opt/ffbuild/src/vorbis/lib'
Making all in modes
make[3]: Entering directory '/opt/ffbuild/src/vorbis/lib/modes'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/opt/ffbuild/src/vorbis/lib/modes'
Making all in books
make[3]: Entering directory '/opt/ffbuild/src/vorbis/lib/books'
Making all in coupled
make[4]: Entering directory '/opt/ffbuild/src/vorbis/lib/books/coupled'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/opt/ffbuild/src/vorbis/lib/books/coupled'
Making all in uncoupled
make[4]: Entering directory '/opt/ffbuild/src/vorbis/lib/books/uncoupled'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/opt/ffbuild/src/vorbis/lib/books/uncoupled'
Making all in floor
make[4]: Entering directory '/opt/ffbuild/src/vorbis/lib/books/floor'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/opt/ffbuild/src/vorbis/lib/books/floor'
make[4]: Entering directory '/opt/ffbuild/src/vorbis/lib/books'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/opt/ffbuild/src/vorbis/lib/books'
make[3]: Leaving directory '/opt/ffbuild/src/vorbis/lib/books'
make[3]: Entering directory '/opt/ffbuild/src/vorbis/lib'
  CC       mdct.lo
  CC       smallft.lo
  CC       block.lo
  CC       envelope.lo
  CC       window.lo
  CC       lsp.lo
  CC       lpc.lo
  CC       analysis.lo
  CC       synthesis.lo
In file included from analysis.c:20:
In file included from /opt/ffbuild/include/ogg/ogg.h:24:
/opt/ffbuild/include/ogg/os_types.h:75:12: error: unknown type name 'uint16_t'
   typedef uint16_t ogg_uint16_t;
           ^
/opt/ffbuild/include/ogg/os_types.h:77:12: error: unknown type name 'uint32_t'
   typedef uint32_t ogg_uint32_t;
           ^
/opt/ffbuild/include/ogg/os_types.h:79:12: error: unknown type name 'uint64_t'
   typedef uint64_t ogg_uint64_t;
           ^
3 errors generated.
Makefile:623: recipe for target 'analysis.lo' failed
make[3]: *** [analysis.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from synthesis.c:18:
In file included from /opt/ffbuild/include/ogg/ogg.h:24:
/opt/ffbuild/include/ogg/os_types.h:75:12: error: unknown type name 'uint16_t'
   typedef uint16_t ogg_uint16_t;
           ^
/opt/ffbuild/include/ogg/os_types.h:77:12: error: unknown type name 'uint32_t'
   typedef uint32_t ogg_uint32_t;
           ^
/opt/ffbuild/include/ogg/os_types.h:79:12: error: unknown type name 'uint64_t'
   typedef uint64_t ogg_uint64_t;
           ^
3 errors generated.
Makefile:623: recipe for target 'synthesis.lo' failed
make[3]: *** [synthesis.lo] Error 1
make[3]: Leaving directory '/opt/ffbuild/src/vorbis/lib'
make[2]: *** [all-recursive] Error 1
Makefile:656: recipe for target 'all-recursive' failed
make[2]: Leaving directory '/opt/ffbuild/src/vorbis/lib'
make[1]: *** [all-recursive] Error 1
Makefile:530: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/opt/ffbuild/src/vorbis'
Makefile:406: recipe for target 'all' failed
make: *** [all] Error 2

I think this is a "bug" with Ogg when compiling Vorbis or Theora when using the OSX Cross tool chain. https://github.com/tpoechtrager/osxcross
I have had to patch Ogg with
diff --git a/include/ogg/os_types.h b/include/ogg/os_types.h
index eb8a322..6f73b72 100644
--- a/include/ogg/os_types.h
+++ b/include/ogg/os_types.h
@@ -71,6 +71,7 @@
 #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */

 #  include <sys/types.h>
+#  include <stdint.h>
    typedef int16_t ogg_int16_t;
    typedef uint16_t ogg_uint16_t;
    typedef int32_t ogg_int32_t;


[SPARK-21588][SQL] SQLContext.getConf(key, null) should return null

What changes were proposed in this pull request?
In SQLContext.get(key,null) for a key that is not defined in the conf, and doesn't have a default value defined, throws a NPE. Int happens only when conf has a value converter
Added null check on defaultValue inside SQLConf.getConfString to avoid calling entry.valueConverter(defaultValue)
How was this patch tested?
Added unit test

Test build #80283 has started for PR 18852 at commit 53b73ed.

Test build #80283 has finished for PR 18852 at commit 53b73ed.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/80283/
Test PASSed.

Test build #80287 has started for PR 18852 at commit b4055e1.

Test build #80287 has finished for PR 18852 at commit b4055e1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/80287/
Test PASSed.

LGTM except a comment in test cases.

Test build #80292 has started for PR 18852 at commit 4295cd3.

LGTM pending Jenkins.

LGTM

Test build #80292 has finished for PR 18852 at commit 4295cd3.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/80292/
Test PASSed.

Merged build finished. Test PASSed.

Thanks! Merging to master/2.2/2.1


Should these two lines be uncommented during training?

Hi,
Thanks for open-sourcing this awesome work. I was wondering if during training the below two lines should be uncommented, as otherwise the answer text embeddings will also be used for the router?
https://github.com/yfzhang114/SliME/blob/f019bb32de38ad1c7ab28f4b203c5a0f058796e2/llava/model/llava_arch.py#L165-L166
Thanks

Thanks for your interest in our project and for reaching out!
Yes, strictly speaking, the answer text embeddings should not be used for the router during training. However, through our experimentation, we found that there is no significant difference when making this change. We hypothesize that question and answer pairs often exhibit similar patterns, which led us to skip the mask during training.


First contribution by Benjamin Faruna

Name: Benjamin Faruna Adejo
Project: PySAL (Python Spatial Analysis Library)
Governance model link: https://github.com/pysal/governance
Model
The project (PySAL) uses a benevolent dictator model, and it uses the steering council as the primary leadership for the project.  This model has a Benevolent dictator for life (BDFL) which has overall authority in the decision-making process of the project. The dictator however only rarely uses this power as an overriding vote. The BDFL can appoint his/her successor, but it is expected that the Steering Council would be consulted on this decision. If the BDFL is unable to appoint a successor, the Steering Council will make this decision - preferably by consensus, but if needed by a majority vote.
Project Roles

Benevolent dictator for life (BDFL)
Steering council
Package maintainers
Release Manager

Decision-making process
The overall scope, direction and vision of the project are decided by the  Steering council, they also make decisions when community discussions do not produce consensus. The voting process employs the Apache Foundation voting process where an agreement is counted as +1 and -1 or vetoes for a disagreement. A formal vote is conducted only when it is explicitly announced.
Difficulty in finding a governance model
Getting the governance model was relatively easy finding the governance model from the project’s website in the about us section. The understanding of the governance model was easy, with every role and responsibility properly spelt out.

@arliss-NF


Flaskr application problem

The issue tracker is a tool to address bugs.
Please use the #pocoo IRC channel on freenode or Stack Overflow for questions.

I just begun learning python. Following the instructions on http://flask.pocoo.org/docs/0.12/tutorial/packaging/#tutorial-packaging, got the following error on my localhost while it was supossed to show a 404 error. I followed the instructions of the tutorial carefully and dont know what could have gone wrong. Can someone explain to me what does this error means?
ModuleNotFoundError: No module named 'flaskr.flaskr'
Traceback (most recent call last)
File "c:\users\jonathan\flaskr\venv\lib\site-packages\flask_compat.py", line 33, in reraise
from io import StringIO
def reraise(tp, value, tb=None):
    if value.__traceback__ is not tb:
        raise value.with_traceback(tb)
    raise value

implements_to_string = _identity

else:
text_type = unicode
File "c:\users\jonathan\flaskr\flaskr_init_.py", line 1, in
from .flaskr import app
[console ready]

Take a look here: http://stackoverflow.com/a/37972046/4028706
But basically this should do it:
pip install -e .
export FLASK_APP=flaskr
export FLASK_DEBUG=true
flask run

Quoting the guidelines you left in:

The issue tracker is a tool to address bugs.
Please use the #pocoo IRC channel on freenode or Stack Overflow for questions.


fedekunze/1590 empty errors

Closes #1590
Description:

❤ Thank you!

[x] Added entries in CHANGELOG.md with issue # and GitHub username
[x] Reviewed Files changed in the github PR explorer

Nice find


node-exporter OOM

What happened?
node-exporter oom many times,should we increase the limit?
https://github.com/coreos/kube-prometheus/blob/master/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet#L106
Did you expect to see some different?
How to reproduce it (as minimally and precisely as possible):
Environment

Prometheus Operator version:
Insert image tag or Git SHA here

Kubernetes version information:
kubectl version

Kubernetes cluster kind:
insert how you created your cluster: kops, bootkube, tectonic-installer, etc.

Manifests:

insert manifests relevant to the issue

Prometheus Operator Logs:

Insert Prometheus Operator logs relevant to the issue here

Prometheus Logs:

Insert Prometheus logs relevant to the issue here

Anything else we need to know?:

What is the typical usage of this container in your infrastructure? I'd only change this value if we are consistently close to the limit, otherwise I think the safe-guard is not bad.

I deploy prometheus operator to monitor k8s cluster, the node-eporter is one of them ,to monitor host metrics

Can you share some data on how much memory the node-exporter uses? You can see that with the cadvisor metrics collected.

For us CPU throttles around 70% of the time and triggers the alert (we adjust it though).

sorry ,my fault, it is limit of container kube-rbac-proxy to too low(40M) https://github.com/coreos/kube-prometheus/blob/master/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet#L128
kube-rbac-proxy: (max ~50M)

node-exporter:  (max ~80M)

Yeah looks like it's too small. Would you like to create a PR to bump the limits a bit?


See the total service item costs in the offer overview

As a project manager, I want to see the total service item costs in the offer overview before creating the offer, so that I have a good understanding of the individual total costs of an offer item.
Hint: the current overview grid does not show the total item amount

Solved in #744


Older cri-tools package got picked up and throws unsupported output format "" on crictl ps -a

Hello,
A problem with a fresh install of OKD 4.6 and FedoraCoreOS 33.20210201 in my vSphere Environnement :
ESXi-6.7.0 & Virtual Machine version to 13
FedoraCoreOS 33.20210201
Client Version: 4.6.0-0.okd-2021-02-14-205305
Server Version: 4.6.0-0.okd-2021-02-14-205305

An older cri-tools from 1.11 era got picked up. We'd need to revive https://build.opensuse.org/package/show/devel:kubic:libcontainers:testing/cri-tools ideally to have it fixed (cc @haircommander).
Workaround: crictl ps -a -o table

@vrutkovs thanks.

Let keep it open until correct cri-tool package lands

Resolved in 4.7 builds


java2ceylon can't convert enums

Converting a Java enum results in Java code that does not compile:
Java enum:
private enum TheRoyalWe {
	ME, MYSELF, I;
}

Resulting Ceylon:
class TheRoyalWe {
    shared actual String string;
    shared \iME {
        string = "ME";
    }

    shared \iMYSELF {
        string = "MYSELF";
    }

    shared \iI {
        string = "I";
    }
}

@rohitmohan96 would you take a look, please?

It seems to work for me.
I get
class TheRoyalWe {
	shared actual String string;
	shared new \iME { string = "ME"; }
	shared new \iMYSELF { string = "MYSELF"; }
	shared new \iI { string = "I"; }
}

when I convert.

Oh wait, but that's not what I get when I paste it in the IDE...

It looks like it has something to do with the format() method in PasteAsCeylonHandler.

Aha, so it's a bug in ceylon.format, perhaps. That makes sense to me, after looking at the code. @lucaswerkmeister?

I’ll have a look

Should be fixed, formatter was missing support for value constructors.

Thanks, @lucaswerkmeister!

Confirmed!

Oh, and by the way @gavinking: I just realized that this illustrates another difference between passing a token stream to the formatter, and not passing one (null). With token stream, the formatter would have detected an unaccounted for new token, and would have thrown an error.


Add more line number information

The previous line number code flushed immediately when the filename changed.  This meant that some instructions after the current row's address could be not marked because they hadn't been passed when the flush happened but were before the address in the row for the new file.  This patch changes addLineInfo to flush when adding a row that indicates a file change.  Since at that point we know the address of the first instruction from the new file we can mark any previous instructions as being part of the previous file.
This also removes the special-casing of address 0; it's not mentioned in the DWARF spec and causes issues due to a linker bug: https://sourceware.org/bugzilla/show_bug.cgi?id=24192

Otherwise LGTM.

Thanks!


Add mimalloc 2.1.7-bcr.alpha.1

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (mimalloc) have been updated in this PR. Please review the changes.

@meteorcloudy I sent https://github.com/bazelbuild/continuous-integration/pull/2004 to fix the CI failure.

@keith @illicitonion Could you review this if you have time? I want this to be as easy to use as possible while still (eventually) exposing the relevant configuration options.


Ensure bids() is called with identifying entities

Calls to bids with just datatype and/or prefix are indistinguishable from calls to bids with just suffix. Pybids would parse these paths as having suffixes. Thus, we prevent this types of calls altogether
Resolves #193
Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you are unsure about any of the choices, don't hesitate to ask!

[x] Changes have been tested to ensure that fix is effective or that a feature works.
[x] Changes pass the unit tests
[x] I have included necessary documentation or comments (as necessary)
[x] Any dependent changes have been merged and published

Notes
All PRs will undergo the unit testing before being reviewed. You may be requested to explain or make additional changes before the PR is accepted.

Added another push updating the error message to be more detailed.
Also realized I made calls to bids with no args (bids()) illegal, but the docstring says such should return an empty string (''), so I fixed that


(Feature request) Support next export

I'm a current user of styxlab/gatsby-theme-try-ghost and love that project, but wanted to give Next a try. I use the gatsby repo to build a static site off of my Ghost blog, which I deploy with NGINX. I am able to get this template working (so easy! well done) but it results in a dynamic site served by node. The site works well and is beautiful, but being dynamic, it requires the Ghost deployment to be available, and is significantly more resource-intensive than the static Gatsby-built NGINX-served version.
None of this is a concern if you use Vercel or another platform, but since I self-host, I'm interested in a static exported version of this project, if you would consider supporting it!
Next.JS supports a static export of a site with the next export command (this project has this available with a simple yarn export, but with many limitations. A few of these are 1) you can't use the default loader for next/image and the  tag (link); 2) you cannot use getStaticPaths with fallback: true (link)... there are probably more.
I'm going to try to hack my way through these restrictions and see if I can't get a version working, but I'm poor at this type of development and likely won't do it cleanly if I can make it work. I'd love for this feature request to be considered so someone with more experience can make it work properly.

@jpalpant Good to see you around again! I am open to making NextJS export work if you can do the heavy lifting. As you discovered already there are many places that need changes as the export imposes many restrictions.
Ideally I would like to see a new switch in appConfifg.js (that is allowed to overwrite other settings - which needs to be properly documented).
As this might be a larger task, I propose to do this with a couple of PRs that I am happy to review. The first could be to enhance the RSS switch, so that it is compatible with export when switched off.
You might have seen that I am quite busy with Blogody these days, so I see my role in reviewing and advising (making sure the changes fit into the general concept of this repo).

Hey, I just created a  PR which addresses a couple of issues you guys mentioned here, but not everything. There might be still some issues with image props, but I think it's a better solution than to manage two separate versions.
Then again, I am not sure how you use this template, your requirements might differ from mine.


[jdbc] Add support for SQL:2008 FETCH FIRST n ROWS ONLY for Scans

Currently, the JDBC interface implements the Scan with:

SELECT TOP for SQL Server
ORDER BY ... LIMIT for others

Today, most databases use the ORDER BY ... FETCH FIRST ... ROWS which is the SQL standard since 2008.
See Markus Winand matrix
In this PR I kept the "sqlserver" boolean but renamed it "sqlserverScans" as it is used only for scans. And I added a "sqlansiScans" for the FETCH FIRST syntax.
For compatibility, I kept it at false, and enable it only when the driver contains "oracle" or "postgres" as these are the common databases supporting the SQL ANSI syntax. But actually only SQLite, MySQL and MariaDB need to use this LIMIT syntax in current versions.
In the future, it is probably better to check the product and version once connected. Or maybe try the 3 syntaxes at connection by parsing a simple query and chose the first one with no error.

Thanks! I'll ping you to test this out once it's in a release candidate.


s2geometry-node and node-gyp build error

emote: make: Leaving directory `/var/lib/openshift/56a101f97628e1ed0c0000ad/app-root/runtime/repo/node_modules/pokemon-go-node-api/node_modules/s2geometry-node/build'
remote: gyp ERR! build error
remote: gyp ERR! stack Error: `make` failed with exit code: 2
remote: gyp ERR! stack     at ChildProcess.onExit (/opt/rh/nodejs010/root/usr/lib/node_modules/node-gyp/lib/build.js:276:23)
remote: gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
remote: gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
remote: gyp ERR! System Linux 2.6.32-573.12.1.el6.x86_64
remote: gyp ERR! command "node" "/opt/rh/nodejs010/root/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
remote: gyp ERR! cwd /var/lib/openshift/56a101f97628e1ed0c0000ad/app-root/runtime/repo/node_modules/pokemon-go-node-api/node_modules/s2geometry-node
remote: gyp ERR! node -v v0.10.35
remote: gyp ERR! node-gyp -v v3.2.0
remote: gyp ERR! not ok
remote: npm info<EMAIL_ADDRESS>Failed to exec install script
remote: npm ERR! Linux 2.6.32-573.12.1.el6.x86_64
remote: npm ERR! argv "node" "/opt/rh/nodejs010/root/usr/bin/npm" "install" "-d"
remote: npm ERR! node v0.10.35
remote: npm ERR! npm  v2.14.13
remote: npm ERR! code ELIFECYCLE
remote:
remote: npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
remote: npm ERR! Exit status 1
remote: npm ERR!
remote: npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.

I'm trying to upload my project to openshift, and I keep getting this build error.
I had try everything I could think of, but my options are limited being a free hosting for open source projects.
Everything works great on my side...but I don't know where to attack this problem.
May you throw some insight on this? :) I'll contact openshift's tech, meanwhile

After much hunting info around...I've come to this:
https://github.com/icflorescu/openshift-cartridge-nodejs/issues/49
It's seems there is no hope :(
Maybe its there some kind of alternative ?
I didn't expect this...everything works fine, and then founding that all that work means nothing before the mighty-outdated server xD

Same problem with MeteorJS 1.3.5 (who run a Node 0.10.46).
But s2geometry-node (and so node-gyp) use V8 namespace introduced on 0.11

same here...

I had the same problem before. Possible solutions
https://github.com/billyriantono/s2geometry-node/issues/12

In the end I'm gonna change to Heroku :) There all goes smooth.
I think that openshift isn't going to do much, knowing that their node base is 0.10, and they just don't care enough to upgrade.

@klisman & @arkdelkaos
https://github.com/billyriantono/s2geometry-node/issues/14#issuecomment-235588095 <- worked for me.

Fixed in https://github.com/Armax/Pokemon-GO-node-api/pull/165

Build is going fine on windows 7 but now calling PokeIo.heartbreak gives me:
C:\src\dkj\performance-hunting\node_modules\pokemon-go-node-api\poke.io.js:49
  var origin = S2.latLngToQuadkey(lat, lng, level);
                  ^

TypeError: S2.latLngToQuadkey is not a function
    at getNeighbors (C:\src\dkj\performance-hunting\node_modules\pokemon-go-node-api\poke.io.js:49:19)
    at Pokeio.self.Heartbeat (C:\src\dkj\performance-hunting\node_modules\pokemon-go-node-api\poke.io.js:261:16)
    at Timeout.setInterval [as _repeat] (C:\src\dkj\performance-hunting\index.js:59:20)
    at Timeout.wrapper [as _onTimeout] (timers.js:421:11)
    at tryOnTimeout (timers.js:228:11)
    at Timer.listOnTimeout (timers.js:202:5)

I need help fixing https://github.com/coolaj86/s2-geometry-javascript/issues/6 before this can be merged in.
However, you can use my fork in the meantime: https://github.com/Daplie/Pokemon-GO-node-api
You can test that it works with my Pokémap server: https://github.com/Daplie/node-pokemap

Closing issue for now. Please continue discussion on the pr by @coolaj86.


Live Server is Not installing in My PC

If you have a problem launching a live-server, please try following steps:

Make sure you use the right hotkeys. After v2.0.0, the keys became ctrl-alt combination.
Try launching live-server from top menu: Package -> live-server -> Start Server to see if it works.

I had tried these following steps, but it is showing the live server is stopped. Can you please help me


Support max_size: on Strings (#10)

Support max_size: on Strings

Heya,
Here is the proposal for completing #10.
When deserializing and max_size is reached in a String without finding \0, it raises an error, and a corresponding test exists.
The remaining issue is how to hook this logic into ByteFormat serialization. I looked into the end of file src/byte_format/serialize.cr, but I don't see how to access the annotations from there. (The _ variable is object itelf, it's not Crystalizer's Var on which annotations exist).
Do you have any advice? Thanks.

Before thinking of that, let me recap of what you need now:

set an exact size for a String
set a max size a String, with a delimiter, can have (possibly one would want a min size too)

Note that I prefer to use the size word instead of length. I don't have any string opinion outside Crystal, but in Crystal itself size is used, so let's use it too here.
A the annotation API, we can have then:

@[Crystalizer::Field(size: 10)]: field size is exactly 10, no delimiter.
@[Crystalizer::Field(size: 10..15): field size must be at least 10 and maximum 15, delimiter.

There could be overloads I guess, one for  Int32 and one for Range(Int32, Int32).
Finally, Bytes should support this too.
Worth considering: having a default upper limit, i.e default range, to prevent security issues/crashes could be a good idea - WDYT?

For your question, you can add the third yielded argument _, obj, var. Then, you'll have to add logic to de_unionize. If the type is a String, then add the argument size: var.annotations[:size]?.

Before thinking of that, let me recap of what you need now:
* set an exact size for a String

Ah yes, good idea, I wasn't thinking of that.

Note that I prefer to use the size word instead of length. I don't have any string opinion outside Crystal, but in Crystal itself size is used, so let's use it too here.

Right, agreed, the PR already uses size. I only used length during the discussion on the ticket.

A the annotation API, we can have then:
* @[Crystalizer::Field(size: 10)]: field size is exactly 10, no delimiter.
* @[Crystalizer::Field(size: 10..15): field size must be at least 10 and maximum 15, delimiter.

OK, sounds good. I guess that would work for this initial implementation, and if we ever encounter a case where a person needs the third case (exact size + delimiter), we can then expose the delimiter setting in the annotation, so users can set it as they wish.

There could be overloads I guess, one for Int32 and one for Range(Int32, Int32).
Finally, Bytes should support this too.
Worth considering: having a default upper limit, i.e default range, to prevent security issues/crashes could be a good idea - WDYT?

Don't have a particular opinion. In my case the strings will always be below 1K length, but I am not sure if this is a good default or a default should be large like 1M or so.
Thanks for comments/advice, will continue work on it tomorrow.

I've implemented size : Int and size : Range for String deserialization.
Things remaining to do:

Add var to de_unionize
Support serialization as well (changes are necessary to include or avoid \0, depending on size: Int | Range)
Make it work for Bytes as well

OK, great, so at this point the only remaining issue is re. that Error.new. If you like my reasoning for it, you could leave it as-is and accept the commits. Or let me know and I can undo it before merging.
I would then work on adding the same support for Bytes in a separate ticket. (Probably after #13.)

As you wish for Bytes, it will be quite easy, being similar to String.

As you wish for Bytes, it will be quite easy, being similar to String.

Yeah I already tried it, but had some trouble so need another attempt later.

Actually I think there's one last improvement to be done here. Instead of checking Range's begin and end, we should just check if range includes? the given value. Apart from being shorter to write/maintain, it will also allow one to specify things like Range().new.step(2) and so on for free.

By the way: we are currently using string.size and comparing that to the allowed values.
However, given that this is for bytes (de)serialization, maybe it is more customary to be specifying size in terms of bytes than unicode codepoints. (In other words, maybe we should be using string.bytesize rather than string.size.
Do you have any thoughts on that? I could change this as well before merging if you think it's a valid observation.

maybe we should be using string.bytesize rather than string.size

I made this change right away because it seemed to make more sense. Also, when size : Int is passed and we call @io.read_string size, the read_string() method thinks that the value is in number of bytes, so it already defines what the value should be.

Ok I'm fine with this change. Then, I'd prefer to have size changed to bytesize in the other places to prevent any confusion.

Hm, there seems to be an issue of the current code in serialize not restricting types sufficiently. The source now says:
  private def de_unionize(object : U, variable : Variable) forall U
    {% for u in U.union_types %}
      if object.is_a? {{u}}
        return case variable.type
        when String.class
          if bytesize = variable.annotations.try &.[:bytesize]
            serialize object, bytesize: bytesize
          else
            serialize object
          end
        else
          serialize object
        end
      end
    {% end %}
  end

And I created a struct that has UInt8 and String properties, and trying to use ByteFormat on it gave:
There was a problem expanding macro 'macro_139671421646592'
Called macro defined in lib/crystalizer/src/byte_format/serialize.cr:64:5

 64 | {% for u in U.union_types %}

Which expanded to:

 >  1 |
 >  2 |       if object.is_a? String
 >  3 |         return case variable.type
 >  4 |         when String.class
 >  5 |           if bytesize = variable.annotations.try &.[:bytesize]
 >  6 |             serialize object, bytesize: bytesize
 >  7 |           else
 >  8 |             serialize object
 >  9 |           end
 > 10 |         else
 > 11 |           serialize object
 > 12 |         end
 > 13 |       end
 > 14 |
 > 15 |       if object.is_a? UInt8
 > 16 |         return case variable.type
 > 17 |         when String.class
 > 18 |           if bytesize = variable.annotations.try &.[:bytesize]
 > 19 |             serialize object, bytesize: bytesize
 > 20 |           else
 > 21 |             serialize object
 > 22 |           end
 > 23 |         else
 > 24 |           serialize object
 > 25 |         end
 > 26 |       end
 > 27 |
Error: no overload matches 'Crystalizer::ByteFormat#serialize' with types UInt8, bytesize: Range(Nil, Int32)

Overloads are:
 - Crystalizer::ByteFormat#serialize(string : String, bytesize : Int)
 - Crystalizer::ByteFormat#serialize(string : String, bytesize : Range(Int32 | ::Nil, Int32 | ::Nil))
 - Crystalizer::ByteFormat#serialize(number : Number::Primitive)
 - Crystalizer::ByteFormat#serialize(bool : Bool)
 - Crystalizer::ByteFormat#serialize(bytes : Bytes)
 - Crystalizer::ByteFormat#serialize(object : Enum)
 - Crystalizer::ByteFormat#serialize(object : NamedTuple | Hash)
 - Crystalizer::ByteFormat#serialize(array : Array | Deque | Set | Tuple)
 - Crystalizer::ByteFormat#serialize(string : Path | String | Symbol, add_delimiter : Bool = true)
 - Crystalizer::ByteFormat#serialize(object : O) forall O

Do you have an idea how to restrict the types more effectively?


change gnosis-safe icon

updated gnosis-safe icon with the latest one

replaced by https://github.com/WalletConnect/walletconnect-website/commit/fb2023f7a80639e9b473e725486aca7979faa70f


DocumentIndex or DocumentSelector at the asserts level

Hello, having multiple test cases within the same template, I dont want to duplicate too many tests definitions just so I can change the documentIndex or Selector. Would it be simple to add the documentSelector or documentIndex directly at the assert level.
The only assertionType that is close to that is containsDocument while using the any: true flag.
Willing to do a PR if it is possible and worth it.

@quintush Thank you!! I misread it. Cheers


Stellar: show send form when clicking send button from chat

Uses setBuilding* to set up the values in the form. Since our inputs aren't controlled, values won't be filled but corresponding errors will show when they should. Also adds a call to loadAccounts on login. r? @keybase/react-hackers

@chrisnojima I added an abandonPayment action to handle the navigation. If that looks ok feel free to merge


docs: Fix simple typo, vulnerabilty -> vulnerability

There is a small typo in fsociety.py.
Should read vulnerability rather than vulnerabilty.

I don't think anyone will be able to push this fix due to badly this project is maintained, thanks tho!
Check out the new f society instead!
Here

Thanks for fixing this typo!


Multi site enhancements

Description & motivation
This PR bundles two improvements to the multi-site functionality.
combine_property_data macro
Switch to use if not should_full_refresh() rather than the is_incremental() macro as the is_incremental does not work in pre-hooks.
Additionally, this allows users to set the base_ga4__events config to use +full-refresh: false in the model config block as cloning on full-refreshes is prone to timing out.
This resolves issue #161.
friendly stream names
Added support to map stream_ids to stream names via a seed file.
Because you can have multiple streams in a single property, this feature required an extra config parameter.
I know when I previously set this up for a different multi-site concept, Adam had requested that I implement the mapping via dbt_project.yml variables rather than using a seed. Using the seed works and is easy to implement.  Using a variable requires nested Jinja lists which then need to be converted into a SQL model. It's a pain to implement and I lack the time to do it right at the present.
I suggest we merge this working version and then enhance it later when people have the time to improve on it.
documentation
Added documentation recommending an increase to the BigQuery timeout settings when using multi-site to circumvent issue #160.
This PR is based off of the Time on page PR. That PR should be merged first.
Checklist

[y ] I have verified that these changes work locally
[y ] I have updated the README.md (if applicable)
[n/a ] I have added tests & descriptions to my models (and macros if applicable)
[ y] I have run dbt test and python -m pytest . to validate existing tests

is this a branch from the time on site branch? There seem to be 21 files changed.

Correct @adamribaudo-velir, there's a note at the bottom of the PR's description to merge the time-on-page PR first.

@dgitis I merged in the 'time on page' branch but still getting a conflict with this branch.
Could you separate out the 'stream rename' and 'combine_property_data macro' fix for #161? They are very different contributions.
I'm a little skeptical that the 'stream rename' should be a part of the package - it seems like a BI layer concern in that it simply re-labels data to be human-readable. Similar to how you would use the BI layer to convert '20230329' to 'Wednesday March 29th'

I'm going to close this and reopen with a cleaner PR.


How can I add List Unsubscribe header in Postal? Please Help!

Hello,
First of all a big salute to the developers and contributors
I wanted to add a list-unsubscribe header for my postal server
Please help me out with this.
Thanks!
Best Regards :-)

This list that you want is per server? or for the entire POstal?

Postal supports custom headers with your messages so if what you are sending from has support for the header, then there should be no problem.

Thank You for your replies @willpower232 @Igcorreia  You are right I want to add list-unsubscribe header for entire postal. I.E every outgoing mail should contain list-unsubscribe header in it. Please help and guide me how can I do it, I'm not a tech person detailed explanation is appreciated.
Thanks, Brothers, @Igcorreia @willpower232
Best Regards

If I am not mistaken like @willpower232  said Postal accept custom headers:
https://github.com/postalhq/postal/blob/2595481b266199d8e29347dea2764f2c10202805/api/controllers/send_api_controller.rb#L50
There is an issue or a pull request that has an explanation of how to add custom headers. I have used it and customized postal to my needs. (I did a quick search couldn't find it do :/)

Thanks for your patience , but I have'nt understand because I have very less coding experience. Where can I add headers? I mean which file should I edit to add headers.

Hello Brother @dragoangel I think you can answer my question. Please help me, Thanks in advance

@fardeen0424 to clarify: you need have unsubscribe link in your webservice first. postal is simply MTA, he not manage subscriptions links. If you send mail over smpt - then smtp sender need add this header in original email. if you send this as rest api described here https://krystal.github.io/postal-api/controllers/send/message.html then you know what to do ;)


How do I use the checkpoints from Google Cloud?

This may sound trivial. But I'd like to have some idea on how use the .data and .index file from gs://vmoe_checkpoints. Does this repo provide any scripts or code to do some evaluation/inference on those models? Any help would be appreciated.

Thanks for the reply. I was able to get the fine-tuning script running. It seems to me the script is always doing training & eval. Is there any way to use the checkpoint in the workdir directly for inference? I had to hack the train_and_eval loop and disable backprop to get inference working without retraining. Any help would be appreciated:)

Unfortunately, we don't have a script for running inference alone. But it should be relatively easy to create one using the classes/functions in evaluator.py.

May I ask if your evaluation function has been written and how is it written?


Add Support On Multiple Select With CTRL(control)

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[X] feature request
[ ] support request => Please do not submit support request here

Expected behavior
Multiple select with CTRL

Angular version: 2.0.x

Language: TypeScript

This should already happen automatically on selectionType=multi

Yes but by click not durning Ctrl + click

I added my code to existing for supporting in Ctrl+click

@germanAd can you PR please it's interesting 👍

Ya, would love to have that in master.

@istiti
I not have time add this to master
I can write here changed i made
Its ok?