Update readme.md

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of “no breaking changes
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

@raych1 created this PR to resolve a merge conflict in my swagger PR for adding a new API version for HealthcareApis RP. Here's a link to the PR: https://github.com/Azure/azure-rest-api-specs/pull/11145

/azp where

/azp where

/azp run automation - sdk

@anrudraw , actually you could push this change to your private branch directly rather than use this PR.

/azp run unifiedPipeline

@raych1 for some reason, I can push changes to my branch copied-from-private/anrudraw/azure-rest-api-specs-pr/PrivateLink-Microsoft.HealthcareApis-2020-03-30. Getting "Branch is protected" error. That's why created this PR

@akning-ms , can you please force merge this PR? It is to resolve a conflict in another PR#11145.


#302 Update ReflectionUtils.cs

remove unused method

@dundich  please amend your commit to have the certificate of origin in the comment:
https://github.com/zarusz/SlimMessageBus/blob/master/CONTRIBUTING.md


error when use redux @connect and this.context.router

I want to use it like this:

@connect(state => state)
class MessageComposer extends Component {

  componentWillMount() {
    // send login action
    const { dispatch } = this.props;
    dispatch(checkLogin(this.context.router));
  }

  render() {
    return (

MessageComposer

        <Link to='/login' >GO!</Link>

    );
  }
}

MessageComposer.contextTypes = {
  router: React.PropTypes.object,
};

export default MessageComposer;

but it would give me some error like this
Uncaught Error: Invariant Violation: Could not find "store" in either the context or props of "Connect(MessageComposer)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(MessageComposer)".

after I remove the decorator and change it like this
export default connect(state => state)(MessageComposer);

it would work
if i remove router context declare,it would work too
ps:
    "react-router": "^1.0.0-beta3",
    "react-redux": "^0.8.0",
    "redux": "^1.0.1",

Is that component wrapped in a <Provider> component?

yes, if I remove contextTypes,it would work, and dispatch the action

If you remove contextTypes? That's not supposed to work that way. React only passes context if you request it via contextTypes.
But that doesn't address what I asked. Are you wrapping this in a <Provider> component higher up?

yes, I wrap <MessageComposer> in a <Route> ,<Route> is in <Router>
and I wrap the <Router> in <Provider>
  React.render(
    <Provider {...{ store }}>
      {() => <Router {...{ history }} />}
    </Provider>,
    document.getElementById('mainPage')
  );

If I remove contextTypes, this.context.router wouldn't work,but @connect would work,and I can get dispatch from this.props

You can declare contextTypes as static class prop like this:
class MessageComposer extends Component {
  static contextTypes = {
    router: React.PropTypes.object,
  }
  //...
}

Your component's own contextTypes won't conflict with connect(). It creates a higher-order component, so it has it's own context and therefore it's own local contextTypes.

@miafmira thanks

@timdorr that's the point I want to figure out,if I use
export default connect(state => state)(MessageComposer);

it's ok

The decorator syntax is essentially desugars to the same thing. Are you using babel with at least stage 1 enabled?

after I change code to syntax @miafmira suggested before
class MessageComposer extends Component {
  static contextTypes = {
    router: React.PropTypes.object,
  }
  //...
}

it would work
this syntax
MessageComposer.contextTypes = {
  router: React.PropTypes.object,
};

wouldn't work

Yes, that is correct. The way statics desugar is slightly different than just setting a property on the class.

Either use ES7 proposal syntax both for properties and decorators (dangerous: subject to change), or just use ES6.
@connect(...)
class Stuff {}

// WON'T WORK
Stuff.contextTypes = {
  router: React.PropTypes.object,
};

does not work because you're assigning contextTypes to the wrapped component returned by connect. It's like doing this:
class Stuff {}
Stuff = connect(...)(Stuff);

// WON'T WORK
Stuff.contextTypes = {
  router: React.PropTypes.object,
};

i'm getting the same issue:
@connect(state => state)
export default class Root extends Component {
    static contextTypes = {
        router: React.PropTypes.object,
    }
}

if i remove contextTypes it works fine...
@gaearon you mentioned using ES7 for both, am i doing it the wrong way?

My advice today is don’t use decorators at all. They are too easy to break with Babel 6, and they are not even an official feature in it. For example, specifying plugins in a different order can cause decorators to work incorrectly with static properties in Babel 6, which is likely the issue you are experiencing.
Until decorators are officially supported by Babel and the plugin ordering issues are solved, just avoid them:
class Root extends Component {
    static contextTypes = {
        router: React.PropTypes.object,
    }
}

export default connect(state => state)(Root)

thank you for the advice Dan


Rounding error in TRig.ToDPIcom

Hi, I've been using the DPIcom format in a rig descriptor file I created for the AOR AR-DV1 receiver. I found that there is a rounding error when dividing from Hz to MHz on line 321 of RigObj.pas. If I declare F as double (line 316) this rounding problem can be fixed. Would you be able to make this change and include in your next release please?

Hello Steve,
I have already changed the declaration of F to double in RigObj.pas.
Here is the new code:
// Added by RA6UAZ for Icom Marine Radio NMEA Command
procedure TRig.ToDPIcom(Arr: TByteArray; Value: integer);
var
S: AnsiString;
// Changed by Stephan Andratsch (22.07.20209)
// Dataytype change from single to double
// Fix inspired by jarvisroad - Steve Holloway (M7FFT)
F: double;
C: Char;
begin
C := FormatSettings.DecimalSeparator;
FormatSettings.DecimalSeparator := '.';
F := Value / 1000000;
S := StringOfChar('0', Length(Arr)) + FloatToStrF(F,ffFixed,10,6);
Move(S[Length(S)-Length(Arr)+1], Arr[0], Length(Arr));
FormatSettings.DecimalSeparator := C;
end;
Hopefully I will be able to release the new version in a couple of days.
Regards
Stephan Andratsch

Dear Steve & Stephan
It seems than one of you has created a rig descriptor file for the AOR DV-1.
I tried to do this several times without success. Could you please tell me, if this file is public available? It would be a great help for me to see how it's done ( and to use it ).
Kind regards: Christoph / HB9DTZ
<EMAIL_ADDRESS>


Out of memory error in example

Compiled for Android using Readme, and getting:
crate context: Out of memory
When I try to run the mali_common_c_example on a Pixel 6 Pro 99% of the time.

Modifying lines 54-56 to:
int status = -1;   while (status < 0) {     status = hpc_gpu_mali_common_create_context(num_counters, counters,                                                   &allocator, &context);   }
Has fixed it so it starts running now, but obviously this isn't a good solution


Update DG and UG

Updated DG and UG based on current implementations
Follow up:

Update screenshots once features and finalised

LGTM


[SPARK-5486] Added validate method to BlockMatrix

The validate method will allow users to debug their BlockMatrix, if operations like add or multiply return unexpected results. It checks the following properties in a BlockMatrix:

Are the dimensions of the BlockMatrix consistent with what the user entered: (nRows, nCols)
Are the dimensions of each MatrixBlock consistent with what the user entered: (rowsPerBlock, colsPerBlock)
Are there blocks with duplicate indices

Test build #26344 has started for   PR 4279 at commit 0aa519a.

This patch merges cleanly.

Test build #26344 has finished for   PR 4279 at commit 0aa519a.

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/26344/
Test PASSed.

Test build #26372 has started for   PR 4279 at commit 25f083b.

This patch merges cleanly.

Test build #26372 has finished for   PR 4279 at commit 25f083b.

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/26372/
Test PASSed.

Test build #26390 has started for   PR 4279 at commit 598c583.

This patch merges cleanly.

Test build #26390 has finished for   PR 4279 at commit 598c583.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Star extends Attribute with trees.LeafNode[Expression]
case class UnresolvedStar(table: Option[String]) extends Star
case class ResolvedStar(expressions: Seq[NamedExpression]) extends Star

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

Test build #26411 has started for   PR 4279 at commit c152a73.

This patch merges cleanly.

Test build #26411 has finished for   PR 4279 at commit c152a73.

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/26411/
Test PASSed.

LGTM. Merged into master. Thanks!


Does not work with environment map

Hi and thanks a ton for this great feature in Google maps / this example!
I was trying to use an environment map (with metalness / roughness - values) on my model and noticed that this doesn't seem to work with WebGLOverlayView. The reflections of the environment map on the object are static and are not updating correctly. I'm not sure if the problem is in my setup or in WebGLOverlayViewor in ThreeJS.
The video shows the result with Google Maps and WebGLOverlayView on top and the result with "normal" ThreeJS on the bottom.
https://user-images.githubusercontent.com/33040347/163732934-43f46c00-e179-4f71-b8cb-06707f3764f5.mp4
Here are my change to your code:
    // load the model
    loader = new GLTFLoader();
    const source = "pin.gltf";
    loader.load(
      source,
      gltf => {
        gltf.scene.scale.set(25, 25, 25);
        gltf.scene.rotation.x = 180 * Math.PI / 180; // rotations are in radians

        scene.add(gltf.scene);

+        // Load Environment Map
+        new EXRLoader().load("/furry_clouds_2k.exr", texture => {
+          const pmremGenerator = new THREE.PMREMGenerator(renderer);
+          const exrCubeRenderTarget = pmremGenerator.fromEquirectangular(texture);

+          // Apply Environment Map
+          gltf.scene.traverse(o => {
+            if (o.material) {
+              o.material.envMap = exrCubeRenderTarget.texture;
+              o.material.envMapIntensity = 1;
+              o.material.metalness = 1;
+              o.material.roughness = 0.1;
+              o.material.needsUpdate = true;
+            }
+          });
+        });
      }
    );

It's a pretty simple code change and I'm clueless why it's behaving like this. Please help!
PS: I also noticed that your GLTF has all inverted faces. It's not visible in your demo, but if you start changing the material settings, it becomes noticeable. Do you want a PR :slightly_smiling_face: ?

Alright, I figured out that this is because only the projectionMatrix of the camera is updated - but not the position / rotation / (scale?!). If I update the camera position and rotation with values from projectionMatrix.clone().invet().decompose(position, rotation, scale), I can see the environment map works "correctly". But now my model is sliding across the planet, which isn't ideal...
What would be the correct way to get the camera's transformation matrix in global coordinates?

Hi and thanks a ton for this great feature in Google maps / this example!
I was trying to use an environment map (with metalness / roughness - values) on my model and noticed that this doesn't seem to work with WebGLOverlayView. The reflections of the environment map on the object are static and are not updating correctly. I'm not sure if the problem is in my setup or in WebGLOverlayViewor in ThreeJS.
The video shows the result with Google Maps and WebGLOverlayView on top and the result with "normal" ThreeJS on the bottom.
https://user-images.githubusercontent.com/33040347/163732934-43f46c00-e179-4f71-b8cb-06707f3764f5.mp4
Here are my change to your code:
    // load the model
    loader = new GLTFLoader();
    const source = "pin.gltf";
    loader.load(
      source,
      gltf => {
        gltf.scene.scale.set(25, 25, 25);
        gltf.scene.rotation.x = 180 * Math.PI / 180; // rotations are in radians

        scene.add(gltf.scene);

+        // Load Environment Map
+        new EXRLoader().load("/furry_clouds_2k.exr", texture => {
+          const pmremGenerator = new THREE.PMREMGenerator(renderer);
+          const exrCubeRenderTarget = pmremGenerator.fromEquirectangular(texture);

+          // Apply Environment Map
+          gltf.scene.traverse(o => {
+            if (o.material) {
+              o.material.envMap = exrCubeRenderTarget.texture;
+              o.material.envMapIntensity = 1;
+              o.material.metalness = 1;
+              o.material.roughness = 0.1;
+              o.material.needsUpdate = true;
+            }
+          });
+        });
      }
    );

It's a pretty simple code change and I'm clueless why it's behaving like this. Please help!
PS: I also noticed that your GLTF has all inverted faces. It's not visible in your demo, but if you start changing the material settings, it becomes noticeable. Do you want a PR :slightly_smiling_face: ?

Alright, I figured out that this is because only the projectionMatrix of the camera is updated - but not the position / rotation / (scale?!). If I update the camera position and rotation with values from projectionMatrix.clone().invet().decompose(position, rotation, scale), I can see the environment map works "correctly". But now my model is sliding across the planet, which isn't ideal...
What would be the correct way to get the camera's transformation matrix in global coordinates?

Hi and thanks a ton for this great feature in Google maps / this example!
I was trying to use an environment map (with metalness / roughness - values) on my model and noticed that this doesn't seem to work with WebGLOverlayView. The reflections of the environment map on the object are static and are not updating correctly. I'm not sure if the problem is in my setup or in WebGLOverlayViewor in ThreeJS.
The video shows the result with Google Maps and WebGLOverlayView on top and the result with "normal" ThreeJS on the bottom.
https://user-images.githubusercontent.com/33040347/163732934-43f46c00-e179-4f71-b8cb-06707f3764f5.mp4
Here are my change to your code:
    // load the model
    loader = new GLTFLoader();
    const source = "pin.gltf";
    loader.load(
      source,
      gltf => {
        gltf.scene.scale.set(25, 25, 25);
        gltf.scene.rotation.x = 180 * Math.PI / 180; // rotations are in radians

        scene.add(gltf.scene);

+        // Load Environment Map
+        new EXRLoader().load("/furry_clouds_2k.exr", texture => {
+          const pmremGenerator = new THREE.PMREMGenerator(renderer);
+          const exrCubeRenderTarget = pmremGenerator.fromEquirectangular(texture);

+          // Apply Environment Map
+          gltf.scene.traverse(o => {
+            if (o.material) {
+              o.material.envMap = exrCubeRenderTarget.texture;
+              o.material.envMapIntensity = 1;
+              o.material.metalness = 1;
+              o.material.roughness = 0.1;
+              o.material.needsUpdate = true;
+            }
+          });
+        });
      }
    );

It's a pretty simple code change and I'm clueless why it's behaving like this. Please help!
PS: I also noticed that your GLTF has all inverted faces. It's not visible in your demo, but if you start changing the material settings, it becomes noticeable. Do you want a PR :slightly_smiling_face: ?


Updated data types in activations.py

For sigmoid and softmax functions in activations.py, the x tensor is updated with allowable data types.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 57.58%. Comparing base (f4a4725) to head (1f67069).

:exclamation:  There is a different number of reports uploaded between BASE (f4a4725) and HEAD (1f67069). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (f4a4725)
HEAD (1f67069)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #20154       +/-   ##
===========================================
- Coverage   79.35%   57.58%   -21.77%
===========================================
  Files         501      501
  Lines       47311    47311
  Branches     8689     8689
===========================================
- Hits        37542    27244    -10298
- Misses       8014    18391    +10377
+ Partials     1755     1676       -79

Flag
Coverage Δ

keras
57.58% <ø> (-21.62%)
:arrow_down:

keras-jax
?

keras-numpy
57.58% <ø> (+<0.01%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Bug

File "/data1/Huqiang/polyp-segmentation/boxshrink-main/robust_boxshrink.py", line 41, in
res = generate_embedding_masks_for_dataset(dataset, TESTING_DIR, feature_extract_model, mean_f, mean_b, save_as_png=True)
File "/data1/Huqiang/polyp-segmentation/boxshrink-main/scripts/embeddings.py", line 405, in generate_embedding_masks_for_dataset
mean_background_embedding,
File "/data1/Huqiang/polyp-segmentation/boxshrink-main/scripts/embeddings.py", line 372, in get_embedding_mask_or_box
mean_background_embedding=mean_background_embedding,
File "/data1/Huqiang/polyp-segmentation/boxshrink-main/scripts/embeddings.py", line 283, in create_embedding_mask
model=model,
File "/data1/Huqiang/polyp-segmentation/boxshrink-main/scripts/embeddings.py", line 141, in get_foreground_background_embeddings
device=DEVICE,
File "/data1/Huqiang/polyp-segmentation/boxshrink-main/scripts/embeddings.py", line 55, in fill_embedding_matrix
smallest, largest = get_bbox_coordinates_one_box(all_superpixels_mask_tmp)
File "/data1/Huqiang/polyp-segmentation/boxshrink-main/scripts/embeddings.py", line 37, in get_bbox_coordinates_one_box
print(torch.max(all_x))
RuntimeError: max(): Expected reduction dim to be specified for input.numel() == 0. Specify the reduction dim with the 'dim' argument.
when superpixel = 0 , the all_superpixels_mask_tmp = 0, because of :
all_superpixels_mask_tmp[all_superpixels_mask_tmp != superpixel] = 0
all_superpixels_mask_tmp[all_superpixels_mask_tmp > 0] = 1
can't get the (smallest_y, smallest_x)

The bug has been fixed, because the start_label parameter in the  slic  is cancelled in some versions of skimage.segmentation.


feat: add static segment duration option

Adds Static duration in Segment header option to Rundown View Layout. When enabled, it makes the segment duration in the segment header always show the planned duration instead of acting as a counter when the segment becomes live.

Codecov Report

Merging #48 (09a17df) into feat/rundown-view-customization (c0ce3d5) will increase coverage by 17.65%.
The diff coverage is n/a.

:exclamation: Current head 09a17df differs from pull request most recent head e95304e. Consider uploading reports for the commit e95304e to get more accurate results

@@                          Coverage Diff                          @@
##           feat/rundown-view-customization       #48       +/-   ##
=====================================================================
+ Coverage                            82.34%   100.00%   +17.65%
=====================================================================
  Files                                   12         2       -10
  Lines                                 1008        46      -962
  Branches                               196        15      -181
=====================================================================
- Hits                                   830        46      -784
+ Misses                                 177         0      -177
+ Partials                                 1         0        -1

Impacted Files
Coverage Δ

...ckages/server-core-integration/src/lib/watchDog.ts

packages/server-core-integration/src/lib/random.ts

...server-core-integration/src/lib/corePeripherals.ts

packages/server-core-integration/src/lib/queue.ts

...kages/server-core-integration/src/lib/ddpClient.ts

.../server-core-integration/src/lib/configManifest.ts

.../server-core-integration/src/lib/coreConnection.ts

...es/server-core-integration/src/lib/ddpConnector.ts

packages/server-core-integration/src/index.ts

...ckages/server-core-integration/src/lib/timeSync.ts

Continue to review full report at Codecov.

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


AN-186 Final cleanup for GCP Batch enablement

See comments in #378

maybe wait until next week to merge this in case anyone screams


Change the default plot size to be 250 * 250.

Thank you so much for looking into this! 250 pixels sounds good to me!


Why?

https://github.com/DV8FromTheWorld/JDA/blob/382f9c8fa7d6e2ba485d06812f8c31d23eaa3d09/src/main/java/net/dv8tion/jda/api/JDA.java#L2383
Generally asking.

To be serious: It just an easter egg, is in JDA since at least 2016. Was called installAuxiliaryCable back then afaik.

I see nothing wrong here. It's part of the overall subsystem for installing the Auxiliary Cable for trivial Audio Transfer via a platform's Audio Auxiliary Port.
For some background, the invention of JDA's Auxiliary Audio Passthrough is actually built on previous advancements and derivatives of the Auxiliary port technology originally pioneered by Rockwell Automation. You can learn more about some of their technology here


Add an other md5, sha1, sha224, sha256, sha384, sha512 hash database

Great project so far, if you don't mind you could call the free and open API https://lea.kz/api. There you can query for a md5, sha1, sha224, sha256, sha384, sha512 hash or even for its clear text value.

#10

also can add https://somd5.com. This site can quer many complex password hash.

[Aded in v2.0]
Thanks a lot.


Download crates into uncompressed or lightly compressed container archive

Windows is very slow when handling many small files, and the entire crates mirror roughly totals to almost 1 million small files.
As you can imagine, that makes it extremely painful to transfer the mirror via normal filesystem operations such as copy and paste.
However, one way to circumvent this cost is to wrap the small files in a container file, such as a zip archive.
You don't even have to compress it - just having a single file to copy will make the file transfer much more efficient.
It'd be a really nice quality-of-life feature if panamax offered this in the future.

Yeah, I like this idea! When I ran panamax on ZFS, I had a lot of the same issues with slowness. It was basically a sole reason for me to use ext4 on Linux, which is unfortunate.
I previously avoided doing such a thing because I'd normally serve the mirror directory directly via nginx, however with panamax serve, these files could be served directly from an uncompressed zip file. The only tough part would be the incremental updates via sync, which would likely mean multiple zip files.
It would be dead simple to just append more files into a zip, however for anyone transferring the mirror directory from one machine to another (for example with rsync), it would try to copy the entirety of the zip every time. But then if serve directly served from these zip files, it would need some sort of index to figure out which zip file to read from (or it would need to scan through all zips, which I'm sure would slow things down).
But perhaps I'm overcomplicating things. ROMT has pack and unpack commands that basically download all the new crates, then load them up into a tarball, then you copy and unpack the tarball on the other side.
Maybe panamax could have a sync --pack-crates command argument that loads new crates into a zip file, then another unpack command that loads that zip file into the crates directory (or does something fancy like add them to a "master" zip file so they're all in one place).
Do you have any thoughts on any of these ideas? I definitely agree that using a container for crates is a good idea.

Hmm... good points!
Perhaps there is a way to handle differential updates? My use-case is to copy the entire mirror to an airgapped system, wherein the airgapped system already has a base image of the entire crates repository.
For that, I was even thinking of something like an option to create a delta update from one crates.io-index SHA-1 hash to another (and since crates can really only be added, it'll be straightforward).
Multiple zip files sounds like a potential solution, though it does make me wonder if there are any archive formats that play well with rsync for delta updates on a single archive?

Unfortunately I don't think there's any file format that would work well with rsync, since (I believe) it just checks file modification time, and uploads if it's newer. If your machine is airgapped, I assume a better example of a transfer method would be via a USB stick.
So I have an idea on how to handle this - let me know what you think:
Since we already have the ability to download crates in delta, we could add a parameter onto panamax sync like I had mentioned in the previous comment. However, what we could do is create a new directory called /packed.
Each time you run panamax sync --pack-crates, a new zip file e.g. crates_2021_09_10-08_49_00.zip gets created into this /packed directory. The more often you run sync, the more zip files get added, each with a delta since the last.
Then, on the other side, you run panamax unpack which will read from all zip files in /packed and extract them into /crates. Now this means nginx can still be used, and panamax serve doesn't need to do any crazy zip trickery.
And that's it. The deltas would work the same as sync without the parameter because crates.io-index tracks the commit position of the master branch vs origin/master, and updates master on successful sync. As long as it treats saving crates directly the same as saving crates to a zip, that should be fine.
Also, the zip filename is based on date and time, but it could also be based on commit ID(s) too. I'm not sure if that would buy much though.

Now, with this idea in mind, I think the USB stick based solution would go something like this:

On the internet side, you run panamax init and panamax sync --pack-crates. This will give you the rustup files, as well as one big zip file to start off.
You copy the mirror directory to USB stick simply with robocopy /mir. That should add files that don't exist, update files that are newer in the source, and delete files that no longer exist in the source.
On the isolated side, you copy (via robocopy /mir /xd crates) from USB to local directory. That should mirror the same way, but not delete any files that exist in /crates.
Next, run panamax unpack to unpack all zips from /packed into /crates.

The only issue I see with this solution is that old zip files in /packed wouldn't get purged automatically, taking up unnecessary space on the isolated side.  Even if panamax unpack deleted zip files after completion, robocopy would just copy them back into place.
There would need to be a way to state on the internet side that an unpack was successful (or that the zip was deleted), which I guess could be an exercise left to the reader.

I think one of the complications of that previous idea is because there's a mixture of copying an updated directory, and copying a new, completely different delta file.
So here's a second idea:
Rather than packing just the crates, we pack everything that has been updated since the last run. That includes the crates, crates.io-index, and all of the new rustup files, including the history toml files.
Now, when we run panamax sync --pack, everything gets thrown into a packed_2021-09-10_08_49_00.zip file. Now, we don't even have to care about robocopy at all - we just take the new packed.zip file, transfer it via USB, run panamax unpack, and that's it.

That would be much nicer to use from a UX standpoint, however it would be more difficult to code, and raises some questions. For example, can you store a subset of git commits on disk (for crates.io-index updates)? You might have to copy the whole crates.io-index into the zip file every time.
But maybe in the end, it'll end up a cleaner solution.

So, I'm not sure how practical this idea is if you're looking to go cross-OS compatible, but why not use a loopback filesystem in a file? In linux, you can mount any file as a disk, create a filesystem inside it, and read/write files into it just like any other disk.
I see two ways of handling this:

Let the user themselves use this option. They can create the file, format it with a preferred filesystem, mount it to a location, and then sync panamax mirror inside of it. When it's time to copy over to another system, just unmount, copy the single large file, and then remount.
See if there's a rust library to do this without having to mount it on the host itself. Like some kind of virtual file system. You wouldn't need to worry about hosting multiple zip files or special cases for delta updates. Just open the virtual file system (or disk-in-a-file) and do the same operations panamax is already doing.

Either way, you end up with a single, large file that can be easily copied and mounted. I know windows can do this with vhdx files, and I'm willing to bet there's a way for linux to read/write to a vhdx, so that might be a cross-platform solution.


Append closing characters to end of search string for remote-url?

Need to append closing quote and parenthesis after searchString for OData syntax like this:
http://localhost:58177/breeze/breeze/loginnums/?$filter=startswith(LoginNum1,'searchString')
or like this:
http://localhost:58177/breeze/breeze/loginnums/?$filter=startswith(LoginNum1,'searchString')
Is this possible?  Tried using the remote-url-request-formatter but that appears to be set up for key value pairs for query parameters rather than a situation like this.
Thanks for your help.

Have a look at remote-api-handler
https://github.com/ghiden/angucomplete-alt#remote-api-handler

Awesome!  Thanks for pointing to the solution.


How to configure policies/preferences for Thorium Browser

I'm trying to enforce some policies/preferences to suit my needs. Below is the list of policies I'm trying to enforce:-
"ClearBrowsingDataOnExit": true,
"ConfigureDoNotTrack": true,
"DnsOverHttpsMode": "secure",
"DnsOverHttpsTemplates": "https://chrome.cloudflare-dns.com/dns-query",
"EfficiencyMode": 1,
"EnhanceSecurityMode": 0,
"HardwareAccelerationModeEnabled": true,
"InPrivateModeAvailability": 2

How do I deploy these policies for Thorium browser on Windows & Linux as I use both OSes.

It is similar to configuring policies for Chrome, but note that it needs to be done under the Thorium folder or registry.
Some policies should be settable through the interface.

It is similar to configuring policies for Chrome, but note that it needs to be done under the Thorium folder or registry.
Some policies should be settable through the interface.

Yup. Set! But it needs to be done by making a new folder "Chromium" i.e. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Chromium.
Thorium Folder does not work!


Fixes path expansion

The environment variables in this line are being expanded before appended to the $BASH_ENV file. Single quotes ensures that it won't be expanded when it is appended to the $BASH_ENV file.
This is the same problem as outlined here: https://github.com/CircleCI-Public/gcp-cli-orb/issues/22
A good way to check this is to ssh into the CircleCI job after doing the serverless/setup command. And try to run python. In the current situation, python will fail to run, but after this fix, python will work correctly.

Moved to the Alpha branch: https://github.com/CircleCI-Public/serverless-framework-orb/pull/13

Hey, any news here? I'm experiencing the same problem...

@alexeyshockov the easiest way to work around this right now is to not use the orb, but instead run the curl, echo, and source commands in this pr directly in a run step like this: https://github.com/nyoungstudios/py-lambda-circleci/blob/main/.circleci/config.yml
@KyleTryon can we get this merged?

Hey all, very sorry for the long delay. I am doing a big maintenance sweep right now, and to keep everything moving quickly now I have re-implemented this change in a new PR to avoid these conflicts and integrate better with some new changes. Keep an eye out for the next release coming soon (hopefully today!). There will be a new tag/release with more info.
This change is currently now in #30


Adds missing "elements" array to the attributes of a Resource

As detailed in Table <IP_ADDRESS>.5-1: Attributes of the Resource from the O-RAN WG6 O2IMS Interface the Attribute elements is mandatory and it was missing in the returning information.
Notice that the description of this field says that the resource might be composed of smaller resources or other resource instances. Also, the conformance tests are expecting an array. Therefore I created an empty array of strings to include the elements attribute and pass the tests. Let me know if there is a way to include an array of type Resources instead (I did not find the proper way) if it makes sense.
cc/ @alegacy

/lgtm

/approve


Consolidate map config into .env

Consolidate map config into .env

LGTM

Thanks. @yulanrong, @seanpwelch90, @EricBaldwinn, @the-trash-panda - Going to merge this but let me know if there's any concerns. You will need to put the Google API key in the .env file like the example.


Athena create client does not work.

When I do create client it says
aws.Athena is not a constructor

It was an issue with Sapper (https://sapper.svelte.technology) using a different version of aws which did not support athena.


[Documentation Update]: Add LeetCode Solution for Problem 108(Convert Sorted Array to Binary Search Tree)

Is there an existing issue for this?

[X] I have searched the existing issues

Issue Description
This issue proposes adding a LeetCode solution for problem 108: Convert Sorted Array to Binary Search Tree.
Suggested Change
The proposed change involves documenting a solution algorithm and code implementation for problem 108 in the LeetCode solutions repository. The solution should include an explanation of the algorithm's approach and the code implementation in one or more programming languages, such as Python, Java, C++, or JavaScript.
Rationale
No response
Urgency
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar please assign me the issue


void return value not recognized

ERROR: generate go code: template all: template query file xxx no go type found for Postgres type void oid=2278

I try to call a function without a return value
-- name: Something :exec
select * something(pggen.arg('arg1'), pggen.arg('arg2'), pggen.arg('arg3'));

-- or

-- name: Something :exec
select something(pggen.arg('arg1'), pggen.arg('arg2'), pggen.arg('arg3'));

workaround:
-- name: Something :exec
select true from something(pggen.arg('arg1'), pggen.arg('arg2'), pggen.arg('arg3'));

Yep, definitely a bug. I'll take a look. The main difficulty is likely figuring out what Go type pgx wants to use to decode void types. I think I can use nil anything and pgx will skip the column.

Should be fixed by https://github.com/jschaf/pggen/commit/a12d23ed4510ebcfcd935addb3909202b0368b31. Let me know if that doesn't do the trick.


[c_compiler] Rename package to native_toolchain_c

Closes: https://github.com/dart-lang/native/issues/85
This will need a manual roll into the Dart SDK to update the package name:

pkg/test_runner/lib/src/test_configurations.dart
third_party/.gitignore
third_party/pkg/c_compiler.status (the file-name itself)
tools/bots/test_matrix.json

coverage: 98.642%. remained the same when pulling 5ec4cdcb691dcde1d6ddd289777b0012eba65344 on rename-c-compiler into ca6788d6e81d7cc4ceeaed9e85e64de66e344fb7 on main.


chore: bump promtail to version 2.3.0

Motivation
Provide the latest version by default

Failing tests are related to https://github.com/grafana/loki/issues/4115


updates to bridge

Status
READY
Description
Send action objects of { type, payload } across the bridge
Todos

[ ] Tests
[ ] Documentation
[ ] License

Steps to Test or Reproduce
git fetch --all
git checkout auth
./gradlew connectedCheck

@boundlessgeo/spatial-connect

I pushed this to the upstream auth branch so I can implement the rest of the authentication functionality there.  These changes will show up in a new PR


Add a method to delete a certificate.

Description
This PR adds a new method to delete a previously imported certificate:
func (c *Context) DeleteCertificate(id []byte, label []byte, serial *big.Int) error

If the PR is approved and merged, a new release will be appreciated.

If the PR is approved and merged, a new release will be appreciated.

@ProsaicSatsuma Any update on this?

Apologies for the delay - missed the earlier notifications. Thanks for the PR. Looks good. Approved

@ProsaicSatsuma Can you tag a new release?

done. Tagged as v1.2.4


Boto3 library

Is it required to install boto3 after getting rid of AWS Signature Version 4 authentication?

This would be a good improvement, by making boto3 parts of an extras. For that to happen, imports for boto3 and botocore handle ImportError, and FromSecretsCredentialProvider should be a no-op when these libraries aren't installed.
This is similar to how FromCachedSecretsCredentialProvider works, by depending on the optional dependency aws-secretsmanager-caching.

Yes, will make this work

From version 1.3.0, boto3 is an optional dependency


Set style property at Viewer on version 1.0.1 in ReactJS

Summary
I need to set word-break style on Viewer like this :
<Viewer style={{wordWrap: 'break-all', marginBottom: 20}} initialValue={this.state.contents}/
But I failed to do this.
What should I do?
cf) word-break is a style that split a word if the word long enough to get out of form
Version
1.0.1

@doosanpark
Currently, The editor option is only allowed to react-wrapper as props so that style props cannot be applied to viewer.
How about adding style to the container element after wrapping the viewer component?


update-state does not handle events with S3 URL payloads

In certain cases (typically failures), the update-state lambda can receive an event where the input and/or output payloads are a URL to an S3 object. The ProcessPayload.from_event() method will handle a payload URL, downloading and parsing the json before attempting initialization, but the update-state code is not using that constructor.
update-state should use the from_event() constructor in parse_event(). It also does not provide a traceback in the event of an exception; the logging call should be changed from error() to exception() to include that additional detail.

#136 missed updating the IAM permissions to allow access to S3. We'll need to get that added before this change is released.


Create API Token disappeared !

Maybe it's temporary, but I wanted to use Kaggle API and download a Token from my account but I can no longer see it. I used to find it on https://www.kaggle.com//account
Please, what's wrong here?

There was a backend error affecting the account page.  This should be fixed.


Moving CNL_USB_ERROR from a MessageItem.TYPE.ALERT_UPLOADER_ERROR to …

…MessageItem.TYPE.ALERT_UPLOADER_CONNECTION so that it did not cause PRIORITY.EMERGENCY errors in Pushover

Closing this as the new beta contains many changes. Please test :)


[#4264] feat(iceberg):  support access S3 with static access key for Iceberg REST server and Gravitino Iceberg catalog

What changes were proposed in this pull request?

support using static access-key-id and secret-access-key to access S3 data for iceberg rest server and gravitino iceberg catalog
refactor the code to reuse the iceberg catalog transform logic for connector and Iceberg rest server and Iceberg catalog
add configuration to manage the s3 access key

Why are the changes needed?
Fix: #4264
Does this PR introduce any user-facing change?
yes, add some document
How was this patch tested?
I tested Iceberg REST server and Iceberg catalog with jdbc catalog backend and hive catalog backend to access S3 data.

@jerqi @jerryshao  please help to review when you have time, thanks

@yuqi1129 @jerryshao @jerqi , comments are addressed please help to review again


Test if there is a loop in the topology

Loop links are not considered when creating
the list of neighbors. Fix #2.

In the unit test it is not possible to be sure if the call occurred to the loop or to the neighbors.


Swiper issue with Svelte + Snowpack

Check that this is really a bug

[X] I confirm

Reproduction link
https://github.com/jeremydierx/swiper-svelte-snowpack-issue
Bug description
Hi!
I have follow the tuto to setup Swiper with Svelte and I have an issue when I launch my app through Snowpack:
Failed to init component

TypeError: Cannot read properties of undefined (reading '$$')
at init (http://localhost:8080/_snowpack/pkg/swiper.svelte.v7.3.1.js:356:46)
at new Swiper$1 (http://localhost:8080/_snowpack/pkg/swiper.svelte.v7.3.1.js:5153:3)
at create_fragment (http://localhost:8080/App.svelte.js:287:11)
at init (http://localhost:8080/_snowpack/pkg/svelte.internal.v3.44.2.js:1647:35)
at new App (http://localhost:8080/App.svelte.js:382:3)
at createProxiedComponent (http://localhost:8080/_snowpack/pkg/svelte-hmr.runtime.hot-api-esm.v0.13.5.js:242:9)
at new ProxyComponent (http://localhost:8080/_snowpack/pkg/svelte-hmr.runtime.hot-api-esm.v0.13.5.js:482:20)
at new Proxy<App> (http://localhost:8080/_snowpack/pkg/svelte-hmr.runtime.hot-api-esm.v0.13.5.js:581:11)
at http://localhost:8080/index.js:4:11

My snowpack.config.js:
/** @type {import("snowpack").SnowpackUserConfig } /
export default {
mount: {
/ ... /
},
plugins: [
/ ... /
'@snowpack/plugin-svelte'
],
routes: [
/ Enable an SPA Fallback in development: /
// {"match": "routes", "src": ".", "dest": "/index.html"},
],
optimize: {
/* Example: Bundle your final build: /
// "bundle": true,
},
packageOptions: {
/ ... /
},
devOptions: {
/ ... /
},
buildOptions: {
/ ... */
},
};
my index.js:
/* Add JavaScript code here! */
import App from "./App.svelte";
let app = new App({
target: document.body,
});
export default app;`
my App.svelte:

      Learn Svelte

<Swiper
spaceBetween={50}
slidesPerView={3}
on:slideChange={() => console.log('slide change')}
on:swiper={(e) => console.log(e.detail[0])}

<SwiperSlide>Slide 1</SwiperSlide>
<SwiperSlide>Slide 2</SwiperSlide>
<SwiperSlide>Slide 3</SwiperSlide>
<SwiperSlide>Slide 4</SwiperSlide>
...

`
my Github repo: https://github.com/jeremydierx/swiper-svelte-snowpack-issue
Help needed! :)
Expected Behavior
No response
Actual Behavior
No response
Swiper version
7.3.1
Platform/Target and Browser Versions
Chrome Version 96.0.4664.45 (Build officiel) (64 bits)
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

New Swiper v9 doesn't have Svelte components anymore, it is recommended to use new Swiper Web Components instead.


Spam Vs Ham Mail Classification [With Streamlit GUI]

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Spam Vs Ham Mail Classification
:red_circle: Aim : ML project with a Streamlit GUI that will predict whether the Mail received from some source is a Spam Mail or not
:red_circle: Dataset : Kaggle
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name : Pooranjoy Bhattacharya
GitHub Profile Link : pooranjoyb
Email ID<EMAIL_ADDRESS>Participant ID (if applicable):
Approach for this Project : Apply different ML models to build a best model to predict the mails.
What is your participant role? (Mention the Open Source program) Social Summer of Code 2023

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Issue assigned to you @pooranjoyb

Hi @smty2018, can you please share your approach for solving this issue along with the required details mentioned in the issue template.

@abhisheks008 is this issue open for SWOC'24?

Full name : Dipayan Majumder
GitHub Profile Link : https://github.com/dipayan22/
Email ID<EMAIL_ADDRESS>Participant ID (if applicable):
Approach for this Project : Apply different ML and DL models to build a best model to predict the mails.
What is your participant role? (Mention the Open Source program) Social Summer of Code 2024

Query : Please provide me the link of the dataset

Updated dataset link. This issue is part of Social Winter of Code.

sorry for the typing mistake .I participate in SWOC 2024.
What is your participant role? (Mention the Open Source program) Social Winter of Code 2024.
Please assign me this project .

Complete the previous issue first.

How do I get assigned to this issue?

Full name : Dipayan Majumder
GitHub Profile Link : https://github.com/dipayan22/
Email ID<EMAIL_ADDRESS>Participant ID (if applicable):
Approach for this Project : Apply different ML and DL models to build a best model to predict the mails.
What is your participant role? (Mention the Open Source program) Social Winter of Code 2024

What are the deep learning methods are you focusing on?

i will use RNN ,LSTM ,Pre trained model like Transformer-bert etc . I also have to do some preprocessing . can you please assign me this project under SWOC 24.

Can i used some ML algorithm if it's give me good accuracy.

This project repository mainly focuses on the DL models, so try to implement DL models more. If you find ML models are getting better results then only you can put the models for showcase along with the implemented DL models.
Issue assigned to you @dipayan22 under SWOC S4.


About demo test

When   I run this demo, I meet a error.

serialAllFeats: Start
serialAllFeats 09-Nov-2022 11:07:26 1 / 7599
73          if iBatch==1
serialAllFeats 09-Nov-2022 11:31:06 2 / 7599; time 00:23:40; left 2997:29:09; avg 1420.2355 s
serialAllFeats 09-Nov-2022 11:31:19 3 / 7599; time 00:23:52; left 1511:52:57; avg 716.4378 s
serialAllFeats 09-Nov-2022 11:31:51 4 / 7599; time 00:24:24; left 1030:00:57; avg 488.1592 s
serialAllFeats 09-Nov-2022 11:32:05 8 / 7599; time 00:24:38; left 445:34:30; avg 211.2844 s
serialAllFeats 09-Nov-2022 11:32:08 16 / 7599; time 00:24:42; left 208:10:14; avg 98.8152 s
serialAllFeats 09-Nov-2022 11:32:15 32 / 7599; time 00:24:48; left 100:57:08; avg 48.0217 s
serialAllFeats 09-Nov-2022 11:32:28 64 / 7599; time 00:25:01; left 49:53:44; avg 23.8356 s
serialAllFeats 09-Nov-2022 11:32:54 128 / 7599; time 00:25:27; left 24:57:55; avg 12.0283 s
serialAllFeats 09-Nov-2022 11:33:46 256 / 7599; time 00:26:20; left 12:38:29; avg 6.1968 s
serialAllFeats 09-Nov-2022 11:35:31 512 / 7599; time 00:28:05; left 06:29:33; avg 3.2976 s
serialAllFeats 09-Nov-2022 11:37:12 759 / 7599; time 00:29:46; left 04:28:39; avg 2.3564 s
serialAllFeats 09-Nov-2022 11:39:02 1024 / 7599; time 00:31:36; left 03:23:09; avg 1.8537 s
错误使用 fwrite
文件标识符无效。使用 fopen 生成有效的文件标识符。
出错 serialAllFeats (line 79)
fwrite(fout, buffer(:, 1:numInBuffer), class(buffer));
出错 demo (line 93)
serialAllFeats(net, dbTest.dbPath, dbTest.dbImageFns, dbFeatFn, 'batchSize', 10); % adjust batchSize depending on your GPU /
network size

I find that the reason for this error is there is no file called vd16_tokyoTM_conv5_3_vlad_preL2_intra_white_tokyo247_db.bin.

In demo.m
dbFeatFn= sprintf('%s%s_%s_db.bin', paths.outPrefix, netID, dbTest.name);
But I don't find the introduction about   this file. So should I create this file myself.
Thanks.

Hi,
The code is trying to create the file and write features to it. I'm not exactly sure because of Chinese but it seems it fails at fopen in write mode, or fails to write to the opened file. Are you sure you have disk space and write permission to the folder you are trying to write to? Maybe you didn't set up the outPath correctly? I don't know if matlab has some issues with non-unicode characters, though nobody complained about that so far.

I think it fails because there is not a file called vd16_tokyoTM_conv5_3_vlad_preL2_intra_white_tokyo247_db.bin, this file is be created by the code "dbFeatFn= sprintf('%s%s_%s_db.bin', paths.outPrefix, netID, dbTest.name);",which in the demo.m
I don't find the introduction about this file. So should I proactively create this file manually in the corresponding path？

dbFeatFn= sprintf('%s%s_%s_db.bin', paths.outPrefix, netID, dbTest.name) doesn't create the file, it makes the name of the file. This file is then being created by the serialAllFeats function. This line in the function creates the file and opens it for writing, and this line tries to write to it.
I just noticed your log says the line fwrite(fout, buffer(:, 1:numInBuffer), class(buffer)); is number 79 while it is actually line number 81 in the original file - did you delete some code?

Ok, thinks , I think it's probably I don't give the permission to create the new folder. Thank you very much.


Refactor Exercise.completionMsg

Since Exercise.completionMsg isn't so much related to a particular exercise (and is only used once), the Exercise class could be simplified slightly by removing Exercise.completionMsg. Instead, the message could be shown when the number of solved exercises equals one. This is also how completedAllExercises() is already handled (and also makes sense from the perspective that this is a UX issue around how to interact with the user when solving exercises).
Another thing that could be done with this is to move the message text to a div in the HTML, following the pattern of moving more of the text from Javascript (code) to the HTML (textual content).

This should now be implemented.


value to current array configuration from csv with key

squash it first

please rebase first :)

Ok, please review after rebased asap @rizalfr @pancaprima


Include API TOKEN in command

Hi,
Is there a way to execute commands with specific API TOKEN included in the command?
For ie. : screenly screen list abcdefgh (abcdefgh beeing the token)
I would like to execute commands and switch between multiple tokens (including everything in a script.sh file).
Thanks!

Hi, there is an environment variable that does that.
So you can run
API_TOKEN=xxx screenly ...

Thanks for the reply!
May I ask if we can add mutliple tokens in the variable?
As I manage multiple teams, it would be quite handy.
Thanks!

That would require a lot of complications in the code - perhaps it's better to handle within your scripts?
You could always keep the list of those tokens and have a loop that executes the command for each of them.

For now I did this, but could be better for me long term to be able to do commands with multiple keys:
`declare -A api_keys
api_keys["team1"]="xxxxxx"
api_keys["team2"]="yyyyyyy"
cd cli
API_TOKEN=${api_keys["team1"]} ./target/release/screenly screen list -j
API_TOKEN=${api_keys["team2"]} ./target/release/screenly screen list -j`

Perhaps you could do something like this then?
#!/bin/bash

# Exit if no arguments or TOKENS env var is not set
if [[ $# -eq 0 || -z $TOKENS ]]; then
    echo "Usage: TOKENS=\"token1 token2 ...\" $0 <command_arg1> <command_arg2> ... <command_argN>"
    exit 1
fi

for API_TOKEN in $TOKENS; do
    API_TOKEN=$API_TOKEN /path/to/screenly/cli/target/release/screenly $@
done

TOKENS="xxxxxx yyyyyyy" ./wrapper.sh screen list -j

How about this? This should cover you for all commands.


Pop Culture Sunday not available

i think they had change their yt link, this is the right one https://www.youtube.com/watch?v=Tgme8K4XlHQ

Fixed, thank you :)


Add facebook and google oauth (backend)

Front end issue - https://github.com/CCExtractor/beacon/issues/160
Currently, the app only accepts email sign in/signup. Having oauth would be better for the user, then user can sign in with ease.
Also there is PR for email verification, having oauth wont even need email verification. (Although that feature would be required for user sign in with their email).

i want to work on this issue. Can you please assign me this issue?

Hey @jaiakash ,
I Want To Work On This Issue Will You Assign This To Me ??

i would like to work on this if no one else is working, can you please assign me?

@jaiakash Absolutely. Adding oauth specifically googleoauth2  and authorising Facebook user would be better as login credentials and then  store for further sessions . Should I raise a PR for this or will you assign this issue first.

hey @jaiakash  Please assign me this issue i want to work on this.

@jaiakash @cfsmp3  I would love to contribute to this issue. Please assign it to me.

I want to work on this issue. Can you please assign me this issue?


Add locations to posts

For Requests and Offers and the upcoming Resources post type add an optional Location field.

[x] Don't show for discussions?
[ ] Should we use a location autocomplete field from Google?

Depends on https://github.com/Hylozoic/hylo-node/issues/463

using Geocoder component made for Mapbox


refactor: rename TauriActivity to WryActivity

This PR requires https://github.com/tauri-apps/tao/pull/723

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Docs
[ ] Code style update
[x] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Checklist

[ ] This PR will resolve #___
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[x] I have added a convincing reason for adding this feature, if necessary
[x] It can be built on all targets and pass CI/CD.

Other information

This needs tao to update new version right?

Yeah, it does

Should be fine to review and merge now


Show errors from npm install

Fix to show any errors from npm install (example: incorrect package name)

I think this will interfere with imgcat output and cause error mentioned in #19.

Interesting, I'm not sure how images would be handled between stderr and stdout.  Possibly writing out the image in one shot using imgcat directly rather than the stream of the cli could also improve image output but we'd have to test more.
I do think it's useful to report on errors, perhaps by writing to another stream and outputting on exit if not using this method.


Question about the design

Is it possible to do this?
The first one, the M have the end time 9 and the N have the start time 10, but IRL it does'nt look like this. I've made the picture in photoshop.
The second one, can I change something to always put this event in the bottom of the calendar?

The first one, the M have the end time 9 and the N have the start time 10, but IRL it does'nt look like this. I've made the picture in photoshop.

It looks somewhat ideal but makes non-sense. How does it look with 20 min-period events?
For this kind of purpose, another timeline view is needed instead. MMM-CalendarExt3Timeline might be.

The second one, can I change something to always put this event in the bottom of the calendar?

Very challenging question. To place the top position, you can use eventSorter,
eventSorter: (a, b) => {
	if (a.calendarName === 'ManU') return -1
},

For example, if the events from ManU calendar, that events will be placed on top (if possible) regardless of it's event time with this custom function.
But placing the last position with empty lines? Well, this module is not designed so. This module cannot do that by itself.

But... With another module, it can be forced to happen.

You need MMM-ModuleMonkeyPatch
{
	module: "MMM-ModuleMonkeyPatch",
	config: {
		patches: [
			{
				module: "MMM-CalendarExt3",
				method: "getDom",
				patch: function (original, args) {
					let dom = original(args)
					let target = Array.from(dom.querySelectorAll('.event')) || []
					target.forEach((e) => {
						if (e.dataset.calendarName === 'ManU') { // If calendar name is "ManU", put that event to cellFooter area.
							const dt = new Date(+e.dataset.startDate)
							const date = '.date_' + dt.getDate()
							const month = '.month_' + (dt.getMonth() + 1)
							const container = dom.querySelector(`.cell${date + month} .cellFooter`)
							if (container) container.appendChild(e)
						}
					})
					return dom
				}
			}
		]
	}
},

And some CSS tweek. (in css/custom.css)
.CX3 {
  --cellfooterheight: 25px;
}

.CX3 .cell {
  overflow: hidden;
}

.CX3 .cellFooter {
  overflow: hidden;
}

This example doesn't regard error exceptions. Just show you it is possible.


Akshola00/issue31

🚀 StarShop Pull Request

[] Closes #31
[] Added tests (if necessary)
[] Run tests
[x] Run formatting
[] Evidence attached
[] Commented the code

📝 Changes description
made neccasry changes to the stepthree content file to make sure the design looks pixel perfect
used shadcn UI for select box

📸 Evidence (A photo is required as evidence)

⏰ Time spent breakdown
1 day to create the whole form

🌌 Comments

Thank you for contributing to StarShop, we are glad that you have chosen us as your project of choice and we hope that you continue to contribute to this great project, so that together we can make our mark at the top!

@KevinLatino pls review

suggested hanges implemented, pls review


Using Generated Presigned URLs with CRC32C checksums results in 400 from S3

Describe the bug
When trying to upload a large object to S3 using the multipart upload process with presigned urls with crc32c checksums the response from S3 is a 400 error with an error message.
Expected Behavior
I would expect that the provided checksum headers would be expected and so the type would be the checksum type not a type of null which would then mean that the upload to S3 would succeed.
Current Behavior
The following type of error message is returned instead of success:
Failed to upload part, status: 400, response: <?xml version="1.0" encoding="UTF-8"?>
<Error>InvalidRequest<Message>Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32c</Message><RequestId>SOMEREQID</RequestId><HostId>SOME/HOSTID</HostId></Error>

Reproduction Steps
Change all the AWS credentials for valid values for your testing and provide a file on the testfile assignment line (I was using a path in ~/Downloads/)
#!/usr/bin/env python3
import base64
import pathlib
from zlib import crc32

import boto3
import requests

# AWS credentials
access_key_id = 'access_key_here'
secret_access_key = 'secret_key_here'
aws_session_token = 'session_token_here'
region = 'region_here'
bucket_name = 'bucket_name_here'
object_key = 'prefix_here/object_key_here'

# Create a session using your AWS credentials
session = boto3.Session(
    aws_access_key_id=access_key_id,
    aws_secret_access_key=secret_access_key,
    aws_session_token=aws_session_token,
)

# Create an S3 client with the specified region
s3_client = session.client('s3', region_name=region)

# Initialize a multipart upload
response = s3_client.create_multipart_upload(
    Bucket=bucket_name,
    Key=object_key
)
upload_id = response['UploadId']

part_number = 1
chunk_size = 10 * 1024 * 1024  # 10 MB

testfile = pathlib.Path('file 10MB or greater in size here').expanduser()

with open(testfile, 'rb') as f:
    content = f.read(chunk_size)

# Calculate ChecksumCRC32C   (I'm not 100% certain about this as we use the crc32c package normally)
checksum_crc32c = base64.b64encode(crc32(content).to_bytes(4, byteorder='big')).decode('utf-8')

# Generate the presigned URL
presigned_url = s3_client.generate_presigned_url(
    'upload_part',
    Params={
        'Bucket': bucket_name,
        'Key': object_key,
        'PartNumber': part_number,
        'UploadId': upload_id,
        'ChecksumCRC32C': checksum_crc32c,
        'ChecksumAlgorithm': 'CRC32C',  # Added this after posting after feedback from Tim
    },
    ExpiresIn=3600
)

headers = {
    'Content-Length': str(len(content)),
    'x-amz-checksum-crc32c': checksum_crc32c,
    'Content-Type': 'application/octet-stream',
}

response = requests.put(presigned_url, data=content, headers=headers)

if response.status_code == 200:
    print("Part uploaded successfully!")
else:
    print(f"Failed to upload part, status: {response.status_code}, response: {response.text}")

Possible Solution
I feel like the checksum header is not being passed to be included in the signing process but to be honest I got a bit lost in the library's code and couldn't make head nor tail of it in the end.
Additional Information/Context
Docs page for generating the urls:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/generate_presigned_url.html
Docs page with acceptable params to be passed to generate_presigned_url when using upload_part as the ClientMethod:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/upload_part.html
SDK version used
1.34.138
Environment details (OS name and version, etc.)
Ubuntu 22.04.4, Python 3.10.12

Thanks for reaching out. In your upload_part request have you tried setting the ChecksumAlgorithm to CRC32C and specifying a string for ChecksumCRC32C? You could also try another approach like using put_object, although it was noted that installing the CRT was required. Otherwise if you want to share your debug logs (with any sensitive info redacted) by adding boto3.set_stream_logger('') to your script then we could investigate this further.

Hi @tim-finnigan, thanks for getting back in touch so quickly.
We did try the ChecksumAlgorithm set to CRC32C approach, which required then setting the x-amz-sdk-checksum-crc32c header I believe, but we were getting an error with using this method too (I'll need to check the docs again, but we were reading these where we were following the points for the REST API rather than the SDK, and I'll need to check with the person that was testing this with me tomorrow.)  The code for this is abstracted out behind a set of APIs and a calling CLI (not Python based) installed by our end users.
Thus our workflow is this, CLI calls Initiate endpoint to initiate an upload.  On success the CLI can then call a generate pre-signed URLs endpoint which should take the parts and the checksums and return the part numbers with the pre-signed URLs for those parts (and this is the call which is using generate_presigned_url with the upload_part client method.  At this point the CLI uses the pre-signed URLs to PUT the file parts directly to S3 with the CRC32C checksum in the header and once that's complete it can call a complete endpoint submitting the parts, ETags and CRC32C checksums.
So with the description above out of the way, put_object is not suitable for our workflow because the end users are using the CLI package; which is also the why of the need to use pre-signed URLs..  Sorry for the confusion that might have led you to suggest this as the above code was just a minimal amount of boiler plate code to duplicate the issue that we were seeing.
I will note that we do already have awscrt as part of our dependency chain.
We have run this through successfully by removing the need for the checksums and it all works, so worst case we could fall back to the historic way of doing this using ContentMD5 but we were hoping to use the same approach that we're using for smaller unitary uploads which uses presigned_POST which we do have working with the CRC32C checksums; I'm well aware that we seem to be on the outer fringes of what we're trying to achieve here with boto so all help is greatly appreciated.

I've done some testing today and here's a table of what I get back from the put to s3.  So I've tested every combination of the ChecksumAlgorithm and ChecksumCRC32C on the upload_part side and x-amz-checksum-crc32c and x-amz-sdk-checksum-algorithm on the PUT headers side of things (we didn't get any different results with passing content-type and/or content-length as well as these):

▼headers/params►
Nothing
ChecksumCRC32C Only
ChecksumAlgorithm Only
Both

Nothing
200
403: SignatureDoesNotMatch*1
403: SignatureDoesNotMatch*1
403: SignatureDoesNotMatch*1

x-amz-checksum-crc32c
403: AccessDenied*2
400: InvalidRequest*3
403: AccessDenied*2
403: SignatureDoesNotMatch*1

x-amz-checksum-algorithm
403: AccessDenied*2
403: AccessDenied*2
400: InvalidRequest*4
403: SignatureDoesNotMatch*1

Both
403: AccessDenied*2
403: AccessDenied*2
403: AccessDenied*2
400: InvalidRequest*3

*1: The request signature we calculated does not match the signature you provided. Check your key and signing method.
*2: There were headers present in the request which were not signed
*3: Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32c
*4: x-amz-sdk-checksum-algorithm specified, but no corresponding x-amz-checksum-* or x-amz-trailer headers were found.

Hi @richardnpaul, thanks for following up here. Going back to your original snippet, you are using CRC32 and not CRC32C (from zlib import crc32). It looks like there are not plans to support CRC32C in zlib: https://github.com/madler/zlib/issues/981. Have you tried any alternatives that support CRC32C?

For using CRC32 I tested this and it works for me:
import boto3
import requests
from zlib import crc32
import base64
import pathlib

bucket_name = 'test-bucket'
object_key = 'test'

s3_client = boto3.client('s3')

response = s3_client.create_multipart_upload(
    Bucket=bucket_name,
    Key=object_key
)
upload_id = response['UploadId']

part_number = 1
chunk_size = 10 * 1024 * 1024  # 10 MB

testfile = pathlib.Path('./11-mb-file.txt').expanduser()

parts = []

with open(testfile, 'rb') as f:
    while True:
        content = f.read(chunk_size)
        if not content:
            break

        checksum_crc32 = base64.b64encode(crc32(content).to_bytes(4, byteorder='big')).decode('utf-8')

        presigned_url = s3_client.generate_presigned_url(
            'upload_part',
            Params={
                'Bucket': bucket_name,
                'Key': object_key,
                'PartNumber': part_number,
                'UploadId': upload_id,
                'ChecksumCRC32': checksum_crc32,
                'ChecksumAlgorithm': 'CRC32',
            },
            ExpiresIn=3600
        )

        response = requests.put(presigned_url, data=content)

        if response.status_code == 200:
            print(f"Part {part_number} uploaded successfully!")
            parts.append({
                'PartNumber': part_number,
                'ETag': response.headers['ETag']
            })
        else:
            print(f"Failed to upload part {part_number}, status: {response.status_code}, response: {response.text}")
            break

        part_number += 1

if len(parts) == part_number - 1:
    s3_client.complete_multipart_upload(
        Bucket=bucket_name,
        Key=object_key,
        UploadId=upload_id,
        MultipartUpload={
            'Parts': parts
        }
    )
    print("Multipart upload completed successfully!")
else:
    s3_client.abort_multipart_upload(
        Bucket=bucket_name,
        Key=object_key,
        UploadId=upload_id
    )
    print("Multipart upload failed and has been aborted.")

Hi Tim,
Okay, so yes, as noted in my initial notes yes, we use the crc32c package, but we're just trying to test that the checksums work so it doesn't matter which one we use apart from it should be valid.
I've taken your code and made a couple of changes, I've added aws_access_key_id etc. to the s3_client instantiation, I changed the bucket name, object key and the testfile variables and otherwise I didn't change anything else......and I got an error Failed to upload part 1, status: 403, response: <?xml version="1.0" encoding="UTF-8"?> which was because I got a SignatureDoesNotMatch ... The request signature we calculated does not match the signature you provided. Check your key and signing method. response.
I had the bucket deployed in eu-west-2 so I tried to create a bucket in another region, eu-west-1 to see if the issue persisted.  After thinking that it did temporarily, I changed all the region references in my .aws/config file to eu-west-1 as they were set to eu-west-2 and we have success...but not in the region that I'm trying to use :disappointed:
So, at this point I'm not sure if this is a botocore/boto3 issue or an AWS infrastructure issue :thinking:

Just some additional information, adding explicit v4 signature_version via botocore.config results in the same error in both eu-west-1 and eu-west-2:
from botocore.config import Config

my_config = Config(signature_version = 'v4')

s3_client = boto3.client('s3', config=my_config)

my_config is also different in many ways for the form of botocore deligance in it for the.

Thanks for following up and for your patience here. The SignatureDoesNotMatch error could occur for a variety of reasons. Having the incorrect region configured is often the cause, but it could also occur due to issues with your clock skew, credentials, headers - there are troubleshooting guides here and here that provide more context. Have you looked into those, or do you have any other updates on your end?

Does the script work for you if you use signature_version='v4'?
From the first link:

The only thing that really jumps out immediately is that I'm using SSO, and the SSO region is eu-west-1, but I'm setting the region via the config object.
The other thing was the time, I tried setting my clock to UTC timezone, but I got the same result.  My clock is managed by NTP and doesn't really skew far from the upstream timesource and I checked with time.is and there was no noticeable difference

The second link seems to be for those people not using the SDK, we're using botocore/boto3 here.  I using an administrator role that works for generating the url and uploading to the url so long as checksums are not used in the generation.
The output for the signature that I see is like this:
PUT
/test-upload
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA....%2F20240805%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240805T101928Z&X-Amz-Expires=3600&X-Amz-Security-Token=<...security_token...>&X-Amz-SignedHeaders=host%3Bx-amz-checksum-crc32c%3Bx-amz-sdk-checksum-algorithm&partNumber=1&uploadId=<...upload_id..,>
host:richard-presigned-urls-test-eu-west-2.s3.amazonaws.com
x-amz-checksum-crc32c:
x-amz-sdk-checksum-algorithm:

host;x-amz-checksum-crc32c;x-amz-sdk-checksum-algorithm

What I note from this is that the checksum in the signature is blank, as is the algorithm.

Current Script
#!/usr/bin/env python3
import boto3
import requests
from crc32c import crc32c
import base64
import pathlib
from botocore.config import Config

# boto3.set_stream_logger('')

REGION = 'eu-west-2'

session = boto3.Session(region_name=REGION)

my_config = Config(
    region_name=REGION,
    retries={
        'max_attempts': 10,
        'mode': 'standard'
    },
    signature_version='v4',
)

bucket_name = f'presigned-urls-test-{REGION}'
object_key = 'test-upload'

s3_client = session.client(
    's3',
    config=my_config,
)

response = s3_client.create_multipart_upload(
    Bucket=bucket_name,
    Key=object_key
)
upload_id = response['UploadId']

part_number = 1
chunk_size = 10 * 1024 * 1024  # 10 MB

testfile = pathlib.Path('~/Downloads/bbb_sunflower_2160p_30fps_stereo_abl.mp4').expanduser()

parts = []

with open(testfile, 'rb') as f:
    while True:
        content = f.read(chunk_size)
        if not content:
            break

        checksum_crc32c = base64.b64encode(crc32c(content).to_bytes(4, byteorder='big')).decode('utf-8')

        presigned_url = s3_client.generate_presigned_url(
            'upload_part',
            Params={
                'Bucket': bucket_name,
                'ChecksumAlgorithm': 'CRC32C',
                'ChecksumCRC32C': checksum_crc32c,
                'Key': object_key,
                'PartNumber': part_number,
                'UploadId': upload_id,
            },
            ExpiresIn=3600
        )

        response = requests.put(
            presigned_url,
            data=content,
            # headers={
            #     'x-amz-checksum-crc32c': checksum_crc32c,
            #     'x-amz-sdk-checksum-algorithm': 'CRC32C'
            # }
        )

        if response.status_code == 200:
            print(f"Part {part_number} uploaded successfully!")
            parts.append({
                'PartNumber': part_number,
                'ETag': response.headers['ETag']
            })
        else:
            print(f"Failed to upload part {part_number}, status: {response.status_code}, response: {response.text}")
            break

        part_number += 1

if len(parts) == part_number - 1:
    s3_client.complete_multipart_upload(
        Bucket=bucket_name,
        Key=object_key,
        UploadId=upload_id,
        MultipartUpload={
            'Parts': parts
        }
    )
    print("Multipart upload completed successfully!")
else:
    s3_client.abort_multipart_upload(
        Bucket=bucket_name,
        Key=object_key,
        UploadId=upload_id
    )
    print("Multipart upload failed and has been aborted.")

Okay, I got it sorted out.  I was pretty sure that it came down to the missing headers on the PUT request but adding those errors brought me back to the original Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32c message.  This was correct and now I know why.
The initial create_multipart_upload needs to be passed with ChecksumAlgorithm='CRC32C'.  Then you can pass the ChecksumAlgorithm and ChecksumCRC32C in the Params for the generate_presigned_url and in the headers for the requests.put.  Finally, keeping track and adding the checksum to each part allows the complete_multipart_upload to complete successfully.

The final script
#!/usr/bin/env python3
import base64
import pathlib

import boto3
import requests
from crc32c import crc32c
from botocore.config import Config

# boto3.set_stream_logger('')

testfile = pathlib.Path('~/Downloads/bbb_sunflower_2160p_30fps_stereo_abl.mp4').expanduser()

REGION = 'eu-west-2'

session = boto3.Session(region_name=REGION)

my_config = Config(
    region_name=REGION,
    retries={
        'max_attempts': 10,
        'mode': 'standard'
    },
    signature_version='s3v4',
)

bucket_name = f'presigned-urls-test-{REGION}'
object_key = 'test-upload'

s3_client = session.client(
    's3',
    config=my_config,
)

# def resolve_endpoint_ruleset(method):
#     def wrapper(operation_model, params, context, ignore_signing_region=False):
#         (endpoint_url, additional_headers, properties) = method(
#             operation_model, params, context, ignore_signing_region
#         )  # Call the original method

#         if "ContentType" not in params:
#             additional_headers = {
#                 "Content-Type": "binary/octet-stream",
#                 **additional_headers,
#             }

#         return (endpoint_url, additional_headers, properties)

#     return wrapper

# s3_client._resolve_endpoint_ruleset = resolve_endpoint_ruleset(
#     s3_client._resolve_endpoint_ruleset
# )

upload_id_request = s3_client.create_multipart_upload(
    Bucket=bucket_name,
    Key=object_key,
    ChecksumAlgorithm='CRC32C',
)
upload_id = upload_id_request['UploadId']

part_number = 1
chunk_size = 10 * 1024 * 1024  # 10 MB

parts = []

with open(testfile, 'rb') as f:
    while True:
        content = f.read(chunk_size)
        if not content:
            break

        checksum_crc32c = base64.b64encode(crc32c(content).to_bytes(4, byteorder='big')).decode('utf-8')

        presigned_url = s3_client.generate_presigned_url(
            ClientMethod='upload_part',
            Params={
                'Bucket': bucket_name,
                # 'ContentLength': len(content),
                'ChecksumAlgorithm': 'CRC32C',
                'ChecksumCRC32C': checksum_crc32c,
                'Key': object_key,
                'PartNumber': part_number,
                'UploadId': upload_id,
            },
            ExpiresIn=3600
        )

        response = requests.put(
            presigned_url,
            data=content,
            headers={
                # 'content-type': 'binary/octet-stream',
                'x-amz-sdk-checksum-algorithm': 'CRC32C',
                'x-amz-checksum-crc32c': checksum_crc32c,
            }
        )

        if response.status_code == 200:
            print(f"Part {part_number} uploaded successfully!")
            parts.append({
                'PartNumber': part_number,
                'ETag': response.headers['ETag'],
                'ChecksumCRC32C': checksum_crc32c,
            })
        else:
            print(f"Failed to upload part {part_number}, status: {response.status_code}, response: {response.text}")
            break

        part_number += 1

if len(parts) == part_number - 1:
    s3_client.complete_multipart_upload(
        Bucket=bucket_name,
        Key=object_key,
        UploadId=upload_id,
        MultipartUpload={
            'Parts': parts
        },
    )
    print("Multipart upload completed successfully!")
else:
    s3_client.abort_multipart_upload(
        Bucket=bucket_name,
        Key=object_key,
        UploadId=upload_id
    )
    print("Multipart upload failed and has been aborted.")


Price list Bugs

[x] Unit price list apply function: Value missing for items without define any value in price lists. (price list applied in transaction level)
[x] Unit price list apply function: Close button still shown in item level price list after remove transaction level.

bug fixed


Fix excluding of unit tests from built charm

The layer.yaml excludes entries for excluding layer unit tests from the built charm was not updated when switched from Amulet style tests to the current test pattern.
Fixes lp:1903073

LGTM


GoSublime on saves not occurring - Margo Panic

None of the GoSublime onsave functionality appears to be working for me. Please find the GoSublime Sanity Check results attached:
gosublime-sanity.txt

{
// you may set specific environment variables here
// e.g "env": { "PATH": "$HOME/go/bin:$PATH" }
// in values, $PATH and ${PATH} are replaced with
// the corresponding environment(PATH) variable, if it exists.
"env": {"GOPATH": "$HOME/Documents/Projects/gocode"},

"fmt_cmd": ["goimports"],

// enable comp-lint, this will effectively disable the live linter
"comp_lint_enabled": true,

// list of commands to run
"comp_lint_commands": [
    // run `golint` on all files in the package
    // "shell":true is required in order to run the command through your shell (to expand `*.go`)
    // also see: the documentation for the `shell` setting in the default settings file ctrl+dot,ctrl+4
    {"cmd": ["golint *.go"], "shell": true},

    // run go vet on the package
    {"cmd": ["go", "vet"]},

    // run `go install` on the package. GOBIN is set,
    // so `main` packages shouldn't result in the installation of a binary
    {"cmd": ["go", "install"]}
],

"on_save": [
    // run comp-lint when you save,
    // naturally, you can also bind this command `gs_comp_lint`
    // to a key binding if you want
    {"cmd": "gs_comp_lint"}
]

}
^^ GoSublime.sublime-settings for User

Same here, it's been not working since updated.

The only thing I can see is margo/gocode panicing because of invalid source code. I also checked on Linux and OS X and can't reproduce any issues.

I'm on OS X 10.11.3
I'm not quite understanding the sanity check error log, because I'm having trouble identifying the invalid source code you mentioned. Could you help me find it and I can remove the source to see if that fixes the issue?
While we have added HTML/CSS/JS files to our repo recently, we haven't been making too many changes on the Go side of things of late, so it's tough for me to point to any particular change in our code that would have triggered this myself.
Having neglected it previously, thanks so much, DisposaBoy, for GoSublime. It makes for the best IDE experience I've ever had, and likewise thanks for the quick response.

None of the GoSublime onsave functionality appears to be working for me.

Have you tried it both on small and large files?
Can you check if this is not because of #590? As a temporary workaround, try adding "ipc_timeout": 30 to your GoSublime config and see if that makes a difference.

Unfortunately ipc_timeout does not seem to have helped, updated UserSettings at bottom of post.
Here's the console after restarting Sublime with the ipc_timeout setting and a save, none of GoSublime, gomt, goimport, etc. seem to have run:
...
SublimeLinter: XML loaded
plugin init time: 0.31875
GoSublime r16.03.22-1: init mod(gs)
GoSublime r16.03.22-1: init mod(sh)
GoSublime r16.03.22-1 sh: load env vars ['/bin/bash', '-l', '-c', 'echo "..."']: go version: ['/usr/local/go/bin/go', 'version'] -> `go version go1.5.1 darwin/amd64
` -> `go1.5.1`: 0.071s
GoSublime r16.03.22-1: init mod(mg9)

** 2016-04-06 11:50:41.371667 **:
GoSublime init r16.03.22-1 (0.001s)
|   install margo: no
|   install state: done
| sublime.version: 2221
| sublime.channel: stable
|       about.ann: a16.03.22-1
|   about.version: r16.03.22-1
|         version: r16.03.22-1
|        platform: osx-x64
|            ~bin: ~/Library/Application Support/Sublime Text 2/Packages/User/GoSublime/osx-x64/bin
|       margo.exe: ~bin/gosublime.margo_r16.03.22-1_go1.5.1.exe (ok)
|          go.exe: /usr/local/go/bin/go (ok)
|      go.version: go1.5.1
|          GOROOT: /usr/local/go
|          GOPATH: ~/Documents/Projects/gocode
|           GOBIN: (not set) (should usually be `(not set)`)
|       set.shell: []
|       env.shell: /bin/bash
|       shell.cmd: ['/bin/bash', '-l', '-c', '${CMD}']
--------------------------------

loading bindings
loading pointer bindings
found 1 files for base name Default.sublime-theme
theme loaded
app ready
pre session restore time: 0.686457
Loading dictionary Packages/Language - English/en_US.dic
using gamma: 1.9 (err: 99.6544)
startup cache, total files: 113 cache hits: 113
startup time: 0.833906 (package setup was not run)
SublimeLinter: javascript enabled (using node.js)
loaded 837 snippets
Writing file /Users/jhurwich/Documents/Projects/gocode/src/github.com/jhurwich/Conzume/cmd/conzumesim_server/simulation.go with encoding UTF-8
Package Control: No updated packages
Writing file /Users/jhurwich/Documents/Projects/gocode/src/github.com/jhurwich/Conzume/cmd/conzumesim_server/simulation.go with encoding UTF-8
Writing file /Users/jhurwich/Documents/Projects/gocode/src/github.com/jhurwich/Conzume/cmd/conzumesim_server/simulation.go with encoding UTF-8
Writing file /Users/jhurwich/Documents/Projects/gocode/src/github.com/jhurwich/Conzume/cmd/conzumesim_server/simulation.go with encoding UTF-8

And updated usersettings with ipc_timeout:
{

	// you may set specific environment variables here
	// e.g "env": { "PATH": "$HOME/go/bin:$PATH" }
	// in values, $PATH and ${PATH} are replaced with
	// the corresponding environment(PATH) variable, if it exists.
	"env": {"GOPATH": "$HOME/Documents/Projects/gocode"},

	"fmt_cmd": ["goimports"],
	"ipc_timeout": 30,

	// enable comp-lint, this will effectively disable the live linter
	"comp_lint_enabled": true,

	// list of commands to run
	"comp_lint_commands": [
	    // run `golint` on all files in the package
	    // "shell":true is required in order to run the command through your shell (to expand `*.go`)
	    // also see: the documentation for the `shell` setting in the default settings file ctrl+dot,ctrl+4
	    {"cmd": ["golint *.go"], "shell": true},

	    // run go vet on the package
	    {"cmd": ["go", "vet"]},

	    // run `go install` on the package. GOBIN is set,
	    // so `main` packages shouldn't result in the installation of a binary
	    {"cmd": ["go", "install"]}
	],

	"on_save": [
	    // run comp-lint when you save,
	    // naturally, you can also bind this command `gs_comp_lint`
	    // to a key binding if you want
	    {"cmd": "gs_comp_lint"}
	]
}

I had the same thing happen to me. Seems that the relative import change in c0c5fffc088effdde6e42b0ff585301ae4f65965 was messing things up.
I manually installed 4f3d90b9adf5c35c032d861657c55a8abf87679d in Sublime and things started working again.
I'm on Mac El Capitan, Python 2.7.11.

Ah, hadn't seen that support for SublimeText 2 had been dropped. I'm on SublimeText 2.
I assume that explains my issue, but I'll let someone who knows better than I confirm that my issues on SublimeText 2 are "Working As Intended" and close this issue, if that's actually the case. Thanks the heads-up chnrxn.

@jhurwich I think Sublime2 can technically still work, and the version that is working for me now on Sublime2 is actually the latest sans the relative import change, after the "only Sublime3 is supported" declaration. Actually I tested on Sublime3 briefly, and it didn't seem to work too.

:musical_score: hail to @chnrxn
Reverting c0c5fffc088effdde6e42b0ff585301ae4f65965 has enabled GoSublime's onsave functionality for me on Mac OS X 10.11.3 with Sublime-Text 2 (2.0.2, Build 2221).
Thanks chnrxn and others for helping get to the bottom of this. Back to coding!

@chnrxn

Actually I tested on Sublime3 briefly, and it didn't seem to work too.

Can you test ST3 again? I can't see how the import could break the on_save functionality without breaking everything else, in which case there should at least be an exception in the Sublime Text console.

@jhurwich Is there a reason you don't upgrade to ST3? If it's the import issue that's causing this, it can technically be fixed; but Sublime HQ does not respond to my support requests and given the fact that the default download link has changed to ST3 I take it as a sign that ST2 is not supported by them anymore either.

@DisposaBoy No particularly strong reason for not upgrading to ST3 other than ST2 works for me. When I was under the impression that GoSublime worked on ST3 but not ST2 I was thinking about buying ST3 to fix it. I actually had the ST3 site open when chnrxn indicated GoSublime wasn't working on either, so I decided to wait.
Frankly GoSublime jumping to ST3 would make the decision for me, though I gotta admit I'm a bit nervous about how long ST3 has been in development

@jhurwich technically you don't need to buy it. I usually use the beta version without a license unless (I want to test the latest dev version) and it works fine. It's actually tends to be faster and more stable than ST2 ever was.

@DisposaBoy Cool, seems worth converting to ST3. I've got work stuff to power through before the weekend, and I'll plan to transition this weekend.

Argh same problem here, but I'm working in a Go 1.5.x project and ST2 (on Ubuntu Linux 14.04), all the nice on-save things like auto-formatting no longer work... @jhurwich: are you at least at Go 1.6 for your toolchain?

My go version

go version go1.5.1 darwin/amd64

For @DisposaBoy I'm not on ST3 because I happen to own a ST2 license, and have mixed feelings about how good/bad a tool ST is (not open source, questionable development status, why must I pay for a new license for ST3 if there's nothing in my license email about it being version-specific, it actually says Thanks for purchasing a copy of Sublime Text! Your license key is:... and why is Go1.6 required? I ask because it only released < 2~3 months ago, that's not a lot of time for some all projects/teams to update their toolchain in the real world.

Oh well. Nothing against GoSublime but I've switched to Atom.io and am already a happy camper.

Same issue with goSublime
on OSX10.8.5
go1.6.1
with ST2 and ST3

Same here.
Go 1.6
Ubuntu 14.04
Sublime 2

My comment was deleted by the repo owner, but I personally switched to Atom.io - the Go addon package tooling is just as good (maybe better, no offense to GoSublime) and Atom appears to finally be almost equivalent in all important (to me) functionality as of recently. I wouldn't have said so a year ago but it appears to be maturing rapidly and even has proper per-version package support - so in cases like these an older package wouldn't get upgraded if you don't have a compatible editor version.

@mikeatlas I deleted them because they annoyed me. You seemingly asked questions that you wanted answers to, but when I wasted my time to come on here and answered them I see that it only took you a couple hours to find the answers to all your problems.

Switching to Atom is not a real solution.

@DeKugelschieber No-one said it was. If you have a good to still be on Sublime Text 2, discuss it at https://github.com/DisposaBoy/GoSublime/issues/689

It works with sublime 3, so it's solved for me.


FIX Warning: Possible EventEmitter memory leak detected. 11 ipc-helpers-window-method-response listeners added.

When I narrow:search or narrow:atom-scan for if word for narrow source code.
Quick previewing items show warning. Why??, investigate and fix it.

Executing folowing code in chrome-dev-console solve this problems.
require('electron').ipcRenderer.setMaxListeners(20)
What this warning message means is
FIX Warning: Possible EventEmitter memory leak detected. 11
Listener exceeded default 10, so number 11 is reported.
If I changed it to 5, by setMaxListeners(5), message changed to report FIX Warning: Possible EventEmitter memory leak detected. 6.
Anyway this exactly atom/atom#13654 did, so this issue eventually would be fixed.


Recommend the most recent OCaml version

https://github.com/ocaml-multicore/saturn#getting-ocaml-50
This recommends OCaml 5.0. We should recommend 5.1 for the usual reasons — bug fixes, performance improvements.

This is done in PR #169.  Thanks.


Edge Detection added

Description
Edge Detection model added. It will detect the edges for the path of the image provided. It uses the Canny Edge detection model.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#471

I have done the changes asked can you please review it. Thank You

Maam if your time permits can you please help me with the following in discord. I am a bit new with github so issues might occur.


Document changes for Bot API 7.0

https://core.telegram.org/bots/api

Ready for review now, sorry for the many fixes

Sorry, I do not wish to wait.


Thorium is the best browser still. Others are way worse and slower. Add it back.

Thorium is the best browser still. Others are way worse and slower. Add it back.
Add the detection if CPU is SSE3 AVX1 or AVX2 to install the correct build.
Thank you.

It's been updated to 119... I'll add it back